基于STM32F103的USB学习笔记1 - USB基础知识

USB的标准

目前USB的标准有USB1.0、USB1.1、USB2.0、USB3.0、USB3.1。

USB1.0:低速,1.5Mbps

USB1.1: 全速,12Mbps

USB2.0: 高速,480Mbps,USB 2.0中的“增强主机控制器接口”定义了一个与USB 1.1相兼容的架构。它可以用USB 2.0的驱动程序驱动USB 1.1设备。也就是说,所有支持USB 1.1的设备都可以直接在USB 2.0的接口上使用而不必担心兼容性问题

USB3.0: 超速,5Gbps,也有叫3.1 Gen1的,而USB3.1被称为3.1 Gen2

USB3.1: 超速+,10Gbps

USB的接口规范

USB的接口规范有Type A,Type B,Type C。

基于STM32F103的USB学习笔记1 - USB基础知识_第1张图片

另外,还有Mini接口基于STM32F103的USB学习笔记1 - USB基础知识_第2张图片和Micro接口基于STM32F103的USB学习笔记1 - USB基础知识_第3张图片即Mini A/Mini B和Micro A/Micro B型。如果是USB3.0以上的版本,常见的Micro接口信号线不够,所以会看到这样的Micro口

基于STM32F103的USB学习笔记1 - USB基础知识_第4张图片

USB协议和USB接口规范并不是一一对应的,比如Type-C广泛应用于USB3.0,但是也是可以用在USB2.0的。

USB的电气特性

USB1.x和USB2.0都只需要4根线(VBUS,D+/DP, D-/DM, GND)来实现USB通信。

基于STM32F103的USB学习笔记1 - USB基础知识_第5张图片

VBUS和GND是电源线,VBUS是+5V的电源。D+和D-(也叫DP和DM)是数据线,组成一组差分信号线,所以USB是一个半双工的通信接口。对于应用者来说,并不需要太了解USB是如何具体实现电气上的功能的,可以把USB想象成一个更为高级、复杂的485接口。

USB设备的识别

一套完整的USB设备有USB主机,USB HUB(可选的),USB从机,这里只介绍从机,主机为电脑。USB主机通过D+上有没有上拉电阻判断是否为高速设备或全速设备,而D-上有上拉电则阻判断为低速设备。

当USB主机检测到D+或D-上从低电平转为高电平,USB主机会开始读取USB从机的描述符信息,这个过程称为枚举过程。USB主机通过枚举过程得知USB从机是什么类型的设备,如何进行通信等。枚举是一个非常重要的过程,枚举成功了基本上USB通信就算完成一大半。

USB的描述符

描述符是一组和USB主设备约定好格式和意义的数据(USB驱动可以约定这些含义)。下图是USB2.0规范中规定的8种描述符。

描述符随具体的设备不同而不同。

 

 

 

 

 

你可能感兴趣的:(MCU编程,USB)