USB 基础知识大纲(附高清图)

简介: USB 基础知识大纲(附高清图)

前言


本文重新梳理 USB 的基础知识,旨在全面的整理一下USB各协议以及设备之间的关系,先发散在收敛,有助于我们有目的去学习。


本文旨在给出一个基本大纲,后续可根据工作需要,以一个点或者一类协议为研究然后在慢慢扩散,切忌弥散在USB 的协议中找不到方向。


大纲


USB 总览


  • 协议


  • USB 1.1


  • USB 2.0


  • USB 3.0


  • USB 4


  • 传输方式


  • 控制传输


  • 中断传输


  • 批量传输


  • 同步传输


  • USB 描述符


  • HID 描述符


  • 报表描述符


  • 设备描述符


  • 配置描述符


  • 字符串描述符


  • 接口描述符


  • 端点描述符


  • 基础描述符


  • HID


  • 设备限定描述符


  • 其他速率配置描述符


  • USB 请求


  • 标准请求


  • 类请求


  • 设备类


  • usb 鼠标、键盘


  • u 盘


  • 网卡


  • 打印机


  • usb 摄像头


  • ...


  • 基类


  • 子类


  • 协议


  • 代表设备


  • 设备类协议


  • CDC-ACM


  • CDC-ECM


  • CDC-NCM


  • CDC-EEM

  • CDC-WMC


  • CDC-RNDIS


  • UVC


  • UAC


  • HID


  • DFU


  • Mass Storage


  • CDC


如何学习?


  • 以一类设备为主:比如音频或者视频或U盘


  • 学习一种CDC协议:CDC ACM 或者CDC-RNDIS,掌握基础的通信驱动适配


  • 掌握DFU:了解DFU 升级过程


完整思维导图如下


image.png

相关文章
|
5月前
|
SQL 容灾 Nacos
Seata的部署和集成
本文介绍Seata分布式事务框架的部署与集成。首先下载并解压seata-server-1.5.1,修改application.yml配置,将seataServer.properties配置上传至Nacos作为统一配置中心,并创建所需数据库表。启动tc-server后,注册到Nacos,通过控制台可查看服务状态。各微服务需引入Seata依赖,并在application.yml中配置相关参数。为实现高可用,可搭建多节点TC集群,如GZ和HZ集群,通过Nacos统一管理事务组映射,微服务从Nacos读取client.properties配置,动态切换TC集群连接,提升系统容灾能力。
380 0
|
Linux iOS开发 MacOS
【已解决】ModuleNotFoundError: No module named ‘IPython‘
【已解决】ModuleNotFoundError: No module named ‘IPython‘
|
安全 前端开发 Linux
显示子系统、显示子前后端、LinuxFB与Wayland的区别分析
显示子系统、显示子前后端、LinuxFB与Wayland的区别分析
|
Linux
一文搞懂 USB 设备端驱动框架
hello 大家好,今天带领大家学习一下USB 设备端驱动 内核版本:4.4.94
2343 0
|
存储 缓存 安全
Rockchip系列之RK3568 Android设备固件和分区信息
Rockchip系列之RK3568 Android设备固件和分区信息
2589 0
|
架构师 算法 测试技术
嵌入式系统软件架构设计(长篇深度好文)
嵌入式系统软件架构设计(长篇深度好文)
9263 3
|
存储
【STM32基础 CubeMX】PWM输出
【STM32基础 CubeMX】PWM输出
2553 0
|
Unix Linux API
开源库介绍:libusb 及其使用
开源库介绍:libusb 及其使用
7587 0
开源库介绍:libusb 及其使用
|
搜索推荐 SEO
着陆页有什么特点?详解着陆页的8个特点及作用
着陆页是为特定目的服务的网页,着陆页的主要目的是将访问者转化为线索。虽然有不同的类型和设计,通常情况下,登陆页面将包含一个线索表格,用于要求访客提供联系信息,以换取有价值的东西。
619 0
着陆页有什么特点?详解着陆页的8个特点及作用
USB 基础学习:USB 电气信号介绍
USB 基础学习:USB 电气信号介绍
1445 0

热门文章

最新文章