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

使用 STM32F4DISCOVERY 进行音频播放和录音

[复制链接]
STMCU小助手 发布时间:2022-7-18 14:04
1简介
' m9 Z9 c! [  n8 d# o本应用笔记将介绍基于 STM32F4xx 微控制器和 STM32F4-DISCOVERY 板的音频 (wave) 播放和录音应用。' f; S8 Q: `& a/ L
从 STM32F4xx 微控制器的内部 Flash 或在外部 U 盘上(通过主机模式中的 USB FS 内核)均可读取音频数据 (wave)。记录的波形文件只能存储在外部 U 盘中。$ p8 N' d& z: }  s: Q3 ~
录音流程基于使用 PDM 音频软件解码库的 ST MP45DT02 MEMS 麦克风硬件(将麦克风生成的 PDM 数据转换为存储在 U 盘中的 PCM 数据)。& N# X+ X, D; M) v
本文档的内容编排如下:) X+ n6 q9 M8 n7 t$ V
2 节:应用概述中介绍音频播放和录音固件的原理说明及固件运行演示。
' P) H& P" T1 Q2 e! n 3 说明如何开始使用相关软件和硬件。
5 i6 z- w( v8 c1 `2 p: V9 j+ i, D可在“STM32F4-DISCOVERY 板固件包”(v1.1.0 及更高版本)的“Project\Audio_playback_and_record”路径下找到此应用的源代码。& j! G/ a& ]: ], u) g# k
1.1 参考文档
/ H4 r1 w9 B& u( v' b& |1 XSTM32F4DISCOVERY 高性能 Discovery 板数据简要
2 `2 f: h# v  `/ s. r开始使用 STM32F4DISCOVERY 套件软件和固件环境 (UM1467)
2 Y& O* @/ D. v5 ~STM32 微控制器上的 PDM 音频软件解码 (AN3998)
' \5 \7 T" Y7 N" D5 JSTM32F40x 参考手册 (RM0090)
9 _) g/ Q4 M: K( `3 B% c6 tSTM32F405xx STM32F407xx 数据手册
. n" s* P# x7 j6 u3 w: s* X' g- ]) J2 D0 ]6 @. g2 d. l" D. L
' V2 x( ^, J8 ^; |
2 应用概述1 a8 q6 U- E- u
2.1 应用说明
6 A% c' H% h7 E" C6 [+ l音频播放和录音应用支持两种大容量存储介质。在微控制器的内部 Flash 或在外部 U 盘上均可播放音频数据,但记录数据时只能使用外部 U 盘。这通过 main.h 文件中的 DEFINE 语句选择。在工作区工具栏中,选择项目配置:
4 M- b" t5 J# yMEDIA_IntFLASH
* g$ ]: l! |5 ~5 O  IMEDIA_USB_KEY
) Y1 l2 `3 \. H# b固件驱动程序可以:
: g+ x) Q% L; v% N, ^从外部 U 盘或内部 Flash 播放存储的波形文件3 s6 j$ V  ~! t  Q0 F2 e% R4 U# o& ]
在外部 U 盘中记录波形文件
5 w4 @& y% f5 P7 a4 d从播放切换为录音
  h5 c4 O" h* n) Z: A. H9 S) A9 O
  y% P/ [9 m0 @$ Q

9 d7 s/ y) E4 B) s4 V XLET`}88$P~_FB_1B.png
  K; N6 k8 F# H2 w+ i+ Y. V0 e: c3 v7 q0 S( z# }
此应用基于 STM32F4xx 器件和 STM32F4-DISCOVERY 板。
$ i. ]. w, R# v! @8 k# R1 L( h此应用的主要特性包括:
& A1 N! |# V& J  F' x( B; C/ `" ~* bMEMS 麦克风5 p5 G. `- L6 R6 C9 Q9 p" _
音频编解码器 DAC
# e! i/ o2 E. K6 ?# W# ]耳机% j& [  T0 G1 @8 C- I% o$ g
U 盘(如果使用该存储介质)2 X+ r& N7 b- G  ^& n$ f
MEMS 加速计# E7 D. j, K$ Z$ P

& M# p: h& x- [! ^6 b1 o# C* I此应用使用的主要 STM32 模块包括:
% m; x* T; v* \USB 外设:主机模式下配置。使用大容量存储类 (MSC) 实现与 U 盘的音频数据交换。
  E' H' U( b" P$ d# HI2S 外设:在主发送器模式下配置,用于向外部音频编解码器 (DAC) 发送音频数据。它还可用作主接收器,作为 MEMS 麦克风的输入时钟。0 F7 N, W0 n* m5 {: x
DMA用于将数据从缓冲器发送到 I2S 外设。这可以显著地降低 CPU 负载。; s$ Q$ u+ t0 P: e4 x& z
I2C 外设:用于控制多个外部器件(如音频编解码器)并从此器件获取数据。
/ B. H& `% L4 N. c4 USPI 外设:用于控制 MEMS 加速计。
* o7 {4 v3 x; ?3 D: q用户按钮:用于监视应用(播放或录音)。
0 B# f$ D  D; _& h& }
! l2 b. g; P- i+ l
6 M/ C; Q  q& }% O4 A
_NH$POKO]QVE%]A)Z_BF9_L.png % t9 ?( b. L6 j

) D: Y$ m8 G" D2 }; y+ L8 f
3 Y) D  P. c: X( J5 m2 k
2.2 固件驱动程序说明
/ {; G! \$ ]' `' V7 M8 t此应用包含下列源文件:' w- a# P% W$ S/ E2 J. H
main.c包含初始化代码,并根据所选的“MEDIA_IntFLASH”或“MEDIA_USB_KEY”配置启动应用。
; a2 l9 o6 h% l4 [9 `4 Fstm32f4xx_it.c包含应用的中断处理程序。& ?' Q1 @2 X2 F! k! c( ^4 B6 _% ~
waveplayer.c实施用于播放的功能。
: i) J8 H) F5 S9 jwaverecorder.c实施用于录音的功能。' t! G. ~; ?. t9 V7 y
usb_bsp.c实施 USB 主机库的开发板支持包。3 }3 R3 h$ T" X9 m, @6 x4 B9 S
usbh_usr.c包括 USB 主机库用户回调。) G; F" f% C+ D: S- r

0 Q2 S. }6 i/ `. r% R每次复位开发板后,都会从所选的大容量存储介质运行波形播放器应用。8 H+ [: h( K6 U
如果所选介质为 U 盘,则在按下用户按钮后,会停止播放应用并切换到录音应用。每次按下用户按钮,都会停止运行中的应用并切换到另一个应用。  k7 s; z! R  r; D7 |* o
如果所选介质为内部 Flash,则按下用户按钮不会有任何反应。7 h) [% B7 y8 i- A  G

% k8 t6 X1 U9 D- Q8 P* {8 B0 D
/ H( O" y5 w/ R6 k. k/ ?
%SIK[GJFOJI~1GS`VVJ`4OB.png
! m0 D& {2 |- V& S0 Y' t8 q: W  X# O" ^- A

2 j% M& I/ f1 I% T2.3 音频播放应用
8 f8 c6 t* A# ~/ o2 @5 z 4 为播放应用的流程图。图中包括多个控制功能,如暂停/继续、开始重复/停止重复。: r6 v. k7 ?( I
MEMS 加速计可用于支持停止/继续功能。当波形播放器正在运行时,第一次单击开发板会停止播放,第二次单击则继续播放。/ Z( ~/ p3 H" r9 A+ J& l, F
开始重复/停止重复功能可通过 main.h 文件中的 DEFINE 语句进行管理。
& j' b% w) z" {7 E9 t0 K4 n4 G: \" \1 a( o+ m/ v5 Y
% l4 A( M( W' v$ S1 ^3 J
PM{DOJS4]ZEJ(0{_Q3E]BYH.png - [5 s- k  Z" v. g( ]5 f/ z8 g
1 X0 _3 [& H1 Y2 X4 v( P/ d
$ J0 U3 y0 A% G- V+ z4 s
0 q. J" Y: X% s3 d$ s$ Z2 b- x
完整版请查看:附件
+ `; }/ m) R$ z0 s
7 O* a  o( a- D% n' b5 O( c
/ J2 j7 x; E) S" {
; a2 E# o5 G" c8 F

DM00040802_ZHV1.pdf

下载

674.05 KB, 下载次数: 28

收藏 评论0 发布时间:2022-7-18 14:04

举报

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