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底层协议犯难了
文章出处:【微信号:eet-china,微信公众号:电子工程专辑】欢迎添加关注!文章转载请注明出处。
相关推荐
闭合。用于外径、椭圆度或宽度厚度的检测。
这四种样式的测径仪使用用途仅前两种和后两种的区别,看产线上是否有生产板材、扁线等需要测量宽度与厚度的产品。
需要注意的是,以上
发表于 08-27 17:42
Filter, LPF)、高通滤波器(High-Pass Filter, HPF)、带通滤波器(Band-Pass Filter, BPF)和带阻滤波器(Band-Stop Filter, BSF)。以下是对这四种滤波电路类型
发表于 08-08 16:25
•1789次阅读
负反馈是电子系统中常用的一种技术,它通过将系统输出的一部分信号以某种方式反馈到输入端,以减小输出信号与期望信号之间的差异,从而提高系统的稳定性和性能。负反馈主要分为四种类型:电压串联负反馈、电压并联负反馈、电流串联负反馈和电流并联负反馈。
发表于 08-08 16:15
•2782次阅读
及其判断方法。 一、负反馈的四种类型 比例负反馈 比例负反馈是指系统输出与输入之间的反馈关系是线性的,即输出的变化与输入的变化成正比。在比例负反馈中,当系统输出增加时,输入会相应减少,反之亦然。这种反馈机制有
发表于 08-02 11:01
•1732次阅读
受控源是电子电路中的一种特殊元件,它具有一个或多个控制量,其输出电压或电流与控制量之间存在一定的函数关系。受控源有四种基本类型:电压控制电压源(VCVS)、电流控制电压源(CCVS)、
发表于 07-29 15:15
•4344次阅读
在数字电路设计中,触发器是一种基本且重要的存储元件,用于存储二进制信息(即0和1)。根据功能和应用场景的不同,触发器可以分为多种类型,其中四种基本触发器包括RS触发器、JK触发器、D触
发表于 07-27 14:59
•7078次阅读
功率放大电路是电子技术中的一个重要组成部分,广泛应用于音频、视频、通信、雷达等领域。根据其工作原理和应用场景,功率放大电路可以分为四种基本类型:A类、B类、AB类和D类。 1. A类功率放大电路 A
发表于 07-16 09:29
•1054次阅读
介绍MCUboot支持的四种升级模式,分别是Overwrite、Swap、Direct XIP和加载到RAM中执行。由于FSP不支持第四种——加载到RAM中执行,因为我们重点介绍前三
发表于 06-13 10:56
•785次阅读
电气设备的状态可以分为四种:正常状态、异常状态、故障状态和紧急状态。这四种状态涵盖了电气设备在运行过程中可能遇到的各种情况。本文将详细分析这
发表于 06-05 16:47
•4000次阅读
嵌入式微处理器是一种专门设计用于嵌入式系统中的微处理器。它们通常用于控制和管理电子设备的各种任务,例如自动化系统、家电、电子设备以及工业机械等。嵌入式微处理器可以根据应用的需求分为四种类型:通用
发表于 04-21 09:45
•1298次阅读
如何理解IGBT的四种SOA? IGBT的四种SOA表示了IGBT器件在不同工作状态下的安全操作区域。这
发表于 02-18 11:04
•992次阅读
电感器在电路中的主要用途有哪四种? 电感器是电子电路中常见的一种 passie元件,其主要作用是存储和调整电流。电感器在电路
发表于 02-03 15:07
•2071次阅读
四种霍尔元件的感应方式分别是什么呢? 霍尔元件是一种基于霍尔效应的电子元件,常用于测量磁场、电流和位置等物理量。根据感应方式的不同,霍尔元件可以分为四种类型:线性霍尔元件、增量式霍尔元件、磁敏电阻
发表于 12-18 14:49
•736次阅读
按施敏教授的观点,半导体器件有四个最基本的结构单元:金半接触、PN结、异质结、MOS结构。所有的半导体器件都可以看作是这四种基本结构的组合,比如BJT由两个背靠背的PN结构成,MOSFET由MOS结构和两对PN结构成。
发表于 11-30 15:56
•2991次阅读
decimal类型。 在C#中,要定义一个decimal类型的变量,可以使用decimal关键字和合法的标识符来声明变量,例如: decim
发表于 11-30 10:52
•1455次阅读
评论