0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在USB中,定义了这四种类型包

0BFC_eet_china 来源:互联网 作者:佚名 2017-10-09 09:38 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

USB底层协议

USB它是串行总线,所以数据在总线上是一位一位传输的,先传输最低位数据,最后传输最高位数据。对于多个字节的数据传输呢,采用的是小端格式,即先传输低字节数据,最后传输高字节数据。

在USB中,数据是以包为单位进行传输的,所有的包都必须以SYNC字段开始,以EOP(End-of-Packet)结尾。在SYNC字段之后,紧跟着的是包标识符(PID),PID为一个字节,其中4位用于定义包的类型,另外4位是用来校验PID的,PID格式如下:

在USB中,定义了四种类型的包,令牌包、数据包、握手包和特殊包,包类型详细定义如下:

在令牌包的PID字段之后,还包含地址域,地址就包括设备地址和端点地址,设备地址共7位,总共可寻址128个地址,但是地址0是作为默认设备地址的,所以说,USB系统中,最多只能同时连接127个设备。端点地址共4位,可寻址16个端点。

在USB包最后,还包含5位的CRC检验码,CRC校验码只对PID后面的数据进行校验,不对PID进行校验,因为PID本身就包含4位校验码。

包格式

令牌包格式

令牌包格式定义如下:

这里的令牌特指IN、OUT、SETUP令牌,而SOF包格式定义如下:

令牌包实例如下:

数据包格式

数据包包含包标识符(PID)和0到多个字节的数据,数据包类型总共四种,DATA0、DATA1、DATA2和MDATA。数据包格式定义如下:

数据包实例如下:

上图为SETUP请求数据包,用于读取设备的设备描述符。

握手包格式

握手包有三种ACK、NAK和STALL,其中ACK表示数据传输完成并且无错误,NAK表示设备不能接收数据或者没有数据上传,STALL表示设备不能进行数据传输。而NYET和ERR握手包只针对高速设备,表示设备没有准备好或者出错。握手包格式定义如下:

ACK握手包实例如下:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • usb
    usb
    +关注

    关注

    60

    文章

    8372

    浏览量

    281695
  • 信号处理
    +关注

    关注

    49

    文章

    1095

    浏览量

    104880
  • 串行总线
    +关注

    关注

    1

    文章

    186

    浏览量

    31517

原文标题:不用再为USB底层协议犯难了

文章出处:【微信号:eet-china,微信公众号:电子工程专辑】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    WTK6900FC鼾声识别芯片在四种助眠场景的应用

    WTK6900FC鼾声识别芯片在四种助眠场景的应用 “跟你说个搞笑的事情,我刚才午睡的时候被我自己的呼噜声吵醒了...”这是真实发生在身边的事情。 ​ 过去对于打呼噜这件事情,大家的态度就是“累了
    的头像 发表于 12-02 16:40 424次阅读
    WTK6900FC鼾声识别芯片在<b class='flag-5'>四种</b>助眠场景<b class='flag-5'>中</b>的应用

    全网最全CSA3412,BCT4340,VL162,MCU/ USB3.1 正反插10G bps四种解决方案

    CSA3412,BCT4340,VL162,MCU/ USB3.1 全网最全正反插10G bps四种解决方案
    的头像 发表于 09-25 03:06 405次阅读
    全网最全CSA3412,BCT4340,VL162,MCU/ <b class='flag-5'>USB</b>3.1 正反插10G bps<b class='flag-5'>四种</b>解决方案

    SC、LC、FC和ST四种类型哪类价格最贵

    SC、LC、FC和ST四种类型的光纤跳线,FC类型的光纤跳线通常价格相对较高,具体分析如下: FC类型的光纤跳线: 特点:采用金属螺纹套
    的头像 发表于 07-25 10:16 761次阅读

    芯片制造的大工艺介绍

    这一篇文章介绍几种芯片加工工艺,Fab里常见的加工工艺有四种类型,分别是图形化技术(光刻)、掺杂技术、镀膜技术和刻蚀技术。
    的头像 发表于 07-16 13:52 3063次阅读
    芯片制造的<b class='flag-5'>四</b>大工艺介绍

    4个高速风筒方案,哪个容易被淘汰?

    致力于成为无刷马达驱动行业的“小巨人”,为智能制造提供高性价比解决方案。——深圳其利天下关于高速风筒的硬件电路,从MCU的角度分析,严格意义上是可以区分为四种硬件电路的。目前,四种硬件电路
    的头像 发表于 06-11 15:04 352次阅读
    <b class='flag-5'>这</b>4个高速风筒方案,哪个容易被淘汰?

    HarmonyOS基础组件:Button三种类型的使用

    的Button相较于Android原生来说,功能比较丰富,扩展性高,减少了开发者的代码数量,简化了使用方式。不仅可以自定义圆角还支持三样式。 常用属性 名称 参数类型 描述 typ
    的头像 发表于 06-09 15:48 2152次阅读
    HarmonyOS基础组件:Button三<b class='flag-5'>种类型</b>的使用

    RDMA简介3之四种子协议对比

    RDMA协议共有四种子协议,分别为InfiniBand、iWARP、RoCE v1和RoCE v2协议。四种协议使用统一的RDMA API,但在具体的网络层级实现上有所不同,如图1所示,接下来将
    发表于 06-04 16:05

    蓝牙广播

    节的由来。如前所述,device address分public和random两定义如下所示: ​ 编辑 Random device address又有三种类型定义如下所示: ​
    发表于 06-03 10:47

    变频器主要支持哪四种模式?有什么区别?

    PG的矢量控制模式。其中,PG指的是旋转编码器。四种模式各具特点,适用于不同的工况和需求。下面将详细探讨四种控制模式及其区别。 一、V/F控制模式 1. 无PG的V/F模式 ● 原
    的头像 发表于 04-16 18:22 1761次阅读
    变频器主要支持哪<b class='flag-5'>四种</b>模式?有什么区别?

    芯片封装四种键合方式:技术演进与产业应用

    自动键合和混合键合四种主流技术,它们工艺流程、技术特点和应用场景上各具优势。本文将深入剖析四种键合方式的技术原理、发展现状及未来趋势,为产业界提供技术参考。
    的头像 发表于 04-11 14:02 2377次阅读
    芯片封装<b class='flag-5'>中</b>的<b class='flag-5'>四种</b>键合方式:技术演进与产业应用

    四种常见ADC的特性和应用

    模拟-数字转换器(ADC)现代电子系统扮演着至关重要的角色,它们负责将连续的模拟信号转换为离散的数字信号。这一转换过程对于信号处理、通信、控制等多个领域都至关重要。本文将深入探讨四种常见的ADC
    的头像 发表于 02-02 13:52 2760次阅读

    MSP430F4250的四种模式分别是什么情况下使用呢?

    我是一名初学者,看了书知道MSP430F4250的AD转换模式有四种,我想知道四种转化模式有什么区别,分别应该在什么情况下使用。各位高手能否为我解答哈,在下不胜感激。因为是初学者,有很多东西都不知道,能尽量详细就尽量哈,谢谢
    发表于 01-06 06:16

    私藏技术大公开!四种常见供电方案

    现代生活,供电问题直接关系到我们的生活质量与工作效率。以下是四种超实用的供电方案,无论是在家庭生活还是工作场景,都能为你提供稳定可靠的电力支持。 常见的物联网应用场景下,供电方式
    的头像 发表于 12-31 14:28 2779次阅读
    私藏技术大公开!<b class='flag-5'>四种</b>常见供电方案

    被问爆的四种供电方式,来啦~

    4G模组的外部电源供电设计十分重要,对系统稳定、射频性能都有直接影响。 常见的物联网应用场景下,供电方式有四种: LDO供电方式 DCDC供电方式 锂电池供电以及充电方式 不可充电锂亚/锂锰电池供电
    的头像 发表于 12-30 15:40 1498次阅读
    被问爆的<b class='flag-5'>四种</b>供电方式,来啦~

    烙铁焊,回流焊,波峰焊和激光锡焊四种工艺的比较

    现如今精密电子行业自动化生产电子元器零部件时,一般会用到的焊接工艺有烙铁焊,回流焊,波峰焊和激光锡焊四种。下面将聊下四种工艺的比较。
    的头像 发表于 12-22 15:04 3348次阅读
    烙铁焊,回流焊,波峰焊和激光锡焊<b class='flag-5'>四种</b>工艺的比较