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

使用 STM32 微控制器系列中的 DAC生成音频和波形

[复制链接]
STMCU小助手 发布时间:2022-12-4 18:00
前言
3 G# u2 p& W9 k本应用笔记举例介绍了使用数模转换器 (DAC) 外设生成音频输出信号的过程,该 DAC 外设内嵌在 STM32F10xx 微控制器系列产品中。
, N3 w. h; w9 P1 w) l# {0 I; e8 m数模转换器 (DAC) 是一种与模数转换器功能相反的器件,可以将数字形式的数据转换为相应的模拟电压信号。# r1 W! A) ?$ v
STM32 DAC 模块是 12 位字转换器,带有两个支持立体声音频的输出通道。' X) P' v4 {6 s, H
DAC 可用于多种音频应用中,例如:安全警报、蓝牙耳机、发声玩具、答录机、人机接口以及低成本的音乐播放器5 J- @+ `2 G7 t1 g! i  g
STM32 DAC 还可实现许多其他模拟用途,如模拟波形产生和控制工程。0 A2 g' [& S( v# S' M4 u
本应用笔记主要包括两部分内容:$ B3 F' H4 n% b
● 第 1 节介绍 STM32 DAC 模块的主要特性。
& e: |' W4 x3 s6 F" H; `- Z● 第 2 节介绍了两个示例。
; s; A+ P9 W0 P% }# a, v5 M5 m— 在第一个示例中,DAC 用于生成正弦波形。
# @6 Y1 [' d$ c0 S+ _— 在第二个例中,DAC 用于通过 .WAV 文件生成音频。1 g, F4 v) |, W/ b2 x( d
; P6 P; L5 K" k$ Z0 G; }

5 V6 W4 Z$ M5 t; H2 S* i; [1 DAC 主要特性
- E. T; Z& l- n3 ~& Y1.1 数据格式9 x3 W0 N/ `2 R4 R, F, H) T4 s
DAC 可以使用以下三种整型格式的数据:8 位右对齐、12 位右对齐以及 12 位左对齐。12 位值的范围在 0x000 到 0xFFF 之间,其中 0x000 为最小值,而 0xFFF 为最大值。3 X$ N% l# o! s% B2 s

. R2 }  D+ Q+ n; ^ 28`MCNG)_P9QZPD3[U%7]OA.png
+ w) m) B; V- j. ~2 ?* n9 H- Y6 p  S) ~9 E# g$ e, V3 w

# d: h9 ?: M- h! ^* b1.2 双通道模式
  [0 X9 ~* {& x! \9 {* ~& aDAC 有两个输出通道,每个通道各有一个转换器。在双 DAC 通道模式下,转换可以单独进行,也可以同时进行。
5 A% n. j) A4 z+ d当 DAC 通道由同一个触发源触发后,两个通道将组合在一起同步执行更新操作,转换也会同时进行。
3 A- G5 t7 G- M5 a5 h8 U5 l# s5 I4 `8 L; X) r% u
1.3 专用定时器
8 J! _' Y  Q8 ]除了通过软件和外部触发器触发 DAC 转换之外,还可以通过不同的定时器触发 DAC 转换。9 @2 L& ?' |- ?" Y) f
TIM6 和 TIM7 是两个基本定时器,主要用于 DAC 触发。7 Q3 M0 Z" w: B6 ^5 q. T& D
每当 DAC 接口在所选的定时器触发输出 (TIMx_TRGO) 上检测到上升沿时,DAC_DHRx 寄存器中存储的最后一个数据即会转移到 DAC_DORx 寄存器中。
  r( i* Q1 X: l6 |+ F
# K! `' M" I) Q6 k3 P( W+ [
6 W$ u% o! M2 ?& U
~O8BIKQY(9A}}Q45IG5GD9M.png
3 p1 q. ~6 P7 d3 G( A4 g) p( }" s" E/ @7 Z8 o5 u' Y+ l
1.4 DMA 功能
$ u$ E) `/ e; @2 W* @STM32 微控制器配有一个多通道 DMA 模块。每个 DAC 通道都连接到独立的 DMA 通道。4 d# o; z; L  W$ d' v
对于 STM32F100x 微控制器,DAC 通道 1 连接到 DMA 通道 3,DAC 通道 2 连接到 DMA通道 4。" o* `  u  R& _. o
未使用 DMA 时,CPU 用于向 DAC 提供模式波形。通常,波形保存在存储器 (RAM) 中,CPU 负责将数据从 RAM 传输到 DAC。
6 Q% g6 ^' f3 \! Q
( n1 O, e) q# ?5 X, p5 [- B
0 q; K+ J: I1 g/ m' z
N8CJ8H__U%YFK1G3%L69O99.png : @$ g) t* }( b

  `+ K) W) Z8 y" \* E, q8 P( m; Q使用 DMA 时,系统的整体性能会因内核的释放而提升。此时,数据直接通过 DMA 从存储器传输到 DAC,无需 CPU 执行任何操作。这样节省的 CPU 资源可供其它操作使用。
; `. N$ Q% t6 D7 \+ C& ~
/ R% ?( R1 P+ F4 B/ o& \4 l; r

8 f3 e, k" q- H: T
2 H0 _  d/ H# ?& x: M; ~
, |9 A* N( Z) O; h% r1.5 DMA 下溢错误7 a; n5 F" X$ r8 b& r" i9 B; _2 r' w
DMA 向 DAC 提供模式波形时,有时会出现 DMA 传输速度比 DAC 转换速度快的情况。此时,DAC 会检测到部分模式波形遭到忽略而不予转换。它随后会将“DMA 下溢错误”标志置 1。3 @' n7 J/ L2 i& b1 y2 V
可以使用触发定时器通过共享 IRQ 通道处理下溢错误,在 DAC 不通过 TIM6 触发时也可通过专用中断来处理。/ `# R7 k) ^  d8 W; s8 K" g( ~

0 H/ G' {) \5 a5 p
1.6 白噪声发生器* j5 G* U- w. s) n# N4 S# t6 r) h
1.6.1 定义3 Y6 N* H- k. F5 K% w& H+ T
STM32 微控制器 DAC 为用户提供了一个伪随机码发生器。根据移位寄存器上使用的节拍数,在序列重复前,可生成具有最多 2n-1 个数的序列。0 B! i2 F3 l1 D8 ]
% E* _$ C9 o/ J7 f& `7 ]

7 A7 q4 b, ?6 z2 O4 x1 b, n2 r {[8USDK[BGKFY864DG{ZUSG.png
8 e: \: M; p! p3 g9 [! J. `5 j) \) }2 e0 l+ M
由噪声发生器生成的噪声具有均匀的频谱分布,可将这些噪声视为白噪声。不过,白噪声分布均匀,不具备高斯输出特性。
, r8 q* {' |' S! B. G1 a+ H- v, Z8 z& m* L& K4 B* _/ w0 V

- B5 A6 d6 G7 \: c% s0 V {AIFN7V5V@3S~M8R4DFDI@O.png
) K9 m( k( C; k# M7 q
3 T$ b! M. {1 C, w8 [. g: u- m1 S噪声波形的偏移量可以编程。使用预配置的偏移量表更改此偏移量(信号模式),用户可获得与信号模式和噪声波形之和相对应的波形。
& P" Q- }% o/ Q$ S/ I
1 f8 @$ j# i! B/ R' _

) R# }3 n' I/ B3 U7 s& \6 y 6XDUQDT16JYM6)J%IYTE(%T.png 1 B) H5 n; A" Y+ H' G' @4 ?

2 r5 ^! ?+ U4 r0 F# r5 s3 t1.6.2 典型应用
) ]) W9 [1 m3 @+ dSTM32 微控制器具有采样率高达 1 M/ 秒的 12 位增强型 ADC。在大多数应用中,这种分辨率已经足够,但在一些需要更高精度的情况下,可以利用过采样和抽选输入信号的概念,以减少外部 ADC 解决方案的使用并降低应用功耗。6 z$ i: J4 _' h4 A. y. T
STM32 应用笔记 AN2668 中标题为“使用白噪声进行过采样”一节中详细介绍了这些方法的详细信息。, [2 ^4 O7 ]6 K: o# p2 ^
白噪声发生器还可用于产生电子音乐,通常直接产生或作为滤波器的输入来形成其它类型的噪声信号。白噪声发生器广泛用于音频合成,通常用于再现钹等打击乐器的效果,这些乐器在其频域内具有较高的噪声量。
  d& C2 W1 @1 J& ^2 R$ B7 B! G白噪声发生器可用于控制工程,以及放大器和电子滤波器的频率响应测试。" L* a9 m  T2 c1 N- b
白噪声是一种通用的合成噪声源,用于通过耳鸣掩蔽器进行声掩蔽。3 H5 |5 a, A6 l8 C  f  V( H
9 j4 M5 t4 j- k
完整版请查看:附件
0 g3 ]8 ^" R) s! m0 D1 _9 f- k
) i5 g' r. ~" J1 E- |
, O. x: V( H! R; y* \( b

使用 STM32 微控制器系列中的 DAC生成音频和波形.pdf

下载

1003.76 KB, 下载次数: 13

收藏 评论0 发布时间:2022-12-4 18:00

举报

0个回答

所属标签

相似分享

官网相关资源

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