新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的高速信號(hào)測(cè)試接口板的實(shí)現(xiàn)

基于單片機(jī)的高速信號(hào)測(cè)試接口板的實(shí)現(xiàn)

作者: 時(shí)間:2012-03-31 來源:網(wǎng)絡(luò) 收藏

在數(shù)字電路設(shè)計(jì)和調(diào)試中,對(duì)設(shè)計(jì)單元電路的性能進(jìn)行實(shí)時(shí)是必不可少的環(huán)節(jié)。很多情況下,需要通過計(jì)算機(jī)的比較和分析,來設(shè)計(jì)的電路的性能是否達(dá)到要求。這就需要設(shè)計(jì)一個(gè)板,將計(jì)算機(jī)產(chǎn)生的測(cè)試數(shù)據(jù)送入單元電路,再將單元電路的輸出結(jié)果送回計(jì)算機(jī)。

本文引用地址:http://butianyuan.cn/article/171724.htm

在電路測(cè)試板的設(shè)計(jì)過程中,常常會(huì)遇到總線時(shí)鐘頻率較高(如40 MHz以上)、總線寬度較寬(如36 b)、要求測(cè)試的數(shù)據(jù)量較大(幾Mb/s)的單元電路。這時(shí)實(shí)時(shí)地進(jìn)行數(shù)據(jù)的雙向傳輸比較困難,因?yàn)椴徽摬捎每偩€頻率較高的PCI數(shù)據(jù)總線或USB總線[1],都達(dá)不到系統(tǒng)要求的數(shù)據(jù)傳輸速率,所以必須進(jìn)行數(shù)據(jù)的緩存。考慮到PCI總線和USB總線的電路復(fù)雜、開發(fā)周期長(zhǎng),本文介紹一種采用為控制單元,通過RS232C接口,使用FIFO存儲(chǔ)器件作為緩沖,在單元電路與計(jì)算機(jī)之間傳輸數(shù)據(jù)的方案。該方案簡(jiǎn)單,開發(fā)周期短,完全可以滿足對(duì)于上述的數(shù)字單元電路的測(cè)試要求。

這里以測(cè)試總線頻率40 MHz,數(shù)據(jù)寬度32 b的單元電路為例,介紹用和FIFO測(cè)試接口板方案,整個(gè)測(cè)試系統(tǒng)結(jié)構(gòu)如圖1所示。

1 系統(tǒng)概述

整個(gè)系統(tǒng)主要由、FIFO芯片、MAX232芯片以及D觸發(fā)器芯片構(gòu)成。圖2是系統(tǒng)的原理簡(jiǎn)圖,圖中給出 了一些重要的器件和控制。

系統(tǒng)的工作流程如下:首先將測(cè)試數(shù)據(jù)從計(jì)算機(jī)的RS232C口送入單片機(jī),單片機(jī)將其變?yōu)? b并行數(shù)據(jù)寫入FIFO1,這期間不對(duì)FIFO1進(jìn)行讀操作。FIFO1滿后,被測(cè)板以40 MHz的總線時(shí)鐘頻率并行讀取FIFO1,同時(shí)被測(cè)板的輸出以同樣速率寫入FIFO2。FIFO2滿后,再通過RS232C口將FIFO2中的數(shù)據(jù)讀入PC機(jī),其中的控制操作由單片機(jī)及外圍電路來完成。下面將分4個(gè)步驟介紹系統(tǒng)的工作過程,其中前2個(gè)步驟是測(cè)試數(shù)據(jù)從計(jì)算機(jī)傳送到被測(cè)板的過程,后面2個(gè)步驟描述了被測(cè)板的輸出結(jié)果送回計(jì)算機(jī)的過程。

34.gif

1.1 RS232C口與FIFO1的通信(數(shù)據(jù)從RS232C口輸入)

測(cè)試數(shù)據(jù)以串行方式從計(jì)算機(jī)的RS232C口輸出,通過MAX232電平轉(zhuǎn)換后進(jìn)入單片機(jī)的RXD口,再轉(zhuǎn)換為 8 b并行數(shù)據(jù)從P2口寫入到FIFO1。單片機(jī)除了控制FIFO1和FIFO2的復(fù)位RES(圖2中未標(biāo)出)、FIFO1的寫使能WEN1以及FIFO1的寫時(shí)鐘WCLK,還發(fā)出一個(gè)用來輔助讀取FIFO1。

35.gif

由于FIFO1的讀取被設(shè)置為在數(shù)據(jù)寫入時(shí)無效,只有寫滿了以后才允許被測(cè)板讀取,因此對(duì)于FIFO1滿狀態(tài)的判斷及控制非常重要。這里通過計(jì)數(shù)方式和查詢方式同時(shí)確定其滿狀態(tài),方法如下:在單片機(jī)內(nèi)設(shè)置一個(gè)計(jì)數(shù)值為256 k的計(jì)數(shù)器,每送出一個(gè)字節(jié),計(jì)數(shù)器值減1。當(dāng)計(jì)數(shù)器減到0,查詢FIFO1的管腳的狀態(tài),若為低電平,則開啟,允許被測(cè)板從FIFO1中讀出數(shù)據(jù),否則向計(jì)算機(jī)發(fā)出錯(cuò)誤信號(hào),重新接收數(shù)據(jù)。

1.2 FIFO1與被測(cè)板的通信(數(shù)據(jù)輸入被測(cè)板)

FIFO1與被測(cè)板的通信連接包括數(shù)據(jù)線以及讀允許REN1。REN1的的作用是控制被測(cè)板的讀取過程,只有當(dāng)此信號(hào)為低電平,被測(cè)板才能從FIFO1中讀數(shù)據(jù)。

由于被測(cè)板的讀取速度很高,而單片機(jī)的指令周期相對(duì)慢得多,當(dāng)FIFO1被讀空后,如果使用單片機(jī)來控制讀允許使其恢復(fù)到高電平,可能在關(guān)閉讀允許以前被測(cè)板已經(jīng)讀入了很多無用數(shù)據(jù),所以這里采用FIFO1的空標(biāo)志位通過D觸發(fā)器,和單片機(jī)的讀允許端一起組成控制信號(hào)具體電路如圖3(a)所示。

36.gif


上一頁 1 2 3 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉