新闻中心

EEPW首页 > 消费电子 > 设计应用 > 基于USB数据采集系统的设计开发

基于USB数据采集系统的设计开发

作者: 时间:2010-08-03 来源:网络 收藏


2 软件设计
的软件部分主要由:固件程序设计、应用程序设计和驱动程序设计三部分组成。

2.1固件程序设计
固件程序中AD7829的转换脉冲/CONVST是由LPC2132 的P0.18 口发出,当AD7829转换结束后输出有效低电平,LPC2132接到有效电平后,发下一路地址(通过A0,A1,A2的高低电平配置)给AD7829,然后读数据,当AD7829的/RD和/CS信号有效时,将数据读人LPC2132的数据缓冲区的同时将下一路的地址打人,这样循环采集8路模拟输入,直到结束。
LPC2132与ISP1581之间的通信时靠LPC2132给ISP1581发送命令和数据来实现的。通过ISP1581的INT中断信号与微控制器LPC2132的EINT0口相连,当接收或发送数据成功时会产生中断,固件程序对这些中断进行响应并完成设备的配置。设备固件程序采用Keil C进行编写,包括主循环程序、中断服务程序、标准请求处理和批量数据传送请求处理4部分。如图3所示。



图3 固件程序框图

2.2 应用程序设计
应用程序包括Win32DLL程序和用户应用程序。Win32动态连接库是包含共享函数库的二进制文件,可以被多个应用程序同时使用。客户应用程序则是实现功能的软件程序,在本系统中采用Visual C++进行编写。
2.3 系统驱动程序设计
USB系统驱动程序采用分层结构模型,如图 4 所示。选用Microsoft公司提供的Windows驱动开发工具Windows DDK。



图 4 USB分层驱动模型

应用程序通过Win32 子系统利用一个Windows定义的软件接口(API)来同根集线器驱动程序进行通信。而USB根集线器驱动程序则要通过USBDI(通用串行总线驱动程序接口) 来实现同通用串行总线驱动程序(USBD)的通信。然后, US2BD会选择两种主控制器驱动程序之一来同其下方的主控制器进行通信。最后,主控制器驱动程序会直接实现对USB 物理总线的访问。在USB可用之前, 必须对其进行配置和接口选择, 然后所选择接口的各个管道才是可用的。在USBDI的基础上进行编程将大大简化, 用户不用关心IRP的类型, 而只需要在相应的分发例程中通过构造USB块并将其通过USBDI发送下去,就可以实现对USB设备的控制[5]。


3 结束语
USB数据采集系统优于传统的实时数据采集系统,它具有安装方便,支持即插即用,易于扩展,电磁干扰小,性价比高等优点。系统采用ARM7 芯片LPC2132和USB 2.0接口控制芯片ISP1581,实现数据采集系统的软硬件。在实验测试中,使用信号发生器生成8路模拟信号并将其接到数据采集系统的输入端,在PC机上可显示出对应的8路模拟信号波形,单路采样率为150 kSPS,达到系统设计的要求,证明了设计的正确性和实用性。


参考文献
[1] 王立萍,吴黎明.嵌入式USB数据采集系统的 [J]. 电子测量技术,2007,30(9):24~26
[2] ISP1581 Users Manual [Z].Philips Corp
[3] 周立功,张华.深入浅出ARM7[M].北京:北京航空航天大学出版社,2005.52~53.
[4] 张广利,阎有运.AT89S52的USB数据采集系统的设计[J] .仪器仪表用户,2008,03:33~35.
[5] 周冲,刘镇.AT89S52的USB数据采集系统的设计[J] .科学技术与工程,2007,7(22):5935~5938

伺服电机相关文章:伺服电机工作原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭