USB系统体系笔记

看了一下《USB系统体系》,写个笔记。


1. USB 设计目标

1.1. 存在问题

早期的设备规范中,需要用到IRQ(中断)/DMA(直接存储器存取)/输入输出地址的有限资源,不支持热插/拔,和因接口设计的原因要开机箱才能装载设备和跳线配置(SISC外设解决了部分问题)

1.2. USB目标

  • 同一类型的连接器能接任何类型的设备
  • 可以将多个设备连接到同一个连接器
  • 能够缓解系统资源冲突
  • 热插拔支持
  • 自动检测并配置
  • 低成本
  • 提升性能
  • 支持连接新的外围设计
  • 支持传统的硬件和软件
  • 低耗电运行

2. 现状

2.1. 版本

USB 1.0, USB 1.1, USB 2.0

2.2. 设备类型

低速 (1.5Mb/s)、全速(12Mb/s),高速(480Mb/s )

3. 数据传送

3.1. 事务

USB 1.x 系统通过传输描述符生成USB事务。每个描述符定义一个USB事务,规定如何访问USB设备的步骤。

描述符包括:

  • USB设备地址
  • 执行的事务类型
  • 传输大小
  • 处理速度
  • 数据缓冲区地址

3.2. 

USB1.1中,主机在1ms的时间段内(叫)执行一组描述符。

每一个1ms帧在12Mb/s速率下有12000人位,事务以这个速率执行。

USB 2.0中,高速事务在125微秒下执行,叫微帧。

3.3. 传输类型

  • 同步传输
  • 批量传输
  • 中断传输
  • 控制传输

4. 电缆与连接器

连接器

A系列--连接USB端口和外设电缆

B系列--连接可分离外设电缆和USB外设(小波型系列 Mini-B)

每种连接器有四个触点:外面一组加电,内面一组传送差动数据。

电源触点比数据触点长,保证在数据交换前USB设备获得电流(电源引脚7.41毫米,数据引脚6.41毫米)。

连接器引脚设计

引脚号

信号名称

电缆导线颜色

1

电源

2

反相数据

3

正向数据

绿

4

接地

5. 配电

USB端口开始时只提供100ma电流,配置后最大500ma。

6. 低速/全速设备

6.1. 差动信号

USB传输数据包使用差动信号来减少不同信号源的干扰。

6.2. 双向不归零编码

遇到0转换,遇到1保持。连续6个1时进行位填充,插入0;接收器收到6个1时识别一个自动跳转,抛弃这个0位。

7. 包和事务

事务一般包括3个包:令牌包、数据包、握手应答包。

令牌包

定义目标设备、终端点数目、数据传输方向。

4种:

  • SOF --帧起始符,指示下一帧的起始
  • IN  --从目标设备传送数据到系统
  • OUT--从系统传送数据到目标设备
  • SETUP--控制传输的开始

数据包

携带和传输类型有关的有效载荷大小的数据包。同步传输时最大1023字节,其他类型时最大64字节有效载荷。

DATA0, DATA1两种,交替使用。

握手应答包

证实数据成功传输。

  • ACK--确认包
  • NAK--否定确认包,暂时不能接收数据
  • STALL--目标设备报告不能完成传输

8. 错误恢复

包错误

总线超时

错误的包结束符

数据切换错误

设备串扰

活动损耗(LOA)

串扰和LOA的检测和恢复

传输(不保证交付)

中断传输的错误恢复

批量传输的错误恢复

控制传输的错误恢复

9. 节电模式

3毫秒空闲挂起;消耗不超过500微安;

可以全局挂起、选择性挂起。

10. 高速设备

新的控制器。

理论480M bit/s 传输速度。

高速设备可连接到1.x的集线器端口,并以全速访问。

11. 传输、事务

周期性事务在125微秒完成。

新增PING事务。

12. 错误检测

高速环境中的错误检测和恢复:

  • 和低速、全速环境相同的包错误检测。
  • 事务的超时同样包括环路延时,延时时间由高速传输位时间计算。
  • EOF1 和 EOF2 串扰设备检测和1.x相同原则,但是EOF抽样点参考高速位时间。
  • 包检测和报告由于要支持分解传输而进行必要调整。

13. 挂起和恢复

高速设备使用全速机制进行挂起和恢复。为了使用全速恢复信号,高速设备必须在进入挂起状态时转换成全速操作,并且在回到高速操作时自动恢复高速信号。

14. 高速集线器

在高速模式下,集线器必须支持低速、全速、高速设备。

高速集线器连接到全速端口时,必须像1.x工作。

主机软件发送分解事务到连接在高速集线器端口的低速、全速设备。分解事务只用来在主机控制器和高速集线器之间通信。分解事务的实际接收者是事务翻译器,由它来将高速分解事务为设备的低速或全速事务。

分解事务执行有:开始分解和完成分解。

高速集线器连接到高速端口,并且有1个或以上高速设备连接时,它直接在两个方向上执行转发功能。和1.x有以下差别:

  • 检测到高速包前,2.0集线器会进行静噪。这样要求一定时间来启用接收器,会从开始包中丢失一些位。
  • 当2.0集线器收到数据包,它向下一个设备发送数据的时候要重新锁定时钟。
  • 重新锁定数据要求缓存一些数据包。

15. USB2.0设备配置

USB描述符

  • 设备描述符
  • 配置描述符
  • 接口描述符
  • 端点描述符
  • 字符串描述符
  • 特殊类描述符

16. 软件概述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值