AN1143
USB 嵌入式主机的通用客户机驱动程序
作者:
Kim Otten and Bud Caldwell
Microchip Technology Inc.
关于驱动程序
随 Microchip USB 嵌入式主机栈一起提供的通用客户机
驱动程序,对除端点 0 之外只有一个 IN 端点(即,至
引言
随着 Microchip 推出具有 USB OTG 外设的单片机,单片
机应用可以轻松地支持 USB 嵌入式主机功能。很多设备
属于已定义的 USB 类之一,如海量存储设备(U 盘和
外部硬盘)、人机接口设备(或 HID,如计算机鼠标)
和打印机等。但是,一些设备无法确切地归入这些类。
它们利用的是基本的 USB 传输,没有任何附加的协议。
使用 Microchip 提供的 USB 通用客户机驱动程序,与这
些未归类设备或供应商特定设备进行 USB 通信将变得
更为容易。本应用笔记简要概述了通用客户机驱动程序
的配置和使用。
USB 传输
USB 规范定义了四种传输类型:
· 控制传输:用来在设备接入时对设备进行配置,也
可用于其他设备特定的用途,包括设备上其他管道
的控制。
· 批量数据传输:产生和使用相对大而“突发”的
数据量,在传输约束上有较宽的余地(如打印机
和海量存储设备)。
· 中断数据传输:用于及时而可靠的数据。例如,具
有人可感知的回显或反馈响应特征的字符或坐标
(如键盘、鼠标和游戏操纵杆)。
· 同步数据传输:占用事先协商的 USB 带宽,具有
事先协商的发送延时(如音频数据)。这样也称为
流式实时传输。
控制传输通常在端点 0 上进行,而且由 USB 嵌入式主机
栈自动执行。应用层传输通常在其他端点上,即批量、
中断或同步传输。具体传输类型取决于应用类型。
关于 USB 传输的更多信息,请参考 Microchip 应用笔记
AN1140 《USB 嵌入式主机栈》。
ã 2010 Microchip Technology Inc.
主机的数据传输)和一个 OUT 端点(自主机的数据传
输)的设备提供支持。默认情况下,使用的是端点 1。
这些端点的传输类型可以是四种可能传输类型中的任何
一个:控制、批量、中断或同步。无论使用何种传输类
型,都由 USB 嵌入式主机驱动程序管理传输类型具体
的时序和包长度需求。
所传输数据的类型、长度和格式完全由应用决定。唯一
的要求是 USB 外部设备和 USB 嵌入式主机都要知道数
据格式。
使用通用客户机驱动程序
应用架构
从功能上看,通用驱动程序是夹在应用软件与嵌入式主
机 USB 驱动程序之间的层。总体架构如图 1 所示。
图 1: 应用架构
应用程序
通用客户机驱动程序
嵌入式主机驱动程序
第 1 页
AN1143
配置通用客户机驱动程序
1.
从 Main (主)选项卡(图 2):
使用 USB 配置工具 ,或者使用
MPLAB® IDE VDI 中提供的 USB 库配置工具,配置通用
客户机驱动程序。
和 ,必须把它们包含在项目中。
按
USB 嵌入式主机的通用客户机驱动程序 来自淘豆网www.taodocs.com转载请标明出处.