制作 USB 设备 - 您的第一个小工具的端到端指南

主要观点:

  • 介绍构建 USB 设备,包括硬件和软件方面,以实现从主机与设备的交互。
  • 强调 USB 是串行总线,介绍 USB 线(如 +5V、D-、D+、GND 等)及 USB-C 的特点。
  • 讲解 PCB 上的 USB 布线原则(如差分对的长度和距离等)及不同 USB 速度的相关内容。
  • 阐述 USB 的协议和软件层,包括不同的设备类及 Linux 视角下的 USB 介绍。
  • 以构建串口设备为例,使用 STM32 微控制器和 Nucleo 板,详细介绍设置 USB 端口、编写软件、烧录运行等步骤。
  • 最后总结并对比了使用微控制器和 Linux 构建 USB 设备的优缺点。

关键信息:

  • USB 是通用串行总线,可在电子设备间传输数据和供电。
  • 差分对用于长距离有线连接,可消除电压噪声。
  • PCB 上 USB 布线要注意长度匹配、阻抗控制等。
  • USB 有不同速度,如 USB 2.0 的全速 12Mbit/s 和高速 480Mbit/s。
  • 介绍 USB 的协议和软件层,包括设备类及 Linux 视角。
  • 以 STM32 和 Nucleo 板构建串口设备,包括硬件连接和软件设置。

重要细节:

  • STM32 微控制器的 Nucleo 板由两部分组成,USB 连接与编程在不同部分。
  • 设置 USB 端口时要注意电源供应跳线和引脚配置。
  • 在 CubeIDE 中设置设备模式为通信设备类(CDC)。
  • 软件部分要生成 C 代码并进行相关配置。
  • 烧录代码后可在设备管理器中看到设备,通过串口发送指令控制 LED。
  • 对比了使用微控制器和 Linux 构建 USB 设备的优缺点,如微控制器代码生成繁琐、更新困难等,而 Linux 更标准化、干净。
阅读 14
0 条评论