《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FT245BM和FPGA的數(shù)據(jù)采集設(shè)計
基于FT245BM和FPGA的數(shù)據(jù)采集設(shè)計
來源:電子技術(shù)應(yīng)用2013年第6期
梅文龍, 王 輝
南京工業(yè)大學(xué) 電子與信息工程學(xué)院 江蘇 南京 211816
摘要: 基于FT245BM和FPGA設(shè)計了一個高速數(shù)據(jù)采集系統(tǒng),。主控制器采用MCU和FPGA,MCU通過串口接收PC機打包發(fā)送的命令,,通過主控模塊控制AD采集信號,在FPGA中形成數(shù)據(jù)流,, 并通過USB總線傳輸給PC機,。此設(shè)計簡化了USB通信,提高了軟件編寫效率,,減少了電子元器件的使用,。經(jīng)過PC機軟件測試,PC機采集到的數(shù)據(jù)和原輸入數(shù)據(jù)變化趨勢基本一致,,符合設(shè)計要求,。
中圖分類號: TN79
文獻標(biāo)識碼: B
文章編號: 0258-7998(2013)06-0118-03
The design of data acquisiton system based on FT245BM and FPGA
Mei Wenlong, Wang Hui
College of Electronics and Information Engineering, Nanjing University of Technology, Nanjing 211816, China
Abstract: A high speed data acquisition system based on FT245BM chip and FPGA is designed in this paper. This system completes functions of data acquisition and data transmission by using MCU and FPGA as the master controller. MCU receives packaged commands sent through the serial port to PC. Controlled by the master controller, the AD collects signal, then the data stream is formed in the FPGA. At last the data is transferred to the PC via the USB bus and then stored. USB communication is simply designed in this system. The efficiency of software development is improved and hardware resources is saved. After testing by PC software, we can see that data collected by PC is broadly consistent with the trend of the original input data, and the system meets the design requirements.
Key words : FPGA; USB; MCU; data acquisiton; FT245BM

    近年來,數(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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。