蘭建功,趙艷利
(山西煤炭職業(yè)技術(shù)學(xué)院,山西 太原 030051)
實(shí)際測試中,被測信號的變化多種多樣,有的變化慢,有的變化快,而且需要多通道同時進(jìn)行采集,若是在每個通道都設(shè)置一套模擬傳輸和模數(shù)轉(zhuǎn)換器,既不經(jīng)濟(jì)也不必要,特別是在有限的體積內(nèi)有時甚至是不可能的,因此用最簡單的硬件電路完成多路信號的采集是設(shè)計中的一個重點(diǎn)。本文針對多通道切換電路進(jìn)行設(shè)計,并針對實(shí)際設(shè)計中出現(xiàn)的問題進(jìn)行研究。
整個系統(tǒng)以FPGA為核心控制器來組織工作,它控制著整個系統(tǒng)的數(shù)據(jù)采集通道切換,以及控制AD轉(zhuǎn)換器對模擬數(shù)據(jù)進(jìn)行轉(zhuǎn)換并實(shí)現(xiàn)對存儲器的控制。[1]系統(tǒng)總體框圖如圖1 所示。
圖1 系統(tǒng)總體框圖
如圖1 所示,在實(shí)際設(shè)計中將輸入的模擬信號首先經(jīng)過電壓跟隨器OPA4340然后再送給模擬開關(guān)。此電壓跟隨器具有將后級模擬開關(guān)切換干擾切斷,防止其反彈到信號源的作用。在實(shí)際設(shè)計中,對信號源端Ui0點(diǎn)輸入直流電壓2.6V,測得Ui0和U00點(diǎn)的波形對比如圖2 所示。從圖2 中可以看出,信號源端Ui0點(diǎn)波形光滑,而模擬開關(guān)輸入端U00點(diǎn)的波形干擾明顯,從而驗(yàn)證了運(yùn)放的隔離作用。
圖2 經(jīng)運(yùn)放隔離前、后波形
實(shí)際設(shè)計過程中,為了降低成本和減小體積,通常使用公共的采樣/保持器、放大器及AD轉(zhuǎn)換器,所以需要使用模擬開關(guān)輪流把各路被測信號分時地與這些公用器件接通,即通過對FPGA編寫時序,控制模擬開關(guān)切換通道,把各信號按固定的幀格式順序排列起來,然后再順序進(jìn)行AD轉(zhuǎn)換。模擬多路電子開關(guān)(Multiplexers,簡稱模擬開關(guān))是數(shù)據(jù)采集電路的關(guān)鍵部件,用于多路模擬信號的通道選擇電路或電路參數(shù)的選擇電路。
模擬開關(guān)的功能類似于繼電器,用于電路的切換,起到接通信號或斷開信號的作用。其具有導(dǎo)通速度快、無機(jī)械觸點(diǎn)、壽命長、體積小、功耗小、開關(guān)次數(shù)多、開關(guān)過程無抖動、耐環(huán)境沖擊振動、控制接口與數(shù)字邏輯電平兼容等優(yōu)點(diǎn)。
綜合考慮開關(guān)切換速度、供電以及通道數(shù)等參數(shù),本設(shè)計中選用了AD公司的ADG706作為模擬開關(guān)。該模擬開關(guān)的性能參數(shù)如下:①可以單電源供電,供電范圍為1.8V~5.5V;②開關(guān)切換時間40ns;③3dB帶寬為25MHz;④通道數(shù)為16;⑤模擬信號范圍為0V~Udd(Udd為供電電壓)。
多路采集的典型電路如圖3 所示,電路由輸入接口、信號調(diào)理電路、輸入電壓跟隨器[2]、模擬開關(guān)、輸出電壓跟隨器、ADC、數(shù)據(jù)寄存器、FPGA等核心器件組成。
由于本設(shè)計中需要采集的模擬信號為74路,因此在設(shè)計之初采用圖3 所示的方案進(jìn)行設(shè)計,即需要5片模擬開關(guān)并聯(lián)。但是通過實(shí)踐,發(fā)現(xiàn)采集波形震蕩明顯,如圖4 所示。分析原因是因?yàn)槟M開關(guān)ADC706輸出端對地的寄生電容為200pF,而5個模擬開關(guān)并聯(lián)將達(dá)到1 000pF,這樣大的電容引起輸出端信號震蕩。
圖3 傳統(tǒng)的多路模擬信號采集電路簡圖
圖4 模擬開關(guān)輸出的引起震蕩的波形
針對以上問題,本設(shè)計采用了改進(jìn)的方案,如圖5 所示,將模擬開關(guān)分為兩級,第二級為一個模擬開關(guān),因此輸出端電容小。讓速變信號直接輸入第二級模擬開關(guān),緩變信號先輸入到4個并聯(lián)的第一級模擬開關(guān),然后再輸入到第二級模擬開關(guān)。采用這樣的方案設(shè)計的電路,其采集波形光滑,如圖6 所示。
圖5 改進(jìn)的多路模擬信號采集電路簡圖
圖6 模擬開關(guān)輸出的光滑的波形
本設(shè)計中沒有單獨(dú)的擦除操作,而是當(dāng)存儲器寫入數(shù)據(jù)時,先讓其執(zhí)行擦除操作擦除上一塊的數(shù)據(jù),然后再執(zhí)行寫操作,當(dāng)一塊被寫完時再跳到下一塊進(jìn)行擦除操作,擦完以后再將其寫滿,依次類推。這樣的擦寫方式保證了下一輪存儲數(shù)據(jù)的正確,若上一輪數(shù)據(jù)未擦除,新一輪數(shù)據(jù)再寫入,將會導(dǎo)致記錄數(shù)據(jù)的錯誤。在整個擦除、寫入過程中要注意無效塊的檢測,否則將導(dǎo)致數(shù)據(jù)丟失。擦、寫控制邏輯流程圖如圖7 所示,當(dāng)采集存儲條件滿足時,先將地址復(fù)位后寫擦除命令字60H,然后寫塊地址,再寫命令字D0H,等待rb信號變?yōu)楦邥r,寫入寫命令字80H,再寫入頁地址,再寫10H,待一頁寫完以后跳到下一頁寫,直到一塊被寫完,再去執(zhí)行擦除操作,依次循環(huán)執(zhí)行。存儲器的寫數(shù)據(jù)時鐘波形如圖8 所示。
圖7 擦、寫控制邏輯流程圖
本文介紹了一種基于FPGA的多路數(shù)據(jù)采集存儲系統(tǒng)的設(shè)計方法[3],主要針對多通道模擬信號采集展開研究,硬件方面主要介紹了電壓跟隨電路、模擬開關(guān)多通道切換電路的設(shè)計,軟件方面介紹了基于FPGA控制的Flash Memory的擦寫邏輯。采用以上方法設(shè)計的數(shù)據(jù)采集系統(tǒng)存儲容量大、體積小。該系統(tǒng)已投入使用,性能優(yōu),值得推廣。
圖8 寫存儲器時鐘波形
[1]周治良,劉俊,張斌珍.基于FPGA及Flash的數(shù)據(jù)采集存儲系統(tǒng)設(shè)計[J].數(shù)采與監(jiān)測,2003(1):91-92.
[2]賽爾基歐·佛朗哥.基于運(yùn)算放大器和模擬集成電路的電路設(shè)計[M].第3版.劉樹棠,朱茂林,榮玫,譯.西安:西安交通大學(xué)出版社,2004.
[3]朱明程.xilinx數(shù)字系統(tǒng)現(xiàn)場集成技術(shù)[M].南京:東南大學(xué)出版社,2001.