0
点赞
收藏
分享

微信扫一扫

USB协议学习笔记 - 引言


概述

  • 最近想基于STM32做个USB设备,但是搜索了下USB相关的技术资料比较少,并且USB相关的书籍也是比较的少,所以打算系统的学习下USB协议相关的技术。
  • USB 的官方网站:https://usb.org/
  • USB 2.0 手册下载地址https://usb.org/document-library/usb-20-specification

如何学习

  • 初步的看了下USB 2.0的规格书,发现内容还是比较的齐全,但是看完后依旧不清楚如何去真正的开发一个USB设备,USB上位机如何设计,STM32 USB固件如何设计,USB主从机如何通信?
  • 所以,这里使用带USB功能的STM32的开发板,配合STM32CubeMX,生成USB Device的设备,通过实践的方式,不断的探索USB功能实现,PC上位机使用Visual Studio 2019开发,这样先用起来,技术细节,再查看USB的规格书,可能效率更高

USB基础

  • USB 为:Universal Serial Bus 的缩写,中文可以称之为:通用串行总线
  • USB 主机与设备,USB主机一般为PC,当然一些嵌入式MCU也可以实现USB主机,像STM32,既有USB Host,也有USB Device,还有USB-OTG(主从机可选)
  • 为什么使用USB?我的需求是做一个USB设备,用于数据的采集、控制,类似于串口控制,使用USB,速度可能更快,如一个电源分析仪、USB-CAN协议转换,等等。
  • USB 分为设备固件,一般使用C语言开发
  • USB上位机,可以使用C++、C#等高级语言开发
  • 经常看到一个笔记本电脑只有两个USB接口,但是可以通过USB-HUB扩展出多个USB接口,可以为低功耗设备供电,如J-Link,也可以与USB设备进行通信。

USB的速率

  • USB 2.0速率现在分三个等级,之前的 USB 1.1也称之为USB 2.0了,只是速率低。

USB协议学习笔记 - 引言_上位机

USB线序

  • 目前USB 2.0 的线序,依旧是四根线:VBUS:+5V、GND、D+与D-。

USB协议学习笔记 - 引言_USB_02

USB的通信方式

  • 有四种通信方式
  • Control Transfers : 控制传输
  • Bulk Data Transfers :批量数据传输
  • Interrupt Data Transfers :中断传输
  • Isochronous Data Transfers:同步数据传输

其他的概念

  • endpoint
  • pipe

小结

  • 通过实践不断扩充USB协议相关的知识储备
  • USB是个通用的协议,不断的梳理资料,不断的总结使用经验


举报

相关推荐

0 条评论