USB 原理
USB主机功能
1. 检测设备
设备连接或移除时,集线器将事件通知主机,主机便枚举连接新设备或移除设备。在枚举的过程中,主机会决定使用哪种总线速率,指定地址,并请求其他信息。
2. 管理数据流
3. 错误检查
4. 电源管理
5. 与外围设备交换数据
USB设备功能
1. 检测与通信
设备必须检测指向总线上设备地址的通信。设备将瘦的数据存储在缓冲区里,并返回状态码或从缓冲区中发送所请求的数据、状态码。
2. 响应标准请求
所有设备必须对一下请求做出反映:查询设备功能与状态、请求设备采取其他动作。不支持的请求以状态码做出响应。
3. 错误检查
4. 电源管理
5. 与主机交换数据
USB传输
端点(Endpoint):设备的缓冲区,用来存储接收到的数据和待发送的数据。每个端点拥有特定的编号,传输方向以及在一次事物中端点可发送或接收的最大数目。
USB传输由一个或多个事件(transaction)组成,USB2.0事物开始于主机在总线上发送的令牌信息包。令牌信息包包含目标端点号和方向,IN令牌包表示像端点请求数据信息包,OUT令牌包则是主机发送数据包的先行信息。除了数据,每个数据包还包含有错误检查标志和一个带有数据顺序值的信息包ID(PID)。
USB四种传输类型
控制传输、批量传输、中断传输、同步(等时)传输。
传输要素
端点:数据发送和接收缓冲区
端点由端点号和方向组成,端点号范围0~15,方向以主机角度确定,IN端点为设备发送数据给主机,OUT为主机发送数据给端点。控制传输配置的端点,必须在两个方向上都能传输数据,因此控制传输端点含有一对IN和OUT端点地址,他俩共享同一个端点号。
每个设备必须有一个控制端点0。
管道:将端点连接到主机。
传输类型
l 控制传输:读取设备信息,获取设备地址并选取配置和采取其他功能。
l 批量传输:旨在那些对传输速率要求不严格的应用。打印机、扫描仪或访问驱动器文件等。
l 中断传输:周期性接收主机或其他设备动作的设备。鼠标、键盘。
l 等时传输:保证传递时间,但不保证错误更正。音频、视频流。