Linux之 USB驱动框架-基础知识整理(1)

本文介绍了USB总线的历史发展,包括各版本速度提升,热插拔功能,设备与驱动的匹配机制,以及USB的四种传输方式。详细讲解了USB驱动的分类,如内核代码分析和USBOTG的特点,概述了USB技术的基础知识。
摘要由CSDN通过智能技术生成

一、usb 总线驱动框架图

二、usb 总线发展历程

  1. USB 1.0:最初的USB规范,于1996年发布,速度为1.5 Mbps(低速)和12 Mbps(全速)。

  2. USB 1.1:1998年发布,对USB 1.0规范进行了一些修订和改进。

  3. USB 2.0:2000年发布,速度为480 Mbps(高速),对USB 1.x的速度进行了显著提升。

  4. USB 3.0 / USB 3.1 Gen 1:2008年发布,速度为5 Gbps(超速)。在2013年,USB 3.0被重命名为USB 3.1 Gen 1。

  5. USB 3.1 Gen 2:2013年发布,速度为10 Gbps(超速)。

  6. USB 3.2 Gen 1x1 / USB 3.2 Gen 1 / USB 3.2 Gen 1x2:2017年发布,速度为5 Gbps(超速)。

  7. USB 3.2 Gen 2x1 / USB 3.2 Gen 2:2017年发布,速度为10 Gbps(超速)。

  8. USB 3.2 Gen 2x2:2017年发布,速度为20 Gbps(超速)。

  9. USB4:2020年发布,速度为40 Gbps。结合了USB 3.2和Thunderbolt 3标准,提供更高的数据传输速度和更多功能。

三、usb 热插拔

四、usb 设备拓扑图

五、 usb 设备和usb 驱动如何匹配

  USB设备与USB驱动怎么匹配的呢?实际上USB设备中有一个模块叫固件,是固件信息和USB驱动进行的匹配。固件是固化在集成电路内部的程序代码,USB固件中包含了USB设备的出厂信息,标识该设备的厂商ID、产品ID、主版本号和次版本号等。另外固件中还包含一组程序,这组程序主要完成USB协议的处理和设备的读写操作。USB设备固件和USB驱动之间通信的规范是通过USB协议来完成的。

六、usb四种传输方式

  端点的传输方式包括控制传输、中断传输、批量传输、等时传输。
  1、(control)控制传输主要用于向设备发送配置信息、获取设备信息、发送命令道设备,或者获取设备的状态报告。控制传输一般发送的数据量较小,当USB设备插入时,USB核心使用端点0对设备进行配置,另外,端口0与其他端点不一样,端点0可以双向传输。
    2、(interrupt)中断传输就是中断端点以一个固定的速度来传输较少的数据, USB键盘和鼠标就是使用这个传输方式。这里说的中断和硬件上下文中的中断不一样,它不是设备主动发送一个中断请求,而是主机控制器在保证不大于某个时间间隔内安排一次传输。中断传输对时间要求比较严格,所以可以用中断传输来不断地检测某个设备,当条件满足后再使用批量传输传输大量的数据。
    3、(bulk)批量传输通常用在数据量大、对数据实时性要求不高的场合,例如 USB打印机、扫描仪、大容量存储设备、U盘等。
    4、(isochronous)等时传输同样可以传输大批量数据,但是对数据是否到达没有保证,它对实时性的要求很高,例如 音频、视频等设备。

7、usb 驱动分类

 内核代码分析包括USB驱动框架、鼠标驱动、键盘驱动、U盘驱动:
USB驱动编写的主要框架/drivers/usb/usb-skeleton.c
USB鼠标驱动 /drivers/hid/usbhid/usbmouse.c
USB键盘驱动动 /drivers/hid/usbhid/usbkbd.c
USB Mass Storage是一类USB存储设备, U盘便是其中之一,主要分析的驱动文件是/drivers/usb/storage/usb.c

/drivers/usb/host/ :usb host control 主机控制器驱动(嵌入式otg:dwc_otg)

/drivers/usb/serial :usb 串行设备驱动(例如 usb 3G 卡、蓝牙)。

之后会对每个USB驱动进行分析源码,继续加油

8、USB OTG

现在市面上有些设备(比如MP4)既能插上电脑当U盘使用,也能接上U盘读取U盘。这就是OTG(On-The-Go),既可以做主设备也可以做从设备,传说中的雌雄同体。OTG不仅支持控制器的主从切换,在一定程度上,也支持相同设备之间的数据交换。

9、上面是usb 总线的基础知识

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值