通用串行总线(USB) 2.0
STM32F10x USB 开发者培训
2010年7月
2010
内容
USB技术简介
技术背景
架构、系统、协议和供电
设备的枚举、识别
传输类型
STM32 USB模块和函数库
模块的特性
各类描述符解析
模块的中断源及相关的中断处理函数
模块的其他相关函数库
MCU Group Shanghai
2
技术背景(1)
通用串行总线(USB)协议的设计目标 :
易于使用的PC外设
以低成本的方案支持高达480Mbps的传输速率
满足声音,音频和视频类传输的实时需求
灵活的协议,能混合同步和异步的消息数据传递
集成商品设备技术
能适应于任意外形和配置的PC
提供一个标准接口,能快速应用于产品中
允许扩展出新的USB设备类,以提升PC的功能
UBS2.0协议必需向下兼容,以容纳早期版本的设备
MCU Group Shanghai
3
技术背景(2)
应用范围
性能
应用
特性
低速:
交互式设备
10-100kbps
键盘,鼠标
手写笔
游戏手柄
虚拟设备
外设
全速:
电话,音频类
压缩的视频类
500kbps – 10Mbps
话音
宽带
音频
麦克风
高速:
视频,大容量存储
25 – 400Mbps
视频
大容量存储
图像
宽带
MCU Group Shanghai
•极低的成本
•易于使用
•热插拔
•同时使用多个外设
•较低的成本
•易于使用
•热插拔
•同时使用多个外设
•可保证的带宽
•可保证的延迟
•低成本
•易于使用
•热插拔
•同时使用多个设备
•可保证的带宽
•可保证的延迟
•高带宽
4
技术背景(3)
特性:
简单易用 使用统一制式的电缆和连接插座,支持热插拔。
应用广泛 支持从几kbps到几百Mbps的数据带宽,支持同步
和异步的传输,支持连接多达127个设备,并支持复合设备。
同步带宽 提供保证的带宽和低延迟。
使用灵活 支持不同大小的数据包和各种传输速率。
鲁棒性佳 多种的错误校验和恢复机制。
协同PC产业 协议易于实现和整合,并支持热插拔机制
低成本实现 低成本的电缆和连接插座,商品化的实现技术
易于升级 整体结构易于升级,能适应各类新生的应用。
MCU Group Shanghai
5
USB 系统 (1)
主机
设备
连接层
客户端
应用程序
系统端
驱动程序
主机端
控制程序
应用层
应用程序
逻辑层
驱动程序
总线层
控制程序
MCU Group Shanghai
实际的通信信道
逻辑上的信道
实现的核心区域
6
USB 系统 (2)
主机
设备
连接层
客户端
应用程序
系统端
驱动程序
主机端
控制程序
应用层
应用程序
逻辑层
驱动程序
总线层
控制程序
MCU Group Shanghai
应用程序:
应用程序运行于USB设
备所连接的主机上。
部分应用程序会由主机
的操作系统提供,大部
分的应用程序由USB设
备的供应商提供。
7
USB 系统 (3)
主机
设备
连接层
客户端
应用程序
系统端
驱动程序
主机端
控制程序
应用层
应用程序
逻辑层
驱动程序
总线层
控制程序
MCU Group Shanghai
驱动程序:
驱动程序服务于特定的
操作系统,为USB设备
提供支持。
驱动程序通常由操作系
统提供,独立于特定的
应用程序和USB设备。
8