通过对usb总线协议及相关资料的研读,我总结了下面一些东西:
1.usb的体系结构:分为主机和设备,只有一个主机,主机通过HUB扩展接口
2.数据包:usb总线上最小的数据传输单位,根据pid(数据前8位表示)可分为四个大组:令牌包,数据包,握手包和特殊包,每个组里有一些小类像令牌包就包括IN/OUT/SOF/SETUP
3.端点:usb设备上接收发送数据的最小单元,每个端点跟主机间有一个管道(逻辑上的),不同的管道进行不同的功能传输,像端点0就是进行控制传输的,多个不同功能的管道集合在一个形成管道束,它们对应的端点就形成接口,主机上的一个软件对应一个接口。这些都是属于逻辑上的,实际的传输只是通过两条数据线完成。
4.设备接上hub的端口后,首先要进行设备枚举,主机通过一个SETUP令牌包对设备进行请求,获得设备描述符,配置描述符,接口端点信息,进行配置,设置唯一地址,供电等。
5.数据传输是以帧进行,每帧里有多个数据包。传输模式一般是令牌包数据包握手包。
阅读(956) | 评论(0) | 转发(0) |