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

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

[复制链接]
STMCU-管管 发布时间:2019-3-27 09:56
使用 STM32F4DISCOVERY 进行音频播放和录音8 W# e" S$ }: y* X6 v: b9 _
' ~* p5 J- }7 o0 ^
1 简介
' I, c% F8 u$ g, o' L; {
- d; S% X& |' f3 C5 c, d% L. n本应用笔记将介绍基于 STM32F4xx 微控制器和 STM32F4-DISCOVERY 板的音频 (wave) 播放和录音应用。 5 ^, O6 F7 _: n( d6 O  f
- j1 p3 b7 A$ o5 u
从 STM32F4xx 微控制器的内部 Flash 或在外部 U 盘上(通过主机模式中的 USB FS 内核)均可读取音频数据 (wave)。记录的波形文件只能存储在外部 U 盘中。 8 e- z5 L  N) ?( i1 D1 I

  j! d! I8 V" X1 Z录音流程基于使用 PDM 音频软件解码库的 ST MP45DT02 MEMS 麦克风硬件(将麦克风生成的 PDM 数据转换为存储在 U 盘中的 PCM 数据)。 + x4 ?1 d. K9 B( Q# m  a

! Z. L- D, E1 E$ N本文档的内容编排如下:
9 T7 x# k( I: [! U1 r0 n8 y● 第 2 节:应用概述中介绍音频播放和录音固件的原理说明及固件运行演示。
1 y- ?4 g9 q) W2 o) b● 第 3 节说明如何开始使用相关软件和硬件。
6 M3 \, `! B/ L0 r" o0 ~0 B
% o4 q) G8 R7 I  a可在“STM32F4-DISCOVERY 板固件包”(v1.1.0 及更高版本)的“Project\Audio_playback_and_record”路径下找到此应用的源代码。 6 g# T: ^% r- ^
0 f: d6 j8 b' _5 M( P- i
1.1 参考文档
& Z6 J% Z* O- B" C# Q% P( t● STM32F4DISCOVERY 高性能 Discovery 板数据简要   P) E4 ?3 }0 `( w
● 开始使用 STM32F4DISCOVERY 套件软件和固件环境 (UM1467)
& [8 ^2 W% D" C" Z8 I● STM32 微控制器上的 PDM 音频软件解码 (AN3998) ( s; {5 D/ k$ E6 t+ c$ v
● STM32F40x 参考手册 (RM0090) 0 {( E' P6 {/ u) ]+ T
● STM32F405xx STM32F407xx 数据手册
: I: h' S& T' C' O: i# @1 L) B! p
如需上述文档,请访问 www.st.com/stm32f4-discovery6 B2 T7 p% e$ D! z7 C

- f) `" B/ R3 H$ P2 应用概述 5 ^: i1 ]. }6 k6 W) R
7 S) Z$ A2 e9 s2 m$ b  y- P5 O
2.1 应用说明 . R/ s+ T5 Y& |: D( l7 N

( c6 |1 M# F$ i4 q& ~! p音频播放和录音应用支持两种大容量存储介质。在微控制器的内部 Flash 或在外部 U 盘上均可播放音频数据,但记录数据时只能使用外部 U 盘。这通过 main.h 文件中的 DEFINE 语句选择。在工作区工具栏中,选择项目配置:
. c- N7 Z9 e) }/ Y6 ?+ q, u; F( q( |" p, o) }5 }
● MEDIA_IntFLASH 4 h4 {( x- b% x" L  Y+ j* V
● MEDIA_USB_KEY 8 o9 U' ~# P# `$ u2 W
3 L+ R/ N2 G4 K: m- T
固件驱动程序可以:
+ E( E1 `2 y# b5 G/ L/ D● 从外部 U 盘或内部 Flash 播放存储的波形文件 + m4 y$ X$ H) e) _
● 在外部 U 盘中记录波形文件
3 n' M6 p- r3 F! F" {● 从播放切换为录音
& S7 J1 m, T, Z$ R( V( n- O
' l- S1 Z# |% E5 l
1.png
# `( c# N+ ^- Z' P1 U, v
此应用基于 STM32F4xx 器件和 STM32F4-DISCOVERY 板。
0 }) I. p$ O1 J$ F8 H/ z. o
此应用的主要特性包括:
* ~% m5 z! v) l6 M
● MEMS 麦克风

! V' W1 j! m- z
● 音频编解码器 DAC

8 |" Z; `  G0 D+ m+ R, l: x
● 耳机

8 ?1 B, m& v# s0 |. b+ p" o
● U 盘(如果使用该存储介质)
, ^5 s5 v' w9 q; n
● MEMS 加速计

! a% `/ [2 f( R  a) }' w9 S& \; g
此应用使用的主要 STM32 模块包括:
+ H; Q/ a) l! H
● USB 外设:主机模式下配置。使用大容量存储类 (MSC) 实现与 U 盘的音频数据交换。
! G8 ^; \8 A& [  ?$ Q
● I2S 外设:在主发送器模式下配置,用于向外部音频编解码器 (DAC) 发送音频数据。它还可用作主接收器,作为 MEMS 麦克风的输入时钟。

! ^% U8 a; U8 }" R
● DMA:用于将数据从缓冲器发送到 I2S 外设。这可以显著地降低 CPU 负载。

9 Q" L; |, u+ ]3 X( {! X3 e
● I2C 外设:用于控制多个外部器件(如音频编解码器)并从此器件获取数据。

0 v, b* R" n5 c6 p
● SPI 外设:用于控制 MEMS 加速计。

( z+ n$ f: U1 F3 X  O
● 用户按钮:用于监视应用(播放或录音)。

+ k0 S2 j7 F# [# f' T. d

$ m* T! L+ F, m
1.png

- ^% _0 r" R0 G! A& M0 M; c
2 s- V# o& G' a. F/ N& l8 J9 f% f
注: 本应用笔记基于 STM32 USB On-The-Go (OTG) 主机和器件库。有关 USB 主机栈和大容量存储演示的详细信息,请参见“STM32F105/7、STM32F2xx 和 STM32F4xx USB On-TheGo主机和器件库”用户手册 (UM1021)。
$ D  O9 I# j% i& e
2.2 固件驱动程序说明
$ x( m4 s( @0 d3 l0 S
此应用包含下列源文件:
1 S) {3 B) x+ G. h9 i! H$ S' y1 g
● main.c:包含初始化代码,并根据所选的“MEDIA_IntFLASH”或“MEDIA_USB_KEY”配置启动应用。
: Z- X3 H! a9 O
● stm32f4xx_it.c:包含应用的中断处理程序。
. e0 h7 Y5 `, ^; L$ [5 [4 l
● waveplayer.c:实施用于播放的功能。

3 g2 D8 O, @5 t7 {6 m
● waverecorder.c:实施用于录音的功能。

" R( v$ \. b$ U8 m0 l, `0 t
● usb_bsp.c:实施 USB 主机库的开发板支持包。

' Y9 `2 u4 {$ }
● usbh_usr.c:包括 USB 主机库用户回调。
! ]& U( v, x5 F: q( Y! m

4 ]4 b! t2 a! ^9 W5 s2 Q! c$ \( t
..............

+ }; R  u, l) y. k
想了解更多,请下载原文阅读

( s* W! n4 _; [. J# O% B- j
收藏 评论1 发布时间:2019-3-27 09:56

举报

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