Linux源码阅读笔记-USB设备驱动架构

总线速度及主机控制器

USB系统架构

USB系统主机端提供为4个引脚的A型接口,USB外围设备通过4个引脚的B型接口和主机端连接。那4个引脚(一条电压线VBUS、一条地线GND、一条正方向传输数据的D+和一条反方向传输数据的D-线。)USB主机和USB设备收发器可以采用相同型号的芯片。

嵌入式设备的USB架构视图

USB标准 传输速度
USB1.0 1.5MB/s
USB1.1 12MB/s
USB2.0 480MB/s

传输模式和寻址方法

  1. USB传输模式:控制传输模式,中断传输模式,登时传输模式,批量传输模式。

  2. 寻址:USB设备里面每个寻址单元称为端点。为每个端点分配的地址称为端点地址。每个端点地址都与之相关的传输模式。

  3. 每个端点可以沿上行方向发送数据,也可以沿下行方向接收数据。沿上行防线从设备收数据叫IN传输;数据沿下行方向到达设备叫OUT传输。

  4. USB驱动整体框架结构及USB子系统架构视图。

USB驱动整体框架结构

USB子系统架构视图

USB驱动总线数据结构

  1. usb设备描述符结构体类型
  1. usb设备结构体类型
  1. usb配置描述符结构类型
  1. 接口描述符类型
相关推荐
吴半杯4 分钟前
Mysql调优之性能监控(一)
java·linux·mysql
Wendy_robot4 分钟前
远程连接MySQL并操作
linux·c++·mysql
WZF-Sang4 分钟前
【MySQL】数据类型【mysql当中各自经典的数据类型的学习和使用】
linux·数据库·sql·学习·mysql·adb
我命由我123454 分钟前
ADB 之 logcat 极简小抄(过滤日志、保存日志到文件)
android·运维·adb·android studio·安卓·运维开发·android-studio
迷茫运维路8 分钟前
mysql5.7常用操作命令手册
运维·数据库
圆头圆脑圆JAVA17 分钟前
MQ(RabbitMQ)笔记
笔记·rabbitmq·java-rabbitmq
.生产的驴20 分钟前
Docker 消息队列RabbitMQ 安装延迟消息插件
运维·spring boot·后端·docker·容器·rabbitmq·java-rabbitmq
霸道流氓气质34 分钟前
CentOS上使用Mosquitto实现Mqtt主题消息发布和订阅mqtt主题消息连同时间戳记录到文件
linux·运维·mqtt·centos·mosquitto
高危型36 分钟前
CentOS 入门
linux·运维·centos
mit6.82439 分钟前
[Linux#49][UDP] 2w字详解 | socketaddr | 常用API | 实操:实现简易Udp传输
linux·网络·c++·笔记·后端