摘要:給出一種具有多種觸發(fā)功能的可編程高速數(shù)據(jù)采集模塊的設(shè)計方法,。模塊可以動態(tài)設(shè)置觸發(fā)窗長度、觸發(fā)點電平,、觸發(fā)極性和觸發(fā)模式,;依據(jù)觸發(fā)字與存儲在FIFO中的A/D轉(zhuǎn)換數(shù)據(jù)比較確定觸發(fā)位置,并根據(jù)設(shè)置的預(yù)觸發(fā)深度實現(xiàn)對A/D轉(zhuǎn)換數(shù)據(jù)的存儲和傳輸,。由于觸發(fā)電路采用了全數(shù)字化設(shè)計,,與采用模擬電平比較器實現(xiàn)觸發(fā)電平比較相比,無需硬件改動,,可以靈活地配置觸發(fā)方式,,同時也降低了系統(tǒng)調(diào)試難度。
關(guān)鍵詞:高速數(shù)據(jù)采集,;數(shù)字電路,;觸發(fā)窗;先進(jìn)先出存儲器
引言
在數(shù)據(jù)采集的過程中,,為了不漏掉任何一個既定特征的信號,,A/D轉(zhuǎn)換器必須不斷地采集數(shù)據(jù)。但是由于存儲器容量的限制,,不可能無限制地采集并存儲數(shù)據(jù),。如何使模塊能自動檢測、采集并存儲有效數(shù)據(jù)呢?觸發(fā)技術(shù)的引入可以解決這一問題,。觸發(fā)是為了有效地觀測信號,,當(dāng)被測信號滿足觸發(fā)條件時,,啟動一次數(shù)據(jù)采集,使用戶在屏幕上能觀測到滿足觸發(fā)條件的波形,。
觸發(fā)電路在以往的設(shè)計中,,多采用電平比較器,其缺點是:采用的分立元件多,,不利于模塊移植和速度的提升,,同時觸發(fā)方式多樣化配置也受到硬件限制,不具備智能化特點,。本模塊基于高速A/D轉(zhuǎn)換器和FPGA,,提出了一種全數(shù)字化的多種觸發(fā)功能的高速數(shù)字采集設(shè)計方案。模塊接口易于移植,,采集頻率高達(dá)50 MHz,,具有多種可編程觸發(fā)功能,采用的觸發(fā)窗技術(shù)進(jìn)一步保證了采樣存儲數(shù)據(jù)的正確性和有效性,。
1 高速數(shù)據(jù)采集模塊結(jié)構(gòu)
高速數(shù)據(jù)采集模塊由FPGA存儲控制,、傳輸電路和AD9057數(shù)據(jù)采集部分構(gòu)成,。其中FPGA為此次模塊設(shè)計的重點,。多種觸發(fā)功能的高速數(shù)據(jù)采集模塊結(jié)構(gòu)框圖如圖1所示。采用Cyclone系列EP1C6Q240C8型號的FPGA控制芯片,,其Bank4 I/O口與AD9057相連,,有源晶振提供了50 MHz的時鐘頻率。
此模塊通過通信接口動態(tài)設(shè)置觸發(fā)極性,、觸發(fā)模式,、觸發(fā)窗長度、觸發(fā)點電平,,觸發(fā)極性可選上升沿觸發(fā)rising_edge和下降沿觸發(fā)falling_edge兩種,。觸發(fā)模式可分為前觸發(fā)pre_trigger、中間觸發(fā)mid_trigger,、后觸發(fā)post_trigger三種模式,。觸發(fā)窗長度設(shè)置為0~100的整數(shù),觸發(fā)點電平可設(shè)置為0~255的整數(shù),。
當(dāng)連接通信接口的外部顯示控制界面設(shè)置好觸發(fā)極性,、觸發(fā)模式、觸發(fā)窗長度,、觸發(fā)點電平時,,開始啟動采集命令,包裝好的40位數(shù)據(jù)流將被發(fā)送到FPGA,;FPGA接收到40位數(shù)據(jù)后,,迅速分離成5個8位數(shù)據(jù),,即觸發(fā)極性、觸發(fā)模式,、觸發(fā)窗長度,、觸發(fā)點電平和采集啟動信號,利用FIFO存儲器先進(jìn)先出的特性以及對AD9057的控制時序,,配合觸發(fā)信號存儲A/D數(shù)據(jù),;當(dāng)采樣完成后,F(xiàn)IFO中的數(shù)據(jù)可以被發(fā)送到外部的顯示控制界面直觀地顯示出來,。
1.1 觸發(fā)信號的產(chǎn)生
傳感器探測和感知的模擬信號一般都帶有一定干擾,,如果僅憑一個觸發(fā)點來決定觸發(fā)的位置則很難控制,在本模塊觸發(fā)位置的設(shè)計中采用了三點觸發(fā)窗技術(shù),,觸發(fā)窗的設(shè)置可以有效地屏蔽模擬信號的抖動,,使模塊正常運(yùn)行。
觸發(fā)極性triggerpolar有上升沿觸發(fā)rising_edge和下降沿觸發(fā)falling_edge兩種模式,,在這兩種觸發(fā)極性下,,觸發(fā)信號上升沿表示模塊開始存儲A/D轉(zhuǎn)換數(shù)據(jù)。模塊設(shè)置了觸發(fā)字1和觸發(fā)字2,,觸發(fā)字1為觸發(fā)點加上觸發(fā)窗長度,,如果結(jié)果小于255則觸發(fā)字為兩者相加結(jié)果,否則為255,;觸發(fā)字2為觸發(fā)點減去觸發(fā)窗長度,,如果結(jié)果大于0則觸發(fā)字為兩者相減結(jié)果,否則為0,。
圖2是下降沿觸發(fā)信號產(chǎn)生圖,。圖中模塊開始采樣時,A/D轉(zhuǎn)換數(shù)據(jù)與觸發(fā)字1和觸發(fā)字2不斷地比較,,當(dāng)A/D數(shù)據(jù)大于觸發(fā)字1時,,觸發(fā)信號輸出為低電平;此后A/D數(shù)據(jù)與觸發(fā)字2比較,,當(dāng)A/D數(shù)據(jù)小于觸發(fā)字2,,觸發(fā)信號輸出高電平。
compare_standardl,、compare_standard2分別是觸發(fā)字1和觸發(fā)字2,。flag為標(biāo)志變量,當(dāng)A/D數(shù)據(jù)大于觸發(fā)字1時,,flag=1,;當(dāng)A/D數(shù)據(jù)小于觸發(fā)字2時,flag=0。具體實現(xiàn)的代碼如下:
1.2 觸發(fā)模式的選擇
觸發(fā)模式分為前觸發(fā),、中間觸發(fā)和后觸發(fā),。觸發(fā)模式的選擇決定了觸發(fā)的預(yù)觸發(fā)深度N的不同。在一定的存儲深度M下,,捕捉的波形在觸發(fā)點P附近被最大化地存儲和顯示,。觸發(fā)點前端波形的觀察選擇前觸發(fā)模式,即預(yù)觸發(fā)深度占存儲深度的比例要大,。觸發(fā)模式如圖3所示,。S代表起點,E代表結(jié)束點,。觸發(fā)點前后波形的觀察選擇中間觸發(fā)模式,,觸發(fā)點后端波形的觀察選擇后觸發(fā)模式。
1.3 FIFO讀寫數(shù)據(jù)控制
FIFO存儲器的讀寫是用狀態(tài)機(jī)來實現(xiàn)的,。5個狀態(tài)分別為wait,、wr_trigger、wr_read,、wr_full,、read。FIFO控制器流程如圖4所示,。模塊開始進(jìn)入wait狀態(tài)等待啟動信號start上升沿,,如果start上升沿到來模塊轉(zhuǎn)到wr_trigger狀態(tài),否則將在wait狀態(tài)一直等待,;當(dāng)模塊進(jìn)入wr_trigger狀態(tài)時,,F(xiàn)IFO開始寫數(shù)據(jù)直到滿足觸發(fā)模式的預(yù)觸發(fā)深度,,此時的寫時鐘等于采樣時鐘,;此后模塊進(jìn)入wr_read狀態(tài),F(xiàn)IFO開始一邊讀數(shù)據(jù)一邊寫數(shù)據(jù),,即一直保持FIFO中存儲的數(shù)據(jù)是最新A/D轉(zhuǎn)換數(shù)據(jù),,此時的讀寫時鐘與采樣時鐘是同頻的。直到觸發(fā)信號上升沿的到來,,否則FIFO存儲器將一直讀數(shù)據(jù)和寫數(shù)據(jù),;當(dāng)觸發(fā)信號上升沿有效時,模塊進(jìn)入wr_full狀態(tài),,F(xiàn)IFO存儲器停止讀數(shù)據(jù),,開始寫數(shù)據(jù),直到FIFO寫滿數(shù)據(jù),;當(dāng)FIFO寫滿數(shù)據(jù)(full=1)以后,,模塊轉(zhuǎn)到read狀態(tài),F(xiàn)IFO開始讀數(shù)據(jù)并通過通信接口發(fā)送到顯示控制界面進(jìn)行直觀的顯示,直到FIFO為空empty=1,,此時讀時鐘為顯示時鐘,;FIFO讀數(shù)據(jù)操作完畢,模塊將一直停留在wait狀態(tài)等待下一次采集啟動信號的到來,,如此反復(fù)執(zhí)行,。
1.4 高速數(shù)據(jù)采集模塊電路設(shè)計
AD9057是8位的模數(shù)轉(zhuǎn)換器,可以達(dá)到60 MHz的最大采樣頻率,。設(shè)計中,,模塊采用50 MHz的采樣頻率,AD9057帶有2.5V的基準(zhǔn)電壓,,可以對1 V峰峰值輸入模擬信號進(jìn)行A/D轉(zhuǎn)換,。通常采用高頻、寬帶運(yùn)放對模擬信號進(jìn)行緩沖,,本設(shè)計中采用AD8041作為放大器,,AD9057高速數(shù)據(jù)采集模塊電路圖電路圖如圖5所示。
2 結(jié)論
模塊可以工作在50 MHz的采樣頻率下,,并且在模擬信號幅度偏小和有一定干擾的情況下也可以正常地工作,。本次設(shè)計中采用了VC++6.0編寫的顯示控制界面進(jìn)行模塊驗證。圖6是數(shù)據(jù)采集模塊捕捉的頻率為5 MHz,、300mVpp交替出現(xiàn)間隔為1 ms的一個脈沖波形圖,。
其中,觸發(fā)模式選用中間觸發(fā),,觸發(fā)極性為上升沿,,采樣頻率為50 MHz。由此可見,,本模塊的技術(shù)方案可行,,具有靈活簡潔的特點,可以應(yīng)用在程控儀器和自適應(yīng)信號采集與處理系統(tǒng)中,。