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

【中文文档】AN3997_如何使用STM32F4DISCOVERY对音频进行回播和...

[复制链接]
STMCU-管管 发布时间:2019-3-27 09:56
使用 STM32F4DISCOVERY 进行音频播放和录音. k5 L! W& V' |5 e5 L! I  @

4 F6 _0 [" S/ a, Q1 简介
6 D1 Y" v; }2 i3 z' q; P9 ^* C; \2 `. _
本应用笔记将介绍基于 STM32F4xx 微控制器和 STM32F4-DISCOVERY 板的音频 (wave) 播放和录音应用。
& }5 l' u) U5 x* h
" Y. |: b/ J1 i0 D从 STM32F4xx 微控制器的内部 Flash 或在外部 U 盘上(通过主机模式中的 USB FS 内核)均可读取音频数据 (wave)。记录的波形文件只能存储在外部 U 盘中。   H: C- y0 G, C' g5 {7 c- E

, H- B5 Z) {" z$ c3 Z- x5 S( n录音流程基于使用 PDM 音频软件解码库的 ST MP45DT02 MEMS 麦克风硬件(将麦克风生成的 PDM 数据转换为存储在 U 盘中的 PCM 数据)。
4 ]/ Z: L+ Y% A. d" `9 s
. i( ?' p# d" M3 Z* @6 C! A
本文档的内容编排如下: 4 ?, O# V) w/ _: c/ ?+ ^. w
● 第 2 节:应用概述中介绍音频播放和录音固件的原理说明及固件运行演示。 . |. o5 J6 D) [5 q
● 第 3 节说明如何开始使用相关软件和硬件。
2 C- o9 f8 ]; R' ^* `! C* x, p
8 l; s* w/ ?3 i( q可在“STM32F4-DISCOVERY 板固件包”(v1.1.0 及更高版本)的“Project\Audio_playback_and_record”路径下找到此应用的源代码。
' m9 E$ f; D1 c& A7 A

* u6 |, F% T! U( d' O# ^1.1 参考文档 * t6 n. Q3 k( V. b+ |, {! u
● STM32F4DISCOVERY 高性能 Discovery 板数据简要
( {) L% \& d4 A* D. U  X* x9 F& `● 开始使用 STM32F4DISCOVERY 套件软件和固件环境 (UM1467) * U7 x1 T; z" ?( w' b- v" F( w
● STM32 微控制器上的 PDM 音频软件解码 (AN3998) ( `9 t7 Z; n7 P* F
● STM32F40x 参考手册 (RM0090)
' h% u( d% Q; ^: k/ e5 p) U# _9 m● STM32F405xx STM32F407xx 数据手册 + L) L( [0 O, ~4 q
, o; p: _3 N4 O
如需上述文档,请访问 www.st.com/stm32f4-discovery
/ [& _0 }# |8 E- ^% a" L2 _- `+ L: _0 m
2 应用概述 9 v- i$ N, ~' g2 _
2 c  `" [, O9 O/ m
2.1 应用说明 4 w0 I* S3 W& V
! A* s8 X$ X9 T) d
音频播放和录音应用支持两种大容量存储介质。在微控制器的内部 Flash 或在外部 U 盘上均可播放音频数据,但记录数据时只能使用外部 U 盘。这通过 main.h 文件中的 DEFINE 语句选择。在工作区工具栏中,选择项目配置: " ]7 v( }% W+ S+ j

: B( }  T2 \) ^% S& f+ u● MEDIA_IntFLASH ) i  q: y! Q8 `! H! v3 _, n8 `
● MEDIA_USB_KEY
3 F6 ]0 v6 M, p2 j& o/ G: H# s7 h% U1 w
固件驱动程序可以:
4 z3 _, y  ]0 c5 o/ ~● 从外部 U 盘或内部 Flash 播放存储的波形文件 + P- T8 x- _* o; l; I
● 在外部 U 盘中记录波形文件
0 R7 C, [/ A) `- C● 从播放切换为录音0 N+ \. C$ F# ^8 ]6 O$ g0 Z- g
- x  r0 V1 o" J' b
1.png
1 p' _: ^4 ~0 {7 g/ T
此应用基于 STM32F4xx 器件和 STM32F4-DISCOVERY 板。
3 j5 T5 n& {- D
此应用的主要特性包括:
6 i/ D) W! O7 ^7 }8 a
● MEMS 麦克风
2 k, d$ n/ g* S8 g0 K' O( l* W
● 音频编解码器 DAC
5 x  D' e2 |7 p* t: i  {. C. V6 y6 y
● 耳机
7 ]- E( g4 m8 N' Y
● U 盘(如果使用该存储介质)
+ N3 H4 W  D* {4 L5 e
● MEMS 加速计
8 {; `9 Q* y, R; m& O4 s& \
此应用使用的主要 STM32 模块包括:

  u0 B0 ^( @, o. R
● USB 外设:主机模式下配置。使用大容量存储类 (MSC) 实现与 U 盘的音频数据交换。
# [/ N2 m2 f4 n6 y
● I2S 外设:在主发送器模式下配置,用于向外部音频编解码器 (DAC) 发送音频数据。它还可用作主接收器,作为 MEMS 麦克风的输入时钟。
: t* a0 F" Y: j3 W6 \. `, o
● DMA:用于将数据从缓冲器发送到 I2S 外设。这可以显著地降低 CPU 负载。

& Y; `; R' u: I  s# d6 Y
● I2C 外设:用于控制多个外部器件(如音频编解码器)并从此器件获取数据。
, S3 _9 X9 g* o
● SPI 外设:用于控制 MEMS 加速计。
% u' w6 f. \( c1 i0 n
● 用户按钮:用于监视应用(播放或录音)。

$ R) Q. v& ~) r  ?- {

0 G; ]8 L: c' ]* p- `; c! t' T
1.png

2 s# B2 n& T7 d; W4 j2 e! a/ ^: r
注: 本应用笔记基于 STM32 USB On-The-Go (OTG) 主机和器件库。有关 USB 主机栈和大容量存储演示的详细信息,请参见“STM32F105/7、STM32F2xx 和 STM32F4xx USB On-TheGo主机和器件库”用户手册 (UM1021)。
3 n) c& ^) h4 t
2.2 固件驱动程序说明
$ x: X7 C6 l" l3 Y3 {9 z
此应用包含下列源文件:

) g. ^) ^( s5 {; K+ y1 `0 \( T
● main.c:包含初始化代码,并根据所选的“MEDIA_IntFLASH”或“MEDIA_USB_KEY”配置启动应用。

. ?6 m# S, u5 ^0 N8 k# V' F6 ~
● stm32f4xx_it.c:包含应用的中断处理程序。

: l8 z3 B# D4 c# ^* a! [2 B' O3 H6 d9 L
● waveplayer.c:实施用于播放的功能。
7 S7 V* o6 O6 q8 m8 W- B
● waverecorder.c:实施用于录音的功能。

3 c$ E4 |$ r' T) M" \7 W' _
● usb_bsp.c:实施 USB 主机库的开发板支持包。
( J% U* T2 i2 O* E
● usbh_usr.c:包括 USB 主机库用户回调。

; ]# q2 q! {% D# z; x( x

4 [3 z  x1 {) g9 z* S
..............

, B, h3 c7 ~# [4 y, C
想了解更多,请下载原文阅读

5 l* g% J5 [5 u$ U
收藏 评论1 发布时间:2019-3-27 09:56

举报

1个回答
单片机爱好者 回答时间:2019-5-26 23:10:34
支持~~~~~~~~~
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版