usb概念小结

来源:互联网 发布:虚拟演播厅软件 编辑:程序博客网 时间:2024/06/06 00:45

1. 每个usb设备都有一个或多个接口(interface),每个interface都有多个端点(endpoint),每个端点通过管道(pipe)和 usb host(USB主机)控制器连接,usb host与pdo(Physical Device Object,物理设备对象)相连,pdo与fdo(Function Device Object,功能设备对象)相连。

usb设备——interface——endpoint-----pipe-----usb host——pdo——fdo

                                   USB设备、接口、端点、管道、USB主机



    端点是可唯一识别的USB设备的一部分,它是主机与设备间通信流的一个结束点。一系列相互独立的端点在一起构成了USB逻辑设备。每个设备有一个唯一的地 址,这个地址是在设备连上主机时由主机分配的,而设备中的每个端点在设备内部有唯一的端点号。这个端点号是在设备设计时给定的。每个端点都是一个简单的连 接点,或者支持数据流进设备,或者支持数据流出设备,两者不可兼得。

    USB管道是设备上的端点和上位机软件之间的联系,体现了主机上缓存和端点间传送数据的能力。


2. 管道有4种,分别为:

UsbdPipeTypeControl(控制管道) :
Specifies that this pipe is a control pipe.

UsbdPipeTypeIsochronous (同步传输管道):
Specifies that this pipe uses isochronous transfers.

UsbdPipeTypeBulk(批量传输管道) :
Specifies that this pipe uses bulk transfers.

UsbdPipeTypeInterrupt (中断管道):
Specifies that this pipe uses interrupt transfers. A value will be set in Interval to indicate how often this pipe is polled for new data.

3. FDO负责向上提供给应用程序接口,向下指定何种接口,发送何种管道。

4. endpoint0: (特殊的端点)负责传输设备的描述信息,负责传输pc与设备之间的控制码。


们先用控制传输来发起对U盘的访问,然后使用块
传输copy U盘里面的内容。键盘使用中断传输以便及时响应对键盘的敲击。


在usb 拓扑结构中,每一个usb device 都叫一个endpoint, 每个一个endpoint 都会有一个唯一的地址。每一个
endpoint 都会有其相应的传输类型,endpoint 0 只用来配置devie.


管道(Pipe)
管道是由下面几个成员构成:
endpoint 的地址
数据传输的方向
数据传输的类型(control, interrupt, bulk, isochronous)




描述符大致可以分为四类:
设备描述符(device descriptor):


    对应的结构体为 usb_config_descriptor, 里面放了有一个设备最general的信息,
比如 product ID, vendor ID.


配置描述符:


    对应的结构体为usb_config_descriptor, 里面放着不同的配置模式,比如是bus powered, 还是
self-powered. 


接口描述符:


    正是这个描述符使得USB device 可以支持多种功能,它对应的结构体为usb_interface_descriptor.


Endpoint 描述符:


    对应的结构体为usb_endpoint_descriptor, 用来描述最终的endpoint.




枚举过程主要分这么几个步骤:
1.当一个usb device 插入的时候,usb hub 就会检测到状态的变化,然后它就会去唤醒khubd.
2. khubd 解析到是哪个port 有新的device 插入。
3.khubd从1到127中选择一个地址分配给它。
4, khubd 从endpoint 0 抓到它的描述符。
5.khubd 请求usb core 将这个device 绑定到合适的driver上面。


当枚举结束并且device和相应的驱动绑定之后, khubd 调用这个driver 的 probe函数。




接口、是设备的一种描述符之一,同时也是端点的集合,用于开启且保存端点。


原创粉丝点击