[干货][linux][usb][usbmouse]:usbmouse.c剖析(第二话)

USB 背景知识介绍:

目录

USB 背景知识介绍:


#1 USB的各个版本/传输速率/英文别名/输出电流

[干货][linux][usb][usbmouse]:usbmouse.c剖析(第二话)

 

#2 USB驱动框架

[干货][linux][usb][usbmouse]:usbmouse.c剖析(第二话)

其中usbmouse.c就属于USB设备驱动,USB Core 和 USB 主机控制器内核已经帮我们实现。

内核是伟大的,为了减缓程序搬砖民工脱发的速度,默默的奉献了自己的靓丽青春。

# USB 电器特性

[干货][linux][usb][usbmouse]:usbmouse.c剖析(第二话)

# USB的四种传输方式

[干货][linux][usb][usbmouse]:usbmouse.c剖析(第二话)那么,usbmouse.c会用到其中的控制传输和中断传输。

这里的中断并非物理意义上的IRQ, 只是指的是:每隔一定的周期要求传输一次(并不是要求必须按固定周期要发送一次数据)。这个中断的名字有点挂羊头卖狗肉,可以单纯理解成轮询 。

 

 # USB的四种描述符

USB 2.0规范里提供的描述符不止四种,但是我们这里抓住主要矛盾,只挑选最重要的四种来讲。

[干货][linux][usb][usbmouse]:usbmouse.c剖析(第二话)

1.  设备描述符描述有关USB设备的一般信息。它包括信息全局适用于设备和所有设备的配置。 USB设备只有一个设备描述符。

2.  配置描述符描述有关特定设备配置的信息。USB设备具有一个或多个配置描述符。 每个配置都有一个或多个接口,每个接口都有零个或多个端点。

3.  接口描述符描述配置中的特定接口。 配置提供一个或多个接口,每个接口具有零个或多个端点描述符,用于描述配置中的唯一端点集。

4.  用于接口的每个端点都有自己的描述符。 此描述符包含主机确定每个端点的带宽要求所需的信息。

 持续输出干货,敬请关注。

 

 

上一篇:Java 设计模式---适配器模式


下一篇:Sigrok逻辑分析仪软件(基于CY7C68013A)