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

    文章

    8489

    浏览量

    286671
  • 信号处理
    +关注

    关注

    49

    文章

    1179

    浏览量

    105330
  • 串行总线
    +关注

    关注

    1

    文章

    187

    浏览量

    31935

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    驱动之路#24:Linux设备四种读写模型

    Linux 设备四种读写模型——其实核心就 4 方式:查询、休眠 - 唤醒、poll、异步通知。它们不是中断本身,而是 “应用 - 驱动” 的上层交互逻辑(中断是底层硬件触发机制),但高效交互几乎都依赖中断实现。
    的头像 发表于 05-06 16:26 5044次阅读

    变频器四种制动方式

    解决的核心问题。目前主流的变频器制动方式主要包括能耗制动、回馈制动、直流制动和电容制动四种,每种方式各具特点,适用于不同的工况场景。
    的头像 发表于 03-25 16:31 346次阅读

    详解芯片制造的金属中间层键合技术

    金属中间层键合技术涵盖金属热压键合、金属共晶键合、焊料键合及瞬态液相(transient liquid phase,TLP)键合等多种类型。图1展示四种类型及其对应的键合机制。本文
    的头像 发表于 01-16 12:55 835次阅读
    详解芯片制造<b class='flag-5'>中</b>的金属中间层键合技术

    是德示波器DSOX1202A与电脑的四种连接方式及操作步骤详解

    是德科技(Keysight)DSOX1202A示波器作为高精度电子测量设备,广泛应用于电子工程、通信测试与自动化调试场景。为实现数据实时采集、波形分析与远程控制,用户需通过USB、LAN、GPIB或串口将示波器与电脑互联。本文将结合官方指南与实操经验,系统介绍四种连接方式
    的头像 发表于 01-13 17:48 2019次阅读
    是德示波器DSOX1202A与电脑的<b class='flag-5'>四种</b>连接方式及操作步骤详解

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

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

    一图看懂绿电直连的四种玩法

    通过 “总览框架 + 分模式图解” 的形式,用可视化逻辑拆解绿电直连的四种核心模式,涵盖每种模式的核心特征、适用场景、参与主体三大关键信息,帮你快速区分不同 “玩法” 的差异与适配性。
    的头像 发表于 10-15 10:18 1697次阅读
    一图看懂绿电直连的<b class='flag-5'>四种</b>玩法

    从入门到精通:基于开源代码的BLE四种模式开发详解

    通过分析BLE低功耗蓝牙的四种核心工作模式,结合可下载、可修改的开放源码,本教程为开发者提供一套系统、实用的开发学习路径。 BLE(Bluetooth Low Energy): 也称为
    的头像 发表于 10-09 18:00 792次阅读
    从入门到精通:基于开源代码的BLE<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 1044次阅读
    全网最全CSA3412,BCT4340,VL162,MCU/ <b class='flag-5'>USB</b>3.1 正反插10G bps<b class='flag-5'>四种</b>解决方案

    单模光纤线有几种类型

    单模光纤线根据ITU-T国际标准(G.65x系列)主要分为以下六种类型,每种类型传输性能、应用场景和成本上存在差异: G.652(常规单模光纤): 核心特性:零色散波长在1310nm附近
    的头像 发表于 09-11 10:00 2943次阅读

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

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

    芯片制造的大工艺介绍

    这一篇文章介绍几种芯片加工工艺,Fab里常见的加工工艺有四种类型,分别是图形化技术(光刻)、掺杂技术、镀膜技术和刻蚀技术。
    的头像 发表于 07-16 13:52 4512次阅读
    芯片制造的<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 2764次阅读
    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