USB基础知识学习笔记.docx
- 文档编号:5010778
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:15
- 大小:674.40KB
USB基础知识学习笔记.docx
《USB基础知识学习笔记.docx》由会员分享,可在线阅读,更多相关《USB基础知识学习笔记.docx(15页珍藏版)》请在冰豆网上搜索。
USB基础知识学习笔记
USB学习笔记
参考书目:
《计算机USB系统原理及其主从机设计》马伟
低速电缆线总长不超过3m,全速电缆线不超过5m。
电缆颜色:
编号
信号
颜色
电平
1
Vbus
红
5V
2
D-
白
3.3V
3
D+
绿
3.3V
4
GND
黑
NA
供电模式
供电模式
设备类型
电流限制
典型设备
自供电
Hub
自供电,可以为下行端口提供500mA电流;
当无法自身供电时,仍然可以从总线上获得100mA电流,但其下行端口无电流
7个下行端口的Hub
设备
当自带电源无法正常工作时,可从总线上获得100mA电流;
带USB接口的数码相机,打印机
总线供电
Hub
可从总线获得最高为500mA的电流,由自身功能模块及所有下行端口共享。
只能为每一个下行端口提供最高100mA的电流。
一般最多只能带有5个下行端口。
5个下行端口的Hub
低功率设备
最高只能从上行端口获得100mA电流
鼠标,键盘
大功率设备
最高只能从上行端口获得500mA电流
移动硬盘
低功耗的实现:
如果总线供电设备在3ms内没有总线操作,该设备就需要自动进入挂起状态。
这时从总线上提取的电流必须小于500uA。
即插即用(PlugandPlay)
主机端:
D+和D-都有下拉电阻15K
设备端:
低速设备:
D-上拉1.5K;全速设备(高速设备):
D+上拉1.5K
USB数据通信基本结构:
域(Field)的类型:
同步域,包标识域,地址域,端点域,帧号域,数据域,CRC校验域
包(Packet)的类型:
令牌包,数据包,握手包
事务(Transaction)的类型:
输入事务,输出事务,设置事务
传输(Transfer)的类型:
控制传输,中断传输,批量传输,同步传输
二进制传输:
先传低位,再传高位。
先传低字节,再传高字节。
编码方式:
反向不归零编码,翻转为0,不变为1。
1.域(Field)
1.1同步域
同步序列域(SynchronizationSequence,SYNC),简称同步域。
二进制:
00000001,十六进制:
0x80
1.2标识域
包标识域(PacketIdentifierField,PID),简称标识域
数据包类型
标识域名称
名称简写
标识符值
PID[3:
0]
标识域值
(二进制)
标识域值
(十六进制)
标识域含义
令牌包
输出
OUT
0001
10000111
0x87
输入
IN
1001
10010110
0x96
帧起始
SOF
0101
10100101
0xA5
设置
SETUP
1101
10110100
0xB4
数据包
数据0
DATA0
0011
11000011
0xC3
偶数据包
数据1
DATA1
1011
11010100
0xD2
奇数据包
握手包
确认
ACK
0010
01001011
0x4B
无效
NAK
1010
01011010
0x5A
错误
STALL
1110
01111000
0x78
端点被禁止或不支持控制管道请求
特殊包
前导
PRE
1100
00111100
0x3C
启动下行端口的低速设备的数据传输
1.3地址域
地址域(AddressField,ADDR)
共7位,最多128个地址。
地址0保留,是任何一个设备第一次连接到主机时,在被主机配置、枚举前的缺省地址。
1.4端点域
端点域(EndpointField,ENDP),也叫做端点号。
共4位,最多16个端点。
低速设备只能定义0和1两个端点。
除端点0外,都可以定义为IN端点或者OUT端点。
因此全速设备能定义16+16=32个端点。
1.5帧号域
帧号域(FrameField,FRAM)
USB协议中,1帧即1ms。
帧号由11位二进制组成,0~2047,超过后又从0开始。
1.6数据域
数据域(DataField,DATA)
数据长度为0~1023个字节。
1.7校验域
循环冗余校验域(CyclicRedundancyChecks,CRC),简称校验域。
用来对令牌包和数据包中非PID的域进行校验。
令牌包:
5位,即CRC5
数据包:
16位,即CRC16
2.包(Packet)
1
2
2.1令牌包(TokenPacket)
令牌包分为:
输入包IN,输出包OUT,设备包SETUP,帧起始包SOF。
其中CRC5是对ADDR和ENDP共11位的校验。
其中CRC5是对11位FRAM的校验。
1
2
2.1
2.2数据包(DataPacket)
其中CRC16是对DATA域的校验。
1
2
2.1
2.2
2.3握手包(HandshakePacket)
分为:
确认包(ACK),无效包(NAK),错误包(STALL)。
确认包:
标识域PID被正确接收;
没有发生数据位错误;
没有发生数据域的CRC校验错误。
无效包:
在接到主机的OUT命令后,设备无法接收数据;
在接到主机的IN命令后,设备没有数据发送给主机。
错误包:
设备无法发送数据;
设备无法接收数据;
不支持某一种控制管道的命令。
确认包可以主机或者设备发送。
无效包和错误包只会由设备发送。
3.传输(Transfer)和事务(Transaction)
传输由事务组成。
传输:
控制传输,中断传输,批量传输,同步传输。
事务:
输入IN,输出OUT,设置SETUP
控制传输:
ControlTransfer
中断传输:
InterruptTransfer
批量传输:
BulkTransfer
同步传输:
IsochronousTransfer,ISO
1.1.控制传输
三大步骤:
初始设置步骤,包含1笔SETUP事务,由令牌包,数据包,握手包组成。
可选数据步骤,包含1笔IN或者OUT事务。
状态信息步骤,包含1笔IN或者OUT事务。
描述符
描述符(Descriptor)
编号
描述符类型
1
设备描述符
DeviceDescriptor
2
配置描述符
ConfigurationDescriptor
3
字符串描述符
StringDescriptor
4
接口描述符
InterfaceDescriptor
5
端点描述符
EndpointDescriptor
描述符层次
设备请求命令
长度为8个字节。
有11种不同的命令。
bmRequestType:
请求命令类型
D7
D6
D5
D4
D3
D2
D1
D0
数据传输方向
命令类型
接收者类型
数据传输方向
0
主机->设备,即OUT
1
设备->主机,即IN
命令类型
00
标准请求命令
01
类请求命令
10
用户定义
11
保留
接收者类型
00000
接收者为设备
00001
接收者为接口
00010
接收者为端点
00011
其他接收者
其他值
保留
bRequest:
请求命令代码
1.获取状态请求
2.清除特性请求
3.设置特性请求
4.设置地址请求
5.获取描述符请求
6.设置描述符请求
7.获取配置请求
8.设置配置请求
9.获取接口请求
10.设置接口请求
11.同步帧请求
设备枚举
USB设备的暂态
接入态(Attached)
供电态(Powered)
缺省态(Default)
地址态(Address)
配置态(Configured)
挂起态(Suspended)
状态转换:
USB主机开发
USB主机接口工业标准
基于USB1.1
通用式主机控制器接口(UHCI,UniversalHostControllerInterface)【Intel】
开放式主机控制器接口(OpenHCI,OpenHostControllerInterface)【Compaq】
基于USB2.0
增强式主机控制器接口(EHCI,EnhancedHostControllerInterface)
MassStorage类
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- USB 基础知识 学习 笔记