### 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
文章《SCSI介绍和SCSI命令承载于各类总线的方式》(链接:https://mp.csdn.net/mp_blog/creation/editor/130845573)一文当中提到的SCSI协议结构相关的协议文档,以及USB和SATA一些总线相关协议文档。 该压缩共包含以下协议文档: SCSI相关: SCSI Architecture Model - 4 (SAM-4) SCSI ATA Translation - 2(SAT-2) SCSI ATA Translation-3(SAT3) SCSI Primary Commands - 4(SPC-4, SAS, sbc3r24(SBC-3), NVM_Express_SCSI_Translation UAS-2, BOT 存储设备相关: Mass_Storage_Specification_Overview Serial ATA Revision 3.5a(SATA) Storage Driver Design Guide USB 3.2 Revision 1.0 一站式解决SCSI学习问题,买不了吃亏买不了上当
2024-04-10 10:56:21 34.33MB SCSI协议 USB协议 SATA协议
1
本资料属原创,从USB驱动CDC设备的原理,框架,具体协议,分析波形,以及实验的平台,实验条件等等做出详细的描述。将近1个月的梳理学习整理而出,对学习人员很有帮助。
2023-12-26 20:35:40 4.12MB USBHOST USB协议分析
1
本文件包含协议和枚举流程等等,应该是最全最仔细的归档,分享给大家 0.0.USB1.1 spec协议中文版 1.USB设备请求 2.USB描述符详解 3.USB的控制传输详解 4.USB协议物理层总结 5.USB协议中的建立事务 6.HID描述符详解-en 7.USB枚举过程 8.HIDUsageTables 9.USB_HID协议中文版_USB接口HID设备 11.传输线终端阻抗匹配 12.VID-PID解释 13.通用串行总线通用类规范-en 14.usb_20 20.HID描述符工具
2023-11-07 17:37:03 74.15MB USB协议 usb USB枚举
1
USB 2.0 协议中文版说明 便于代码平台移植
2023-08-02 18:50:20 971KB usb usb_2.0 usb协议中文版 协议中文
USB协议集:OHCI_r1.0a、USB2.0协议中文版、OHCI-1.0a中文版等
2023-03-18 19:38:13 2.86MB OHCI
1
SCSI协议
2023-02-16 16:17:31 4.4MB USB协议
1
设计一种可实现通用串行接口(USB)接口与低压差分信号(LVDS)接口相互转换的接口转换器。设计中使用专用转换器USB3300,SN65LV1023以及SN65LV1224,将USB和LVDS协议的物理层差分信号转换成并行数据信号,这样便能用较为简单的FPGA编程实现协议数据转换。
1
两个经常用于USB通信分析的上位机软件,BusHound和USBlyzer,可以对与PC机通信的任何USB设备的通信过程进行捕获,便于开发人员了解USB设备的运行情况。
2023-02-04 20:08:58 4.66MB USB协议分析 BusHound USBlyzer USB枚举分析
1
里面有USB的英文及中文协议。 USB Spec11.pdf USB Spec20.pdf usb 中文协议 USB+2[1].0协议.pdf
2022-12-05 14:49:52 9.74MB USB 协议
1