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

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

[复制链接]
STMCU-管管 发布时间:2019-4-15 10:05
STM32Cube USB 设备库
! l5 b9 A, f$ N5 p6 A6 [" F' C4 h9 Y' ]& j; e
前言 5 w2 S8 j0 M9 g
. b3 d& R* x& f( Z: _
通用串行总线 (USB)为个人计算机史上最成功的互连技术,用于连接鼠标、游戏机、操纵杆、扫描仪、数码相机、打印机等设备。 USB 也已经移植到消费电子和移动产品中。
  Z( |: y. j1 O2 W# k8 i' Y

7 G) L6 u0 N2 b6 p" C本文的目的是说明怎样使用 STM32Cube USB 从设备库 ( 该库支持所有意法半导体的 STM32 系列 MCU),并如何使用该库实现通用 USB 设备类 (HID 类、 MSC 类、音频类、 CDC 类 ……)产品的开发与应用。
, x) F0 P5 s9 J2 a5 L# Z1 L) |6 e: r: `) v! L/ c, j
USB 设备库为 STM32Cube 固件包的一部分 (如 STM32CubeF0、 STM32CubeF2、STM32CubeF3、 STM32CubeF4 和 STM32CubeL0),可从 ST 网站(http://www.st.com/stm32cube)免费下载。' y2 q9 a6 ?# b) _7 q; l" I

; v6 J. {. P) s6 P1 W0 o' S+ f1 STM32Cube 概述 ; ?7 Q6 Y1 ?: c1 C" R
/ L  e* l/ ^. N; r3 e
STMCubeTM 计划源自意法半导体,旨在通过减少开发的工作量、时间与成本,使开发者受益。 STM32Cube 涵盖 STM32 整个产品系列。 2 U: a: a& ?& B( j7 u2 y  |. r

" C9 e) H2 L, p8 i4 A) V! K5 E- }STM32Cube 1.x 版包括: : |8 K3 |, P6 \3 E1 Y+ L
• 图形软件配置工具 STM32CubeMX,可通过图形向导生成初始化 C 代码。
% T- |* N; ?. T• 综合的嵌入式软件平台,并针对每个系列提供单独的库文件(例如 STM32CubeF2 用于STM32F2 系列, STM32CubeF4 用于 STM32F4 系列)
+ f+ t0 w" a) ^/ @6 t+ _, |   – STM32 抽象层嵌入式软件 STM32Cube HAL,确保在 STM32 各个产品之间实现最大限度的可移植性 4 y: |7 \$ k8 A: t9 i0 e  T
   – 一套一致的中间件,比如 RTOS、 USB、 TCP/IP、图形。
8 s0 k! F, i/ @" _. r7 b& k   – 所有嵌入式软件实用工具均配备一套完整的示例。
) T  f- H# d. K" }! I" O! b
- u! g7 G, J5 M
1.png
% W# L/ [% ?$ ]  d* z$ F
2 前言

7 ]* L8 l9 W# B- g3 E9 |8 l
2.1 缩写和缩略语

0 a6 `- e& c2 s3 R1 E- X
表 1 简要介绍本文档中所用首字母缩略词和缩写词的定义:
& e- N) }5 K9 C1 b
1.png
2.2 附加信息

) i" U& m4 a; e) S% _
除了本文档,意法半导体还提供了关于 USB 的若干其它资源:
& b( `* _- _, K9 L2 y! Q/ o
• USB HOST 用户手册 UM1720

0 F' x" Y5 ~" D) J5 Y
• UM1725(STM32F4xx HAL 驱动描述)在此文档中,您可看到两个 USB 通用驱动描述(用于主机的 HCD 和用于设备的 PCD)
1 ^3 O0 x9 ?  }( A
2.3 参考
8 K' _1 N# n  q' V- x! q
• 通用串行总线规范,版本 2.0, http: //www.usb.org
9 J, b- y: Q% E5 v- @
• USB 设备类规范 (音频、 HID、 MSC 等等):http://www.usb.org

, |7 ]& g- F' k7 N: H
3 简介
0 ^& ]0 q% [( g  Q# d2 o
3.1 概述
* T5 i) a" X" \5 g
意法半导体为其客户提供了新型 USB 栈:设备栈和主机栈,可支持所有 STM32 MCU 及多种开发工具,例如 Atollic® TrueSTUDIO、 IAR 嵌入式 Workbench (用于 ARM ®),以及 KeiluVision®。
7 Y) @% _) V1 t
本文侧重于 USB 设备栈。对于主机栈,请参考相关用户手册。

  S+ g2 |4 S! |6 s/ `
USB 设备库对于所有 STM32 微控制器通用,仅需 HAL 层适配每款 STM32 设备。

! o3 e; b) k) B. F. H6 x: `: F
USB 设备库位于 STM32Cube USB 设备 HAL 驱动之上。下文讲述了 STM32Cube USB 设备库中间件模块,并举例说明了用户如何使用此库提供的所需 API,轻松开发自己的 USB 设备应用。

: M9 O) R* D- j& t) \0 [
USB 设备库是每个 STM32 系列 STM32Cube 包的一部分,包含了 USB 底层驱动、通用类驱动,以及常用 USB 设备类样例的应用示例,可用于 USB 全速和高速传输类型(控制、中断、批量、同步)。 USB 设备库的目的是为每种 USB 传输类型提供至少一个固件演示:
. A% s  l" V( ^5 B/ _
人机界面设备 HID:
# e- P2 P7 C/ M$ X; H
• HID 摇杆演示基于 EVAL 板上的嵌入式摇杆及自定义的 HID 样例

( R5 e, z: b# w; q* M1 I. f
音频:
3 B- V( @8 j) f* P: Y/ s/ s
• 音频设备样例用于流音频数据

. }, P, [2 ?- a" n* D
通信设备 (CDC):
. c% t5 L3 i: n. c1 {( K
• VCP USB-RS232 桥,实现了虚拟 COM 端口。

  c$ G+ I4 ~: Q0 K& B) ~
批量:

- q1 M5 d, l9 @, x& g5 P
• 大容量存储演示,基于 EVAL 板上的 microSD 卡。

3 h' C( a- b/ n; ?1 m' X
设备固件升级:
9 k0 Y0 d& O( G" s+ u* a
• DFU 用于固件下载和上传
  z1 T3 p% O; @) C
双核设备演示

6 h  s  [0 v* }
• 基于具有人机接口的大容量存储和具有 CDC 设备样例的大容量存储
0 k% L3 W( D/ p$ e6 V9 N" B
涉及的主题:
% ]( R, o8 @' w3 W2 M, C
• USB 设备库架构
6 V; s" y2 v  O" J8 z( t! T
• USB 设备库描述

: z  n$ q- u- R! Z0 f5 y0 z' n8 i
• USB 设备库状态机概述
5 ]1 a9 W  _9 z* h6 O+ p
• USB 设备类概述
+ `3 t" u2 U8 d3 E
..........
+ o' w; Q1 |; j- d
想了解更多,请下载原文阅读

1 [; O. d$ f7 w$ j- e5 G

/ x# D! o* R1 c# n  p

$ H) z" n3 R1 ~( C) Z1 ?
赞 收藏 1 评论1 发布时间:2019-4-15 10:05

举报

1个回答
Kevin_G 回答时间:2019-4-15 11:55:52
一直感觉USB很复杂

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版