随笔分类 - USB / USB 协议
摘要:写Device USB驱动的时候,当Bulk送信发送的数据长度恰好是wMaxPacketSize的整数倍时,是否应该发送0包的问题搞得我焦头烂额。查找了好多资料,有的说要加,这是USB协议的一部分;有的说要加,这是微软的霸王条款;也有的说不要加,因为协议里没写这一条,送信成功之后USB传输的任务就完
阅读全文
摘要:LTSSM(Link Training and Status State Machine)用于定义USB等协议的链路状态。LTSSM中的四个主要可操作状态:U0、U1、U2、U3,分别表示不同的功耗模式和链路活动状态。具体作用如下: LTSSM 电源状态 U0(全功率活动状态): 这是链路的正常操作
阅读全文
摘要:在框架上,USB3.0超速是向后兼容USB2.0的,但是二者在协议上还是有一些重大的不同: 在框架上,USB3.0超速是向后兼容USB2.0的,但是二者在协议上还是有一些重大的不同: USB2.0的transaction(事务处理)有三部分(令牌(token)、数据(data)和握手(handsha
阅读全文
摘要:当USB设备连接到或从USB中移除时,主机使用总线枚举过程来识别和管理接入的设备。当USB设备连接到一个已经被上电的端口,采取以下顺序行动: 1.设备上电 用户把USB设备插入USB端口(主机下的根hub或主机下行端口上的hub端口)或系统启动时设备上电。此时,USB设备处于加电状态,它所连接的端口
阅读全文
摘要:1.连接状态(Attached) USB设备可以从USB总线上连接或断开。当USB设备与USB总线断开时,它的状态USB规范没有定义,我们可以这么想,设备都拔了就断电了,也就不存在什么样的状态了。规范仅在设备被连接后处理后续的操作。 2.上电状态(Powered) USB设备的电源可来自外部电源,也
阅读全文
摘要:1.USB引脚接线定义 对于四线制的USB,即USB1.0、USB1.1和USB2.0,USB硬件接口有4根接线,如下图。 引脚 名称 电缆颜色 描述 1 VBUS Red +5 V,电源 2 D− White Data −,数据线 3 D+ Green Data +,数据线 4 GND Black
阅读全文
摘要:1.中断传输包结构 中断传输和批量传输类似,中断传输只由一个中断事务组成,中断事务包含令牌包、数据包、握手包,如图下所示。中断事务类型的特点是能够通过错误检测和重试来保证主机和设备之间数据的无错误传递。 需要理解和注意以下点。 (1)当主机准备接收数据时,它发出IN令牌,设备端点通过返回数据包或(如
阅读全文
摘要:1.批量传输包结构 批量传输由一个或多个批量事务组成,每一个批量事务具有令牌包、数据包、握手包,如图下所示。批量事务类型的特点是能够通过错误检测和重试来保证主机和设备之间数据的无错误传递。 需要理解和注意以下点。 (1)当主机准备接收批量数据时,它发出IN令牌,设备端点通过返回数据包或(如果无法返回
阅读全文
摘要:1.同步传输包结构 同步传输由一个或多个同步事务组成,每一个同步事务具有令牌包、数据包,没有握手包,如图下所示。 主机发出IN或OUT令牌包,如果是IN令牌,设备会发送数据包给主机,如果是OUT令牌,主机会发送数据包给设备。 同步传输没有握手包或重试功能。 2.同步传输DATAx数据包核心要点 同步
阅读全文
摘要:1.控制传输包结构 控制传输由三个阶段组成,设置阶段、可选的数据阶段、状态阶段,其中设置阶段由1个SETUP事务组成,数据阶段由0个或者多个IN/OUT事务组成,状态阶段由1个IN/OUT事务组成,其中每个阶段事务包结构有所不同,下图可以直观看出控制传输写传输的包结构组成。 2.设置阶段包详解 设置
阅读全文
摘要:1.握手包的分类 握手包有ACK握手包、NAK握手包、STALL握手包、NYET握手包、ERR握手包。 2.握手包的组成 握手包内容仅由PID域组成,PID域标志当前握手包的具体类型是ACK、NAK、STALL、NYET、ERR五种中的哪一种。 3.握手包的功能 握手包是接收方给发送方返回的状态,这
阅读全文
摘要:USB协议详解第22讲(USB包-数据包及重传机制) 1.数据包的分类 数据类包有DATA0数据包、DATA1数据包、DATA2数据包、DATAM数据包。 2.数据类包的组成 我们今天看数据类包的详细结构,数据包的内容由PID域+数据域+16bit CRC域组成,下图为数据包各个域和抓包协议的对应图
阅读全文
摘要:1.令牌类包的分类 令牌类包有SETUP令牌包、IN令牌包、OUT令牌包。 2.令牌类包的组成 我们今天看令牌类包的详细结构,令牌包的内容由PID域+地址域+5bit CRC域,下图为令牌类包包各个域和抓包协议的对应图。 3.令牌类包的功能 所有令牌包都是主机发起的,作用就是告诉设备主机要干啥,要求
阅读全文
摘要:USB PID类型与包类型的区分 理解PID与包类型 在USB协议中,PID(Packet Identifier,包标识符)和包类型是密切相关的两个概念,但它们并不是完全相同的。 PID:PID是一个8位的字段,位于每个USB数据包的头部。它明确地标识了该数据包的类型,如令牌包、数据包、握手包等。P
阅读全文
摘要:USB协议详解第20讲(USB包-帧首包SOF) 1.包的四种类型 根据包的组成把包分为四种类型,分别是、帧首包SOF(Start of Frame)、命令包(Token)、数据包(Data)、握手包(Handshake),如下图(大家一定要把PID类型和包类型分开)。 4种PID类型和4种包类型(
阅读全文
摘要:1.包的组成 下面这张图为包的组成结构,由SOP、SYNC、Packet Content、EOP四部分组成,其中Packet Content最为核心,Packet Content由PID、地址、帧号、数据、CRC组成。 1.SOP域(Start Of Packet) 通过将D +和D-线从空闲状态驱
阅读全文
摘要:USB 包与 USB 域的区别与关系 USB 域与 USB 包:基础概念 USB 域:USB 数据流中的最小单位,类似于计算机中的比特。它包含了特定的信息,如同步信号、包标识、地址等。 USB 包:由多个 USB 域组成的更大单位,是 USB 数据传输的基本单元。一个 USB 包包含了完整的传输信息
阅读全文
摘要:1.USB传输架构和包的组成 本节我们开始对USB包进行深入讲解,USB所有的传输都会被分成包进行传输,不同类型的包里面包含着不同的域(后面一一学习)。传输架构和包的组成如下图。 每个包都由SOP(包起始域)、SYNC(同步域)、Packet Content(包内容)、EOP(包结束域)四部分组成,
阅读全文
摘要:1.USB传输回顾 前面讲了四种传输的类型的事务组成,包括控制传输,同步传输,批量传输,中断传输。 2.USB事务总结 本节我们来对事务(transaction)相关内容做以总结,从前面学习中我们可以看到其实事务有三种类型,Setup事务、Data IN事务、Data OUT事务。 Setup事务:
阅读全文
摘要:1.前言 中断传输用于那些频率不高,但是对周期有一定要求的数据传输。具有保证的带宽,并能在下一个周期对先前错误的传输进行重传。中断端点在端点描述符中要报告主机对此端点的查询时间,主机会保证在小于这个时间间隔的范围内安排一次传输,比如HOST主机1ms内向鼠标设备请求一次数据。对于全速端点,中断传输的
阅读全文


浙公网安备 33010602011771号