EZ-USB FX2的数据采集和传输系统设计
时间:02-26
来源:互联网
点击:
3 EZ—USB FX2的固件设计
固件程序是指运行在设备CPU中的程序。只有在该程序运行时,外设才能称为具有给定功能的外围设备。C2ypress公司为FX2固件开发提供了一个固件库和固件框架,都是在Keil C51集成开发环境下开发的。固件库提供了一些常量、数据结构、宏、函数来简化用户对芯片的使用。固件框架实现了初始化芯片、处理USB标准设备请求以及挂起状态下的电源管理等功能。该框架不添加任何代码,编译后生成的.HEX文件载人芯片就能和主机进行基本的USB通信。用户主要的工作就是选择适合的传输方式,添加需要使用的端点,在框架预留的地方(如TD_Init()、TD_Poll()等函数中)添加初始化代码和完成特定功能的代码。这样大大简化了用户对程序的编写,在不十分了解USB2.O协议的情况下,也能通过代码的编写,实现USB的传输功能。
4 EZ—USB FX2的驱动程序
该系统需要通用驱动程序和下载固件的驱动程序。通用驱动程序完成与外设和用户程序的通信及控制;而下载固件的驱动程序则只负责在外设连接USB总线后把特定的固件程序下载到FX2的RAM中,使FX2的CPU重启,模拟断开与USB总线连接,完成对外设的重新设置。FX2根据新的设置安装通用驱动程序,重新枚举外设为一个新的USB外设。通用驱动程序一般不需要重新编写,用Cypress公司已经编好的驱动ezusb.sys;而下载固件程序的驱动则必须定做。
5 上位机用户程序
上位机用户程序主要通过VC++完成。实现从USB设备从下位机读取指定数量的数据和向下位机发送特定的控制数据。用户程序对EZ—USB FX2的控制,主要是通过I/0控制调用来访问ezusb.sys通用驱动程序,而对I/O控制的调用是通过win32的API函数来完成的。因此,用户程序通过对API函数的调用来实现与驱动程序进而与硬件的通信。API函数的执行与驱动函数中的一些分发例程相对应。与EZ-USB FX2通信常用的API函数如表1所列。
应用程序先通过CreatFile()得到设备驱动程序的句柄,然后使用DeviceloControl()来提交I/O控制码,并且设置好读取和发送数据的缓冲区,最后通过CloseFile()来关闭设备。图4是上位机应用程序界面。
结语
EZ—USB FX2使上位机与下位机之间的数据传输更加快捷和可靠。基于FPGA和EZ-USB FX2的数据采集和传输系统满足现代高速设备对传输速度的要求,解决了传输速度慢的瓶颈。通过FPGA的模块设计、EZ-USB FX2的固件设计和上层应用程序设计,实现了整个系统的数据采集和传输。
参考文献
1. TLC5510
2. 温华 基于FPGA 的USB2.0控制芯片设计与实现 [学位论文] 2004
3. 王彦 基于FPGA的工程设计与应用 2007
4. 钱峰 EZ-USB FX2单片机原理、编程及应用 2006
5. 郑阿奇 C++ 实用教程 2008
6. 马石安.魏文平 Visual C++程序设计与应用教程 2007
7. 李强 基于 USB2.0的高速数据采集系统研究 [学位论文] 2007
作者:丽水学院 吕晔 周洪强 来源:单片机与嵌入式系统应用 2009(5)
固件程序是指运行在设备CPU中的程序。只有在该程序运行时,外设才能称为具有给定功能的外围设备。C2ypress公司为FX2固件开发提供了一个固件库和固件框架,都是在Keil C51集成开发环境下开发的。固件库提供了一些常量、数据结构、宏、函数来简化用户对芯片的使用。固件框架实现了初始化芯片、处理USB标准设备请求以及挂起状态下的电源管理等功能。该框架不添加任何代码,编译后生成的.HEX文件载人芯片就能和主机进行基本的USB通信。用户主要的工作就是选择适合的传输方式,添加需要使用的端点,在框架预留的地方(如TD_Init()、TD_Poll()等函数中)添加初始化代码和完成特定功能的代码。这样大大简化了用户对程序的编写,在不十分了解USB2.O协议的情况下,也能通过代码的编写,实现USB的传输功能。
4 EZ—USB FX2的驱动程序
该系统需要通用驱动程序和下载固件的驱动程序。通用驱动程序完成与外设和用户程序的通信及控制;而下载固件的驱动程序则只负责在外设连接USB总线后把特定的固件程序下载到FX2的RAM中,使FX2的CPU重启,模拟断开与USB总线连接,完成对外设的重新设置。FX2根据新的设置安装通用驱动程序,重新枚举外设为一个新的USB外设。通用驱动程序一般不需要重新编写,用Cypress公司已经编好的驱动ezusb.sys;而下载固件程序的驱动则必须定做。
5 上位机用户程序
上位机用户程序主要通过VC++完成。实现从USB设备从下位机读取指定数量的数据和向下位机发送特定的控制数据。用户程序对EZ—USB FX2的控制,主要是通过I/0控制调用来访问ezusb.sys通用驱动程序,而对I/O控制的调用是通过win32的API函数来完成的。因此,用户程序通过对API函数的调用来实现与驱动程序进而与硬件的通信。API函数的执行与驱动函数中的一些分发例程相对应。与EZ-USB FX2通信常用的API函数如表1所列。
应用程序先通过CreatFile()得到设备驱动程序的句柄,然后使用DeviceloControl()来提交I/O控制码,并且设置好读取和发送数据的缓冲区,最后通过CloseFile()来关闭设备。图4是上位机应用程序界面。
结语
EZ—USB FX2使上位机与下位机之间的数据传输更加快捷和可靠。基于FPGA和EZ-USB FX2的数据采集和传输系统满足现代高速设备对传输速度的要求,解决了传输速度慢的瓶颈。通过FPGA的模块设计、EZ-USB FX2的固件设计和上层应用程序设计,实现了整个系统的数据采集和传输。
参考文献
1. TLC5510
2. 温华 基于FPGA 的USB2.0控制芯片设计与实现 [学位论文] 2004
3. 王彦 基于FPGA的工程设计与应用 2007
4. 钱峰 EZ-USB FX2单片机原理、编程及应用 2006
5. 郑阿奇 C++ 实用教程 2008
6. 马石安.魏文平 Visual C++程序设计与应用教程 2007
7. 李强 基于 USB2.0的高速数据采集系统研究 [学位论文] 2007
作者:丽水学院 吕晔 周洪强 来源:单片机与嵌入式系统应用 2009(5)
USB 电子 Cypress 总线 Altera FPGA 电路 CMOS 电阻 比较器 单片机 Keil 电源管理 嵌入式 相关文章:
- 用电子技术最大化太阳能电池板输出功率(05-18)
- 2009视频监控:网络化及其推动的几大趋势(06-03)
- 与MSP430 USI端口配合使用ADS8361(06-18)
- 辰汉电子推出低成本快速量产视频监控方案+4路输入方案(06-24)
- 用于风力发电设备的连接器的简易安装与维护(06-21)
- 解读USB-IF电池充电规范(10-27)