基于增強(qiáng)并行口EPP的便攜式高速數(shù)據(jù)采集系統(tǒng)
2 AD1671控制及采集系統(tǒng)工作原理
圖3是AD1671的AD轉(zhuǎn)換時序圖。
AD1671在Encode信號上升沿開始A/D轉(zhuǎn)換,Dav信號在本次轉(zhuǎn)換完成前一定時間變低,直到Dav出現(xiàn)上升沿表示本次轉(zhuǎn)換結(jié)束。為防止數(shù)字噪聲耦合帶來的誤差,Encode信號應(yīng)在Dav信號變低后50ns內(nèi)變低。系統(tǒng)中通過8254計數(shù)器對晶振進(jìn)行分頻來給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)翻轉(zhuǎn),由低變到高,8254計數(shù)使能端Gate0、Gate1變高,8254開始方式2的計數(shù)。當(dāng)Clock0的計數(shù)時間到時,發(fā)出一個寬度為一時鐘周期的負(fù)脈沖,經(jīng)反向送入Encode,啟動AD1671進(jìn)行A/D轉(zhuǎn)換。一次轉(zhuǎn)換結(jié)束,利用Dav信號將轉(zhuǎn)換的數(shù)據(jù)寫入IDT7202,同時Clock1計數(shù)一次。當(dāng)Clock1計數(shù)時間到后,發(fā)出一個脈沖,用來實現(xiàn)對D觸發(fā)器的清零,使Gate0、Gate1變低,停止AD1671轉(zhuǎn)換,完成一次系統(tǒng)的采集工作。
3 FIFO與EPP的接口電路
圖5是EPP與IDT7202的接口電路。
此電路是基于EPP1.9設(shè)計的。nDataSTB與nAddSTB組合產(chǎn)生nWait回送信號,實現(xiàn)連鎖握手。方案中分別用數(shù)據(jù)讀周期、地址讀周期對1#FIFO、2#FIFO進(jìn)行讀取。EPP模式設(shè)定后,對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);
實際應(yīng)用中FIFO的存取時間達(dá)到ns 級,EPP的速度也接近ISA總線的速率。上述接口電路屬于高頻,電路設(shè)計要注意消除干擾。FIFO的讀寫信源應(yīng)盡量靠近FIFO,沒用到的數(shù)據(jù)輸入端應(yīng)接地或VCC等。
評論