众所周知,USB只有四根线,但是肉眼看起来确实很简单。
& nbsp; & nbsp;但是USB协议本身是一件非常复杂的事情,但是了解这种关系并不复杂。
毕竟,不可能使用所有工作,所以只需关心我们需要知道的内容。
& nbsp; & nbsp;  学会参考书籍<<<圈圈带您玩USB& gt;,< USB系统原理和主从设计;& gt.。
& nbsp; & nbsp;  这两本书中的第一本比较基础,只是看一下就可以了,但是许多概念并没有被全面地写出,并且在某些地方它们被误解了。
第二本书写得很好。
详细解释了许多概念,例如研究的重要部分:传输,事务,包,域和描述符都得到了详细解释。
& nbsp; & nbsp; USB具有六个状态:访问状态,电源状态(电源状态),默认状态,地址状态,配置状态和挂起状态。
& nbsp; & nbsp; USB的六个状态实际上是一个瞬态,因此它们各自的状态分别是什么: & nbsp;& nbsp;(1)访问状态:& nbsp; & nbsp; & nbsp;主机通过将上拉电阻连接到D +或D-来确定该设备是全速还是低速设备。
因为当主机端未连接到任何外设时,D +和D-连接到两个15K欧姆下拉电阻。
连接设备后,会有一个上拉电阻。
此时,主机端通过识别D +和D-的上拉电阻来确定它是否是低速设备。
在此过程中,将对电压进行分压以使传输线能够驱动。
& nbsp; & nbsp;& nbsp; & nbsp; & nbsp; & nbsp;(2)电源状态(电源状态) & nbsp;是向设备供电,分为连接设备时的默认电源值和配置阶段后的电源值(根据数据中所需的最大值,可以通过编程),并且可以在配置描述符中配置最大电流。
& nbsp; & nbsp; & nbsp;(3)默认状态& nbsp;在配置USB之前,USB通过地址0与主机进行通信。
例如:& nbsp; & nbsp;& nbsp; & nbsp; & nbsp;& nbsp;(4)地址状态& nbsp;配置完成后,重置USB设备后,它可以根据主机分配给它的唯一地址与主机通信,此状态为地址状态;例如:& nbsp; & nbsp;& nbsp; & nbsp;& nbsp;& nbsp;(5)配置状态通过各种标准的USB请求命令获得设备的各种信息,并更改或设置设备的某些信息。
例如:& nbsp; & nbsp;& nbsp; & nbsp;& nbsp; (6)挂起状态总线供电的设备在3毫秒内没有总线动作,也就是说,如果USB总线空闲,则设备将自动进入挂起状态,进入挂起状态后,总电流消耗不超过280UA。
& nbsp; & nbsp; USB协议中涉及的主要概念是:传输,事务,数据包和域。
它们之间是什么关系? & nbsp; & nbsp; USB传输有四种主要类型:控制传输(用于当前工作),同步传输,中断传输(用于当前工作)和批量传输。
传输是USB中最大的单元,每种传输类型都包含不同的事务。
& nbsp; & nbsp; < nbsp;主要有三个USB事务:输入事务(IN),输出事务(OUT)和设置事务(SETUP)。
每个事务由各种程序包组成。
& nbsp; & nbsp;   USB软件包有四种类型(从宏观意义上来说):令牌软件包,数据软件包,握手软件包和特殊软件包。
数据包是USB数据传输的基本单位。
每种类型的软件包将由不同的域组成。
& nbsp; & nbsp; USB域是USB传输中最小的单元。
域主要分为7类:同步域(SYNC),标识域(PID),地址域(ADDR),端点域(ENDP),帧起始字段(SOF),数据字段(DATA),CRC校验字段(CRC)。
& nbsp; & nbsp;看我画的一幅画,不管你发现什么困难,也许你看完这幅画后就会知道如何学习,这幅画是我对USB逻辑的分析。
学习。
这