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

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

[复制链接]
STMCU小助手 发布时间:2022-7-18 14:04
1简介
7 m. T7 x/ b0 ~本应用笔记将介绍基于 STM32F4xx 微控制器和 STM32F4-DISCOVERY 板的音频 (wave) 播放和录音应用。; ^+ {2 ]' T2 x: p, y: p' Q0 \
从 STM32F4xx 微控制器的内部 Flash 或在外部 U 盘上(通过主机模式中的 USB FS 内核)均可读取音频数据 (wave)。记录的波形文件只能存储在外部 U 盘中。
0 u) b0 h) E" V. W& U2 ?/ T录音流程基于使用 PDM 音频软件解码库的 ST MP45DT02 MEMS 麦克风硬件(将麦克风生成的 PDM 数据转换为存储在 U 盘中的 PCM 数据)。- L! W% \( `) L
本文档的内容编排如下:: w( ^3 i  Y+ O6 T' @
● 第 2 节:应用概述中介绍音频播放和录音固件的原理说明及固件运行演示。! b% l2 k# u) I) ^! ?; C
● 第 3 节说明如何开始使用相关软件和硬件。) C2 z. _7 ^+ ^) m; o
可在“STM32F4-DISCOVERY 板固件包”(v1.1.0 及更高版本)的“Project\Audio_playback_and_record”路径下找到此应用的源代码。
, [- D: O7 s6 O
1.1 参考文档6 }' H2 V5 ]* M2 f+ f
● STM32F4DISCOVERY 高性能 Discovery 板数据简要
) T( Y) ?' X. t$ u8 @8 @● 开始使用 STM32F4DISCOVERY 套件软件和固件环境 (UM1467)
3 n" }0 Z, V  V7 Y. a, `● STM32 微控制器上的 PDM 音频软件解码 (AN3998)/ J3 ]% K) [# a6 D& `1 W
● STM32F40x 参考手册 (RM0090)3 z" X& a6 i# a/ c9 [/ s. y
● STM32F405xx STM32F407xx 数据手册9 b2 d& s+ x$ T
% {) d+ L) a# W1 Y9 ~0 y3 I% b& d

- U/ H% c% `. a* Z/ r0 V7 S$ ]2 应用概述/ Z9 I7 V3 v# `2 O
2.1 应用说明5 W0 q' {8 V- y+ C( D$ ]* I
音频播放和录音应用支持两种大容量存储介质。在微控制器的内部 Flash 或在外部 U 盘上均可播放音频数据,但记录数据时只能使用外部 U 盘。这通过 main.h 文件中的 DEFINE 语句选择。在工作区工具栏中,选择项目配置:
% Z0 P/ j* l# O9 U& t! J# H● MEDIA_IntFLASH$ a) c' E! T1 s6 I; m$ B
● MEDIA_USB_KEY& u, D$ R* q$ o- M  r4 {' x
固件驱动程序可以:5 o/ U, w2 _1 p7 M
● 从外部 U 盘或内部 Flash 播放存储的波形文件
; b. G; @) H6 B● 在外部 U 盘中记录波形文件5 V  }0 W0 I+ n2 R0 Z1 R: C
● 从播放切换为录音; q, V. O  m3 \, n% v  u' B* [

# c# I  l2 x& a3 z' s
% C7 y% @7 U, g0 ?
XLET`}88$P~_FB_1B.png
- u6 ~9 X2 F# A9 ]5 ?7 X! E- ]; K/ `8 t, ~5 U/ W& o/ p
此应用基于 STM32F4xx 器件和 STM32F4-DISCOVERY 板。/ @( q  z! F4 X' {' ]! r+ C, a
此应用的主要特性包括:
/ C0 X0 z$ V  U# T& W● MEMS 麦克风9 B  E0 l5 z+ C9 [/ l$ |6 ?" e
● 音频编解码器 DAC; L9 O% }  |0 W. [- T8 c. N" F5 N7 f
● 耳机
0 f! ^. u7 p, b; Y0 k, r● U 盘(如果使用该存储介质)
% \8 Z% w, o  `# @: n● MEMS 加速计
1 E1 m& c" b2 y+ C& D4 x6 h) R' l1 D: t6 o
此应用使用的主要 STM32 模块包括:
) T7 k5 T2 Z* w( U, }● USB 外设:主机模式下配置。使用大容量存储类 (MSC) 实现与 U 盘的音频数据交换。( R" U9 H6 z0 m* n
● I2S 外设:在主发送器模式下配置,用于向外部音频编解码器 (DAC) 发送音频数据。它还可用作主接收器,作为 MEMS 麦克风的输入时钟。; n$ G; U  Y: C  C9 B  l8 x
● DMA:用于将数据从缓冲器发送到 I2S 外设。这可以显著地降低 CPU 负载。
2 }! z. Y  m# v- X3 ?● I2C 外设:用于控制多个外部器件(如音频编解码器)并从此器件获取数据。% O" ?; r# r" q* f; v: |2 Z
● SPI 外设:用于控制 MEMS 加速计。/ a% T$ }* o  W1 |
● 用户按钮:用于监视应用(播放或录音)。
. L5 q) y  a7 P3 o. x: O8 [# k- h% m1 W2 M8 O

0 z( ]' l/ S* }+ q  I1 b _NH$POKO]QVE%]A)Z_BF9_L.png   W5 O1 F, w" a/ t# ]- Z6 a: V0 ?

3 u6 m7 W9 z* S6 [/ ^

7 t+ F5 [% x- B2.2 固件驱动程序说明
  T# ^( Z7 V* Y+ k1 I& Z) W/ E0 o此应用包含下列源文件:
' O6 y: r. o5 [! @● main.c:包含初始化代码,并根据所选的“MEDIA_IntFLASH”或“MEDIA_USB_KEY”配置启动应用。
' k# x+ D& w& \, U' c& M4 M6 ?! r5 ?8 f# `● stm32f4xx_it.c:包含应用的中断处理程序。
5 y4 K9 m7 \+ r4 ]2 g2 P6 ~9 a● waveplayer.c:实施用于播放的功能。
2 a1 r1 j/ i$ H) ~● waverecorder.c:实施用于录音的功能。: z( K4 U% O4 B4 j5 U
● usb_bsp.c:实施 USB 主机库的开发板支持包。5 A" q! w8 ^7 W; l' B/ a$ W
● usbh_usr.c:包括 USB 主机库用户回调。
, e- i7 {* b* a0 M# {  o
! ~5 X' w0 [3 K( D  `每次复位开发板后,都会从所选的大容量存储介质运行波形播放器应用。
+ X. _. C- s! N! \% v! n* s7 Z● 如果所选介质为 U 盘,则在按下用户按钮后,会停止播放应用并切换到录音应用。每次按下用户按钮,都会停止运行中的应用并切换到另一个应用。3 U8 r5 e3 u: k/ |' o* w
● 如果所选介质为内部 Flash,则按下用户按钮不会有任何反应。; J- Z# s- V/ Y4 }, f0 }
/ l2 G$ R. O% E" s$ X

5 w. z% j) O# N: I %SIK[GJFOJI~1GS`VVJ`4OB.png 7 O/ G4 Z; J3 |

5 T2 b4 S. v) T. H% z8 v" `- Q
+ ~3 y* v1 k2 J2 s% {9 F/ D2 H
2.3 音频播放应用
& t! C4 {. R1 ?: K4 y0 U图 4 为播放应用的流程图。图中包括多个控制功能,如暂停/继续、开始重复/停止重复。9 X7 r  t: G% d2 N8 ]
MEMS 加速计可用于支持停止/继续功能。当波形播放器正在运行时,第一次单击开发板会停止播放,第二次单击则继续播放。
6 @9 M7 F0 \* e. S: A7 m+ B开始重复/停止重复功能可通过 main.h 文件中的 DEFINE 语句进行管理。
! z3 M7 p0 Y& b
7 |0 t, [' _8 a( X) Y- D
6 N7 w1 m% E2 \# Y; f) m! O
PM{DOJS4]ZEJ(0{_Q3E]BYH.png
1 D2 H  T: ^( }, Z2 k# u: Z* [( Y% D

: r+ T7 B# r- `& o
) {2 H' T0 W* B% g' ~/ H完整版请查看:附件

; s+ `, x9 Q9 I3 W- v7 u; s9 s4 N
3 y: d4 F; P( Z
' F5 E* j  y1 e7 ?0 v2 e* W9 B0 h" c# h0 B/ w# d6 |# f

DM00040802_ZHV1.pdf

下载

674.05 KB, 下载次数: 34

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

举报

0个回答

所属标签

相似技术帖

官网相关资源

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