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

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

[复制链接]
STMCU-管管 发布时间:2019-4-15 10:05
STM32Cube USB 设备库 , b* M. B) q  M/ `
1 v  b1 j) y4 Q0 s4 t7 s' ~- T% V
前言 " y/ ~- l& ~/ Q+ w4 @2 v* C

" m, j" Q  c, i; ?  C通用串行总线 (USB)为个人计算机史上最成功的互连技术,用于连接鼠标、游戏机、操纵杆、扫描仪、数码相机、打印机等设备。 USB 也已经移植到消费电子和移动产品中。 + m/ @2 t+ v, r, a! ^1 X$ V
( ~4 B. b  ]2 c
本文的目的是说明怎样使用 STM32Cube USB 从设备库 ( 该库支持所有意法半导体的 STM32 系列 MCU),并如何使用该库实现通用 USB 设备类 (HID 类、 MSC 类、音频类、 CDC 类 ……)产品的开发与应用。
1 k" K9 w% ^5 x; d8 P, }, t' N8 S7 ?7 \  C1 `
USB 设备库为 STM32Cube 固件包的一部分 (如 STM32CubeF0、 STM32CubeF2、STM32CubeF3、 STM32CubeF4 和 STM32CubeL0),可从 ST 网站(http://www.st.com/stm32cube)免费下载。% P7 y) Q, N7 V! F# }4 s6 R

$ v* G% T7 H6 f  d5 ]' A1 STM32Cube 概述 - v; a7 j1 a9 M3 Z# K' x  a

1 S5 n3 L1 o8 b' z6 U7 b. H' iSTMCubeTM 计划源自意法半导体,旨在通过减少开发的工作量、时间与成本,使开发者受益。 STM32Cube 涵盖 STM32 整个产品系列。
* w( V" A# h; N& `0 w" F
+ c3 g4 i! l$ t$ U! Z5 |* Z
STM32Cube 1.x 版包括: & [  `9 P! d3 y9 c
• 图形软件配置工具 STM32CubeMX,可通过图形向导生成初始化 C 代码。 0 j/ Y" J; w4 R* n
• 综合的嵌入式软件平台,并针对每个系列提供单独的库文件(例如 STM32CubeF2 用于STM32F2 系列, STM32CubeF4 用于 STM32F4 系列)
7 C3 v5 i7 l, j( F3 Q2 G& u   – STM32 抽象层嵌入式软件 STM32Cube HAL,确保在 STM32 各个产品之间实现最大限度的可移植性
5 Q0 O2 N6 a9 E8 D; Z% c   – 一套一致的中间件,比如 RTOS、 USB、 TCP/IP、图形。
7 X( A9 t! p  o1 s9 Q   – 所有嵌入式软件实用工具均配备一套完整的示例。, H3 L! n; Z+ Y; s2 G

+ n  J+ H; L/ }- ~$ o# D; y9 U
1.png

# I5 ^# O+ q$ ^, |3 ?& e+ L0 ?# w
2 前言
7 |$ G' r9 [9 X& r
2.1 缩写和缩略语
; d! ?! t; }; C& h5 I8 N9 d* c  j
表 1 简要介绍本文档中所用首字母缩略词和缩写词的定义:
. ?1 Q6 t. s4 i. i3 i" R
1.png
2.2 附加信息
  ?* M1 |' K& i, h( [# n
除了本文档,意法半导体还提供了关于 USB 的若干其它资源:
/ t' n0 r8 |! g  l  u9 W" b
• USB HOST 用户手册 UM1720

: n8 f7 s* @+ A1 D
• UM1725(STM32F4xx HAL 驱动描述)在此文档中,您可看到两个 USB 通用驱动描述(用于主机的 HCD 和用于设备的 PCD)

+ g& V# N  A6 P
2.3 参考
& I- Z* [  a5 n- C3 N) |) Y; @
• 通用串行总线规范,版本 2.0, http: //www.usb.org
+ c9 b9 [7 v9 V8 C1 J
• USB 设备类规范 (音频、 HID、 MSC 等等):http://www.usb.org
6 k- s& R# }5 G) ~  E5 \+ T
3 简介

0 l7 Y- j  B6 A4 [
3.1 概述

( M$ j2 ?' z# e9 X$ ]0 {# t/ ?
意法半导体为其客户提供了新型 USB 栈:设备栈和主机栈,可支持所有 STM32 MCU 及多种开发工具,例如 Atollic® TrueSTUDIO、 IAR 嵌入式 Workbench (用于 ARM ®),以及 KeiluVision®。

1 W5 k, i( }) e7 ]7 y, X9 Y9 V
本文侧重于 USB 设备栈。对于主机栈,请参考相关用户手册。

, S! Y) T. o8 `8 S$ l8 g& M
USB 设备库对于所有 STM32 微控制器通用,仅需 HAL 层适配每款 STM32 设备。

  J8 E" o7 p* |  Y. a/ y
USB 设备库位于 STM32Cube USB 设备 HAL 驱动之上。下文讲述了 STM32Cube USB 设备库中间件模块,并举例说明了用户如何使用此库提供的所需 API,轻松开发自己的 USB 设备应用。

+ L8 Q2 A$ R5 O! h6 b  F3 q1 W1 [0 m
USB 设备库是每个 STM32 系列 STM32Cube 包的一部分,包含了 USB 底层驱动、通用类驱动,以及常用 USB 设备类样例的应用示例,可用于 USB 全速和高速传输类型(控制、中断、批量、同步)。 USB 设备库的目的是为每种 USB 传输类型提供至少一个固件演示:
' x0 j& [/ Z8 P- y
人机界面设备 HID:
3 I; w% v, A0 @, Z: q
• HID 摇杆演示基于 EVAL 板上的嵌入式摇杆及自定义的 HID 样例

7 i* |5 u/ G( e4 e( j4 n
音频:

2 z  q8 Y' x$ M3 E1 Y! Q4 Q% r
• 音频设备样例用于流音频数据

! F. D" W1 x- m( B% w4 \, m  s
通信设备 (CDC):
% e5 B  l! y' X
• VCP USB-RS232 桥,实现了虚拟 COM 端口。

, f' O+ C7 {! {+ H# N" Q" U
批量:

9 Z: X' F$ E! X
• 大容量存储演示,基于 EVAL 板上的 microSD 卡。
# O: |4 I! ~% i( W8 q0 M0 y! C
设备固件升级:
- q+ x9 E" _# L6 V8 U3 o
• DFU 用于固件下载和上传

. g, ~4 @6 m; E8 v/ U& R8 U
双核设备演示

/ s# j2 C' g( V$ _+ t  @! b6 T- u
• 基于具有人机接口的大容量存储和具有 CDC 设备样例的大容量存储

& N' K9 t2 S+ \- }( d
涉及的主题:
& @' @+ e2 \' Q+ m( a
• USB 设备库架构

. q- x" ]; w% c" N$ D% e" X( d) h
• USB 设备库描述

. J5 R% E, d6 V5 Y/ X: c
• USB 设备库状态机概述
6 F& G/ u3 w; X0 H. Z# b
• USB 设备类概述

2 s& [( b# c; ~
..........
8 A" f3 [3 V1 Y* \" U
想了解更多,请下载原文阅读

$ x6 @0 I: v+ T8 }, x

% O% T3 c% [6 j- x! X5 J0 I
4 ?, J" G1 p* B! V- E8 N
收藏 1 评论1 发布时间:2019-4-15 10:05

举报

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

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版