文獻(xiàn)標(biāo)志碼: B
文章編號(hào): 0258-7998(2011)05-0082-04
隨著數(shù)字技術(shù)的飛速發(fā)展和數(shù)字系統(tǒng)的廣泛應(yīng)用,,模擬信號(hào)轉(zhuǎn)換為可處理的數(shù)字信號(hào),,對采集系統(tǒng)的精度、采樣率以及數(shù)據(jù)速率都有更高的要求,。對于大型復(fù)雜的設(shè)備,,其故障檢測和診斷同樣是一項(xiàng)復(fù)雜的工作,采集設(shè)備的工作狀態(tài)及環(huán)境變化,,對操作者了解設(shè)備的工作狀態(tài),,及時(shí)對系統(tǒng)的故障作出判斷和處理有積極的意義。FPGA器件具有很高的集成度,,豐富的資源,,用戶可編程,使用方便靈活,,設(shè)計(jì)周期短,,因而廣泛應(yīng)用于數(shù)字系統(tǒng)中。本文介紹了以FPGA為控制核心的高速數(shù)據(jù)采集與傳輸系統(tǒng),,以低速串口傳輸數(shù)據(jù)量少的上位機(jī)控制指令,,通過高速USB接口向上位機(jī)傳輸數(shù)據(jù)量大的采集數(shù)據(jù)幀,保證指令和數(shù)據(jù)傳輸?shù)目煽啃?,可提供最?2路采集通道,,并可通過上位機(jī)界面配置采集通道數(shù)量和采集電路增益,F(xiàn)PGA控制器根據(jù)約定的控制協(xié)議執(zhí)行操作,。系統(tǒng)程序設(shè)計(jì)以ISE 10.1為平臺(tái),,使用Verilog HDL語言設(shè)計(jì)實(shí)現(xiàn),。系統(tǒng)針對復(fù)雜環(huán)境的大型設(shè)備的運(yùn)行監(jiān)測和故障診斷需求,提供一種可應(yīng)用遠(yuǎn)程測控的底層數(shù)據(jù)采集與傳輸應(yīng)用[1-3],。
1 系統(tǒng)硬件結(jié)構(gòu)
系統(tǒng)結(jié)構(gòu)如圖1所示,,系統(tǒng)主要有上位機(jī)管理系統(tǒng)、鏈路管理主控層和通道管理從控制層三個(gè)主體部分,。上位機(jī)管理系統(tǒng)提供人機(jī)交互的功能,,本文不做詳細(xì)介紹,系統(tǒng)硬件主體主要由主控層和從控層組成,。鏈路管理主控制層主要實(shí)現(xiàn)控制指令解析,、數(shù)據(jù)管理和從控層管理等功能,通道管理從控制層主要功能是通道管理和配置,、數(shù)據(jù)管理和傳輸,。主控層提供3個(gè)與從控層通信的差分接口,可支持3塊從控層并行工作,。
鏈路管理主控制層由1片Xilinx的FPGA芯片XC3S1500作為控制模塊,,3組差分芯片對作為主控層與從控層的通信鏈路,1片RS232和CY7C68013A芯片分別作為控制層與上位機(jī)管理系統(tǒng)的下行控制鏈路和上行數(shù)據(jù)鏈路,。主控FPGA與采集FPGA是跨印制板連接,,使用差分驅(qū)動(dòng)和接收芯片(LVDS391/390)通過屏蔽差分線纜連接,主控層與每個(gè)從控層通過1根包含6對差分線的屏蔽線纜連接,,上行和下行各3對差分線路,,保證板間通信的可靠性。
從控層由1片Xilinx的XC3S200AN芯片作為控制模塊構(gòu)成母板,,每2路采集通道組構(gòu)成采集子板,,以雙列直插的方式與母板連接,整體結(jié)構(gòu)并行對稱,,采集母板提供了4個(gè)子板接口,,可以8路通道并行工作。從控層結(jié)構(gòu)如圖2所示,,每一路采集通道由AD8253和AD8250組成的前后兩級放大,,級聯(lián)的芯片增益可由從控層FPGA通過軟件配置,溫度傳感器DS18B20實(shí)時(shí)監(jiān)控系統(tǒng)本身的工作環(huán)境溫度,。
2 控制及數(shù)據(jù)傳輸
由系統(tǒng)硬件結(jié)構(gòu)可知,系統(tǒng)有上行和下行兩組通信鏈路,,即控制指令鏈路和數(shù)據(jù)傳輸鏈路,。控制指令起于上位機(jī)系統(tǒng),,由串口發(fā)送到控制層,,經(jīng)主控層解析處理后,,分發(fā)至相應(yīng)的從控層,再由從控層執(zhí)行相應(yīng)的指令操作,。數(shù)據(jù)傳輸起于從控層,,通過差分線路傳輸?shù)街骺貙樱谥骺貙咏M幀后,,寫入U(xiǎn)SB芯片,,最后由上位機(jī)系統(tǒng)讀入顯示。指令和數(shù)據(jù)都約定了特定的格式,,以一定的協(xié)議進(jìn)行通信,,同時(shí)對從控層和采集通道都進(jìn)行了編號(hào),以此實(shí)現(xiàn)控制協(xié)議的解析和分發(fā),,以及數(shù)據(jù)管理和上位機(jī)解析,。
2.1 控制協(xié)議
控制協(xié)議是由上位機(jī)、主控層和從控層共同約定的,,控制命令以字為單位,,有標(biāo)志字、控制命令和配置參數(shù)三類,。其中標(biāo)志字約定為11111111B,,標(biāo)志字是命令和參數(shù)的起始標(biāo)志,主控層或從控層只有在接收到標(biāo)志字后,,才會(huì)解析接下來的數(shù)據(jù),,判斷上位機(jī)發(fā)出的命令。
控制命令:00000000B,、01xxxxxxB,、11xxxxxxB和01XXxx
xxB分別約定為系統(tǒng)復(fù)位指令、停止轉(zhuǎn)換指令,、啟動(dòng)轉(zhuǎn)換指令和從控層配置指令,。指令格式如表1所示。
配置參數(shù):XXXXxxxxB,,主要有采樣率參數(shù)和通道配置參數(shù),,其中XXXX為通道號(hào),編碼為0000~0111B,,即0~7號(hào)通道,。配置參數(shù)跟在指令01XX1100B/01XX1110B后時(shí),xxxx為XXXX通道的采樣率參數(shù),,作為從控層/主控層采樣脈沖的參數(shù),。配置參數(shù)緊接在XX層通道配置計(jì)數(shù)指令后時(shí),則xxxx為XXXX通道的增益配置參數(shù),,高2位為前級放大器增益,,低2位為后級放大器增益,。
配置命令基本格式如圖3所示。在系統(tǒng)上電后以FF00H迫使系統(tǒng)復(fù)位,,系統(tǒng)復(fù)位成功后,,同樣以FFH開始,發(fā)送采樣率配置和通道增益配置命令及參數(shù),。如配置指令FF_4E_x1H,,即第一層所有通道采用同一內(nèi)采樣脈沖,采樣率分頻參數(shù)為1,對應(yīng)內(nèi)采樣率設(shè)置為40 kHz,。
2.2 通信協(xié)議及數(shù)據(jù)格式
上文已經(jīng)介紹了系統(tǒng)各部分的硬件連接,,主控層和從控層之間有6對差分線,上行和下行分別3對,,下行有復(fù)位信號(hào),、采樣脈沖信號(hào)和數(shù)據(jù)信號(hào)線,上行有數(shù)據(jù)線,、同步時(shí)鐘線和同步使能線,。數(shù)據(jù)信號(hào)線以異步串行的方式,主控層向從控層發(fā)送命令和配置參數(shù),,采樣脈沖信號(hào)線在不同層采用外采樣脈沖或主控層提供的脈沖時(shí)使用,,以保證不同層間的同步采樣。上行數(shù)據(jù)以SPI同步串行方式傳輸,,數(shù)據(jù)速率為12.5 Mb/s,。
數(shù)據(jù)格式如圖4,一個(gè)數(shù)據(jù)有3 B,,由6 bit的頭信息編碼和18 bit數(shù)據(jù)位組成,。高2位是該從控層的編號(hào),編碼范圍為00B~11B(0~3層),;次高4位為通道編碼,,0000B~0111B(0~7號(hào)通道)為A/D通道編碼,1010B(10號(hào)通道)為溫度傳感器信息編碼,,余下通道編碼可作擴(kuò)展,。
3 系統(tǒng)程序結(jié)構(gòu)
主控層主要完成上位機(jī)配置命令解析、采集數(shù)據(jù)組幀,,從控層主要執(zhí)行配置命令,、控制A/D通道工作狀態(tài),以及采集數(shù)據(jù)編碼上傳,。
3.1 主控層程序設(shè)計(jì)
主控層是系統(tǒng)的中間節(jié)點(diǎn),,是聯(lián)系上位機(jī)管理系統(tǒng)和下層采集的重要結(jié)構(gòu)。主控層實(shí)時(shí)接收并解析來自上位機(jī)管理系統(tǒng)的命令字和配置參數(shù),同時(shí)向從控層分發(fā)控制和配置信息,。主控層在接收到采集FPGA上傳的數(shù)據(jù)后,組幀發(fā)送至USB芯片,。
主控層程序結(jié)構(gòu)如圖5所示,,主要有串口收發(fā)模塊、狀態(tài)機(jī)控制器,、數(shù)據(jù)接收模塊,、USB控制器及數(shù)據(jù)FIFO。串口接收器波特率9 600 b/s,,與PC機(jī)的標(biāo)準(zhǔn)串口連接,。串行發(fā)送模塊以異步串行方式向從控層發(fā)送控制命令和配置參數(shù)。緩沖區(qū)FIFO是基于乒乓操作機(jī)制,,大小為4 096 B,,緩沖區(qū)數(shù)據(jù)每滿512 B,則由USB控制器讀入U(xiǎn)SB芯片CYS68031A[4],。此處USB采用的是同步讀寫方式,,數(shù)據(jù)速率設(shè)置為25 MB/s。
主控層程序流程如圖6所示,。數(shù)據(jù)被讀入主控層緩沖后,,通過查詢方式循環(huán)讀取數(shù)據(jù)并寫入FIFO緩沖區(qū)。數(shù)據(jù)寫入FIFO同時(shí)是組幀,,數(shù)據(jù)幀的格式:以512 B為一個(gè)數(shù)據(jù)塊,,每一個(gè)數(shù)據(jù)塊的前2 B以FF作為幀同步頭,次3 B為幀計(jì)數(shù)信息,,其余507 B為數(shù)據(jù)空間,。
3.2 從控層程序設(shè)計(jì)
從控層程序結(jié)構(gòu)如圖7所示,主體功能有:接收并解析主控FPGA發(fā)送的配置參數(shù),;根據(jù)配置參數(shù)進(jìn)行系統(tǒng)鏈路自檢,,配置通道增益;接收主控板采集脈沖并啟動(dòng)A/D轉(zhuǎn)換,;讀取A/D轉(zhuǎn)換數(shù)據(jù)并組合編碼,;對數(shù)據(jù)進(jìn)行濾波處理;向主控FPGA上傳A/D數(shù)據(jù),。
系統(tǒng)的流程如圖8所示,。采集通道的增益配置是在從控層接收到所有通道的配置參數(shù)后同步完成。首先配置前級增益,,再配置后級,。系統(tǒng)的鏈路自檢是由從控層生成一組約定的數(shù)據(jù),發(fā)送到上位機(jī)系統(tǒng),以判斷各層之間的連接狀態(tài),。在采用相同的采樣率時(shí),,從控層所有通道保持?jǐn)?shù)據(jù)同步,采樣率不同時(shí),,各通道的數(shù)據(jù)經(jīng)過復(fù)接同步后再發(fā)送主控層,。
3.3 FIR濾波器設(shè)計(jì)
數(shù)字FIR濾波器由上位機(jī)發(fā)送控制命令,對指定的通道數(shù)據(jù)進(jìn)行濾波處理,,以濾除采集電路的信號(hào)干擾,。濾波器結(jié)構(gòu)如圖9所示,采用半并行對稱結(jié)構(gòu),,濾波系數(shù)的設(shè)計(jì)借助MATLAB的FDATOOL,,根據(jù)系統(tǒng)的既定采樣率和參數(shù),設(shè)計(jì)了2組33階的系數(shù),,系數(shù)被儲(chǔ)存在ROM中,,因?yàn)V波器為對稱結(jié)構(gòu),所以ROM只需儲(chǔ)存17個(gè)系數(shù),,系統(tǒng)可根據(jù)配置信息選取濾波系數(shù),。濾波器框架為串并結(jié)合結(jié)構(gòu),同時(shí)可以選擇不同的濾波系數(shù),,減少濾波器對乘法器資源和邏輯資源的使用,。
圖10所示為用FDATOOL設(shè)計(jì)的33階kaiser窗濾波系數(shù)的MATLAB仿真圖,β=0.3,,截止頻率Wc=0.5,。輸入信號(hào)頻率f=0.5 MHz,采樣頻率Fs=5 MHz,。
借助仿真軟件ModelSim驗(yàn)證FIR濾波器,,仿真結(jié)果如圖11所示。以輸入0.5 MHz方波信號(hào)為例,,采樣率設(shè)置為6 MHz,,經(jīng)過濾波處理后,得到了0.5 MHz正弦信號(hào),。
4 系統(tǒng)測試與數(shù)據(jù)指標(biāo)
經(jīng)過大量的測試分析和統(tǒng)計(jì)證明系統(tǒng)具有很好的性能和測量精度,。表2所示為部分測量數(shù)據(jù)分析結(jié)果。幅值為10 mV~5 V信號(hào),,在不同增益下,,直流信號(hào)的測量精度平均值可達(dá)0.293%,頻率為100 Hz交流信號(hào)的測量精度平均值可達(dá)0.642%,。
本系統(tǒng)提供了最大24路的采集通道,,系統(tǒng)工作通道可配置,、可選擇,系統(tǒng)啟動(dòng)迅速,,具有很強(qiáng)的實(shí)時(shí)性,,通道間的相位誤差小于10°,精度高,、數(shù)據(jù)吞吐量大,,并具有一定故障自檢能力。系統(tǒng)內(nèi)采樣時(shí)鐘最小為100 Hz,最大為40 kHz,,A/D最大采樣頻率可達(dá)250 kHz,USB的讀寫能力最大可達(dá)到48 MB/s,??梢詰?yīng)用于檢測、控制等系統(tǒng)中,,目前已應(yīng)用于某測控系統(tǒng),。
參考文獻(xiàn)
[1] 章勇勤,艾勇,鄧德祥. 基于FPGA 的超高速數(shù)據(jù)采集與處理系統(tǒng)[J].數(shù)據(jù)采集與處理,2009,24(2):238-242.
[2] 陳波,陸必應(yīng),,周智敏.多通道高速數(shù)據(jù)采集處理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代雷達(dá),,2010,32(5):44-47.
[3] 山昆,劉建業(yè),,趙偉,,等.多通道同步采樣數(shù)據(jù)采集系統(tǒng)研究[J].微處理機(jī),2006(4):20-22.
[4] Cypress Semiconductor Corporation. EZ-USB FX2 Technical Reference. V 2.1.[EB/OL]. http//www.cypress.com, 2000.