用ellisys USB Protocol Analyzer 抓取USB 插入的过程
1,大致界面如下,先点击Group transfers,把package整理好。
2,传输大致情况是
GetDescriptor是一帧,包含了
3个transaction(setup/in/out),每个transaction 包含了
若干个Package(SETUP/DATA/ACK)
3,USB 采用轮询的广播机制传输数据,所有的传输都由主机发起,任何时刻整个 USB
体系内仅允许一个数据包的传输,即不同物理传输线上看到的数据包都是同一被广播的
数据 包。
4,USB 采用“令牌包”-“数据包”-“握手包”的传输机制
5,
USB 体系定义了四种类型的传输:(也是端点Endpoint的四种类型)
1 、控制传输,主要用于在设备连接时对设备进行枚举以及其他因设备而已的特定操作。
2 、中断传输,用于对延迟要求严格、小量数据的可靠传输,如键盘、游戏手柄等。
3 、批量传输,用于对延迟要求宽松,大量数据的可靠传输,如 U 盘等。
4 、同步传输,用于对可靠性要求不高的实时数据传输,如摄像头、USB 音响等。
6,
USB 数据包的格式
PID 表征了数据包的类型,分为令牌(Token)、数据(Data )、握手(Handshacke )
以及特殊包 4 大类,共 16 种类型的 PID (具体定义见英文协议第 196 页)。