你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【中文文档】UM1734_STM32Cube的USB_device软件库

[复制链接]
STMCU-管管 发布时间:2019-4-15 10:05
STM32Cube USB 设备库 2 O' N+ B5 f; m$ U

8 g" w; @# H: }* U* @前言 % k3 D6 J, |; G3 q
/ ?7 f1 }. O  N8 d$ @8 ^
通用串行总线 (USB)为个人计算机史上最成功的互连技术,用于连接鼠标、游戏机、操纵杆、扫描仪、数码相机、打印机等设备。 USB 也已经移植到消费电子和移动产品中。 . u3 i) Q/ B. U0 [5 H" F
! k( K3 V. p4 I* y% e# w  I
本文的目的是说明怎样使用 STM32Cube USB 从设备库 ( 该库支持所有意法半导体的 STM32 系列 MCU),并如何使用该库实现通用 USB 设备类 (HID 类、 MSC 类、音频类、 CDC 类 ……)产品的开发与应用。   ?4 Y1 B; a+ j- n  N6 v7 W4 k# b2 S
5 {' v) j# y1 w' F
USB 设备库为 STM32Cube 固件包的一部分 (如 STM32CubeF0、 STM32CubeF2、STM32CubeF3、 STM32CubeF4 和 STM32CubeL0),可从 ST 网站(http://www.st.com/stm32cube)免费下载。9 X( d7 g" }; e3 O' y6 J& C

! f; `2 Z2 Q! q: k1 STM32Cube 概述 : J- o9 w; W3 n3 o, i% i, D

. @/ ~2 b6 M7 A4 B! _! G  pSTMCubeTM 计划源自意法半导体,旨在通过减少开发的工作量、时间与成本,使开发者受益。 STM32Cube 涵盖 STM32 整个产品系列。
- R  I6 e2 c. ]: k" U

. }5 y% B3 c' I9 W0 q" YSTM32Cube 1.x 版包括: ) Y5 O5 T  v  ~2 b8 P( D
• 图形软件配置工具 STM32CubeMX,可通过图形向导生成初始化 C 代码。
( L' L1 n. j9 b+ q) W• 综合的嵌入式软件平台,并针对每个系列提供单独的库文件(例如 STM32CubeF2 用于STM32F2 系列, STM32CubeF4 用于 STM32F4 系列) ; z" J. u5 b/ Z3 V8 H
   – STM32 抽象层嵌入式软件 STM32Cube HAL,确保在 STM32 各个产品之间实现最大限度的可移植性 + m1 h5 S* S! F( j4 l9 D+ C# V1 {8 w
   – 一套一致的中间件,比如 RTOS、 USB、 TCP/IP、图形。
' `) i3 u: m; Q8 t5 g   – 所有嵌入式软件实用工具均配备一套完整的示例。! c3 ^  m* a- G& D4 {5 \

+ M" Y# a+ ?+ d8 L' g- K$ q
1.png

6 N3 l: P4 N+ w3 |' a+ n3 K" h/ o+ c
2 前言
1 {* X# H; k) S* J, O# I7 j
2.1 缩写和缩略语

$ ^9 g9 T3 Y. u$ Y9 D4 r: T
表 1 简要介绍本文档中所用首字母缩略词和缩写词的定义:

: \9 B+ Y( D+ P9 A8 @! d$ x1 b4 \
1.png
2.2 附加信息
/ Y8 o' @. M# d/ [3 U. D* b  y
除了本文档,意法半导体还提供了关于 USB 的若干其它资源:
/ r) f/ r! K# U' |8 A# j
• USB HOST 用户手册 UM1720

+ S: b. Y$ S/ K7 q4 a
• UM1725(STM32F4xx HAL 驱动描述)在此文档中,您可看到两个 USB 通用驱动描述(用于主机的 HCD 和用于设备的 PCD)
' j- _, H7 j: _; a' i' n
2.3 参考
' ?: a4 k' X0 X* R6 ^
• 通用串行总线规范,版本 2.0, http: //www.usb.org
! d" b; J7 ~* I" e3 ~
• USB 设备类规范 (音频、 HID、 MSC 等等):http://www.usb.org

8 b$ G) C5 G$ X4 r; c& I
3 简介

' ?* ^4 d5 F) j, q
3.1 概述
" ~/ V: b, K% T+ [
意法半导体为其客户提供了新型 USB 栈:设备栈和主机栈,可支持所有 STM32 MCU 及多种开发工具,例如 Atollic® TrueSTUDIO、 IAR 嵌入式 Workbench (用于 ARM ®),以及 KeiluVision®。
! u/ _" Q3 o% h2 q
本文侧重于 USB 设备栈。对于主机栈,请参考相关用户手册。
6 `7 v3 n6 ?1 d! S/ c
USB 设备库对于所有 STM32 微控制器通用,仅需 HAL 层适配每款 STM32 设备。

8 U3 M! B  D# K6 k9 t2 {
USB 设备库位于 STM32Cube USB 设备 HAL 驱动之上。下文讲述了 STM32Cube USB 设备库中间件模块,并举例说明了用户如何使用此库提供的所需 API,轻松开发自己的 USB 设备应用。

( ]( G; n- R  @8 D
USB 设备库是每个 STM32 系列 STM32Cube 包的一部分,包含了 USB 底层驱动、通用类驱动,以及常用 USB 设备类样例的应用示例,可用于 USB 全速和高速传输类型(控制、中断、批量、同步)。 USB 设备库的目的是为每种 USB 传输类型提供至少一个固件演示:

) `% K2 S( c' k& }& b* f/ [, ]  d
人机界面设备 HID:

9 T# ^2 j4 ?5 m2 v
• HID 摇杆演示基于 EVAL 板上的嵌入式摇杆及自定义的 HID 样例
! f# b6 T/ I' c
音频:
+ i! g: A; M! H% h
• 音频设备样例用于流音频数据

$ I9 N1 L8 j' c. d; a
通信设备 (CDC):

0 I$ {  @0 u3 r% g/ d+ o
• VCP USB-RS232 桥,实现了虚拟 COM 端口。
9 n8 Q4 X) R4 y. |" E/ K2 h
批量:
: F  e% h' K9 s4 B
• 大容量存储演示,基于 EVAL 板上的 microSD 卡。
3 f5 N( s. Y2 U/ L5 |- h
设备固件升级:

6 a4 b# F" c! W/ q- c: q* W
• DFU 用于固件下载和上传

: S# X" }# r  \" U  @0 l
双核设备演示
" Y6 C: V" t; a5 Z7 g
• 基于具有人机接口的大容量存储和具有 CDC 设备样例的大容量存储
" P! H* N) y7 N1 E% O
涉及的主题:

9 _6 h0 _: W# U7 G! i( |
• USB 设备库架构

/ ]# E; C! G& K$ i
• USB 设备库描述
6 V8 Z; ~8 f: L2 C$ j! G  q
• USB 设备库状态机概述
+ s) G4 ^$ Q6 H3 t# V2 t+ {
• USB 设备类概述
& C% ^9 _3 `5 z4 L
..........

/ n; r+ r& @; i. t; W3 A( ^5 \
想了解更多,请下载原文阅读
5 e9 `& K- Q; \' C& U) ^2 X

7 r# J, k* g% ^4 S" b  t

; c4 L+ N1 F2 L) M; l
收藏 1 评论1 发布时间:2019-4-15 10:05

举报

1个回答
Kevin_G 回答时间:2019-4-15 11:55:52
一直感觉USB很复杂
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版