《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業(yè)界動態(tài) > 基于增強并行口EPP的便攜式高速數(shù)據(jù)采集系統(tǒng)

基于增強并行口EPP的便攜式高速數(shù)據(jù)采集系統(tǒng)

2008-12-22
作者:王海艇 張鵬飛 李 實 宋建平

  摘 要: 針對基于EPP協(xié)議的并行端口設備開發(fā)的特點與趨勢,開發(fā)了由A/D" title="A/D">A/D轉換器AD1671和FIFO存儲器ID7202構成的1.25MHz、12Bit的高速數(shù)據(jù)采集系統(tǒng)" title="采集系統(tǒng)">采集系統(tǒng),并通過IDT7202與EPP的接口電路實現(xiàn)了采集數(shù)據(jù)的高速回傳。介紹了EPP協(xié)議和該采集系統(tǒng)工作原理。
  關鍵詞: 增強并行口(EPP) 先進先出存儲器(FIFO) A/D轉換器AD1671


  利用傳統(tǒng)的標準并行口(SPP)或RS232進行數(shù)據(jù)傳輸,其速度和靈活性受到很大限制。而增強型并行端口EPP(Enhanced Parallel Port)不但與SPP兼容,而且其最高傳輸速率可達ISA總線的能力(2MHz)。由于便攜式計算機日益普及,基于EPP協(xié)議開發(fā)的便攜式微機采集系統(tǒng)將會是一個發(fā)展趨勢。
  通常,低速的數(shù)據(jù)采集系統(tǒng)可不需要板上的數(shù)據(jù)緩存區(qū)。但當采集速率較高時,數(shù)據(jù)的回傳將占用CPU大量的時間,因而不可能進行其他的控制操作與數(shù)值處理,這時就需要足夠的緩存區(qū)來存放數(shù)據(jù)。我們在設計高速數(shù)據(jù)采集系統(tǒng)時采用了FIFO(First In First Out) IDT7202、其管腳功能如圖1所示。它不但提供了存儲空間作為數(shù)據(jù)的緩沖,而且還在EPP并行總線和A/D轉換器之間充當一彈性的存儲器,因而無需考慮相互間的同步與協(xié)調。FIFO的優(yōu)點在于讀寫時序要求簡單,內(nèi)部帶有讀寫的環(huán)形指針,在對芯片操作時不需額外的地址信息。隨著FIFO芯片存儲量的不斷增加和價格的不斷下降,它將成為傳統(tǒng)數(shù)據(jù)存儲器件RAM、SRAM等的有力替代者。方案中的A/D轉換器采用了Analog Device 公司的AD1671,最大采集速率可達1.25MHz、12Bit無漏碼轉換輸出。


1 EPP協(xié)議簡介
  EPP協(xié)議與標準并行口協(xié)議兼容且能完成數(shù)據(jù)的雙向傳輸,它提供了四種數(shù)據(jù)傳送周期:數(shù)據(jù)寫周期" title="寫周期">寫周期;數(shù)據(jù)讀周期" title="讀周期">讀周期;地址寫周期;地址讀周期。
  在設計中我們把數(shù)據(jù)周期用于便攜機與采集板之間的數(shù)據(jù)傳輸,地址周期用于地址的傳送與選通。表1列出了DB25插座在EPP協(xié)議中的各腳定義。
  圖2是一個數(shù)據(jù)寫周期的例子。

?


  (1) 程序執(zhí)行一個I/O" title="I/O">I/O寫周期,寫數(shù)據(jù)到Port4(EPP數(shù)據(jù)寄存器)。
  (2)nWrite變低,數(shù)據(jù)送到串行口上。
  (3)由于nWait為低,表示可以開始一個數(shù)據(jù)寫周期,nDataSTB變低。
  (4)等待外設的握手信號(等待nWait變高)。
  (5)nDataSTB變高,EPP周期結束。
  (6)ISA的I/O周期結束。
  (7)nWait變低,表示可以開始下一個數(shù)據(jù)寫周期。
  可以看到,整個數(shù)據(jù)傳送過程發(fā)生在一個ISA I/O周期內(nèi),所以用EPP協(xié)議傳送數(shù)據(jù),系統(tǒng)可以獲得接近ISA總線的傳輸率(500k~2M byte/s)。
2 AD1671控制及采集系統(tǒng)工作原理
  圖3是AD1671的AD轉換時序圖。


  AD1671在Encode信號上升沿開始A/D轉換,Dav信號在本次轉換完成前一定時間變低,直到Dav出現(xiàn)上升沿表示本次轉換結束。為防止數(shù)字噪聲耦合帶來的誤差,Encode信號應在Dav信號變低后50ns內(nèi)變低。系統(tǒng)中通過8254計數(shù)器對晶振進行分頻來給AD1671提供Encode信號,以滿足其工作時序的需要。系統(tǒng)原理圖如圖4所示。系統(tǒng)初始化時,向8254的Clock0寫入計數(shù)值,由此可以靈活改變采樣間隔,同時寫入Clock1的計數(shù)值用來控制采樣的個數(shù)。晶振采用5MHz有源四腳晶振,D觸發(fā)器實現(xiàn)觸發(fā)功能,系統(tǒng)工作原理如下:
  系統(tǒng)初始化完成后,經(jīng)地址譯碼器產(chǎn)生Add2信號,使D觸發(fā)器狀態(tài)翻轉,由低變到高,8254計數(shù)使能端Gate0、Gate1變高,8254開始方式2的計數(shù)。當Clock0的計數(shù)時間到時,發(fā)出一個寬度為一時鐘周期的負脈沖,經(jīng)反向送入Encode,啟動AD1671進行A/D轉換。一次轉換結束,利用Dav信號將轉換的數(shù)據(jù)寫入IDT7202,同時Clock1計數(shù)一次。當Clock1計數(shù)時間到后,發(fā)出一個脈沖,用來實現(xiàn)對D觸發(fā)器的清零,使Gate0、Gate1變低,停止AD1671轉換,完成一次系統(tǒng)的采集工作。


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


  此電路是基于EPP1.9設計的。nDataSTB與nAddSTB組合產(chǎn)生nWait回送信號,實現(xiàn)連鎖握手。方案中分別用數(shù)據(jù)讀周期、地址讀周期對1#FIFO、2#FIFO進行讀取。EPP模式設定后,對FIFO存儲器的讀取非常簡單。通過產(chǎn)生一個單I/O讀指令到“基址+4”,EPP控制器就會產(chǎn)生所需的選通信號,用EPP數(shù)據(jù)讀周期傳送數(shù)據(jù)。對“基址+3”的I/O操作,可產(chǎn)生地址周期信號。
  C語言指令如下:
  讀一個字節(jié)數(shù)據(jù):Data=Inportb(Base_Addr+4);
  讀一個字節(jié)地址:Data=Inportb(Base_Addr+3);
  實際應用中FIFO的存取時間達到ns 級,EPP的速度也接近ISA總線的速率。上述接口電路屬于高頻,電路設計要注意消除干擾。FIFO的讀寫信源應盡量靠近FIFO,沒用到的數(shù)據(jù)輸入端應接地或VCC等。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權者。如涉及作品內(nèi)容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。