news 2026/3/13 2:35:06

usb 通讯

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
usb 通讯

USB(Universal Serial Bus,通用串行总线)是一种广泛使用的串行通信协议,用于连接计算机与外部设备(如键盘、鼠标、打印机、存储设备、摄像头等)。USB 通信具有即插即用、热插拔、高传输速率和供电能力等优点。

下面是对 USB 通信的基本介绍:


一、USB 的基本组成

  1. 主机(Host)

    • 通常是 PC 或嵌入式主控器。
    • 控制整个 USB 通信过程,发起所有数据传输。
  2. 设备(Device)

    • 如 U 盘、鼠标、手机等。
    • 响应主机请求,不能主动发起通信。
  3. 集线器(Hub)

    • 用于扩展 USB 接口数量。

二、USB 的通信拓扑结构

  • USB 采用星型拓扑,所有通信必须通过主机进行。
  • 设备之间不能直接通信

三、USB 的版本与速度

版本最大速率发布年份
USB 1.01.5 Mbps (低速) / 12 Mbps (全速)1996
USB 2.0480 Mbps (高速)2000
USB 3.05 Gbps (超高速)2008
USB 3.110 Gbps2013
USB 3.220 Gbps2017
USB440 Gbps(基于 Thunderbolt 3)2019

四、USB 通信模型

USB 通信基于管道(Pipe)端点(Endpoint)

  • 端点(Endpoint):设备上的数据缓冲区,有方向(IN/OUT)。
  • 管道(Pipe):主机与端点之间的逻辑连接。
  • 每个设备至少有一个控制端点(Endpoint 0),用于枚举和配置。
传输类型:
  1. 控制传输(Control Transfer)

    • 用于设备识别、配置(如枚举阶段)。
    • 可靠、双向、有确认机制。
  2. 批量传输(Bulk Transfer)

    • 用于大量数据(如打印机、U盘)。
    • 可靠但无固定带宽保证。
  3. 中断传输(Interrupt Transfer)

    • 用于低延迟、小数据量(如鼠标、键盘)。
    • 定期轮询。
  4. 等时传输(Isochronous Transfer)

    • 用于音视频流(如摄像头、耳机)。
    • 保证带宽和时序,但不重传错误数据。

五、USB 枚举过程(简要)

当设备插入主机时,会经历以下步骤:

  1. 上电复位(Device Reset)
  2. 主机读取设备描述符(Device Descriptor)
  3. 分配地址(Set Address)
  4. 读取配置描述符(Configuration Descriptor)
  5. 加载驱动程序
  6. 进入正常工作状态

六、开发相关

  • 主机端开发:通常使用操作系统提供的 API(如 Windows 的 WinUSB、Linux 的 libusb)。
  • 设备端开发:使用 MCU(如 STM32、ESP32)配合 USB 外设或专用芯片(如 FTDI、CH340)。
  • 调试工具:Wireshark(配合 USBPcap)、USBlyzer、Total Phase Beagle 等。

如果你有具体的应用场景(比如想用单片机实现 USB 通信、解析 USB 协议、开发驱动等),可以告诉我,我可以提供更针对性的建议或代码示例。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/3 21:59:47

Python可视化实战技巧(解决中文乱码的底层原理与实操步骤)

第一章:Python可视化中文乱码问题的背景与挑战 在使用Python进行数据可视化时,中文显示异常是一个常见且令人困扰的问题。当图表中包含中文标签、标题或图例时,常出现方框、小方块或空白字符,严重影响信息传达和视觉效果。这一问题…

作者头像 李华
网站建设 2026/3/12 18:58:52

json.dumps()默认无序?教你3步实现Python中JSON文件的有序存储与读取

第一章:JSON序列化默认行为的底层探源 在现代Web开发中,JSON序列化是数据交换的核心机制。理解其默认行为的底层实现,有助于开发者规避潜在的类型丢失与结构异常问题。大多数编程语言内置的JSON库在序列化对象时,遵循一套通用规则…

作者头像 李华
网站建设 2026/3/11 22:19:35

小白也能懂:用Gradio快速调用Qwen3-Reranker-4B服务

小白也能懂:用Gradio快速调用Qwen3-Reranker-4B服务 1. 为什么你需要了解这个模型? 你有没有遇到过这样的问题:在一堆搜索结果里,真正有用的信息总是藏在后面?尤其是在做多语言内容检索、技术文档查找,或…

作者头像 李华
网站建设 2026/3/5 20:21:11

高效语音增强落地|FRCRN单麦16k模型镜像全解析

高效语音增强落地|FRCRN单麦16k模型镜像全解析 1. 快速上手:三步实现专业级语音降噪 你是否遇到过这样的场景?在嘈杂的办公室录制会议纪要,背景风扇声、键盘敲击声混成一片;或是户外采访中,风噪和车流声盖…

作者头像 李华
网站建设 2026/3/11 4:12:43

多协议支持物联网平台

物联网平台 - Thinglinks-iot ## 🌟 项目简介 一个功能完备、高可扩展的物联网平台,提供完整的设备接入、管理和数据处理解决方案。支持多种网络协议,具备强大的消息解析和实时告警能力,帮助企业快速构建物联网应用。 该项目现已纳…

作者头像 李华
网站建设 2026/3/10 10:51:37

5分钟部署Z-Image-Turbo,文生图AI开箱即用实战指南

5分钟部署Z-Image-Turbo,文生图AI开箱即用实战指南 你是否还在为文生图模型下载慢、配置复杂、显存不够而头疼? 现在,只需5分钟,就能在本地跑起一个无需下载权重、启动即用、9步极速生成1024高清图的AI绘画引擎——Z-Image-Turbo…

作者头像 李华