This commit is contained in:
weidongshan
2022-08-11 18:06:06 +08:00
parent b0aed217bc
commit b7ed96a849
4 changed files with 52 additions and 5 deletions

View File

@@ -0,0 +1,44 @@
# 软件工程师眼里的USB数据格式 #
参考资料:
* 《圈圈教你玩USB》
* 简书jianshu_kevin@126.com的文章
* [USB协议](https://www.jianshu.com/p/3afc1eb5bd32)
* [USB协议(二)](https://www.jianshu.com/p/cf8e7df5ff09)
* [USB协议(三)](https://www.jianshu.com/p/2a6e22194cd3)
* 官网https://www.usb.org/documents
![image-20220721151007143](pic/02_usb_doc.png)
* 《usb_20.pdf》的《Chapter 8 Protocol Layer》
* USB的NRZI信号格式https://zhuanlan.zhihu.com/p/460018993
* USB2.0包Packet的组成https://www.usbzh.com/article/detail-459.html
## 1. 硬件拓扑结构
![image-20220728174154216](pic/06_usb_phy_topology.png)
* compound device 多个设备组合起来通过HUB跟Host相连
* composite device :一个物理设备有多个逻辑设备(multiple interfaces)
在软件开发过程中我们可以忽略Hub的存在硬件拓扑图简化如下
![image-20220811095532822](pic/25_usb_host_device.png)
一个物理设备里面可能有多个逻辑设备Hos可以外接多个逻辑设备硬件拓扑图如下
![image-20220811095040113](pic/24_bus_topology.png)
## 2. 数据包格式
![Packet内容](pic/23_usb_packet.png)
### 2.1 字节/位传输顺序
先传输最低位(LSB)。在后续文档中,显示数据时按照传输顺序从左到右列出来。

View File

@@ -1,4 +1,4 @@
# USB数据流模型 #
# 软件工程师眼里的USB数据格式 #
参考资料:
@@ -9,10 +9,9 @@
* [USB协议(三)](https://www.jianshu.com/p/2a6e22194cd3)
* 官网https://www.usb.org/documents
![image-20220721151007143](pic/02_usb_doc.png)
* 从官网下载后解压,可以得到如下文件(放在GIT仓库里了)
![image-20220721152136238](pic/04_usb_20.png)
* 《usb_20.pdf》的《Chapter 7 Electrical》
* USB的NRZI信号格式https://zhuanlan.zhihu.com/p/460018993
* USB2.0包Packet的组成https://www.usbzh.com/article/detail-459.html
## 1. 硬件拓扑结构
@@ -23,3 +22,7 @@
* compound device 多个设备组合起来通过HUB跟Host相连
* composite device :一个物理设备有多个逻辑功能(multiple interfaces)
## 2. 软件拓扑结构

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB