文獻標(biāo)識碼: B
文章編號: 0258-7998(2013)06-0118-03
近年來,數(shù)據(jù)采集和處理技術(shù)得到飛速發(fā)展,,在醫(yī)療,、通信、化工,、雷達等領(lǐng)域應(yīng)用廣泛[1],。早期采集數(shù)據(jù)主要是利用單片機作為主控制器,控制模/數(shù)轉(zhuǎn)換器等外圍電路,。隨著需求的增長,,這種設(shè)計模式已不能滿足人們的需求,因此必須使用速度更快,、性能更強的器件作為控制器,。綜合考慮價格和性能,,本設(shè)計采用可編程邏輯器件(FPGA)和單片機(MCU)聯(lián)合控制,只需一塊常用的MCU加上一塊FPGA芯片就能完成高速的數(shù)據(jù)采集任務(wù),,同時FPGA還能完成其他邏輯功能[2],。
通用串行總線USB具有支持熱拔插、傳輸速率高,、占用資源少等優(yōu)點,,適合數(shù)據(jù)傳輸。但USB協(xié)議復(fù)雜,,編寫驅(qū)動費時,,開發(fā)周期較長。FT245BM成功實現(xiàn)了USB和并行I/O的轉(zhuǎn)換,,避開了固件設(shè)計和驅(qū)動的編寫,,大幅縮短了開發(fā)時間,成為開發(fā)USB外圍設(shè)備的理想選擇[3],。利用FT245BM和FPGA實現(xiàn)數(shù)據(jù)采集和傳輸,,可有效降低開發(fā)難度,縮短開發(fā)周期,。
1 系統(tǒng)總體結(jié)構(gòu)
數(shù)據(jù)采集系統(tǒng)主要完成兩大功能:數(shù)據(jù)的采集和傳輸。系統(tǒng)利用外置手柄電極陣列采集64路模擬信號,,通過FPGA控制可編程增益放大器放大采集的模擬信號,,通過A/D轉(zhuǎn)換后由USB總線傳輸給PC機處理。本系統(tǒng)控制部分采用Altera公司的Cyclone系列FPGA EP1C6Q240C8芯片以及Philips公司的P89LV51單片機完成控制功能,??傮w結(jié)構(gòu)如圖1所示。系統(tǒng)工作時,,MCU通過串口接收PC機發(fā)送的采集命令,,然后將命令打包發(fā)送給FPGA,控制FPGA芯片采集數(shù)據(jù)并將數(shù)據(jù)暫存到SRAM中[4],,F(xiàn)PGA通過識別FT245BM的寫數(shù)據(jù)命令,,將SRAM中的數(shù)據(jù)送給PC機進行處理。此設(shè)計方案簡化了USB通信,,只需完成單向數(shù)據(jù)傳輸,,降低了系統(tǒng)的開發(fā)難度,增加了系統(tǒng)的穩(wěn)定性,。
2 系統(tǒng)的硬件設(shè)計
2.1數(shù)據(jù)采集電路的設(shè)計
鑒于系統(tǒng)精度,、速度和成本,采用ADI公司的AD9238芯片。該芯片采用3.3 V供電,速度為可選20 MS/s,、40 MS/s和65 MS/s,。其內(nèi)部含有兩路A/D轉(zhuǎn)換器及信號保持器,,可提供與單通道A/D轉(zhuǎn)換器同樣優(yōu)異的動態(tài)性能,而且比使用2個單通道A/D轉(zhuǎn)換器具有更好的抗串?dāng)_性能,。模擬信號為差分輸入,,轉(zhuǎn)換數(shù)字信號為并行輸出。
考慮到被測信號頻率最高為1 MHz,系統(tǒng)只需采用20 MS/s的采樣頻率即可,,此時功耗約為180 mW,,符合低功耗設(shè)計要求。采樣時鐘由FPGA內(nèi)部的50 MHz時鐘分頻得到,。采集電路采集的信號主要為通過手柄采集64路模擬信號和基準(zhǔn)參考信號,,頻率在100 Hz~1 MHz范圍之間,電流值小0.5 mA,。數(shù)據(jù)采集電路設(shè)計圖如圖2所示,。
2.2 數(shù)據(jù)傳輸電路設(shè)計
本系統(tǒng)采用的FT245BM模塊是英國FTDI公司的一種快速USB通信接口,可以支持USB1.1/2.0規(guī)范,,傳輸速率最大可達1 MB/s,。該芯片功能強大,無需編寫片內(nèi)固件程序,,能夠?qū)崿F(xiàn)USB協(xié)議與并行I/O協(xié)議之間的轉(zhuǎn)換,,芯片自動完成中間的轉(zhuǎn)換工作。
FT245BM內(nèi)部主要由USB收發(fā)器,、串口接口引擎(SIE),、USB協(xié)議引擎和FIFO控制器等構(gòu)成。片內(nèi)含有2個FIFO數(shù)據(jù)緩沖區(qū):1個128 B的接收緩沖區(qū)和1個384 B的發(fā)送緩沖區(qū)[5],。FT245BM還包括1個內(nèi)置3.3 V穩(wěn)壓器,,1個6 MHz振蕩器,8倍頻的時鐘倍頻器和USB內(nèi)部鎖相環(huán),。主要通過讀寫控制線(RDP,、WR、TXE,、RXF)和8根數(shù)據(jù)線D0~D7來完成與FPGA的通信,。FT245BM的電路設(shè)計如圖3所示。系統(tǒng)通過幀頭來識別各個狀態(tài)命令,,數(shù)據(jù)傳輸格式為“幀頭+控制命令+幀尾”,。
2.3 FPGA選擇
本系統(tǒng)的FPGA芯片采用Altera公司Cyclone系列的EP1C6Q240C8。它采用0.13 μm,,全銅SRAM工藝,,工作電壓為1.5 V;內(nèi)部有2個鎖相環(huán),5 980個LE單元,,20個M4K型RAM塊,,總RAM容量達到92 160 bit,240個管腳,,其中包括185個最大可用I/O口(I/O口可自由定義),。該芯片電路設(shè)計簡單方便,編程靈活,,不易受外部干擾,。配合使用Altera公司的Quartus II軟件開發(fā)平臺,可以很容易地進行程序設(shè)計,,有效減少了開發(fā)周期,。
3 系統(tǒng)軟件設(shè)計
3.1 主控制模塊程序設(shè)計
主控模塊由FPGA和MCU構(gòu)成,其中MCU采用C語言編程,,F(xiàn)PGA采用Verilog HDL語言編程,。主控模塊負責(zé)放大被測信號、采集信號和數(shù)據(jù)傳輸,,本文主要討論采集數(shù)據(jù)部分,。
此設(shè)計簡化了USB通信,F(xiàn)T245BM在本系統(tǒng)中只需將數(shù)據(jù)發(fā)送到PC機,,不用進行讀操作,。FT245BM寫時序如圖4所示,當(dāng)數(shù)據(jù)滿足發(fā)送條件(當(dāng)前沒有數(shù)據(jù)發(fā)送且發(fā)送FIFO未滿),,TXE#置為低電平,,控制器檢測到TXE#為低時,放入數(shù)據(jù),。當(dāng)WR輸出一個下降沿時,可將數(shù)據(jù)寫入發(fā)送FIFO[6],。
3.2 軟件編程
FT245BM和上層PC機通信時,,需要在PC機上安裝驅(qū)動。FTDI公司提供了VCP,、D2XX(動態(tài)鏈接庫)兩種驅(qū)動模式,。前一種是將USB接口虛擬為串行通信口,在PC上的編程和實現(xiàn)串口編程完全一樣,;后一種提供了一個動態(tài)鏈接庫(FTD2XX.DLL),,內(nèi)部包含了一套函數(shù),使用該驅(qū)動傳輸速率可達到1 MB/s[7],。
根據(jù)FTDI公司的資料,,前一種驅(qū)動的數(shù)據(jù)傳輸速率最高為300 kb/s,達不到高速處理數(shù)據(jù)的要求,因此本文選擇利用D2XX來設(shè)計,。應(yīng)用程序通過FTD2XX.DLL,、FTD2XX.SYS、Windows USB Driver Stack來實現(xiàn)對FT245BM的讀寫,。上位機軟件采用Delphi7來設(shè)計,,該軟件具有開發(fā)周期短、易于調(diào)試的優(yōu)點,。通過調(diào)用FTD2XX.DLL中的函數(shù),,可完成對USB接口設(shè)備的讀寫。
4 調(diào)試與小結(jié)
目前該數(shù)據(jù)采集系統(tǒng)已成功應(yīng)用于乳腺電阻抗掃描成像系統(tǒng),。圖5即為該系統(tǒng)的上位機測試界面第1幀第64電極的測量曲線圖,,其中,參考信號表示原輸入激勵信號,,電極信號為通過人體后采集到的信號,。從圖中可看出當(dāng)輸入的激勵信號為1 kHz時,測量得到的參考信號以及電極信號僅幅度不同,,相位沒有明顯失真,,頻率和曲線變化趨勢一致,表明該系統(tǒng)采集得到的數(shù)據(jù)準(zhǔn)確,,具有較高的準(zhǔn)確性,,符合設(shè)計要求。同時系統(tǒng)簡化了USB通信,,有效降低了軟件交互的次數(shù)和軟件編寫的繁瑣程度,,節(jié)省了硬件資源,提高了效率,。
參考文獻
[1] 石波涌,,應(yīng)文威,蔣宇中.基于FT245BM的數(shù)據(jù)采集系統(tǒng)設(shè)計與實現(xiàn)[J].艦船電子工程,,2010(12):125-129.
[2] 李娜,,孟令軍.用FT245BM實現(xiàn)FPGA與PC機的數(shù)據(jù)無縫傳輸[J].重慶工學(xué)院學(xué)報(自然科學(xué)),2009,,23(5):80-83.
[3] 蔡江洪,,史小軍,朱為,,等. 利用FT245BM實現(xiàn)FPGA與PC機的USB通訊[J].電子器件,,2005,28(1):132-134.
[4] 王德勝,康令州.基于FPGA的實時圖像采集與預(yù)處理[J].電視技術(shù),,2011,35(3):32-35.
[5] 徐鋒. 基于FT245BM的快速USB接口的實現(xiàn)[J].電子工程師,,2007(3):59-61.
[6] 刁兆奎,,張鵬飛,熊繼軍,,等.基于FT245BM的數(shù)據(jù)采集系統(tǒng)設(shè)計[J].測試技術(shù)學(xué)報,,2011,25(2):163-167.
[7] 林秀珍,梁志強. 通用串行總線USB及其應(yīng)用[J]. 現(xiàn)代電子技術(shù),,2003(7):88-91.