新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于嵌入式USB接口的数据采集系统的设计

基于嵌入式USB接口的数据采集系统的设计

作者:时间:2012-02-09来源:网络收藏

1)设备识别。设备的识别过程分别由操作和设备驱动两个部分通过协议的标准设备请求来完成。操作设备连接时加载设备驱动程序并分配通信地址,驱动程序启动后通过中断读取相关描述符进行资源配置并使能传输端点,从而为应用程序提供
2)与传输。通过单片机的定时器可对数据的采集频率进行设置。本频率为1 000 Hz,因此设置定时器每一毫秒中断一次进行,而主机端对USB设备的读写操作则通过外部中断实现,定时器中断优先级高于外部中断以保证采集频率固定为1 000 Hz。主机端通过写操作向USB设备发送控制信息,包括设备启动和停止的相关初始化与清理的工作,其中在对USB设备进行读操作前要先在端点的缓冲区填写64字节数据并通过命令使其有效,不然主机端对USB设备进行读操作时,无效的缓冲区将导致PDIUSBD12芯片不会产生中断,从而导致读操作失败。

2 驱动程序
Windows CE下的USB设备驱动模型由3个层次组成,其中由操作系统实现的有两层,它们分别是HCD模块(USBHost Controller Driver)和USBD模块(USB Bus Driver),而第三层则被称为USB客户端驱动(USB Client Driver),由驱动开发人员实现。HCD模块处于最底层,是CPU中USB控制器的驱动,为USBD模块提供底层的功能访问服务。USBD模块处于HCD模块的上层,它根据HCD模块提供的功能USB驱动函数,并提供给第3层使用。USB客户端驱动处于USB驱动模型的最顶层,也是本文所要的USB驱动程序,它向上为应用程序提供以方便对USB设备进行控制,向下利用USBD模块提供的接口函数传递控制信息和数据。因此,要成功开发USB设备的驱动程序,在操作系统定制的时候就需要把HCD和USBD的相关组件添加进去。
本文开发的USB设备驱动程序是流接口形式的驱动程序,它被设计用来与通常的文件系统API(如CreateFile、ReadFile和WriteFile等)进行通信,应用程序通过对文件系统的操作来完成对设备的控制。本驱动所设计的流接口如表1所示。

本文引用地址:http://www.eepw.com.cn/article/149746.htm

c.jpg

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭