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

在 STM32F0xx 微控制器系列产品中使用 DAC生成音频和波形

[复制链接]
STMCU小助手 发布时间:2022-7-18 15:24
简介9 Y, r- S4 r& V9 Y1 \* Z6 a
本应用笔记举例介绍了使用数模转换器 (DAC) 外设生成音频输出信号的过程,该 DAC 外设内嵌在 STM32F0xx 微控制器系列产品中。# A2 ~" K$ j0 @
数模转换器 (DAC) 是一种与模数转换器功能相反的器件,可以将数字形式的数据转换为相应的模拟电压信号。
8 j5 U" ?; {% N) y  ]STM32 DAC 模块是 12 位数据转换器,带有一个支持单声道音频的输出通道。
9 j! z! I3 G2 x8 `( F3 J: sDAC 可用于多种音频应用中,例如:安全警报、蓝牙耳机、发声玩具、答录机、人机接口以及低成本的音乐播放器。
5 w6 W, P3 \. F. ]STM32 DAC 还可实现许多其他模拟用途,如模拟波形产生和控制工程。! u3 W, o+ o5 v9 [! o5 Z
本应用笔记主要包括两部分内容:
1 g8 B  }8 L% ^$ {; g●第 1 节介绍 STM32 DAC 模块的主要特性。
, ]8 [% ]0 x/ d" P1 O, Y2 u●第 2 节介绍两个示例。+ ^" p( U7 k% _2 k& q" [8 q5 S
—在第一个示例中,DAC 用于生成正弦波形。
4 Z+ i, {1 F* B4 ]—在第二个示例中,DAC 用于通过 .WAV 文件生成音频。
7 @. F4 V$ v0 D. V
8 g0 `, d2 d- S9 A

" z: Y9 m8 v* x4 a; |1 DAC 主要特性
% u/ D% m" p1 [2 F* p1.1数据格式3 f" L& r; v. |+ ^, {
DAC 可以使用以下三种整型格式的数据:8 位右对齐、12 右对齐以及12 位左对齐。12 位值的范围在 0x000 到 0xFFF 之间,其中 0x000 为最小值,而 0xFFF 为最大值。
- p+ B+ M2 \+ L( `* V$ }1 n7 K
) n; j: H6 ~6 o3 l( Y1 h# ?
R~_J$USD7%UKZ3FA5%GURDP.png
" p/ ~, M. s' ^& Z, k+ d2 H3 a0 ~, L- Q$ A; p: \7 M

9 n/ {$ E; ]0 T/ I; V1.2 专用定时器
- m% E. A; R: s% m  A* W除了通过软件和外部触发信号触发 DAC 转换之外,还可以通过定时器触发 DAC 转换。
4 w' g, V- E* ~' ^TIM6 是一种基本定时器,主要用于触发 DAC 转换。( S- {( \5 T- E& U, x4 V" _
每当 DAC 接口在所选的定时器触发输出 (TIMx_TRGO) 上检测到上升沿时,DAC_DHRx 寄存器中存储的最后一个数据即会转移到 DAC_DORx 寄存器中。
! O2 v8 |3 o6 k0 i3 y7 ?8 K4 j- B
% I: ?3 R6 L- D5 G0 t% d# X

$ j8 \4 C: D: k. S1 e# L
( k8 x, }4 n+ k4 s. n
. e- u9 i. |8 r7 R5 ~5 j
1.3 DMA 功能* M# A  F) O% ]0 e3 s3 ]/ U, N
STM32 微控制器配有一个多通道 DMA 模块。DAC 通道连接到独立的 DMA 通道。对于STM32F0xx 微控制器,DAC 通道会与 DMA 的通道 3 相连接。
. a2 W2 D& L' ^4 E4 p( W6 P未使用 DMA 时,CPU 用于向 DAC 提供模式波形。通常,波形保存在存储器 (RAM) 中,CPU负责将数据从 RAM 传输到 DAC。
' O4 A) r& S" P4 p) }& N9 j, ]
0 E! C6 x. ~% R7 g

1 X( A" Y- U7 C* C# r: t* ^2 e SNYE7(%API6T}E8`8G9SQ1D.png
) E+ {# C  Q5 K! j% m+ A. p
0 ~( s# A$ x# r $[OU_F_1`HM(J%{NGI0I2UD.png / P% p/ m! }. ]  F9 m5 F+ U6 ~& w
4 Z2 X5 @( y# H) @7 G

9 V0 Y, V' A; z. H. t: h  w/ A1.4 DMA 下溢错误
, N( k4 m8 X; g" b. J* {DMA 向 DAC 提供模式波形时,有时会出现 DMA 传输速度比 DAC 转换速度快的情况。此时,DAC 会检测到部分模式波形遭到忽略而不予转换。它随后会将“DMA 下溢错误”标志置 1。6 i7 M& D- H; E4 H5 E
可以使用触发定时器通过共享 IRQ 通道处理下溢错误,在 DAC 不通过 TIM6 触发时也可通过专用中断来处理。1 f! n: U8 k/ G
6 W3 T$ v0 H2 r5 `4 J
1.5 缓冲的输出
- b; ~: d9 B4 r! Y3 o- d为了在不使用外部运算放大器的情况下驱动外部负载,DAC 通道内嵌一个输出缓冲器,可以根据用户应用情况进行使能和禁止。
- T4 C* I9 K* q. q8 Y如果未对 DAC 输出进行缓冲,当用户应用电路中存在负载时,实际电压输出会低于预期电压输出。启用缓冲器后,实际电压输出会与预期电压输出非常接近。; ?9 [! u0 Q" K" z& I: _

& s7 m3 F4 [- c1 u  b
1 j; Y) M( ]7 _: k" ], `* d) Q
BQNV@G{RD{1R[@JU2(XTPVT.png + _0 n/ T" h# q( y) H0 V
7 |2 y$ [/ A! Q6 x. J2 d/ m3 t
- l& t# B" _/ b$ i/ t% v3 S2 ^! i$ M
完整版请查看:附件

* d; {2 ~5 R0 A- v4 `  E* b' N- ?+ K# O2 h1 h. j& u% m4 t

DM00049125_ZHV1.pdf

下载

981.47 KB, 下载次数: 0

赞 收藏 评论0 发布时间:2022-7-18 15:24

举报

0个回答

所属标签

相似技术帖

官网相关资源

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