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