论文部分内容阅读
本课题所涉及的研究方向是探索在WinCE.Net嵌入式系统下进行USB总线设备客户端驱动程序开发相关原理。课题来源于北京首科集团凯奇电气有限公司以WinCE.Net系统为新型数控设备主机系统的研究开发中的一个分支应用方向。USB总线已经成为微机与功能繁多的外部设备连接的重要标准手段,所以以WinCE.Net为系统的数控主机具备对USB总线的支持将能连接更多的具有USB总线接口形式的功能设备,扩大产品的应用领域,成为该产品的一个突出竞争优势。因此本课题的研究内容具有很大的理论意义以及实际应用价值。
在研究过程中,由于在嵌入式系统下开发USB总线驱动的相关成果资料较少,本课题横向类比了相关领域如Windows,Linux等系统下USB总线设备驱动程序开发的各类成熟和较成熟思想,结合与WinCE.Net系统开发相关的各种中英文资料,分析该系统自带的各种驱动源代码示例,从而提出以流驱动模式为策略的框架下具体开发该类总线设备驱动程序的流程,总结如下:
(1)USB总线体系与其它传统的串行总线不同,其主机端和设备端是一个互相联系的有机整体,功能设备的制作需要遵循同一的设备类规范,从而设备驱动程序要以该规范所制定的USB总线设备特征和协议内容为基础进行开发。
(2)分析WinCE.Net系统对于USB总线的支持程度,提出并阐述了USB总线客户端驱动程序开发策略,并根据该策略开发出USB总线实验设备的驱动程序,这是本课题的主体部分。由于针对的应用领域不同,相对于成熟的如Windows,Linux等大型操作系统,WinCE.Net嵌入式系统中设备驱动程序开发机制较为精简,可以根据不同的功能设备灵活的实现二者的通信。本文所总结的驱动开发策略是流驱动的形式,可以运用于产生流式数据的设备或者与这种方式相关相近的设备驱动程序开发中。
(3)分析出系统协议栈与USB总线设备的配置交互过程以及设备驱动程序与设备对应接口的匹配过程。这两大过程的分析结果是本课题的重要成果之一,可以作为一般性原理适用于所有USB总线设备。在设备驱动程序能够控制设备之前必须经过协议六种状态阶段主机才能配置好设备,并且只有通过协议后续的指定设备功能接口和设备驱动程序匹配过程,主机才能控制目标设备。