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

embedded/2024/11/14 19:38:13/

总线速度及主机控制器

USB系统架构

https://imagehyj.oss-cn-hangzhou.aliyuncs.com/blog/20240821164819.png

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

嵌入式设备的USB架构视图

USB标准传输速度
USB1.01.5MB/s
USB1.112MB/s
USB2.0480MB/s

传输模式和寻址方法

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

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

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

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

USB驱动整体框架结构

https://imagehyj.oss-cn-hangzhou.aliyuncs.com/blog/20240821182923.png

USB子系统架构视图

https://imagehyj.oss-cn-hangzhou.aliyuncs.com/blog/20240821185810.png

USB驱动总线数据结构

  1. usb设备描述符结构体类型

https://imagehyj.oss-cn-hangzhou.aliyuncs.com/blog/20240821190554.png

  1. usb设备结构体类型

https://imagehyj.oss-cn-hangzhou.aliyuncs.com/blog/20240821192306.png

  1. usb配置描述符结构类型

https://imagehyj.oss-cn-hangzhou.aliyuncs.com/blog/20240821190758.png

  1. 接口描述符类型

https://imagehyj.oss-cn-hangzhou.aliyuncs.com/blog/20240821190906.png


http://www.ppmy.cn/embedded/98622.html

相关文章

平衡日常工作与提升式学习话题有感

文章目录 前言1.工作是什么?2.怎么提升技术?3.工作/学习与生活的平衡总结 前言 这篇博客是针对程序员如何平衡日常编码工作与提升式学习?这个话题进行的个人观点阐述,个人所思所想罢了。 刚毕业没几年,水平有限&#…

交流220V转5V100MA非隔离降压芯片应用在烧水壶上的设计与实现

### 交流220V转5V100MA非隔离降压芯片应用在烧水壶上的设计与实现 #### 引言 随着科技的不断发展,智能家居产品逐渐走进千家万户。烧水壶作为日常生活中常用的电器之一,其智能化和安全性也越来越受到消费者的关注。本文将介绍一种基于AH8652芯片的交流…

Java-接口查询没有值,需要多次调用直到有值,实现方法

CompletableFuture 结合定时重试的策略 使用 CompletableFuture 结合定时重试的策略可以有效地处理异步操作,并在遇到失败时自动重 试。下面是一个使用 Java 实现的例子,展示了如何利用 CompletableFuture 和定时重试来获取数 据。 import java.time.Duration; import ja…

原生 cesium 实现热力图功能

预览:https://z2586300277.github.io/three-cesium-examples/#/codeMirror?navigationCesiumJS&classifyexpand&idheatMap 国内预览:http://threehub.cn/ 开源地址:https://z2586300277.github.io/three-cesium-examples/#/exampl…

SpringBoot-读取配置文件内容

目录 前言 主页(端口号默认8080) 1 Value 注解 引用变量的使用 2 Environment 对象 3 ConfigurationProperties (配置内容和对象,进行相互绑定) 前言 读取配置文件有3 种方式 (1) Value注解 (2) Environm…

Redis 有序集合【实现排行榜】

使用 Redis 的 Sorted Set 数据结构可以非常高效地实现实时排行榜功能。Sorted Set 允许将元素按分数进行排序,同时支持插入、删除和查询操作,且这些操作的时间复杂度较低,非常适合处理高并发的场景。 实现思路 插入操作:当用户…

MyBatis源码系列3(解析配置文件,创建SqlSessionFactory对象)

创建SqlSessionFactory; 首先读取配置文件,使用构造者模式创建SqlSessionFactory对象。 InputStream inputStream Resources.getResourceAsStream("mybatis-config.xml");SqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder…

CPMF复现笔记(1):docker环境配置+数据预处理

文章来自曹云康的最新论文《Complementary Pseudo Multimodal Feature for Point Cloud Anomaly Detection》,在MVTecAD-3D取得了最佳分数。代码地址:caoyunkang/CPMF: [PR] Complementary Pseudo Multimodal Feature for Point Cloud Anomaly Detection (github.com) 我的复…