基于增強(qiáng)并行口EPP的便攜式高速數(shù)據(jù)采集系統(tǒng)
針對(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)工作原理。
本文引用地址:http://www.ex-cimer.com/article/152139.htm關(guān)鍵詞: 增強(qiáng)并行口(EPP) 先進(jìn)先出存儲(chǔ)器(FIFO) A/D轉(zhuǎn)換器AD1671
利用傳統(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)在于讀寫時(shí)序要求簡(jiǎn)單,內(nèi)部帶有讀寫的環(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ù)寫周期;數(shù)據(jù)讀周期;地址寫周期;地址讀周期。
在設(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 | 低電平寫,高電平讀 |
nDataSTB | out | 14 | 低有效,數(shù)據(jù)讀寫 |
nAddrSTB | out | 17 | 低有效,地址讀寫 |
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è) |
讀寫周期,高表示可以 | |||
結(jié)束一個(gè)讀寫周期 | |||
Userdfn | in | 12/13/15 | 根據(jù)不同外設(shè)靈活定義 |
圖2是一個(gè)數(shù)據(jù)寫周期的例子。
(1) 程序執(zhí)行一個(gè)I/O寫周期,寫數(shù)據(jù)到Port4(EPP數(shù)據(jù)寄存器)。
(2)nWrite變低,數(shù)據(jù)送到串行口上。
(3)由于nWait為低,表示可以開(kāi)始一個(gè)數(shù)據(jù)寫周期,nDataSTB變低。
(4)等待外設(shè)的握手信號(hào)(等待nWait變高)。
(5)nDataSTB變高,EPP周期結(jié)束。
(6)ISA的I/O周期結(jié)束。
(7)nWait變低,表示可以開(kāi)始下一個(gè)數(shù)據(jù)寫周期。
可以看到,整個(gè)數(shù)據(jù)傳送過(guò)程發(fā)生在一個(gè)ISA I/O周期內(nèi),所以用EPP協(xié)議傳送數(shù)據(jù),系統(tǒng)可以獲得接近ISA總線的傳輸率(500k~2M byte/s)。
評(píng)論