没有合适的资源?快使用搜索试试~ 我知道了~
首页USB协议详解:位序、同步与包结构
USB协议详解:位序、同步与包结构
需积分: 10 1 下载量 5 浏览量
更新于2024-08-02
收藏 227KB PDF 举报
本章深入探讨了USB(Universal Serial Bus)协议的工作原理,从底层的字段和包结构出发,逐步解析其复杂性。USB协议的数据传输采用位定序原则,即发送数据时,最低有效位(LSb)先发送,随后是次低位,最后是最高有效位(MSb)。同步字段是每个包的起始标志,它以一种高密度的边缘转换序列确保数据的同步,通过8位的NRZI编码串进行表示。 包字段格式对于理解USB通信至关重要,包括包开始(SOP)、包结束(EOP)分隔符。SOP作为同步字段的一部分,而EOP在前文已有描述。包标识符(PID)紧跟在SOP之后,由4位包类型字段和4位校验字段组成。包类型字段指示包的种类,校验字段则通过取反包类型字段的二进制值来提供错误检测,确保数据的准确性。 章节内容还涉及不同的事务类型,这些事务可能是数据传输、控制命令或其他操作,每个事务都有特定的包格式。链路层的流程控制涉及设备间的通信协调,通过握手信号来管理数据流,防止数据冲突。故障恢复机制针对可能发生的错误,如事务级别上的问题,进行有效的恢复处理。 此外,本章重点讨论了三个关键问题:复执同步化(Retry Synchronization),当数据传输失败时,通过重试机制确保数据的一致性;超时干扰(Babble),即无意义的数据流,通过检测并清除来维持总线的有效运行;以及总线活动丧失(Loss of bus activity),即设备间通信中断的情况,如何恢复通信连接。这些内容展示了USB协议在实际应用中的严谨性和高效性,对于理解USB设备的交互工作原理具有重要意义。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/1377781/bg4.jpg)
4
这个多项式的二进制位组合是00101B。如果所有的标记位都被准确无误地收到,接收机中
的5位剩余将是01100B。
8.3.5.2数据CRC
数据CRC是作用于数据包的数据字段上的16位多项式。产生的多项式是如下
这个多项式的二进制位组合是1000000000000101B。如果全部的数据和CRC位被准确无误地
收到,16位剩余将是1000000000001101B。
8.4包格式
这节展示标记,数据和握手包的包格式。这些图将以位被挪动到总线上的顺序显示包内的字
段。
8.4.1标记包
图8-5显示了标记包的字段格式。标记由PID,ADDR和ENDP构成,其中PID指定了包是输入,
输出还是建立类型。对于输出和建立事务,地址和端口字段唯一地确定了接下来将收到数据
包的端口。对于输入事务的,这些字段唯一地确定了哪个端口应该传送数据包。只有主机能
发出标记包。输入PID定义了从功能部件到主机的数据事务。输出和建立PID定义了从主机
到功能部件的数据事务。
图8-5 标记包格式
如上图所示,标记包包括了覆盖地址和端口字段的5位CRC。CRC并不覆盖PID,因为它有自
己的校验字段。标记和帧开始(SOF)包是由3个字节的包字段数据后面的包结束(EOP,End of
Packet)界定的。如果包被译码为合法标记或SOF,但却没有在3个字节之后以EOP终止,则
它被认为是无效的,并被接收器忽略。
8.4.2 帧开始(SOF,Start-of-Frame)包
主机以每1.00 ms ±0.0005 ms一次的额定速率发出帧开始(SOF)包。如图8-6中所示,SOF
包是由指示包类型的PID和其后的11位的帧号字段构成。
图8-6 帧开始包
SOF标记组成了仅有标记的(token-only)事务,它以相对于每帧的开始精确计算的时间间隔发
送SOF记号(Marker)和伴随的帧数。包括集线器的所有全速功能部件都可收到SOF包。SOF
标记不会使得接收功能部件产生返回包;因此,不能保证向任何给定的功能部件发送的SOF
都能被收到。SOF包发送2个时间调配(Timing)信息。当功能部件探测到SOF的PID的时候,
剩余17页未读,继续阅读
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
duweirain
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)