《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FT245BM和FPGA的數(shù)據(jù)采集設(shè)計(jì)
基于FT245BM和FPGA的數(shù)據(jù)采集設(shè)計(jì)
來源:電子技術(shù)應(yīng)用2013年第6期
梅文龍, 王 輝
南京工業(yè)大學(xué) 電子與信息工程學(xué)院 江蘇 南京 211816
摘要: 基于FT245BM和FPGA設(shè)計(jì)了一個(gè)高速數(shù)據(jù)采集系統(tǒng)。主控制器采用MCU和FPGA,MCU通過串口接收PC機(jī)打包發(fā)送的命令,通過主控模塊控制AD采集信號(hào),在FPGA中形成數(shù)據(jù)流, 并通過USB總線傳輸給PC機(jī)。此設(shè)計(jì)簡化了USB通信,提高了軟件編寫效率,減少了電子元器件的使用。經(jīng)過PC機(jī)軟件測(cè)試,PC機(jī)采集到的數(shù)據(jù)和原輸入數(shù)據(jù)變化趨勢(shì)基本一致,符合設(shè)計(jì)要求。
中圖分類號(hào): TN79
文獻(xiàn)標(biāo)識(shí)碼: B
文章編號(hào): 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ī)療、通信、化工、雷達(dá)等領(lǐng)域應(yīng)用廣泛[1]。早期采集數(shù)據(jù)主要是利用單片機(jī)作為主控制器,控制模/數(shù)轉(zhuǎn)換器等外圍電路。隨著需求的增長,這種設(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ā)周期較長。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),通過FPGA控制可編程增益放大器放大采集的模擬信號(hào),通過A/D轉(zhuǎn)換后由USB總線傳輸給PC機(jī)處理。本系統(tǒng)控制部分采用Altera公司的Cyclone系列FPGA EP1C6Q240C8芯片以及Philips公司的P89LV51單片機(jī)完成控制功能。總體結(jié)構(gòu)如圖1所示。系統(tǒng)工作時(shí),MCU通過串口接收PC機(jī)發(fā)送的采集命令,然后將命令打包發(fā)送給FPGA,控制FPGA芯片采集數(shù)據(jù)并將數(shù)據(jù)暫存到SRAM中[4],F(xiàn)PGA通過識(shí)別FT245BM的寫數(shù)據(jù)命令,將SRAM中的數(shù)據(jù)送給PC機(jī)進(jìn)行處理。此設(shè)計(jì)方案簡化了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)主要為通過手柄采集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模塊是英國FTDI公司的一種快速USB通信接口,可以支持USB1.1/2.0規(guī)范,傳輸速率最大可達(dá)1 MB/s。該芯片功能強(qiáng)大,無需編寫片內(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)。主要通過讀寫控制線(RDP、WR、TXE、RXF)和8根數(shù)據(jù)線D0~D7來完成與FPGA的通信。FT245BM的電路設(shè)計(jì)如圖3所示。系統(tǒng)通過幀頭來識(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ì)簡單方便,編程靈活,不易受外部干擾。配合使用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語言編程,F(xiàn)PGA采用Verilog HDL語言編程。主控模塊負(fù)責(zé)放大被測(cè)信號(hào)、采集信號(hào)和數(shù)據(jù)傳輸,本文主要討論采集數(shù)據(jù)部分。
    此設(shè)計(jì)簡化了USB通信,F(xiàn)T245BM在本系統(tǒng)中只需將數(shù)據(jù)發(fā)送到PC機(jī),不用進(jìn)行讀操作。FT245BM寫時(shí)序如圖4所示,當(dāng)數(shù)據(jù)滿足發(fā)送條件(當(dāng)前沒有數(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)鏈接庫)兩種驅(qū)動(dòng)模式。前一種是將USB接口虛擬為串行通信口,在PC上的編程和實(shí)現(xiàn)串口編程完全一樣;后一種提供了一個(gè)動(dòng)態(tài)鏈接庫(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來設(shè)計(jì)。應(yīng)用程序通過FTD2XX.DLL、FTD2XX.SYS、Windows USB Driver Stack來實(shí)現(xiàn)對(duì)FT245BM的讀寫。上位機(jī)軟件采用Delphi7來設(shè)計(jì),該軟件具有開發(fā)周期短、易于調(diào)試的優(yōu)點(diǎn)。通過調(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)為通過人體后采集到的信號(hào)。從圖中可看出當(dāng)輸入的激勵(lì)信號(hào)為1 kHz時(shí),測(cè)量得到的參考信號(hào)以及電極信號(hào)僅幅度不同,相位沒有明顯失真,頻率和曲線變化趨勢(shì)一致,表明該系統(tǒng)采集得到的數(shù)據(jù)準(zhǔn)確,具有較高的準(zhǔn)確性,符合設(shè)計(jì)要求。同時(shí)系統(tǒng)簡化了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ù)無縫傳輸[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.

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