学习USB协议笔记<二>
前面一章说明了USB描述符和USB枚举流程。
三、USB包结构与包分类
1、 USB是串行通信,LSB在前,MSB在最后。不同的数据包包含不同的域,但其都是以同步域开始的。包结构如下所示:
同步域 --- 告知设备开始数据传输,并同步主机和设备的时钟 一般是00000001 高速设备31个0最后一个1
包标识符(PID) --- 在同步域最后一个1后开始,标示一个数据包的类型。
数据包:令牌包、数据包、握手包、特殊包。每种包还分为多种类型,见下图
包结束符(EOP) --- 2个SE0信号(SE0是指D+、D-同时保持为低电平)
2、SOF包结构
3、OUT/IN/SETUP包结构
4、数据包包结构:
数据包有两种类型:DATA1/DATA2.有两种类型的作用是防止ASK应答包错误,但数据包确认发送成功时,改变数据包类型,主机先用DATA1数据包发送数据,当未收到确认数据包时,保持数据包类型再发送数据,接收端将于上次接收的数据包类型进行比较,但数据包类型一致,证明上次接收的数据包正确,但确认数据包接收端未正确接收。