微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > USB技术入门

USB技术入门

时间:11-14 来源:互联网 点击:

点就是支持设备的热插拔,用户不需要关闭电源就可以接上和使用USB设备。USB集线器驱动程序枚举设备,并通知系统设备就绪。USB设备使用描述符来识别设备和其使用的协议。串口号产生PP用的ID,端口地址指明设备连接的端口和集线器。若设备不提供串口号,则USB使用设备端口地址。

  当一个新设备被USB集线器检测到,马上通知主系统,系统软件就查询该设备,自动确定所需设备驱动器软件和总线带宽,然后对它进行配置。系统软件装载了合适的驱动器软件,用户马上就可以使用新设备。

  三、USB编程

  USB编程主要是指USB驱动程序编程和USB客户软件编程。

  USB驱动程序接口

  Windows 98通过允许USB设备驱动程序栈通讯支持USB.在USB驱动程序和USB驱动程序栈之间是USB驱动程序接口(USBDI)。在Windows 98中,这种通讯是在WDM结构中实现的。

  Usbhub.sys是USB集线器驱动程序。当Usbd.sys枚举每个USB主机控制器中的根结点集线器时被加载。

  Usbd.sys是类USB驱动程序。

  Uhcd.sys(通用主机控制驱动程序)以及Ohcd.sys(开放主机控制驱动程序)是USB主机控制器驱动程序。

  另外,Hidclass.sys(WDM输入类驱动程序)接受和发送到小驱动程序的HID报告。Hidusb.sys通过USB接受和发送HID报告。当检测到USB总线时,PCI枚举器加载USB栈驱动程序部分,并加载至少一个核心组件。

  USB 驱动程序和USB客户程序

  USB 驱动程序编写是和硬件相关联的。在器件方面,适合产品开发的系列芯片有Intel公司的8X930系列(基于MCS-51微处理器的内核结构)和8X931系列(基于MCS-251微处理器的内核结构)、National Semiconductor公司的 USBN9602等。Intel公司和第三方提供了一个完整的硬件和软件开发工具,Keil、IAR、PLC和Tasking等公司提供了具有ANSI C交叉编译器、汇编器、连接器/定位器、调试器和仿真器的软件开发工具。AMI、Phoenix Technologics和 systemSoft等公司提供了设备驱动器和外围微控制程序(firmware)。

  针对选用的USB控制器,从第三方得到所需的软件,包括汇编器或编译器、连接器/定位器和调试器等,用它们实现USB设备驱动器。对USB 驱动程序编译成功后进行连接/定位,用调试器调试后加载在目标系统中。

  虽然USB的物理和逻辑拓扑反映了总线的共享特性,客户软件(CSW)只处理它感兴趣的USB功能接口。USB功能的客户软件必须用USB软件编程接口来处理各种功能,而不是像其它总线那样通过地址或I/O访问直接处理它们的功能。在这个过程中,客户软件独立于连接在USB上的其它设备。这使设备和客户软件的设计者将精力集中于软硬件间相互作用的设计细节。

  USB的客户程序实际上是对客户端设备映像的操作,这些映像由USBD或HCD产生。在98ddk中,存在着一组叫做USBD Interface (USBDI)函数的API函数集。该函数集包括了传输函数,管道(Pipe)函数,设备配置函数及其它函数。应用这些函数可编写支持任何USB兼容设备的USB驱动程序和客户程序。其中,管道(Pipe)是USB设备驱动程序建立的逻辑通信信道。

  四、结论

  USB为个人计算机(PC)外围设备输入输出提供了新的接口标准。它使得设备具有了热插拔、即插即用、自动配置的能力,并标准化了设备连接。USB的级联星型拓扑结构大大扩充了外设数量,使增加、使用外设更加便捷、快速。新提出的USB2.0标准更是将数据传输速率提高到了一个新的高度,因而拥有美好的应用前景。

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

网站地图

Top