Fork me on GitHub
侧边栏

随笔分类 -  USB / USB 协议

摘要:1.前言 前面讲过USB一个传输由多个事务组成,一个事务由多个包实体组成。传输又分为控制传输、同步传输、批量传输、中断传输四种,上一节我们讲了同步传输细节及事务组成,今天我们主要讲解批量传输及事务组成,批量传输也叫大容量传输。 批量传输和同步传输类似,是使用批量事务(Bulk Transaction 阅读全文
posted @ 2024-10-20 14:22 yooooooo 阅读(294) 评论(0) 推荐(0)
摘要:1.前言 前面讲过USB一个传输由多个事务组成,一个事务由多个包实体组成。传输又分为控制传输、同步传输、批量传输、中断传输四种,上一节我们讲了控制传输细节及事务组成,今天我们主要讲解同步传输及事务组成。 同步传输用在数据量大、对实时性要求高的场合,例如音频设备、视频设备等,这些设备对数据延迟很敏感, 阅读全文
posted @ 2024-10-19 19:54 yooooooo 阅读(299) 评论(0) 推荐(0)
摘要:1.前言 前面讲过USB一个传输由多个事务组成,一个事务由多个包实体组成。传输又分为控制传输、同步传输、批量传输、中断传输四种,今天我们主要讲解控制传输三个阶段及事务组成。 控制传输是一种特殊的传输方式,且传输过程相对复杂一些,但十分重要。当USB设备初次连接主机时,用控制传输传送控制命令等对设备进 阅读全文
posted @ 2024-10-19 19:44 yooooooo 阅读(438) 评论(0) 推荐(0)
摘要:1.USB传输、事务、包的关系 USB传输、事务、包是从不同层次上去说明一次数据交互的三个概念。 举个例子可能更好些,"某领导和一个早起的程序员进行了一次交流,说了5件事"。 OK,其实这里的"这次交流"就相当于USB的一次传输,"说了5件事"就相当于这次传输过程中的5个事务,当然每件事肯定有若干句 阅读全文
posted @ 2024-10-09 22:25 yooooooo 阅读(272) 评论(0) 推荐(0)
摘要:描述符回顾总结 1.其实所有的描述符都是USB设备用来描述自己属性及用途的,所以必须在设备端实现对应的描述符,主机会在枚举此设备的时候根据设备实现的描述符去确定设备到底是一个什么样的设备、设备需要的总线资源、和设备的通讯方式等等。 2.每一个USB设备只有一个设备描述符,主要向主机说明设备类型、端点 阅读全文
posted @ 2024-10-09 21:22 yooooooo 阅读(468) 评论(0) 推荐(0)
摘要:1.报告描述符的概念和作用 开门见山,报告描述符就是描述报告(HID接口上传输事务中的数据)的一组数据结构。 首先大家可能会问,报告又是什么?我们前面讲过,USB主机一般是以中断的方式向HID设备发送或者索取数据,也就是说USB主机发送一个请求,设备要根据硬件操作,向主机提交自己的状态变化,例如鼠标 阅读全文
posted @ 2024-09-17 19:21 yooooooo 阅读(1180) 评论(0) 推荐(0)
摘要:上一节的文章【USB3.0协议学习】Topic2·USB3.0的LTSSM分析中我们详细分析了USB3.0协议中的链路训练状态机(LTSSM)的各状态和跳转条件,覆盖了所有LTSSM状态。本文我们将从Roothub port和Device Port的角度讨论其Port Connect 状态机。该状态 阅读全文
posted @ 2024-09-16 10:10 yooooooo 阅读(249) 评论(0) 推荐(0)
摘要:USB3.0中的三种Reset Events 1. PowerOn Reset PowerOn Reset被用来代指上电复位,当一个device接入到root hub或者外置hub的时候,该device检测到Vbus信号从无效变为有效,会自动执行复位。(注意,self powered device不 阅读全文
posted @ 2024-09-16 10:04 yooooooo 阅读(377) 评论(0) 推荐(0)
摘要:一、什么是LTSSM,处于USB层次中的哪个位置? LTSSM是链路训练状态机的简称,位于USB3.0协议的link layer,共有12种状态,在链路的两端,也就是Downstream port和Upstream port中各有一个LTSSM,二者通过握手信号一起配合控制着这条链路的状态。(由链路 阅读全文
posted @ 2024-09-16 09:54 yooooooo 阅读(940) 评论(0) 推荐(1)
摘要:一、USB3.0 Hub的单播(非广播)机制 Hub通过解析下行packet header中的Route String字段识别packet要传递的终点,其中4'b0000代表hub本身,4'b0001-4'b1111分别代表hub的各downstream port,由于USB3.0规定Host Co 阅读全文
posted @ 2024-09-15 16:23 yooooooo 阅读(265) 评论(0) 推荐(0)
摘要:1.概念 (1)USB2.0帧和微帧属于物理层时间基准的概念,低速和全速下每个帧时长为1ms,高速下每个帧又分为8个微帧,即每个微帧时长为125us。 (2)USB主机和设备控制器同步后,每个微帧起始点开始传输数据,如果没有数据,则SOF包发送完毕之后,总线进入空闲状态,一会下面看解析图。 (3)每 阅读全文
posted @ 2024-08-14 13:52 yooooooo 阅读(545) 评论(0) 推荐(0)
摘要:1.HID设备概述 USB设备中有一大类就是HID设备,即Human Interface Devices,人机接口设备。这类设备包括鼠标、键盘、游戏手柄等,主要用于人与计算机进行交互。HID设备可以作为低速、 全速、高速设备用。由于HID设备要求用户输入能得到及时响应,故其传输方式通常采用中断传输。 阅读全文
posted @ 2024-08-13 22:30 yooooooo 阅读(2322) 评论(0) 推荐(0)
摘要:1.字符串描述符相关概念 字符串描述符:首先,字符串描述符就是用字符串描述一个设备的一些属性,毕竟人能看懂的是字符,而不是十六进制,描述的属性包括设备厂商名字、产品名字、产品序列号、各个配置名字、各个接口名字,还有就是由我们用户自己定义的字符串,说白了就是起名字,让人们一看就知道这个设备是什么设备, 阅读全文
posted @ 2024-08-13 21:16 yooooooo 阅读(597) 评论(0) 推荐(0)
摘要:1.USB描述符 USB描述符有设备描述符、标准配置描述符、接口描述符、端点描述符、字符串描述符,HID设备有HID描述符、报告描述符和物理描述符。今天主要是学习USB端点描述符的组成。 2.端点描述符组成 前面讲了设备描述符、标准配置描述符、接口描述符,本篇我们讲解端点描述符。首先要明确的一点是端 阅读全文
posted @ 2024-08-11 21:25 yooooooo 阅读(1051) 评论(0) 推荐(0)
摘要:1.USB描述符 USB描述符有设备描述符、标准配置描述符、接口描述符、端点描述符、字符串描述符,HID设备有HID描述符、报告描述符和物理描述符。今天主要是学习USB接口描述符的组成。 2.接口描述符组成 前面讲了设备描述符和标准配置描述符,本篇我们讲解接口描述符。首先要明确的一点是接口描述符不能 阅读全文
posted @ 2024-08-11 20:35 yooooooo 阅读(561) 评论(0) 推荐(0)
摘要:1.USB描述符 USB描述符有设备描述符、标准配置描述符、接口描述符、端点描述符、字符串描述符,HID设备有HID描述符、报告描述符和物理描述符。今天主要是学习USB标准配置描述符的组成。 2.标准配置描述符组成 一个USB设备至少有一个或者多个配置,这一点可以从设备描述符的最后一项bNumCon 阅读全文
posted @ 2024-08-11 12:43 yooooooo 阅读(870) 评论(0) 推荐(0)
摘要:USB协议详解第2讲(协议核心学习要点) 看了这么多概念,想必大家会问“我要学会USB协议,并且会编程,我具体要学习那些有关的内容?”,这一篇我们将会讲解在学习USB协议中务必要掌握的知识点,罗列如下(后期文章逐一攻克): (1)USB描述符 (2)USB传输 (3)USB事务 (4)USB包(☆☆ 阅读全文
posted @ 2024-08-10 23:05 yooooooo 阅读(511) 评论(0) 推荐(0)
摘要:0.概括 USB协议学习中最重要几个概念如下,没有提及的就是对USB协议学习中不重要的或者编程不需要用到的。大家也不用着急,概念必须要学会,否则都不知道下面这些东西是什么还学什么通用串行总线协议,大家也不用怕,其实也没有那么高深莫测。 1.USB传输(Transfer) 2.USB传输中事务(Tra 阅读全文
posted @ 2024-08-10 22:37 yooooooo 阅读(637) 评论(0) 推荐(1)