https://space.bilibili.com/489340606/channel/collectiondetail?sid=896957
以下图片来自于沁恒微电子蔡亮工程师的讲课,对USB开发入门很有好处。
1. USB主设备和从设备
2. USB设备按功能分类
3. USB功能设备内部架构
可以有多个配置,但同一个时间只能有一个配置生效。
4. USB设备拓扑结构
USB设备采用星型网络结构,最多支持7层,最多支持127个设备。
5. USB主机和USB设备通讯在软件上有以下特征
帧用于全速和低速通讯。微帧用于高速通讯。USB主机和设备之间通讯协议处理的基本单位是事务处理。通讯时总是主机问询,设备应答。
6. USB设备连接与检测----低速设备
USB主机在D+和D-上都有15K电阻下拉,平时电平都是0。低速USB设备在D-上有一个1.5k的上拉电阻,当设备插入时,将D-信号拉为1,主机从而识别到有低速设备插入。
7. USB设备连接与检测----全速设备
USB主机在D+和D-上都有15K电阻下拉,平时电平都是0。全速USB设备在D+上有一个1.5k的上拉电阻,当设备插入时,将D+信号拉为1,主机从而识别到有全速设备插入。
8. USB设备连接与检测----高速设备
在高速设备插入时,高速主机和高速设备会进行互相检测,确定都是高速时才会进入高速状态,否则用全速状态工作。
USB主机在D+和D-上都有15K电阻下拉,平时电平都是0。高速USB设备在D+上有一个1.5k的上拉电阻,当设备插入时,将D+信号拉为1,主机从而识别到有全速设备插入。在主机发出复位信号期间,高速设备发出一个Chip K信号给主机,告知我是一个高速设备。然后主机发出Chip K-J序列,设备识别到该主机是高速主机,然后自动断开D+上的1.5k电阻,连接高速终端电阻,进入高速状态。
9. USB设备连接与检测----小结
10. USB总线几种状态
11. USB设备枚举
12. USB设备枚举的过程
13. USB设备描述符
14. 控制传输
控制传输是所有USB设备和主机都必须支持的一种传输方式。在设备枚举过程中,采用的都是控制传输。
14.1 控制传输----控制写
14.2 控制传输----控制读
14.3 控制传输----无数据
15. 控制传输的特征
一个控制传输过程有建立阶段、数据阶段和状态阶段3种阶段,其中数据阶段不是必须的。
Setup事务采取固定的8字节结构,这个很重要,所有主机发出给设备的控制请求都要根据这8个字节进行解析,来决定接下来做什么样的数据应答。
16. 控制传输的Setup阶段
以下为setup事务的8字节命令请求格式含义: