36、USB设备驱动

简介: USB(Universal Serial Bus)串行通用总线,支持即插即用,也称之为菊链(daisy chaining),因为在一条线缆上可以最多链接127个设备;速度传输速率可达4Mb/s~12Mb/s。

    USBUniversal Serial Bus)串行通用总线,支持即插即用,也称之为菊链(daisy chaining,因为在一条线缆上可以最多链接127个设备;速度传输速率可达4Mb/s~12Mb/sUSB采用级联方式。<?xml:namespace prefix = o />

1USB连接拓扑结构

1USB host控制器;host控制器其实也就是一个PCI设备,挂载在PCI总线上。

2USB HubUSB设备。

我们可以将USB设备理解也一个USB Host连接多个逻辑设备。

wps_clip_image-15952

wps_clip_image-6718

2USB通信流程

USB的连接模式是HostDevice的连接模式,所有的请求都是由HostDevice发出。

wps_clip_image-2148

SWsoftware

    每个USB设备都会有多个管道。对于USB设备驱动程序员,主要工作在USB设备层。

对于每个USB设备,都有一个或者多个的接口,每个接口(Interface)有多个端点(Endpoints,每个端点通过管道(Pipes)USB Host控制器连接。每个USB设备都会有一个特殊的端点,Endpoint0,它负责传输设备的描述信息,同时也负责传输PC与设备之间的控制信息。

wps_clip_image-17363

USB设备驱动向USB控制器驱动请求请求的每次传输被称为一个事务,事务有四种类型,Bulk Transaction,Control Transaction,Interrupt Transaction,Isochronous Transaction。每次事务都会分解成若干个数据包在USB总线上传输。每次传输必须经历两个或三个部分;第一部分,USB控制器向USB设备发出命令,第二部分是USB控制器和USB设备之间传递读写请求,是可选的,第三部分是握手信号。

如下为Bulk Transaction的示意图:

wps_clip_image-7376

wps_clip_image-22829

其它参见[1]

3、关于Windows 下的USB驱动

常用usbviewBusHound来观察和分析USB设备。关于USB设备请求,设备描述符,配置描述符,接口描述符,端点描述符,及USB具体实例,可以参见[1]

USB驱动程序的主要功能就是设置这些USB令牌,和获取USB设备描述符。USB驱动程序将这些请求最终转化为USB请求包(URB),然后发往USB总线驱动程序。

[1] Windows驱动开发详解,张帆

目录
相关文章
|
XML 传感器 数据格式
可编程 USB 转串口适配器开发板简单好用
上面写的东西不少,其实这个模块用法特别简单,拿到套件和专门的工具软件后一分钟都不需要就完全明白了,如果想编写自己的xml驱动,随便打开一个照葫芦画瓢,然后另存就行。
|
数据采集 Shell 芯片
vxworks的pci设备驱动调试
vxworks的pci设备驱动调试
602 0
vxworks的pci设备驱动调试
可编程 USB 转串口适配器开发板 USB 转 UART和 I2C
USB2S 内置了 USB 转UART 芯片,可使用CH340/CH341 驱动程序。驱动安装步骤如下: 双击运行“CH341SER\SETUP.exe”,打开驱动安装窗口。
可编程 USB 转串口适配器开发板 USB 转 UART和 I2C
|
存储 芯片
可编程 USB 转串口适配器开发板 UART 转 I2C
AT24Cxx 是可擦写 EEPROM 存储芯片,xx 表示容量,单位为 Kbits。USB2S 板上已有 1 片 AT24Cxx (默认为 AT24C02),设备地址为 0xA0。
可编程 USB 转串口适配器开发板 UART 转 I2C
|
网络安全 芯片 内存技术
可编程 USB 转串口适配器 UART 转 SPI 应用
GD25Qxx 是四线SPI 接口的 FLASH 芯片,最大容量可达 16Mbytes。板上集成有 GD25Q64 芯片, 每页 256 字节,每扇区 16 页(4k 字节),每块区 256 页(64k),写入前必须先擦除,本芯片支持扇区擦除、块区擦除和整片擦除。
可编程 USB 转串口适配器 UART 转 SPI 应用
|
网络安全 芯片 内存技术
可编程 USB 转串口适配器开发板 UART 转 SPI 应用
GD25Qxx 是四线SPI 接口的 FLASH 芯片,最大容量可达 16Mbytes。板上集成有 GD25Q64 芯片, 每页 256 字节,每扇区 16 页(4k 字节),每块区 256 页(64k),写入前必须先擦除,本芯片支持扇区擦除、块区擦除和整片擦除。
可编程 USB 转串口适配器开发板 UART 转 SPI 应用
|
存储 芯片
可编程 USB 转串口适配器开发板 USB 转 UART I2C 应用
USB 转UART 原理 驱动程序安装后,计算机通过 COMx 与 MCU 进行通讯,当 USB2S 的 UART 透明传输功能为开启状态时(默认),MCU 可将 UART1 与UART2 的双向数据进行透明转发,即:实现了计算机的COMx 端口与 USB2S 的对外 UART2 端口的双向数据传输。
可编程 USB 转串口适配器开发板 USB 转 UART  I2C 应用
|
网络安全 网络虚拟化
USB Webcams安装
USB Webcams安装
125 0
USB Webcams安装