基于FPGA的高速数据采集系统的设计
程接口GPIF(General Programmable Interface)。
由于在EZ-USB FX2的内部嵌入了增强型的8051,所以一般的数据传输都可以通过8051来控制实现,但是因为8051本身的工作频率较低,限制了与外围电路之间的数据传输速度的进一步提高。虽然这种限制在12Mb/s的全速模式下不是很明显,但是当数据传输速度提升到高速时,8051将成为系统的带宽瓶颈。为此,本设计选择采用了从属FIFO接口模式进行传输,这样8051就不会参与数据的传输,但它可以通过FIFO或RAM的方式访问所传输的数据。由于篇幅限制,在此只给出其连接框图。
系统软件设计
本系统软件的设计主要包括A/D转换控制程序、USB设备固件程序(Firmware)、主机USB设备驱动程序、主机端应用程序和远程客户端应用程序几个模块。系统的软件构成框图如图7所示。
图7 系统软件设计框图
A/D转换控制程序主要是控制A/D转换芯片的工作时序,然后把转换完成后的数字信号发送到FPGA内部。本设计的该程序部分是在可编程逻辑器件FPGA中实现的。
芯片CY7C68013的固件程序负责处理PC机发来的各种USB请求,以完成主机和外围电路之间的数据传输,例如,完成对接口芯片的I/O端口和存储单元的初始化;设置CPU时钟频率,配置相应端点的工作状态;初始化工作模式和数据传输方式;响应各种主机发送来的请求等。
设备驱动程序的主要功能是使Win32应用程序能够正确访问本采集电路的硬件设备。本系统设计的设备驱动程序是以Microsoft的设备驱动开发包DDK(Device Driver Kit)为开发工具,以微软驱动模型WDM(Windows Driver Model)的形式编写的。应用程序通过API函数发出相应命令以后,设备驱动程序以I/O请求包IRP(I/O Request Packets)的形式封装该命令,并把它传递给底层的总线驱动程序USBD(Universal Serial Bus Driver),从而达到与硬件设备进行通信的目的,最后总线驱动程序给上层驱动程序返回一个状态信号来告知本次通信是否成功完成。
主机端应用程序的主要功能是接收硬件设备发送的数据,并且把采集到的数据进行显示和存储。
结论
本文主要完成了一种高速数据采集系统的设计,该数据采集系统利用高性能FPGA、高速A/D转换器、高速USB 2.0接口芯片,是一种具有高速USB接口的外置式数据采集卡,信号的处理都是在PC机上完成的,这样不仅缩小了电路体积,提高了系统的稳定性,而且节约了系统成本。
Source:装甲兵技术学院
单片机 USB DSP FPGA 电路 51单片机 总线 Altera 电压 ADC 开关电源 放大器 Cypress 收发器 相关文章:
- 采用EEPROM对大容量FPGA芯片数据实现串行加载(03-18)
- 周立功:如何兼顾学习ARM与FPGA(05-23)
- 初学者如何学习FPGA(08-06)
- 为何、如何学习FPGA(05-23)
- FPGA作为协处理器在实时系统中的应用(04-08)
- 我的FPGA学习历程(05-23)