usb 驱动开发
usb 的基本概念
这个忽略, 基本上usb 是啥都知道
usb 的拓扑结构
usb 是一种主从结构的系统
usb主机由usb主控之器(Host Controller)和根集线器(Root Hub) 构成
usb 主控制器: 主要负责数据处理(就是我们看到的那些usb口);
根集线器: 提供一个连接主控制器与设备之间的接口和通路
usb从机可以是各种usb设备也可以是集线器
usb 集线器(USB Hub)(其实就是扩展坞, 根集线器是在机箱内部的扩展坞):
对原有的usb接口数量进行扩展, 以获得更多的usb设备接口 但不能扩展出更多的带宽, 也就是说连接的usb设备越多越慢
注意的点
-
主从结构 只能主从模式之间数据交互 和modbus 通信协议相同
-
数据交换只能发生在主从设备之间, 主机与主机之间或从机或从机之间是不能通信的
-
所有从机都必须经过的集线器(hub)与主机相连
-
与主机相连的集线器,叫根集线器, 用户外接的一般是都是普通的集线器
-
usb 数据交换不能发生在主机与主机之间或设备与设备之间, 只能发生在主机与设备之间。
-
usb one-the-go 是usb 的补充协议版本 是可以实现主从机之间的转换
我们所看到到usb 接口其实不是直接链接到主机上的, 它是由一个集线器, 把我们能看到的usb口连接之后由一个口进行与主机连接
usb 2.0 协议最多能接6层集线器(不包括根集线器)上能由126口(集线器占一个口127口)0地址是存放未识别的usb口
USB 设备地址由7bit 二进制表示, 所以一个usb 住控制器理论上可以接127个设备(包含集线器), 但通常0 地址被保留给位初始话的设备使用, 集线器也是一种设备
每一个usb 设备都由一个唯一的7bit 从机地址 (不包括0地址)