基于FPGA的一種新型8通道數(shù)據(jù)采集系統(tǒng)
從第17個(gè)工作時(shí)鐘開始,在每個(gè)時(shí)鐘的下降沿MAX1300輸出A/D轉(zhuǎn)換后的數(shù)據(jù)。數(shù)據(jù)接收模塊RECEIVE在SCLK時(shí)鐘作用下對(duì)數(shù)據(jù)接收。接收機(jī)制采用通用UART設(shè)計(jì)機(jī)理,用16倍SCLK的時(shí)鐘RDCLK對(duì)每位數(shù)據(jù)進(jìn)行16次采樣。若高電平采樣次數(shù)超過(guò)10次,則認(rèn)為為“1”,否則為“0”。當(dāng)16位數(shù)據(jù)接收完畢時(shí),模塊將其轉(zhuǎn)換為并行數(shù)據(jù)輸送給數(shù)據(jù)處理模塊PROCESS。
MAX1300工作時(shí)序如圖5所示。本文引用地址:http://butianyuan.cn/article/188312.htm
為了防止A/D數(shù)據(jù)采集過(guò)程中由于外界因素產(chǎn)生各種干擾(如尖峰干擾),采用類似于中值濾波的處理方法。設(shè)計(jì)中添加PROCESS模塊對(duì)數(shù)據(jù)進(jìn)行處理。采集數(shù)據(jù)時(shí),每個(gè)通道數(shù)據(jù)采樣10組,每組采樣3次。將每一組的中值取出后求其平均值,作為此次采樣數(shù)據(jù)的值。這樣在一定程度上去除了外界因素對(duì)結(jié)果的影響,也為CPU進(jìn)行下一步濾波減輕了負(fù)擔(dān)。PROCESS模塊對(duì)數(shù)據(jù)處理后,F(xiàn)IFOCS信號(hào)不變低,根據(jù)AD_CONTROL給出的CHANNEL信號(hào),在FIFOCLK時(shí)鐘作用下將數(shù)據(jù)寫入對(duì)應(yīng)的FIFO中,每路數(shù)據(jù)對(duì)應(yīng)一個(gè)FIFO模塊。
PROCESS模塊處理后的數(shù)據(jù)存儲(chǔ)在相應(yīng)FIFO中,TMS32028335在適當(dāng)時(shí)刻進(jìn)行讀取。讀取數(shù)據(jù)時(shí), CS和RD信號(hào)變低,FPGA根據(jù)地址線A2~A0,內(nèi)部通過(guò)譯碼產(chǎn)生RDCS1、RDCS2等信號(hào)(內(nèi)部譯碼部分圖5中未標(biāo)出),從相應(yīng)FIFO讀取相應(yīng)通道的采集數(shù)據(jù)。
本文提出一種新型8通道數(shù)據(jù)采集系統(tǒng),適合應(yīng)用在高精度伺服控制系統(tǒng)中。詳細(xì)介紹了A/D轉(zhuǎn)換模塊和CPU硬件設(shè)計(jì)電路,采用FPGA完成整個(gè)電路時(shí)序控制工作。同時(shí),在FPGA內(nèi)部設(shè)置數(shù)據(jù)預(yù)處理模塊,對(duì)所采集數(shù)據(jù)進(jìn)行前置處理,減輕CPU負(fù)擔(dān),加大其數(shù)據(jù)處理的能力。經(jīng)實(shí)際工作測(cè)試,該設(shè)計(jì)很好地完成8通道、16位數(shù)據(jù)采集處理工作,達(dá)到系統(tǒng)指標(biāo)要求。
參考文獻(xiàn)
[1] ASHENDEN P J. VHDL設(shè)計(jì)指南[M]. 北京:機(jī)械工業(yè)出版社,2005.
[2] Altera Corporation. Cyclone Device Handbook,Volume 1, 2008,5.
[3] 韓西寧,許暉,焦留芳.基于FPGA的同步數(shù)據(jù)采集處理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電子技術(shù)應(yīng)用, 2009,35(1): 89-91.
評(píng)論