![](https://img-blog.csdnimg.cn/20210109155604394.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
USB协议详解
文章平均质量分 83
USB协议详解旨在为大家通俗理解USB通讯协议,作者会带着大家一步一步理解USB通讯中的各种概念及通讯方式,会非常详细讲解USB描述符、传输、事务、包、域、枚举、帧、微帧等核心概念,最后会结合STM32以及ZYNQ平台对USB协议进行实战操作,使爱好者轻松掌握USB理论及应用方法。
一个早起的程序员
主要从事FPGA、ZYNQ、CPU内核、MicroBlaze、STM32、QT、MFC、上位机相关开发,擅长高速接口、视频传输、视频采集,包括PCIe、USB3.0、光纤、SDI、VGA、DVI、HDMI等高速接口。大学期间在学校参加过全国电子设计大赛两届、全国物联网大赛、山东省电子设计大赛、全国信息杯等比赛,并获得全国奖和省级奖十余项。
展开
-
USB总线电平标准、USB总线状态、USB总线信号详解
目录1.USB总线电平标准2.USB总线状态3.USB总线信号3.1 SOP信号3.2 EOP信号3.3Reset信号3.4Suspend信号3.5Resume信号3.6 SYNC信号3.7 连接信号3.7.1低速设备连接检测时序图3.7.2全速/高速设备连接检测时序图3.8 断开信号1.USB总线电平标准USB总线电平标准如下,下图标识了低速/全速、高速总线输出特性的电平标准。2.USB总线状态下图显示了USB低速和全速总线信号...原创 2021-02-04 15:44:49 · 25662 阅读 · 5 评论 -
USB协议详解第30讲(USB枚举过程详解及抓包分析)
目录1.设备上电2.检测电压变化,报告主机3.主机了解连接设备4.检测所插入的设备是高速还是低速5.主机通过hub复位设备6.主机进一步检测全速设备是否是支持高速模式7.通过Hub建立主机和设备之间的信息通道8.主机获取默认控制管道的最大数据包长度9.主机请求hub再次复位设备10.主机给设备分配一个地址11.主机获取并解析设备描述符信息12.获取字符串描述符13.主机获取标准配置描述符14.主机获取配置描述符集合15.主机为设备挂载驱动并选择一.原创 2021-02-01 23:17:47 · 14558 阅读 · 18 评论 -
USB协议详解第29讲(USB设备状态及数据交互条件)
目录1.连接状态(Attached)2.上电状态(Powered)3.默认状态(Default)4.地址状态(Address)5.配置状态( Configured )6.挂起状态(Suspended)7.USB设备状态迁移8.USB设备状态详解及数据交互条件1.连接状态(Attached)USB设备可以从USB总线上连接或断开。当USB设备与USB总线断开时,它的状态USB规范没有定义,我们可以这么想,设备都拔了就断电了,也就不存在什么样的状态了。规范仅在设备被连接后原创 2021-01-31 23:15:52 · 6015 阅读 · 0 评论 -
USB协议详解第28讲(USB硬件设计和热拔插原理)
1.USB引脚接线定义USB接口的物理上的对应的引脚和对应含义等,对于四线制的USB,即USB1.0、USB1.1、USB2.0。引脚 名称 电缆颜色 描述 1 VBUS Red +5 V,电源 2 D− White Data −,数据线 3 D+ Green Data +,数据线 4 GND Black Ground,接地 2.低速USB设备硬件设计原理低速设备端在D-上集成1.5K上原创 2021-01-30 23:42:21 · 9106 阅读 · 0 评论 -
USB协议详解第27讲(USB包-中断传输包详解)
目录1.中断传输包结构2.中断传输DATA数据包实现同步操作3.中断传输包详解3.1中断读传输抓包3.2中断写传输抓包4.中断传输小知识1.中断传输包结构中断传输和批量传输类似,中断只由一个中断事务组成,中断事务包含令牌包、数据包、握手包,如图下所示。中断事务类型的特点是能够通过错误检测和重试来保证主机和设备之间数据的无错误传递。 需要理解和注意以下点。(1)当主机准备接收数据时,它发出IN令牌,设备端点通过返回数据包或(如果无法返回数据)NAK或STALL握手来响应。原创 2021-01-28 22:37:02 · 7818 阅读 · 1 评论 -
USB协议详解第26讲(USB包-批量传输包详解)
1.批量传输包结构批量传输由一个或多个批量事务组成,每一个批量事务具有令牌包、数据包、握手包,如图下所示。批量事务类型的特点是能够通过错误检测和重试来保证主机和函数之间数据的无错误传递。 需要理解和注意以下点。(1)当主机准备接收批量数据时,它发出IN令牌,函数端点通过返回数据包或(如果无法返回数据)NAK或STALL握手来响应。 NAK表示函数暂时无法返回数据,而STALL表示端点永久停止。 如果主机收到 一个有效的数据包,它用ACK握手来响应。 如果主机在接收数据时检测到错误,则不会向函数返回握原创 2021-01-27 22:30:27 · 6719 阅读 · 13 评论 -
USB协议详解第25讲(USB包-同步传输包详解)
目录1.同步传输包结构2.同步传输DATAx数据包核心要点3.同步传输包详解3.1同步读包结构3.1.1全速设备传输小于等于1023字节包结构3.1.2全速设备传输大于1023字节包结构3.1.3 IN令牌包波形3.1.4 数据包波形3.2同步写包结构1.同步传输包结构同步传输由一个或多个同步事务组成,每一个同步事务具有令牌包和数据数据包,没有握手包,如图下所示。 主机发出IN或OUT令牌包,如果是IN令牌,设备会发送数据包给主机,如果是OUT令牌,主机会发送数据原创 2021-01-26 22:51:04 · 5636 阅读 · 1 评论 -
USB协议详解第24讲(USB包-控制传输包详解)
目录1.控制传输包结构2.设置阶段包详解2.1 SETUP令牌包2.2 DATA0 数据包2.2.1bmRequestType(向谁请求)2.2.2bmRequest(什么请求)2.2.4wIndex2.2.5wLength域2.3ACK数据包3.可选的数据阶段包详解3.1 如果第一阶段指定数据传输方向为设备到主机(长度大于0)3.2 如果第一阶段数据传输方向为主机到设备(长度大于0)3.3 如果第一阶段数据传输方向为主机到设备(长度为0)4...原创 2021-01-25 23:16:47 · 11544 阅读 · 6 评论 -
USB协议详解第23讲(USB包-握手包及其工作方式)
目录1.握手包的分类2.握手包的组成3.握手包的功能4.批量数据传输握手包的工作方式举例1.IN事务2.OUT事务3.PING事务(只在高速传输中有)5.其他传输握手包事务图1.中断传输2.控制传输3.同步传输(无握手包)1.握手包的分类握手包有ACK握手包、NAK握手包、STALL握手包、NYET握手包、ERR握手包。2.握手包的组成握手包数据内容仅由PID域组成,PID域标志当前握手包的具体类型是ACK、NAK、STALL、NYET、ERR五种原创 2021-01-24 23:30:54 · 7734 阅读 · 7 评论 -
USB协议详解第22讲(USB包-数据包及重传机制)
1.数据类包的分类数据类包有DATA0数据包、DATA1数据包、DATA2数据包、DATAM数据包。2.数据类包的组成我们今天看数据类包的详细结构,数据包的内容由PID域+数据域+16bit CRC域,下图为数据包各个域和抓包协议的对应图。3.数据包的功能定义了两中数据包DATA0和DATA1以支持数据切换同步和重传功能(重要), 其他类型的数据包此处不做详解。数据必须始终以整数个字节发送, CRC仅在数据包中的数据域上计算,并且不包括PID,PID具有其自己的CRC检查字段。低原创 2021-01-23 23:52:54 · 7612 阅读 · 3 评论 -
USB协议详解第21讲(USB包-令牌类包)
1.令牌类包的分类令牌类包SETUP令牌包、IN令牌包、OUT令牌包。2.令牌类包的组成我们今天看令牌类包的详细结构,令牌包的内容由PID域+地址域+5bit CRC域,下图为令牌类包包各个域和抓包协议的对应图。2.SETUP令牌包只用在控制传输中,通知设备将要输出一个数据包(只是一个通知作用),也就是通知哪一个设备的哪一个端点接下来要发送一包数据了。SETUP令牌包后只使用DATA0数据包,且只能发送到设备的控制端点。当设备的端点在收到SETUP令牌包后,接下来会等待接收主机发原创 2021-01-22 22:38:39 · 7881 阅读 · 0 评论 -
USB协议详解第20讲(USB包-帧首包SOF)
目录1.包的四种类型2.SOF包组成3.SOF包发送时间及USB总线包结构1.SOF包的发送时间2.USB总线包组成4.SOF包其它核心概念5.STM32 SOF包处理机制1.包的四种类型根据包的组成把包分为四种类型,分别是、帧首包SOF(Start of Frame)、命令包(Token)、数据包(Data)、握手包(Handshake),如下图(大家一定要把PID类型和包类型分开)。4种PID类型和4种包类型的区别如下。2.SOF包组成我们今天看S原创 2021-01-21 23:23:39 · 18800 阅读 · 4 评论 -
USB协议详解第19讲(USB包-包的组成及分类)
目录1.SOP域(Start Of Packet)2.SYNC(同步域)3.PID域(Packet Identifier Field)4.地址域(1)设备地址字段(2)端点地址字段(3)地址域总结5.帧号域(1)帧和微帧(2)帧号域总结5.数据域(1)数据域格式(2)数据域总结6.CRC域(循环冗余校验)(1)令牌CRC(2)数据CRC(3)CRC域总结7.EOP域(End Of Packet)下面这张图为包的组成结构,由SOP、S原创 2021-01-20 23:45:16 · 12121 阅读 · 9 评论 -
USB协议详解第18讲(USB包-初探)
前言本节我们开始对USB包进行深入讲解,USB所有的传输都会被分成包进行传输,不同的包里面包含不同的多个数据域(后面一一学习),框图如下。包的种类及说明由域构成的包有四种类型,分别是令牌包、数据包、握手包和特殊包,前面三种是重要的包,不同的包的域结构不同,介绍如下 1、令牌包:可分为输入包、输出包、设置包和帧起始包(注意这里的输入包是用于设置输入命令的,输出包是用来设置输出命令的,而不是放据数的) 其中输入包、输出包和设置包的格式都是一样的: SYNC+PID+ADDR+END.原创 2021-01-19 20:18:08 · 5403 阅读 · 1 评论 -
USB协议详解第17讲(USB事务总结)
目录1.USB传输回顾2.USB事务总结3.后期内容大纲4.传输、事务、包组成学习架构图1.USB传输回顾前面讲了四种传输的类型,包括控制传输,同步传输,批量传输,中断传输,我们在USB设备开发中,会实现所用到的每一个端点的端点描述符,每个端点描述符必须要指定传输类型,每个端点和USB主机进行数据交换只支持一种传输类型,端点0必须是控制传输类型端点,大家以后在分析代码的时候会用到。2.USB事务总结本节我们来对事务(transaction)相关内容做以总结,从前面学习中我们可原创 2021-01-18 19:55:13 · 6952 阅读 · 3 评论 -
USB协议详解第16讲(USB传输-中断传输及事务组成)
目录1.前言2.中断传输的结构3.抓包分析3.1中断读传输抓包分析3.2中断写传输抓包分析4.中断传输各速率下支持最大包长度5.中断传输事务组成6.传输、事务、包组成学习架构图1.前言前面讲过USB一个传输由多个事务组成,一个事务由多个包实体组成。传输又分为控制传输、同步传输、批量传输、中断传输四种,上一节我们讲了批量传输,今天我们主要讲解中断传输。中断传输用于哪些频率不高,但是对周期有一定要求的数据传输。具有保证的带宽,并能在下一个周期对先前错误的传输进行重传。原创 2021-01-17 16:43:14 · 5773 阅读 · 1 评论 -
USB协议详解第15讲(USB传输-批量传输及事务组成)
声明:前面和后续提到的OUT和IN都是对主机而言的。1.前言前面讲过USB一个传输由多个事务组成,一个事务由多个包实体组成。传输又分为控制传输、同步传输、批量传输、中断传输四种,上一节我们讲了控制传输,今天我们主要讲解批量传输。批量传输和同步传输类似,是使用批量事务(Bulk Transactions)来传输数据。批量读使用批量输入事务,批量写使用批量输出事务。批量传输通常在数据量大、对数据的实时性要求不高的场合,例如USB打印机、扫描仪、大容量存储设备等。批量传输主要包括批量读传输、批量写原创 2021-01-15 17:57:01 · 5887 阅读 · 3 评论 -
USB协议详解第14讲(USB传输-同步传输及事务组成)
声明:前面和后续提到的OUT和IN都是对主机而言的。1.前言前面讲过USB一个传输由多个事务组成,一个事务由多个包实体组成。传输又分为控制传输、同步传输、批量传输、中断传输四种,上一节我们讲了控制传输,今天我们主要讲解同步传输。同步传输用在数据量大、对实时性要求高的场合,例如音频设备、视频设备等,这些设备对数据延迟很敏感,对于音频和视频设备来说,数据的 100% 正确要求不高,少量的数据错误还是能够容忍的,主要的是保证不能停顿;所以等时传输是不保证数据100% 正确的。当数据错误时,并不进行重传原创 2021-01-14 16:15:41 · 6059 阅读 · 5 评论 -
USB协议详解第13讲(USB传输-控制传输及事务组成)
目录1.前言2.控制传输的结构2.1初始设置阶段2.2数据阶段(可选):2.3状态信息阶段(核心)3.抓包分析3.1控制读传输抓包分析3.2写控制传输抓包分析3.3无数据的控制传输抓包分析4.传输、事务、包组成学习架构图声明:前面和后续提到的OUT和IN都是对主机而言的。1.前言前面讲过USB一个传输由多个事务组成,一个事务由多个包实体组成。传输又分为控制传输、同步传输、批量传输、中断传输四种,今天我们主要讲解控制传输。控制传输是一种特殊的传输方式,且原创 2021-01-13 17:45:25 · 9597 阅读 · 6 评论 -
USB协议详解第12讲(USB传输-初探)
目录1.USB传输、事务、包的关系2.USB传输类型2.1控制传输2.2同步传输2.3批量传输2.4中断传输3.传输总结及后期内容1.USB传输、事务、包的关系USB传输、事务、包是从不同层次上去说明一次数据交互的三个概念。举个例子可能更好些,"某领导和一个早起的程序员进行了一次交流,说了5件事"。OK,其实这里的"这次交流"就相当于USB的一次传输,"说了5件事"就相当于这次传输过程中的5个事务,当然每件事肯定有若干句对话,就相当于每个事务里面的各种包。.原创 2021-01-12 22:59:06 · 6439 阅读 · 1 评论 -
USB协议详解第11讲(USB描述符-总结)
描述符回顾总结1.其实所有的描述符都是USB设备用来描述自己属性及用途的,所以必须在设备端实现对应的描述符,主机会在枚举此设备的时候根据设备实现的描述符去确定设备到底是一个什么样的设备、设备需要的总线资源、和设备的通讯方式等等。2.每一个USB设备只有一个设备描述符,主要向主机说明设备类型、端点0最大包长、设备版本、配置数量等等。3.每一个USB设备至少有一个或者多个配置描述符,但是主机同一时间只能选择某一种配置,标准配置描述符主要向主机描述当前配置下的设备属性、所需电流、支持的接口数、配置描述原创 2021-01-12 22:54:18 · 4719 阅读 · 0 评论 -
USB协议详解第10讲(USB描述符-报告描述符)
目录1.报告描述符的概念和作用2.报告描述符中的数据描述项3.数据描述项的标签4.STM32某鼠标设备报告描述符代码5.报告描述符生成工具介绍1.报告描述符的概念和作用开门见山,报告描述符就是描述报告(HID接口上传输事务中的数据)的一组数据结构。首先大家可能会问,报告又是什么?我们前面讲过,USB主机一般是以中断的方式向HID设备发送或者索取数据,也就是说USB主机发送一个请求,设备要根据硬件操作,向主机提交自己的状态变化,例如鼠标,当主机给鼠标设备发送请求后,鼠标需.原创 2021-01-12 00:05:58 · 9876 阅读 · 2 评论 -
USB协议详解第9讲(USB描述符-HID描述符)
目录1.HID设备概述2.HID描述符组成3.STM32配置描述符集合代码(必须按顺序)4.HID描述符组成详解1.HID设备概述USB设备中有一大类就是HID设备,即Human Interface Devices,人机接口设备。这类设备包括鼠标、键盘、游戏手柄等,主要用于人与计算机进行交互。HID设备可以作为低速、 全速、高速设备用。由于HID设备要求用户输入能得到及时响应,故其传输方式通常采用中断传输。在USB协议中,HID设备的类型定义放置在接口描述符中,USB的设备描述符原创 2021-01-10 12:02:07 · 12493 阅读 · 2 评论 -
USB协议详解第8讲(USB描述符-字符串和语言ID描述符)
目录1.字符串描述符相关概念2.语言ID描述符组成、详解、代码(1)语言ID描述符组成(2)语言ID描述符详解(3)语言ID描述符STM32代码3.字符串描述符索引4.字符串描述符组成、详解、代码(1)字符串描述符组成(2)字符串描述符详解(3)字符串描述符STM32代码1.字符串描述符相关概念字符串描述符:首先,字符串描述符就是用字符串描述一个设备的一些属性,毕竟人能看懂的是字符,而不是十六进制,描述的属性包括设备厂商名字、产品名字、产品序列号、各个配.原创 2021-01-09 15:37:39 · 7431 阅读 · 5 评论 -
USB协议详解第7讲(补充-USB帧和微帧剖析)
目录1.概念2.全速USB传输(帧)3.高速USB传输(微帧)上一篇讲解端点描述符的时候提到了帧和微帧的概念,可能很多人会晕,这节课先做下补充,避免大家放弃学习。1.概念(1)USB2.0帧和微帧属于物理层时间基准的概念,低速和全速下每个帧时长为1ms,高速下每个帧又分为8个微帧,即每个微帧时长为125us。(2)USB主机和设备控制器同步后,每个微帧起始点开始传输数据,如果没有数据,则SOF包发送完毕之后,总线进入空闲状态,一会下面看解析图图。(3)每一个帧(微帧)起始点会原创 2021-01-09 09:47:50 · 11179 阅读 · 10 评论 -
USB协议详解第6讲(USB描述符-端点描述符)
目录1.USB描述符2.端点描述符组成3.STM32配置描述符集合代码(必须按顺序)4.接口描述符组成详解1.USB描述符USB描述符有设备描述符、标准配置描述符、接口描述符、端点描述符、字符串描述符,HID设备有HID描述符、报告描述符和物理描述符。今天主要是学习USB端点描述符的组成。2.端点描述符组成前面讲了设备描述符、标准配置描述符、接口描述符,本篇我们讲解端点描述符。首先要明确的一点是端点描述符不能单独返回给USB主机,主机会请求获得配置描述符集合,配置描述符集合主原创 2021-01-08 21:38:51 · 8943 阅读 · 5 评论 -
USB协议详解第5讲(USB描述符-接口描述符)
目录1.USB描述符2.接口描述符组成3.接口描述符组成详解1.USB描述符USB描述符有设备描述符、标准配置描述符、接口描述符、端点描述符、字符串描述符,HID设备有HID描述符、报告描述符和物理描述符。今天主要是学习USB接口描述符的组成。2.接口描述符组成前面讲了设备描述符和标准配置描述符,本篇我们讲解接口描述符。首先要明确的一点是接口描述符不能单独返回给USB主机,主机会请求获得配置描述符集合,配置描述符集合主要由标准配置描述符、接口描述符、端点描述符、HID描述符.原创 2021-01-07 22:04:34 · 10228 阅读 · 5 评论 -
USB协议详解第4讲(USB描述符-标准配置描述符)
目录1.USB描述符2.标准配置描述符组成3.标准配置描述符组成详解1.USB描述符USB描述符有设备描述符、标准配置描述符、接口描述符、端点描述符、字符串描述符,HID设备有HID描述符、报告描述符和物理描述符。今天主要是学习USB标准配置描述符的组成。2.标准配置描述符组成一个USB设备至少有一个或者多个配置,这一点可以从设备描述符的最后一项bNumConfigurations得到,但是当前只能选择其中一种配置,每一种配置都对应一个配置描述符集合,为什么说是一个集合呢,因为这原创 2021-01-06 21:13:54 · 9767 阅读 · 3 评论 -
USB协议详解第3讲(USB描述符-设备描述符)
我们第一个学习要点就是USB描述符,所谓描述符其实就是C语言里面的结构体或者数组,数组包含的信息说明当前的设备具有哪些特征。USB描述符有设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符,HID设备有HID描述符、报告描述符和物理描述符。我们先学会每个描述符的细节,我会写的非常详细且简洁,后面在学习USB枚举的时候会通过抓包和波形来学习每一个描述符在总线上的作用,并且会介绍每一个描述符是在什么时候以哪种方式在总线上进行传输的,今天主要是学习USB设备描述符的组成。设备描述符是USB主机枚举U原创 2021-01-05 20:10:11 · 17860 阅读 · 7 评论 -
USB协议详解第2讲(协议核心学习要点)
上一篇文章讲解了十大概念,如下:1.USB传输(Transfer)2.事务(Transaction)3.包(Pack)的概念4.USB 主机(Host)5.设备(Device)6.配置(Configuration)7.接口(Interface)8.端点(Endpoint)9.管道(Pipe)10.USB各种各样非常重要的描述符看了这么多概念,想必大家会问“我要学会USB协议,并且会编程,我具体要学习那些有关的内容?”,这一篇我们将会讲解在学习USB协议中务必要掌握原创 2021-01-04 23:37:32 · 11088 阅读 · 3 评论 -
USB协议详解第1讲(核心概念通俗理解)
目录0.概括1.USB传输(Transfer)2.事务(Transaction)3.包(Pack)的概念4.USB 主机(Host)5.设备(Device)6.配置(Configuration)7.接口(Interface)8.端点(Endpoint)9.管道(Pipe)10.USB各种各样非常重要的描述符0.概括USB协议学习中最重要几个概念如下,没有提及的就是对USB协议学习中不重要的或者编程不需要用到的。大家也不用着急,概念必须要学会,否则都不知道下原创 2021-01-03 23:58:36 · 18346 阅读 · 8 评论 -
USB协议详解第0讲(系列博文介绍)
USB协议详解旨在为大家通俗理解USB通讯协议,我会带着大家一步一步理解USB通讯中的各种概念及通讯方式,并且会借助于LeCroy USB Advisor Bus And Protocol Analysis软件一步一步对USB的协议进行分析。软件界面如下,后期会带着大家分析每一个传输、事务、包、域、位:USB作为通用串行总线,可以看到这种总线具备通用性。它是以主机为主,设备为从的主从通讯模式,就像1个领导带着127个小弟一样,其实USB系统架构中就是一个USB主机控制127的从设备(设备一般小于原创 2021-01-02 22:22:08 · 11258 阅读 · 7 评论 -
MFC USB调试助手
自己写了一个MFC版本的USB调试助手。目录1.界面2.功能3.代码获取1.界面2.功能(1)遍历所有USB自定义设备;(2)打印USB设备描述符、配置描述符、接口描述符、端点描述符等信息;(3)给指定设备发送数据(传输类型、字节数可指定);(4)从指定设备读取数据(传输类型、字节数可指定)。3.代码获取下面是部分代码,关注【一个早起的程序员】可获取软件源代码。1.本文部分素材来源网络,版权归原作者所有,如涉及作品版权问题,请与我联系删除。2.原创 2021-01-21 10:51:45 · 3983 阅读 · 9 评论 -
USB3.0与USB2.0编码方式的区别
首先,USB3.0传输的编码方式和USB2.0本质上是不同的。1.USB3.0的编码方式USB 3.0采用的是8b/10b编码方式。8B/10B编码是1983年由IBM公司的Al Widmer和PeterFranaszek所提出的数据传输编码标准,目前已经被广泛应用到高速串行总线,如IEEE1394b、SATA、PCI-Express、Infini-band、FiberChannel、XAUI、RapidIO、USB 3.0的美好。8B/10B编码将待发送的8位数据转换成10位代码组,其目的是保证直原创 2021-01-12 21:08:22 · 4874 阅读 · 0 评论 -
USB报告描述符热身-后续会详解
在USB中,USB HOST是通过各种描述符来识别设备的,有设备描述符,配置描述符,接口描述符,端点描述符,字符串描述符,报告描述符等等。USB报告描述符(Report Descriptor)是HID设备中的一个描述符,它是比较复杂的一个描述符。USB HID设备是通过报告来给传送数据的,报告有输入报告和输出报告。输入报告是USB设备发送给主机的,例如USB鼠标将鼠标移动和鼠标点击等信息返回给电脑,键盘将按键数据数据返回给电脑等;输出报告是主机发送给USB设备的,例如键盘上的数字键盘锁定灯和大写字母锁原创 2021-01-07 15:54:25 · 2714 阅读 · 1 评论 -
USB编码方式(NRZI)及时钟同步方式
1.概述在同步通讯系统中,两个设备通讯则需要同步信号,同步信号分为时钟同步信号和自同步信号两种,时钟同步方式在通讯链路上具有时钟信号(IIC、SPI),自同步方式在通讯链路中没有同步信号(PCIE、USB),自同步方式常常适用于高速通讯系统中。2.USB自同步传输首先,USB 的数据是串行发送的,就像 UART、I2C、SPI 等等,连续的01 信号只通过一根数据线发送给接受者。但是因为发送者和接收者运行的频率不一样,信号的同步就是个问题,比如,接受者接收到了一个持续一段时间的低电平,无法得知这原创 2020-12-29 19:50:20 · 8583 阅读 · 6 评论 -
USB设备类型代码、详细说明、查询方式
以下是相关类型的详细说明:地址:https://www.usb.org/documents搜索device class以下是USB所有支持的设备类型代码.地址:http://www.usb.org/developers/defined_classUSB Class CodesNovember 17, 2009USB defines class code information that is used to identify a devi...转载 2021-01-15 13:10:54 · 5348 阅读 · 0 评论 -
强大的USB协议分析工具
2020年最后一天了,感谢大家一年来对我文章的支持,有你们的支持就是我强大的动力。今天来给大家介绍一个USB 协议分析软件LeCroy USB Advisor,软件安装包下载连接如下:链接:https://pan.baidu.com/s/12qBCOjuy4i8kr1MHjBrfYQ提取码:2rpx这个软件对于USB协议学习有很大帮助,下面就给大家介绍这个软件的强大作用:(1)软件主界面(2)USB传输、事务、包协议显示(序号和具体域的细节)(3)协议可折叠(4)每个具体包可查看差分原创 2020-12-31 23:14:50 · 13521 阅读 · 8 评论 -
USB讯通架构及数据模型
注意:(1)一个usb设备由一个或者多个接口组成;(2)每一个接口为usb设备的一个功能,比如上面的usb设备由两个接口,一个可用于鼠标,一个可用于键盘;(3)每个接口占用usb设备的多个端口资源;(4)windows通过一组管道(pipes)与usb设备的某个接口的端点进行数据交互实现某种功能;(5)usb设备最多具有16个端点;(6)usb设备的一个接口对应windows的一个客户端软件,比如一个负责实现鼠标功能的接口对应于windows的鼠标驱动。...原创 2020-12-29 18:01:28 · 2920 阅读 · 0 评论 -
USB协议基础篇
初次接触USB的同学,可能会被里面各种名词给搞晕,下面就来梳理一下这些知识,希望能帮助大家理解USB。文章目录 一,从最常见的名词说起 1.1 什么是USB 1.2 USB协议版本 1.3 USB接口分类 1.4 PIPE 1.5 endpoint 1.6 管道通信方式 1.7 传输方式 1.7 逻辑设备 1.8 interface 1.9 class协议 1.10 host/device 二,USB框架/拓扑结构原创 2020-12-29 08:39:18 · 21219 阅读 · 17 评论