微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 基于USB2.0与FPGA技术的高速数据采集系统的设计

基于USB2.0与FPGA技术的高速数据采集系统的设计

时间:07-25 来源:电子技术应用 点击:

数据端点分开的方式。命令端点配置成中断或批量传输方式,在主机应用程序中专门开启一个线程同该端点进行通信,开启另外一个线程进行采样数据传输,而两个传输之间互相不影响。用户界面使用另外的线程,这样在传输过程中,应用程序可以随时响应用户的命令。在具体的设计中,点击数据采集开始命令即建立并且启动一个采集线程。在这个无限循环的线程函数中设置了一个标志变量,如果该变量为真,则线程函数继续运行;否则线程终止,停止采集。这样用户界面线程可以通过修改线程运行标志变量来控制线程的运行。采用多线程采集程序的一个问题是线程函数必须是一个全局函数,不属于任何一个类,这样它就无法访问类的私有成员或保护成员,解决这个问题的方法是:因为线程函数在创建时允许传送一个指针参数给它,于是可以构造一个结构数据类型,数据成员中包含一个指向类的指针。在创建线程时将想要访问的类的指针包含在一个按前述定义的结构变量中,并将该结构的指针作为参数传给线程函数。这样就可以在线程函数中定义一个类对象,并把前述的类指针赋给它,通过类指针就可以访问该对象中的所有成员了。在本设计中采用多线程程序设计后,系统工作非常稳定。

目前,国内外的数据采集系统常用的接口方式有多种,如 RS232 串行口、并行口,ISA 总线、PCI总线等。这些总线接口虽各具优点,但也都有其难以克服的缺点而被逐渐淘汰。USB接口具有连接方便、无需外接电源、即插即用、支持热插拔、动态加载驱动程序等特有优点,在主机和数据采集系统之间可以实现简单、快捷、可靠的连接和通信。本设计应用ISP1581USB接口芯片与FPGA技术,构建了一个使用灵活的通用数据采集系统。该系统充分利用了PC机的大存储量,强大的数据处理能力,高清晰的大屏幕显示(相对于嵌入式系统而言),以及嵌入式系统的实时与灵活性。目前正在使用此平台构建一个在消声室环境中针对机械振动噪声的采集与分析系统。此系统在智能仪器以及工业自动化等众多领域中必将有广泛的应用前景。

参考文献

[1] 萧世文. USB2.0硬件设计[M].北京:清华大学出版社,2002.
[2]  周立功.PDIUSBD12USB固件编程与驱动开发[M].北京:北京航空航天大学出版社,2003.
[3]  张念淮. USB总线接口开发指南[M].北京:国防工业出版社,2001.
[4]  Philips Semiconductors. ISP1581 programming guide[Z].2004.
[5]  USB.org. Universal serial bus specification rev.2.0[Z].2006. http://www.usb.org/developers/docs/.
[6] 倪明辉. USB在FPGA控制的高速数据采集系统中的应用[J]. 计算机测量与控制,2006,14(2).

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top