请选择 进入手机版 | 继续访问电脑版

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

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

[复制链接]
STMCU-管管 发布时间:2019-3-27 09:56
使用 STM32F4DISCOVERY 进行音频播放和录音8 F, l+ u# f* {+ E

, h5 }7 p4 B3 A# T& _: V1 简介
' f8 Q3 Q4 c4 U3 Y. d! v- U) ]2 ^2 u, {! U
本应用笔记将介绍基于 STM32F4xx 微控制器和 STM32F4-DISCOVERY 板的音频 (wave) 播放和录音应用。 & |+ t. n9 n3 i/ Z- U: r6 O

# P+ k% h9 H" K4 p7 M从 STM32F4xx 微控制器的内部 Flash 或在外部 U 盘上(通过主机模式中的 USB FS 内核)均可读取音频数据 (wave)。记录的波形文件只能存储在外部 U 盘中。
. F  F; z. I* F" ~/ i/ V  x
' z3 }# N+ J' e$ i录音流程基于使用 PDM 音频软件解码库的 ST MP45DT02 MEMS 麦克风硬件(将麦克风生成的 PDM 数据转换为存储在 U 盘中的 PCM 数据)。 ! Y+ v9 A  W) o1 _- t) C: T$ N: y

+ T. X) U% J0 K  k7 ~( u本文档的内容编排如下: ' J' B4 S: ?+ t7 h  ~/ x
● 第 2 节:应用概述中介绍音频播放和录音固件的原理说明及固件运行演示。 ; o' l. e7 @; }# e
● 第 3 节说明如何开始使用相关软件和硬件。
; M1 F- B% @7 B! N/ ~/ N2 A$ i) U8 [1 P0 p1 X
可在“STM32F4-DISCOVERY 板固件包”(v1.1.0 及更高版本)的“Project\Audio_playback_and_record”路径下找到此应用的源代码。 2 ?; b6 E% \. X! K& T8 W" ^: U* s4 K

- [3 \/ a, S: w1.1 参考文档 , I& G+ R* ~7 I; M; m
● STM32F4DISCOVERY 高性能 Discovery 板数据简要
  w/ O2 w# D1 }: b, }& ]. e● 开始使用 STM32F4DISCOVERY 套件软件和固件环境 (UM1467) 7 h$ w( O. m& H; x. s+ p4 }: q# ~: Z
● STM32 微控制器上的 PDM 音频软件解码 (AN3998)
' h% ?4 v8 j: x9 M1 T● STM32F40x 参考手册 (RM0090)
1 v% n3 R6 |9 ?+ \, @9 i● STM32F405xx STM32F407xx 数据手册 3 v3 x& ~" Y2 A7 a

6 M% ?' I" p# g& Y$ s如需上述文档,请访问 www.st.com/stm32f4-discovery
) I- b% ]2 g- K! u5 S# f5 y
9 A% J/ ?% @  C! d2 应用概述 4 u# W/ Y, {# R  c$ F, C

7 i' Y4 d$ m& e9 y2.1 应用说明 7 J9 I8 B' u) C! j1 o& C% F; r

% l% q+ L! J, J( l6 k! W: g  _* g音频播放和录音应用支持两种大容量存储介质。在微控制器的内部 Flash 或在外部 U 盘上均可播放音频数据,但记录数据时只能使用外部 U 盘。这通过 main.h 文件中的 DEFINE 语句选择。在工作区工具栏中,选择项目配置:
; A4 {: F$ y% _+ q" ~* d% a4 `. J  y
● MEDIA_IntFLASH
6 g& O+ }, O* \# y0 s3 ]- O● MEDIA_USB_KEY
, L& b, o$ j: f6 S3 o7 K! }
+ g2 j+ M! S: \6 ]固件驱动程序可以: 2 K: b* c5 j: _4 Z6 t- K4 K
● 从外部 U 盘或内部 Flash 播放存储的波形文件
5 K) j: z. {7 T' O& c1 C. Q1 d● 在外部 U 盘中记录波形文件 5 B! d2 z: q" b
● 从播放切换为录音
4 K5 ~3 Y8 t' y3 y; \
3 z, }$ C8 r8 F  l: {
1.png
0 o4 X: }! v$ p5 Q: Q
此应用基于 STM32F4xx 器件和 STM32F4-DISCOVERY 板。

# F, \4 }' F' X" J
此应用的主要特性包括:
" d- T# f4 Z7 l8 h
● MEMS 麦克风
9 n( I+ R& \  V
● 音频编解码器 DAC
: r5 w% D: L& t$ \" f$ |% r* h" d9 V
● 耳机
! `' Y- N/ J4 p9 ~3 f, ?! s
● U 盘(如果使用该存储介质)
: s1 H9 u7 z  P" C; X- A
● MEMS 加速计

4 {. Y; q8 {' e, F! F) x
此应用使用的主要 STM32 模块包括:
3 `8 N2 U; p7 f
● USB 外设:主机模式下配置。使用大容量存储类 (MSC) 实现与 U 盘的音频数据交换。
% C+ ^' a  s  M. b. r) W
● I2S 外设:在主发送器模式下配置,用于向外部音频编解码器 (DAC) 发送音频数据。它还可用作主接收器,作为 MEMS 麦克风的输入时钟。
# d, L% H( Q* h
● DMA:用于将数据从缓冲器发送到 I2S 外设。这可以显著地降低 CPU 负载。

) M' y1 Y5 G3 e
● I2C 外设:用于控制多个外部器件(如音频编解码器)并从此器件获取数据。

- i9 w/ C2 G' e6 J' h# z2 a7 n
● SPI 外设:用于控制 MEMS 加速计。

, Q. _2 J, i' J/ y% N$ f& o6 C1 [
● 用户按钮:用于监视应用(播放或录音)。

7 y3 v5 [; b3 k" N, b& J

( y6 O1 ?0 E/ R0 z  W" D
1.png
# w9 U3 m% V" u. f
4 X$ l: H0 w/ G' e" S! e) Z+ ?  s
注: 本应用笔记基于 STM32 USB On-The-Go (OTG) 主机和器件库。有关 USB 主机栈和大容量存储演示的详细信息,请参见“STM32F105/7、STM32F2xx 和 STM32F4xx USB On-TheGo主机和器件库”用户手册 (UM1021)。
7 a9 t( N: H% d- Q1 j2 u
2.2 固件驱动程序说明

1 _) y6 }. z/ c4 v; l
此应用包含下列源文件:
$ q7 r( Z$ g- J/ |
● main.c:包含初始化代码,并根据所选的“MEDIA_IntFLASH”或“MEDIA_USB_KEY”配置启动应用。

( r5 _9 c8 [: D' i; S
● stm32f4xx_it.c:包含应用的中断处理程序。
; h" q" D1 G4 o7 b0 h/ q. B
● waveplayer.c:实施用于播放的功能。

3 B7 D& o) z2 {
● waverecorder.c:实施用于录音的功能。

% m& \# f4 R/ b
● usb_bsp.c:实施 USB 主机库的开发板支持包。
1 G' `! U) p$ w( D
● usbh_usr.c:包括 USB 主机库用户回调。

( Q8 V. \- p: n* N, g5 B

" A1 n4 d2 r: E! n3 w
..............
' M3 q% A1 g7 x& D: D- b  M, ?
想了解更多,请下载原文阅读
- _1 z$ z1 x+ U9 y0 M" P
收藏 评论1 发布时间:2019-3-27 09:56

举报

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