《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 设计应用 > 基于FT245BM和FPGA的数据采集设计
基于FT245BM和FPGA的数据采集设计
来源:电子技术应用2013年第6期
梅文龙, 王 辉
南京工业大学 电子与信息工程学院 江苏 南京 211816
摘要: 基于FT245BM和FPGA设计了一个高速数据采集系统。主控制器采用MCU和FPGA,MCU通过串口接收PC机打包发送的命令,通过主控模块控制AD采集信号,在FPGA中形成数据流, 并通过USB总线传输给PC机。此设计简化了USB通信,提高了软件编写效率,减少了电子元器件的使用。经过PC机软件测试,PC机采集到的数据和原输入数据变化趋势基本一致,符合设计要求。
中图分类号: TN79
文献标识码: 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

    近年来,数据采集和处理技术得到飞速发展,在医疗、通信、化工、雷达等领域应用广泛[1]。早期采集数据主要是利用单片机作为主控制器,控制模/数转换器等外围电路。随着需求的增长,这种设计模式已不能满足人们的需求,因此必须使用速度更快、性能更强的器件作为控制器。综合考虑价格和性能,本设计采用可编程逻辑器件(FPGA)和单片机(MCU)联合控制,只需一块常用的MCU加上一块FPGA芯片就能完成高速的数据采集任务,同时FPGA还能完成其他逻辑功能[2]。

    通用串行总线USB具有支持热拔插、传输速率高、占用资源少等优点,适合数据传输。但USB协议复杂,编写驱动费时,开发周期较长。FT245BM成功实现了USB和并行I/O的转换,避开了固件设计和驱动的编写,大幅缩短了开发时间,成为开发USB外围设备的理想选择[3]。利用FT245BM和FPGA实现数据采集和传输,可有效降低开发难度,缩短开发周期。
1 系统总体结构
     数据采集系统主要完成两大功能:数据的采集和传输。系统利用外置手柄电极阵列采集64路模拟信号,通过FPGA控制可编程增益放大器放大采集的模拟信号,通过A/D转换后由USB总线传输给PC机处理。本系统控制部分采用Altera公司的Cyclone系列FPGA EP1C6Q240C8芯片以及Philips公司的P89LV51单片机完成控制功能。总体结构如图1所示。系统工作时,MCU通过串口接收PC机发送的采集命令,然后将命令打包发送给FPGA,控制FPGA芯片采集数据并将数据暂存到SRAM中[4],FPGA通过识别FT245BM的写数据命令,将SRAM中的数据送给PC机进行处理。此设计方案简化了USB通信,只需完成单向数据传输,降低了系统的开发难度,增加了系统的稳定性。

2 系统的硬件设计
2.1数据采集电路的设计

    鉴于系统精度、速度和成本,采用ADI公司的AD9238芯片。该芯片采用3.3 V供电,速度为可选20 MS/s、40 MS/s和65 MS/s。其内部含有两路A/D转换器及信号保持器,可提供与单通道A/D转换器同样优异的动态性能,而且比使用2个单通道A/D转换器具有更好的抗串扰性能。模拟信号为差分输入,转换数字信号为并行输出。
    考虑到被测信号频率最高为1 MHz,系统只需采用20 MS/s的采样频率即可,此时功耗约为180 mW,符合低功耗设计要求。采样时钟由FPGA内部的50 MHz时钟分频得到。采集电路采集的信号主要为通过手柄采集64路模拟信号和基准参考信号,频率在100 Hz~1 MHz范围之间,电流值小0.5 mA。数据采集电路设计图如图2所示。

2.2 数据传输电路设计
    本系统采用的FT245BM模块是英国FTDI公司的一种快速USB通信接口,可以支持USB1.1/2.0规范,传输速率最大可达1 MB/s。该芯片功能强大,无需编写片内固件程序,能够实现USB协议与并行I/O协议之间的转换,芯片自动完成中间的转换工作。
    FT245BM内部主要由USB收发器、串口接口引擎(SIE)、USB协议引擎和FIFO控制器等构成。片内含有2个FIFO数据缓冲区:1个128 B的接收缓冲区和1个384 B的发送缓冲区[5]。FT245BM还包括1个内置3.3 V稳压器,1个6 MHz振荡器,8倍频的时钟倍频器和USB内部锁相环。主要通过读写控制线(RDP、WR、TXE、RXF)和8根数据线D0~D7来完成与FPGA的通信。FT245BM的电路设计如图3所示。系统通过帧头来识别各个状态命令,数据传输格式为“帧头+控制命令+帧尾”。

 

 

2.3 FPGA选择
    本系统的FPGA芯片采用Altera公司Cyclone系列的EP1C6Q240C8。它采用0.13 μm,全铜SRAM工艺,工作电压为1.5 V;内部有2个锁相环,5 980个LE单元,20个M4K型RAM块,总RAM容量达到92 160 bit,240个管脚,其中包括185个最大可用I/O口(I/O口可自由定义)。该芯片电路设计简单方便,编程灵活,不易受外部干扰。配合使用Altera公司的Quartus II软件开发平台,可以很容易地进行程序设计,有效减少了开发周期。
3 系统软件设计
3.1 主控制模块程序设计

    主控模块由FPGA和MCU构成,其中MCU采用C语言编程,FPGA采用Verilog HDL语言编程。主控模块负责放大被测信号、采集信号和数据传输,本文主要讨论采集数据部分。
    此设计简化了USB通信,FT245BM在本系统中只需将数据发送到PC机,不用进行读操作。FT245BM写时序如图4所示,当数据满足发送条件(当前没有数据发送且发送FIFO未满),TXE#置为低电平,控制器检测到TXE#为低时,放入数据。当WR输出一个下降沿时,可将数据写入发送FIFO[6]。

3.2  软件编程
    FT245BM和上层PC机通信时,需要在PC机上安装驱动。FTDI公司提供了VCP、D2XX(动态链接库)两种驱动模式。前一种是将USB接口虚拟为串行通信口,在PC上的编程和实现串口编程完全一样;后一种提供了一个动态链接库(FTD2XX.DLL),内部包含了一套函数,使用该驱动传输速率可达到1 MB/s[7]。
    根据FTDI公司的资料,前一种驱动的数据传输速率最高为300 kb/s,达不到高速处理数据的要求,因此本文选择利用D2XX来设计。应用程序通过FTD2XX.DLL、FTD2XX.SYS、Windows USB Driver Stack来实现对FT245BM的读写。上位机软件采用Delphi7来设计,该软件具有开发周期短、易于调试的优点。通过调用FTD2XX.DLL中的函数,可完成对USB接口设备的读写。
4 调试与小结
    目前该数据采集系统已成功应用于乳腺电阻抗扫描成像系统。图5即为该系统的上位机测试界面第1帧第64电极的测量曲线图,其中,参考信号表示原输入激励信号,电极信号为通过人体后采集到的信号。从图中可看出当输入的激励信号为1 kHz时,测量得到的参考信号以及电极信号仅幅度不同,相位没有明显失真,频率和曲线变化趋势一致,表明该系统采集得到的数据准确,具有较高的准确性,符合设计要求。同时系统简化了USB通信,有效降低了软件交互的次数和软件编写的繁琐程度,节省了硬件资源,提高了效率。

参考文献
[1] 石波涌,应文威,蒋宇中.基于FT245BM的数据采集系统设计与实现[J].舰船电子工程,2010(12):125-129.
[2] 李娜,孟令军.用FT245BM实现FPGA与PC机的数据无缝传输[J].重庆工学院学报(自然科学),2009,23(5):80-83.
[3] 蔡江洪,史小军,朱为,等. 利用FT245BM实现FPGA与PC机的USB通讯[J].电子器件,2005,28(1):132-134.
[4] 王德胜,康令州.基于FPGA的实时图像采集与预处理[J].电视技术,2011,35(3):32-35.
[5] 徐锋. 基于FT245BM的快速USB接口的实现[J].电子工程师,2007(3):59-61.
[6] 刁兆奎,张鹏飞,熊继军,等.基于FT245BM的数据采集系统设计[J].测试技术学报,2011,25(2):163-167.
[7] 林秀珍,梁志强. 通用串行总线USB及其应用[J]. 现代电子技术,2003(7):88-91.

此内容为AET网站原创,未经授权禁止转载。