USB协议分析——包标识字符段(Packet Identifier Field )
来源:互联网 发布:韩国gdp总量知乎 编辑:程序博客网 时间:2024/06/06 00:54
近来常用逻辑分析仪来分析USB交互过程,每次对一些PID指令都要反反复复的查看协议。现记录下来,一来加深印象,二来方便以后的查阅。废话不说了,先上协议内容:
所有USB包的同步字段后都紧跟着包标识符PID如图1所示包标识符由4位的包类型字段和其后的4位的校验字段构成包标识符指出了包的类型并由此隐含地指出了包的格式和包上所用错误检测的类型包标识符的4位的校验字段可以保证包标识符译码的可靠性这样包的余项也就能被正确地解释包标识符的校验字段通过对包类型字段的二进制的求反码产生的如果4 个PID检验位不是它们的各自的包标识符位的补则说明存在PID错。
图(1)PID格式
主机和所有功能部件都必须对得到全部PID字段实行完整的译码任何收到包标识符如果含有失败的校验字段或者经译码得到未定义的值则该包标识符被假定是被损坏的而且包的余项将被包接收机忽略Ignore如果一个功能部件Function收到了包含了它所不支持的事务类型或方向的合法包标识符则不必应答例如只能输入的端口IN-only Endpoint必须忽略输出标记Token表2列出了包标识符类型编码及其描述。
表(2)PID类型
*注解PID位以最高位在前的顺序被表示在USB上被发送的时候最右的位位0将被第一个发出。
包标识符被分为4个编码组标记数据握手和专用包标识符传送的前2位PID<0 1>指出了其属于哪个组这说明包标识符编码的分布。
备注:为方便查阅,总结PID对照表如下:
- USB协议分析——包标识字符段(Packet Identifier Field )
- USB协议分析——包格式
- Wireshark抓包分析Yersinia 根据DHCP协议发送的伪造数据包攻击(sending RAW packet)
- USB Packet capture for Windows Tour usb抓包
- usb协议包概述
- 龙芯软件开发(34)- USB协议深入分析 设备描述符配置包
- 龙芯软件开发(35)- USB协议深入分析 设备描述符配置包
- USB协议深入分析 设备描述符配置包
- EZ-USB 68013学习笔记(二)——USB协议之传输的基本单元--包
- 如何分析HCI的Command Packet和Event Packet包
- 如何分析HCI的Command Packet和Event Packet包
- 如何分析HCI的Command Packet和Event Packet包
- 如何分析HCI的Command Packet和Event Packet包
- 位段(bit-field)
- Packet Sniffer 分析Z-Stack协议数据
- USB 协议分析 初始化
- USB协议深入分析
- USB协议深入分析
- php 实现网页得分业显示
- vc异步套接字
- Java 7 Fork/Join 并行计算框架概览
- 数组
- Library API reference
- USB协议分析——包标识字符段(Packet Identifier Field )
- 豌豆荚管理SD卡用Windows资源管理器打开
- cocos2d-x之CCProgressTimer实现进度条
- 观察者模式-java实现
- linux内核初始化
- cocos2dx lua文件的加载问题
- DevExpress 安装及报表开发
- Win7环境下如何在cocos2d-x2.2版本下创建项目
- 适配器器模式--Java实现