《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 便攜式高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
便攜式高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
摘要: 針對(duì)基于EPP協(xié)議的并行端口設(shè)備開(kāi)發(fā)的特點(diǎn)與趨勢(shì),,開(kāi)發(fā)了由A/D轉(zhuǎn)換器AD1671和FIFO存儲(chǔ)器ID7202構(gòu)成的1.25MHz,、12Bit的高速數(shù)據(jù)采集系統(tǒng),并通過(guò)IDT7202與EPP的接口電路實(shí)現(xiàn)了采集數(shù)據(jù)的高速回傳,。介紹了EPP協(xié)議和該采集系統(tǒng)工作原理。
Abstract:
Key words :

    利用傳統(tǒng)的標(biāo)準(zhǔn)并行口(SPP)或RS232進(jìn)行數(shù)據(jù)傳輸,,其速度和靈活性受到很大限制,。而增強(qiáng)型并行端口EPP(Enhanced Parallel Port)不但與SPP兼容,而且其最高傳輸速率可達(dá)ISA總線的能力(2MHz),。由于便攜式計(jì)算機(jī)日益普及,,基于EPP協(xié)議開(kāi)發(fā)的便攜式微機(jī)采集系統(tǒng)將會(huì)是一個(gè)發(fā)展趨勢(shì)。

    通常,,低速的數(shù)據(jù)采集系統(tǒng)可不需要板上的數(shù)據(jù)緩存區(qū),。但當(dāng)采集速率較高時(shí),數(shù)據(jù)的回傳將占用CPU大量的時(shí)間,,因而不可能進(jìn)行其他的控制操作與數(shù)值處理,,這時(shí)就需要足夠的緩存區(qū)來(lái)存放數(shù)據(jù)。我們?cè)谠O(shè)計(jì)高速數(shù)據(jù)采集系統(tǒng)時(shí)采用了FIFO(First In First Out) IDT7202其管腳功能如圖1所示,。它不但提供了存儲(chǔ)空間作為數(shù)據(jù)的緩沖,,而且還在EPP并行總線和A/D轉(zhuǎn)換器之間充當(dāng)一彈性的存儲(chǔ)器,因而無(wú)需考慮相互間的同步與協(xié)調(diào),。FIFO的優(yōu)點(diǎn)在于讀寫(xiě)時(shí)序要求簡(jiǎn)單,,內(nèi)部帶有讀寫(xiě)的環(huán)形指針,在對(duì)芯片操作時(shí)不需額外的地址信息,。隨著FIFO芯片存儲(chǔ)量的不斷增加和價(jià)格的不斷下降,,它將成為傳統(tǒng)數(shù)據(jù)存儲(chǔ)器件RAM、SRAM等的有力替代者,。方案中的A/D轉(zhuǎn)換器采用了Analog Device 公司的AD1671,,最大采集速率可達(dá)1.25MHz、12Bit無(wú)漏碼轉(zhuǎn)換輸出。

1 EPP協(xié)議簡(jiǎn)介

    EPP協(xié)議與標(biāo)準(zhǔn)并行口協(xié)議兼容且能完成數(shù)據(jù)的雙向傳輸,,它提供了四種數(shù)據(jù)傳送周期:數(shù)據(jù)寫(xiě)周期,;數(shù)據(jù)讀周期;地址寫(xiě)周期,;地址讀周期,。

    在設(shè)計(jì)中我們把數(shù)據(jù)周期用于便攜機(jī)與采集板之間的數(shù)據(jù)傳輸,地址周期用于地址的傳送與選通,。表1列出了DB25插座在EPP協(xié)議中的各腳定義,。

 

 

表1 EPP信號(hào)定義

 

 

EPP信號(hào) 方向 DB25對(duì)應(yīng)腳 描述
nWrite out 1 低電平寫(xiě),高電平讀
nDataSTB out 14 低有效,,數(shù)據(jù)讀寫(xiě)
nAddrSTB out 17 低有效,,地址讀寫(xiě)
AD[8:1] Bi 2~9 雙向數(shù)據(jù)/地址線
GND   18~25 地線
nReset out 16 低有效,外設(shè)復(fù)位
NINTR in 10 外設(shè)中斷,,對(duì)主機(jī)產(chǎn)生
      一個(gè)中斷請(qǐng)求
nWait in 11 握手信號(hào),,低表示可以開(kāi)始一個(gè)
      讀寫(xiě)周期,高表示可以
      結(jié)束一個(gè)讀寫(xiě)周期
Userdfn in 12/13/15 根據(jù)不同外設(shè)靈活定義

 

 

    圖2是一個(gè)數(shù)據(jù)寫(xiě)周期的例子,。

    (1) 程序執(zhí)行一個(gè)I/O寫(xiě)周期,,寫(xiě)數(shù)據(jù)到Port4(EPP數(shù)據(jù)寄存器)。

    (2)nWrite變低,,數(shù)據(jù)送到串行口上,。

    (3)由于nWait為低,表示可以開(kāi)始一個(gè)數(shù)據(jù)寫(xiě)周期,,nDataSTB變低,。


    (4)等待外設(shè)的握手信號(hào)(等待nWait變高)。

    (5)nDataSTB變高,,EPP周期結(jié)束,。

    (6)ISA的I/O周期結(jié)束。

    (7)nWait變低,,表示可以開(kāi)始下一個(gè)數(shù)據(jù)寫(xiě)周期,。

    可以看到,整個(gè)數(shù)據(jù)傳送過(guò)程發(fā)生在一個(gè)ISA I/O周期內(nèi),,所以用EPP協(xié)議傳送數(shù)據(jù),,系統(tǒng)可以獲得接近ISA總線的傳輸率(500k~2M byte/s)。

2 AD1671控制及采集系統(tǒng)工作原理

    圖3是AD1671的AD轉(zhuǎn)換時(shí)序圖,。

    AD1671在Encode信號(hào)上升沿開(kāi)始A/D轉(zhuǎn)換,,Dav信號(hào)在本次轉(zhuǎn)換完成前一定時(shí)間變低,直到Dav出現(xiàn)上升沿表示本次轉(zhuǎn)換結(jié)束,。為防止數(shù)字噪聲耦合帶來(lái)的誤差,,Encode信號(hào)應(yīng)在Dav信號(hào)變低后50ns內(nèi)變低,。系統(tǒng)中通過(guò)8254計(jì)數(shù)器對(duì)晶振進(jìn)行分頻來(lái)給AD1671提供Encode信號(hào),以滿足其工作時(shí)序的需要,。系統(tǒng)原理圖如圖4所示,。系統(tǒng)初始化時(shí),向8254的Clock0寫(xiě)入計(jì)數(shù)值,,由此可以靈活改變采樣間隔,同時(shí)寫(xiě)入Clock1的計(jì)數(shù)值用來(lái)控制采樣的個(gè)數(shù),。晶振采用5MHz有源四腳晶振,,D觸發(fā)器實(shí)現(xiàn)觸發(fā)功能,系統(tǒng)工作原理如下:


    系統(tǒng)初始化完成后,,經(jīng)地址譯碼器產(chǎn)生Add2信號(hào),,使D觸發(fā)器狀態(tài)翻轉(zhuǎn),由低變到高,,8254計(jì)數(shù)使能端Gate0,、Gate1變高,8254開(kāi)始方式2的計(jì)數(shù),。當(dāng)Clock0的計(jì)數(shù)時(shí)間到時(shí),,發(fā)出一個(gè)寬度為一時(shí)鐘周期的負(fù)脈沖,經(jīng)反向送入Encode,,啟動(dòng)AD1671進(jìn)行A/D轉(zhuǎn)換,。一次轉(zhuǎn)換結(jié)束,利用Dav信號(hào)將轉(zhuǎn)換的數(shù)據(jù)寫(xiě)入IDT7202,,同時(shí)Clock1計(jì)數(shù)一次,。當(dāng)Clock1計(jì)數(shù)時(shí)間到后,發(fā)出一個(gè)脈沖,,用來(lái)實(shí)現(xiàn)對(duì)D觸發(fā)器的清零,,使Gate0、Gate1變低,,停止AD1671轉(zhuǎn)換,,完成一次系統(tǒng)的采集工作。

3 FIFO與EPP的接口電路

    圖5是EPP與IDT7202的接口電路,。

    此電路是基于EPP1.9設(shè)計(jì)的,。nDataSTB與nAddSTB組合產(chǎn)生nWait回送信號(hào),實(shí)現(xiàn)連鎖握手,。方案中分別用數(shù)據(jù)讀周期,、地址讀周期對(duì)1#FIFO、2#FIFO進(jìn)行讀取,。EPP模式設(shè)定后,,對(duì)FIFO存儲(chǔ)器的讀取非常簡(jiǎn)單,。通過(guò)產(chǎn)生一個(gè)單I/O讀指令到“基址+4”,EPP控制器就會(huì)產(chǎn)生所需的選通信號(hào),,用EPP數(shù)據(jù)讀周期傳送數(shù)據(jù),。對(duì)“基址+3”的I/O操作,可產(chǎn)生地址周期信號(hào),。


    C語(yǔ)言指令如下:

    讀一個(gè)字節(jié)數(shù)據(jù):Data=Inportb(Base_Addr+4),;

    讀一個(gè)字節(jié)地址: Data=Inportb(Base_Addr+3);

    實(shí)際應(yīng)用中FIFO的存取時(shí)間達(dá)到ns 級(jí),,EPP的速度也接近ISA總線的速率,。上述接口電路屬于高頻,電路設(shè)計(jì)要注意消除干擾,。FIFO的讀寫(xiě)信源應(yīng)盡量靠近FIFO,,沒(méi)用到的數(shù)據(jù)輸入端應(yīng)接地或VCC等。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。