目录
1、STM32_USB_Host_Library 中的文件介绍
2、STM32_USB_Device_Library 中的文件介绍
一、USB介绍
1、USB的背景简介
- USB ,是英文 Universal Serial BUS(通用串行总线)的缩写,而其中文简称为“通串线, 是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在 PC 领域的接口技术。
- USB 接口支持设备的即插即用和热插拔功能。USB 是在 1994 年底由英特尔、康柏、IBM、 Microsoft 等多家公司联合提出的。
- USB 发展到现在已经有 USB1.0/1.1/2.0/3.0 等多个版本。目前用的最多的就是 USB1.1 和 USB2.0,USB3.0 目前已经开始普及。
2、USB的几种概念
- USB Host: Host端控制整个总线的数据传输的。单个USB总线上,只能有一个Host
- USB Slave: 也就是USB的设备端
- USB OTG: On The Go,这是在USB2.0引入的一种mode,提出了一个新的概念叫主机协商协议(Host Negotiation Protocol),允许两个设备间商量谁去当Host
只有当一台Host设备与一台Slave设备相链接的时候,才能实现数据传输。
OTG举例:当OTG插到电脑上时, OTG的角色就是连接电脑的device,也就是Slave;当USB device 插到OTG上的时候,,OTG的角色就是Host。
3、USB的插入检测
STM32F1自带有USB OTG FS,像STM32F4自带有USB OTG FS (全速)和 USB OTG HS(高速),其中HS要外扩高速PHY芯片实现。
标准 USB
共四根线组成
,
除
VCC/GND 外,另外为 D+和 D-,这两根数据线采用的是差分电压的方式进行数据传输的。
USB Host判断设备端是何种速度设备的判别方法:
- 在 USB 主机上,D-和 D+都是接了15K 的电阻到地的,所以在没 有设备接入的时候,D+、D-均是低电平。
- 低速设备:会在D-(DM)上接一个1.5K 的电阻到VCC
- 全速设备:会在D+(DP)上接一个1.5K 的电阻到VCC
- 高速设备:会在D+(DP)上接一个1.5K 的电阻到VCC,主机对设备进行复位后进一步进行确认
二、STM32F1-HAL库中 USB外设库的文件介绍
1、STM32_USB_Host_Library 中的文件介绍