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

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

[复制链接]
STMCU-管管 发布时间:2019-3-27 09:56
使用 STM32F4DISCOVERY 进行音频播放和录音- _4 d; M% g. M
6 Z7 H& z0 ~+ `# N5 G2 ?
1 简介 " Y4 R, I5 l# S) B! v7 d& A

& `. X: v: G5 \0 g本应用笔记将介绍基于 STM32F4xx 微控制器和 STM32F4-DISCOVERY 板的音频 (wave) 播放和录音应用。
5 V! L! u9 F$ [  q* X; ~; ~* U' i, b. j8 L
从 STM32F4xx 微控制器的内部 Flash 或在外部 U 盘上(通过主机模式中的 USB FS 内核)均可读取音频数据 (wave)。记录的波形文件只能存储在外部 U 盘中。
2 M. o' h4 X' b
  [: X4 R  \( U+ C# [1 M2 F& n录音流程基于使用 PDM 音频软件解码库的 ST MP45DT02 MEMS 麦克风硬件(将麦克风生成的 PDM 数据转换为存储在 U 盘中的 PCM 数据)。 % c7 M* c& e# t0 n8 r
( F0 E' I3 r+ n6 Z% B2 S$ |: U! {/ R
本文档的内容编排如下:
/ K4 O! D3 a% i● 第 2 节:应用概述中介绍音频播放和录音固件的原理说明及固件运行演示。 6 C% b4 L8 z# ?+ @
● 第 3 节说明如何开始使用相关软件和硬件。
3 x  G. V7 {( O( [7 ]  Q9 I8 I8 n4 @; v2 c9 C
可在“STM32F4-DISCOVERY 板固件包”(v1.1.0 及更高版本)的“Project\Audio_playback_and_record”路径下找到此应用的源代码。 , N7 j; v$ S  ^- Z. _6 t
' a! D% |  b" y
1.1 参考文档
- l: L  i6 j! W- z- s/ o6 Y● STM32F4DISCOVERY 高性能 Discovery 板数据简要 ! N* h, T$ G9 X# }
● 开始使用 STM32F4DISCOVERY 套件软件和固件环境 (UM1467)
. N( X& H$ L7 E+ R● STM32 微控制器上的 PDM 音频软件解码 (AN3998)
+ [6 p1 J* f, T( [0 ^! l; Y● STM32F40x 参考手册 (RM0090) / `/ U7 o8 i6 \2 X! a0 t
● STM32F405xx STM32F407xx 数据手册
2 p- Q. x4 {( Q% B6 [+ {' y; D! q( W
如需上述文档,请访问 www.st.com/stm32f4-discovery。! t! w" Q2 ~; m+ s6 R/ t
: `' s8 G4 E' z# g
2 应用概述 * S' a) n7 j- F8 k6 w4 \

" d, W5 Y. s2 `( X* ?$ _2 `2.1 应用说明 ! C8 q% h5 O7 Q" N, d5 [2 G; \

9 A& \* t& j6 C# _& L# k* a2 k音频播放和录音应用支持两种大容量存储介质。在微控制器的内部 Flash 或在外部 U 盘上均可播放音频数据,但记录数据时只能使用外部 U 盘。这通过 main.h 文件中的 DEFINE 语句选择。在工作区工具栏中,选择项目配置:
8 P4 b) W0 j% D, A4 _
  v+ `6 ^, |' q" M1 ]& G● MEDIA_IntFLASH : f6 ~0 Q* t! E% i7 t* _
● MEDIA_USB_KEY 9 w  y; e( @5 o$ F' \/ `. V
3 v* ]# n0 {+ z% |3 |
固件驱动程序可以:
/ ^1 E3 ]* Q7 Z; _# W0 j* _● 从外部 U 盘或内部 Flash 播放存储的波形文件
6 j" |$ @6 N) v● 在外部 U 盘中记录波形文件 $ o; g$ y! H" z
● 从播放切换为录音
- y2 s- _4 ~& _1 t. Q: Z* H8 z  N/ h  j, b" u2 v
1.png

4 S; ~  M+ d- G$ p2 V
此应用基于 STM32F4xx 器件和 STM32F4-DISCOVERY 板。
+ h7 ?3 u7 [0 H' F5 D2 Q
此应用的主要特性包括:

/ [  v& s  w. O8 z$ N6 c; K
● MEMS 麦克风
% n, o8 @' ?  J  D! T1 F
● 音频编解码器 DAC
2 M1 j8 k" u. A; l- D( L
● 耳机

8 S" ]7 s, R- E7 c% ^- Y, L
● U 盘(如果使用该存储介质)

/ K) B! t' @) L' f8 J7 t5 G# f# v
● MEMS 加速计
, R8 S7 g# t* _3 V* w
此应用使用的主要 STM32 模块包括:

' K( S9 k" K# Y+ q: _& C
● USB 外设:主机模式下配置。使用大容量存储类 (MSC) 实现与 U 盘的音频数据交换。
# w- y( r- [  \- {; F
● I2S 外设:在主发送器模式下配置,用于向外部音频编解码器 (DAC) 发送音频数据。它还可用作主接收器,作为 MEMS 麦克风的输入时钟。
2 S- B6 @: L2 O5 E
● DMA:用于将数据从缓冲器发送到 I2S 外设。这可以显著地降低 CPU 负载。

& Z9 h7 P, `5 e: o3 A
● I2C 外设:用于控制多个外部器件(如音频编解码器)并从此器件获取数据。
, k! y2 H& l5 a% z, c
● SPI 外设:用于控制 MEMS 加速计。
$ j0 Z$ u  l* o( l( x! i1 f
● 用户按钮:用于监视应用(播放或录音)。

+ o/ h! h0 D, N  j5 M7 z. b

7 ]# l7 u6 b* z& i% H
1.png

1 E! o6 M3 G7 q7 ]  `9 H. @- y% j
: t: t, z. c' u: ^
注: 本应用笔记基于 STM32 USB On-The-Go (OTG) 主机和器件库。有关 USB 主机栈和大容量存储演示的详细信息,请参见“STM32F105/7、STM32F2xx 和 STM32F4xx USB On-TheGo主机和器件库”用户手册 (UM1021)。

1 ]' J1 j9 M$ h, E! D
2.2 固件驱动程序说明
9 h4 e6 r. p& c0 Y5 C" |% d
此应用包含下列源文件:

! P9 R5 j3 z% H  o: o) N1 W
● main.c:包含初始化代码,并根据所选的“MEDIA_IntFLASH”或“MEDIA_USB_KEY”配置启动应用。
9 w6 O6 u* E: c* Q% }- _
● stm32f4xx_it.c:包含应用的中断处理程序。

1 F) d0 O$ ?& M% @# N
● waveplayer.c:实施用于播放的功能。
7 f. o" r9 Z& _6 U
● waverecorder.c:实施用于录音的功能。

5 v! @, Y0 E2 N+ r8 K! N! {
● usb_bsp.c:实施 USB 主机库的开发板支持包。

" `: Z4 h: T, l- j4 L/ N/ {
● usbh_usr.c:包括 USB 主机库用户回调。

! N( r' {* O& E

0 c4 E/ s* h; p5 n; r
..............

6 q8 w0 |/ T, ]1 k
想了解更多,请下载原文阅读

2 @4 j0 q4 `/ }) R$ B
赞 收藏 评论1 发布时间:2019-3-27 09:56

举报

1个回答
单片机爱好者 回答时间:2019-5-26 23:10:34
支持~~~~~~~~~

所属标签

相似技术帖

官网相关资源

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