在電子測量中,不僅需要對多路信號進行高精度的采集和預處理,而且要將其快速地傳送到計算機,以便于對測量的監(jiān)測。文中選用ADS8364來進行多通道信號采集,通過CY7C68013芯片采用USB2.O協(xié)議進行數(shù)據(jù)的快速傳輸。
1 多通道,高精度的A/D轉(zhuǎn)換
ADS8364是美國TI公司生產(chǎn)的高速、低功耗,6通道同步采樣16位模數(shù)轉(zhuǎn)換器。ADS8364采用+5 V工作電壓,并帶有80 dB共模抑制的全差分輸入通道以及6個4μs連續(xù)近似的模數(shù)轉(zhuǎn)換器、6個差分采樣放大器。
當ADS8364采用5 MHz的外部時鐘來控制轉(zhuǎn)換時,它的取樣率是250 kHz,同時對應于4μs的最大吞吐率,這樣,采樣和轉(zhuǎn)換共需花費20個時鐘周期。另外,當外部時鐘采用5 MHz時,ADS8364的轉(zhuǎn)換時間是3.2μs,對應的采集時間是0.8μs。因此,為了得到最大的輸出數(shù)據(jù)率,讀取數(shù)據(jù)可以在下一個轉(zhuǎn)換期間進行。
ADS8364中的采樣/保持模塊以最大吞吐率250 kB工作,它的輸入帶寬大于ADC的奈奎斯特頻率。而典型的小信號帶寬是300 MHz??讖窖舆t時間為5 ns,每次的平均增量為5 ops。這些特性反映了ADS8364接收輸人信號的能力。
1.1 A/D前端信號調(diào)理電路
鑒于多通道信號采集的時序的重要性,這里選用差分放大電路對信號進行調(diào)理。
采用TI公司的運算放大器OPA2227組成一個電壓放大器,將輸入電壓轉(zhuǎn)換到ADS8364的差分輸入電壓范圍。根據(jù)需要,可以通過調(diào)整放大電路中電阻的大小,改變輸入電壓的范圍,其對應的參數(shù)表如表1所示。
ADS8364在參考電壓為2.5 V的情況下,其測量范圍為±1.25 V。而實際中的測試信號一般為±2.5 V,±5 V或±lO V,所以,在ADS8364的前端,要經(jīng)過線性衰減、限幅和濾波。其調(diào)理電路原理圖,如圖1所示。
1.2 A/D電源電路
數(shù)據(jù)采集電路需要完成高精度的數(shù)據(jù)采集,因此電源部分的設計是相對比較重要的。
在作進一步的分析之前,需要說明采樣精度和有效位都是對采樣質(zhì)量高低的描述。設采樣精度為vp,有效位為N,基準電壓為vREF,基準電壓噪聲電平為VN,則有
2 USB接口模塊設計
Cypress Semiconductor公司的EZ-USB FX2是世界上的第一款集成USB2.0的微處理器,它集成了USB2.0收發(fā)器、SIE(串行接口引擎)、增強型8051微控制器和可編程的外圍接口。FX2這種獨創(chuàng)性結(jié)構(gòu)可使數(shù)據(jù)傳輸率達到56 MB·s-1,即USB2.0允許的最大帶寬。EZ-USB FX2 CY7C68013的微處理器是一個增強型的805l內(nèi)核,性能可達標準8051的5~10倍,并與標準805l的指令完全兼容。增強型的8051內(nèi)核使用RAM芯片作程序指令和數(shù)據(jù)存儲器,從而使得EZ-USB FX2 CY7C68013具有“軟”特性,也就是說,可以通過自行編寫程序指令來實現(xiàn)所需的功能。
由于USB通信是本系統(tǒng)設計主要的任務目標,所以在設計時也充分考慮到系統(tǒng)的可擴展性,所有的信號引腳都有排線引出,方便了測試和擴展。
3 FPGA邏輯電路
圖4為采集傳輸系統(tǒng)中FPGA與各模塊的連接。
整個電路選用Altera公司推出的新一代低成本的Cyclone系列FPGA器件EPlC6Q240作為控制和信號處理芯片。EPlC6Q240型FPGA芯片具有強大的硬件邏輯功能,總邏輯單元達5 980個,有I/O引腳181個,92 160位的內(nèi)部存儲單元,20個RAM單元,2個鎖相環(huán)。利用這些強大的功能,可以很容易進行模塊控制和數(shù)據(jù)動態(tài)濾波。如圖4所示,通過FPGA對A/D進行采樣控制,將A/D采樣的數(shù)據(jù)進行數(shù)字濾波后傳送到RAM中進行,或是直接通過USB模塊將數(shù)據(jù)床送到電腦中進行處理。
采用VerilogHDL硬件語言編程來對A/D采集,RAM傳輸,USB傳輸?shù)冗M行控制信號輸出,并對采樣的數(shù)據(jù)進行數(shù)字濾波。
A/D數(shù)據(jù)接口模塊實現(xiàn)對ADS8364數(shù)據(jù)的采樣,采樣后的數(shù)據(jù)進行濾波處理。本模塊對ADS8364的控制引腳有:
(1)模擬采樣通道控制信號為/HOLDA,/HOLDB,/HOLDC;
(2)數(shù)據(jù)輸出模式以及通道選擇信號為A0,A1和A2;
(3)讀控制信號為/RD。
首先將5 MHz時鐘和使能信號相與產(chǎn)生新時鐘,使用該時鐘驅(qū)動一個20個狀態(tài)的狀態(tài)機。在計數(shù)器值為15時將HOLDa,HOLDb,HOLDc置0,啟動一次數(shù)據(jù)采樣。在計數(shù)值為2~3,4~5,6~7,8~9,10~ll,12~13且相應的通道得到使能時,分別發(fā)出通道l至通道6的通道地址。在計數(shù)值為3,5,7,9,ll,13時發(fā)出讀信號讀取相應通道的數(shù)據(jù)。在計數(shù)值為15時發(fā)出采樣完畢信號,指示6通道數(shù)據(jù)已經(jīng)采集完畢。
USB控制電路分兩個模塊完成。模塊1實現(xiàn)主機向FPGA寄存器單元的配置,模塊2實現(xiàn)FPGA向主機的數(shù)據(jù)包輸出。
模塊1實現(xiàn)在地址IO模式下向寄存器寫數(shù)據(jù)。寫時序如圖7所示??梢愿鶕?jù)地址線和PWR信號實現(xiàn)對某寄存器的寫控制。
模塊2實現(xiàn)在DMA模式下FPGA向主機的批量數(shù)據(jù)傳輸。同步DMA的時序圖如圖8所示(時鐘由FPGA提供)。
本系統(tǒng)使用一個狀態(tài)機實現(xiàn)該功能,狀態(tài)機在“查找”和“傳輸”兩個狀態(tài)之間切換。系統(tǒng)啟動以后首先進入查詢FIFO的狀態(tài),在查詢到FIFO中的數(shù)據(jù)量大于一個USB數(shù)據(jù)包(2 040 bit)時,狀態(tài)機進入到“傳輸”狀態(tài)。在“傳輸”狀態(tài)下,按照上述同步。DMA寫時序,首先傳輸6 bit包頭,然后傳輸2 040 bit數(shù)據(jù),最后傳輸2 bit數(shù)據(jù)校驗。在數(shù)據(jù)傳輸?shù)倪^程中,電路要一直查詢DMAING的狀態(tài),檢測到:DMAING為低時要暫停數(shù)據(jù)傳輸。在傳輸完2 kB數(shù)據(jù)后,狀態(tài)機再轉(zhuǎn)入到“查詢”狀態(tài),進行下一輪數(shù)據(jù)傳輸狀態(tài)。
系統(tǒng)當前的工作時鐘為20 MHz,在USB接口處可以達到的最大帶寬約為10 MB,系統(tǒng)分頻給A/D的時鐘為5 MHz,這樣可以保證A/D接口的最大帶寬達到3 MB。在Flash接口處的帶寬約為5 MB。將時鐘速度提升l倍,則USB口的傳輸能力可以達到約20 MB。
數(shù)據(jù)處理與儲存模塊主要是FPGA將高速A/D采集到的數(shù)據(jù)進行打包、暫存。本套電路中使用了一片由,TI公司生產(chǎn)的高速靜態(tài)RAM IS61-LV51216作為數(shù)據(jù)暫存器件;由FPGA對這片RAM存儲器進行監(jiān)控。
4 結(jié)束語
采用USB協(xié)議的數(shù)據(jù)采集卡可以滿足對數(shù)據(jù)進行多通道的高精度采集、處理和傳輸,在數(shù)據(jù)有效采集的情況下,擺脫了對端口的依賴。