### USB协议学习总结 #### 一、USB的基本概念 ##### 1.1 位的传输顺序 在USB通信中,数据传输遵循一个特定的规则,即先发送最低有效位(Least Significant Bit, LSB),后发送最高有效位(Most Significant Bit, MSB)。这种传输方式有助于确保数据的完整性,并简化了数据的解析过程。 ##### 1.2 包的分类 在USB通信中,所有的数据传输都以“包”为单位进行。不同类型的包具有不同的结构和功能: - **标记符包**:用于标识后续的数据包类型,例如令牌包可以标识数据包是属于批量传输还是控制传输等。 - **帧开始包**:标识USB总线的一个新帧的开始,用于时间同步。 - **数据包**:包含实际的有效载荷数据。 - **状态包**:通常用于确认数据包是否被正确接收或告知错误状态。 ##### 1.3 事务的类型 根据不同的应用场景,USB定义了几种主要的事务类型: - **批量事务**:主要用于高速数据传输,如文件传输或打印数据。它包括标记符包、数据包和状态包。 - **控制事务**:用于设置或获取USB设备的配置信息。通常包含标记符包和状态包。 - **中断事务**:用于处理USB设备的中断请求,如键盘按键事件。它同样包含标记符包和状态包。 - **同步事务**:主要用于音频流传输等需要精确同步的应用。这类事务包含标记符包和数据包,但没有状态包,以确保数据传输的实时性。 #### 二、USB协议结构 ##### 2.1 USB的拓扑结构 USB系统采用一种树形拓扑结构,每个USB主机可以支持多个USB设备通过集线器连接。理论上,一个USB主机可以支持多达127个USB设备。这种结构允许USB设备灵活地添加或移除而无需重启整个系统。 ##### 2.2 设备与主机间的通信流程 当一个USB设备连接到主机时,其工作状态会经历以下几个阶段: 1. **连接状态**:当USB设备物理连接到USB总线时,即进入连接状态。 2. **上电状态**:在此状态下,USB总线开始为USB设备供电。 3. **默认状态**:上电后,USB设备进入默认状态,此时它通过默认地址与主机通信。主机通过这一过程获取USB设备的基本信息。 4. **配置状态**:主机根据从USB设备接收到的信息对其进行配置,如分配唯一的地址和其他必要参数。 5. **通讯状态**:配置完成后,USB设备通过分配的地址与主机进行数据交换。 6. **挂起状态**:在没有数据交换的情况下,为了节省能源,USB设备会被置于挂起状态。 ### 总结 USB协议作为现代计算机系统中最常用的接口之一,在各种场景下都有着广泛的应用。通过理解USB协议的基本概念、包的类型、事务分类以及设备与主机之间的通信流程,可以更好地掌握如何利用USB接口进行高效的数据交换。无论是对于开发者还是最终用户而言,深入理解这些细节都将是非常有价值的。
2024-08-18 16:26:49 26KB USB协议学习总结
1
总结ppt,里面有两种机器学习或深度学习入门需掌握的算法(包括),有比较详细的个人学习理解(看吴恩达视频学习的)和算法描述。还有几篇关于显著性的论文的部分内容,及其评价措施。
2024-01-12 17:44:26 4.94MB 深度学习 神经网络 支持向量机
1
“数据结构与算法”课程学习总结报告内容要求.doc “数据结构与算法”
2023-12-09 13:39:40 24KB “数据结构与算法”
1
牛人的PHP学习总结笔记
2023-11-24 09:04:51 332KB
1
最近学习总结,近两个月的文献阅读以及理解,现将其总结如下:本文将阐述JESD204B协议、Xilinx 7系GT口底层结构及实现,挂于此一为电子网盘,二为分享交流。
2023-05-11 17:35:34 2.26MB fpga开发 jesd204b vivado
1
介绍了PureMVC框架结构以及PureMVC下消息发送机制,有助于更好的了解和学习PureMVC架构
2023-03-04 11:06:19 5.7MB PureMVC
1
软件测试通过标准:适用范围、Bug分类标准/等级划分/状态说明(学习总结) 通过标准 (1) 需求规格说明书中的需求必须全部实现并测试通过。 (2) 主流程畅通,系统没有一类和二类Bug。 (3) 测试用例写完之后,对这阶段的bug剩余数量制定一个标准(这个标准需根据项目的复杂程度分别制定,比如国企剩余Bug不能超过60个,综合平台不能超过30个)。这阶段最终测试结果Bug数需在剩余标准之内。 (4) 剩余三类四类有争议的bug,测试人员和项目经理需讨论通过,如果无法达成一致,需项目管理办公室介入,决定是否遗留有争议的Bug。 (5) 测试结果不通过时,经商议,剩余Bug虽重要但不影响本次使用,需出具一份报告,留作上线依据。 (6) 上线前/后(内公测/外公测),进行α测试(非开发测试人员进行测试),收集问题,增加系统的可靠性。
2023-03-02 15:36:27 556KB 软件测试
1
该资源整理方式很独特,是利用结构图的形式进行整理。 该资源是对多核并行计算的总结,里面包含并行和并发,各种锁机制,同步机制,互斥机制,并发数据结构等内容的总结。有了该图,学习多处理器编程,会有很大的指导效果
2023-01-02 16:59:21 582KB 多核 互斥 并发
1
本文来自于csdn,文章主要介绍了集成学习的几种方法和其相应的应用等相关内容。集成学习主要分为bagging,boosting和stacking方法。本文主要是介绍stacking方法及其应用。但是在总结之前还是先回顾一下继承学习。这部分主要转自网络。给定一个大小为n的训练集D,Bagging算法从中均匀、有放回地选出m个大小为n'的子集Di,作为新的训练集。在这m个训练集上使用分类、回归等算法,则可得到m个模型,再通过取平均值、取多数票等方法综合产生预测结果,即可得到Bagging的结果。加入的过程中,通常根据它们的上一轮的分类准确率给予不同的权重。加和弱学习者之后,数据通常会被重新加权,来
2023-01-01 20:51:29 153KB 集成学习总结&Stacking方法详解
1
总结的模板
2023-01-01 19:51:46 292KB vue
1