由域构成的包有四种类型,分别是令牌包、数据包、握手包和特殊包,前面三种是重要的包,不同包的域结构不同,介绍如下:
1、令牌包
分为输入包、输出包、设置包和帧起始包(注意这里的输入包是用于设置输入命令的,输出包是用来设置输出命令的,而不是放数据的)其中输入包、输出包和设置包的格式都是一样的:
sync + pid + addr + endp + crc5(五位的校验码)
帧起始包的格式:
sync + pid + 11位fram + crc5(五位的校验码)
2、数据包
分为data0包和data1包,当usb发送数据的时候,如果一次发送的数据长度大于相应端点的容量时,就需要把数据包分为好几个包,分批发送,data0包和data1包交替发送,即如果第一个数据包是data0,那第二个数据包就是data1。但也有例外情况,在同步传输中(四类传输类型中之一),所有的数据包都是为data0,格式如下:
sync + pid + 0~1023字节 + crc16
3、握手包
结构最为简单的包,格式如下:
sync + pid
握手包包括 ack、nak、stall以及nyet 四种,其中 ack 表示肯定的应答,成功的数据传输。nak 表示否定的应答,失败的数据传输,要求重新传输。stall表示功能错误或端点被设置了stall属性。nyet表示尚未准备好,要求等待。
原文标题:usb数据包解析
文章出处:【微信公众号:fpga设计论坛】欢迎添加关注!文章转载请注明出处。
Q3XG-4000R SMT混合耦合器Electro-Photonics
华为发布新版HarmonyOS折叠屏设计规范 持续引领折叠屏UI设计创新
5nm即将试产,台积电大步迈入EUV时代
S7-200 SMART如何创建和使用用户自定义指令库
从AI技术的三大核心解读辅助诊疗企业
USB数据包的解析
NFC发展困难的根本原因分析
中国手机市场低迷,平板市场增长势头较强
在设计中如何使用高级PCB模块
太阳热能的利弊及利用方式
智芯公司编写的《枢纽操作系统开发指南》出版发行 围绕自研芯片与工业物联网场景
盐龙湖先进技术研究院采购南京大展导热系数测定仪
华强pcb线路板打样AMD寻求广泛许可LDT总线技术
2015蓝牙亚洲大会 定义物联网“无线”可能
PartSim:交流分析
一文看懂压敏电阻和tvs的区别
3个月PK后,小米MIX背部成色完胜亮黑iPhone 7P
安装智能家居产品需要注意哪些事项
华数机器人致力于打造自主品牌的工业机器人
几种常见激光打码机的工作原理