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

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

[复制链接]
STMCU小助手 发布时间:2022-12-4 18:00
前言
) F! `, p; T' d& a% x' Z# i: d本应用笔记举例介绍了使用数模转换器 (DAC) 外设生成音频输出信号的过程,该 DAC 外设内嵌在 STM32F10xx 微控制器系列产品中。
9 ~" Y" W$ R0 t2 H) X数模转换器 (DAC) 是一种与模数转换器功能相反的器件,可以将数字形式的数据转换为相应的模拟电压信号。
' R+ g+ c1 j( ?# w( [' C# R/ sSTM32 DAC 模块是 12 位字转换器,带有两个支持立体声音频的输出通道。
$ D- n, Y4 m7 D' j1 i- ~6 NDAC 可用于多种音频应用中,例如:安全警报、蓝牙耳机、发声玩具、答录机、人机接口以及低成本的音乐播放器2 @$ |+ @# |; e( m. I+ X. {
STM32 DAC 还可实现许多其他模拟用途,如模拟波形产生和控制工程。
: \. N$ @$ a3 Y2 i本应用笔记主要包括两部分内容:* @) X0 f( Q6 {/ ]2 x. o
● 第 1 节介绍 STM32 DAC 模块的主要特性。
0 o' k) ^) Q" s: Y9 |! V5 G7 l● 第 2 节介绍了两个示例。# k" ]' F" S* H% {! q/ A
— 在第一个示例中,DAC 用于生成正弦波形。3 R& c2 E: L4 Q  M0 F5 I* h
— 在第二个例中,DAC 用于通过 .WAV 文件生成音频。1 g/ v- [/ @. ^

" y/ }# X# J; [
- m7 {! D" @/ a2 L; E0 @
1 DAC 主要特性' U4 D+ p: D% G) W
1.1 数据格式
' u2 \2 D# y8 K* a. |" t/ KDAC 可以使用以下三种整型格式的数据:8 位右对齐、12 位右对齐以及 12 位左对齐。12 位值的范围在 0x000 到 0xFFF 之间,其中 0x000 为最小值,而 0xFFF 为最大值。
2 |& Z. X8 `( M
! ~* s7 n8 V2 j4 A% c
28`MCNG)_P9QZPD3[U%7]OA.png
7 ^4 S* A) }* ]! e( W1 [, h
* V! S& v; E0 x! D1 x
% e5 A$ Y# Y  S3 D- j
1.2 双通道模式" t" {9 T2 ]3 q4 C! V+ w
DAC 有两个输出通道,每个通道各有一个转换器。在双 DAC 通道模式下,转换可以单独进行,也可以同时进行。3 ~$ x8 s' }0 c& l3 I, d+ m& O) V
当 DAC 通道由同一个触发源触发后,两个通道将组合在一起同步执行更新操作,转换也会同时进行。0 b* Z$ z( F- A2 O/ u* e. W) I
, `4 d. X$ _. E* @5 n$ P
1.3 专用定时器; E7 Y3 B; Z4 W# P( S
除了通过软件和外部触发器触发 DAC 转换之外,还可以通过不同的定时器触发 DAC 转换。
; ]8 W3 Y6 B  g4 G* U1 ATIM6 和 TIM7 是两个基本定时器,主要用于 DAC 触发。
, O( E3 A/ v* ~: y每当 DAC 接口在所选的定时器触发输出 (TIMx_TRGO) 上检测到上升沿时,DAC_DHRx 寄存器中存储的最后一个数据即会转移到 DAC_DORx 寄存器中。8 X% n- l0 k$ m- a

+ O3 f) ?$ L9 |
3 R% u9 `- b& ]9 L2 O
~O8BIKQY(9A}}Q45IG5GD9M.png 2 q5 D$ _7 s! a; O

! v1 X+ f; D( ?6 G. ^; x1.4 DMA 功能
# Y" f0 m/ U# f$ vSTM32 微控制器配有一个多通道 DMA 模块。每个 DAC 通道都连接到独立的 DMA 通道。0 ~( E+ o7 J6 K" J. X- o2 B
对于 STM32F100x 微控制器,DAC 通道 1 连接到 DMA 通道 3,DAC 通道 2 连接到 DMA通道 4。1 D* {( q5 k  d: f- }" V
未使用 DMA 时,CPU 用于向 DAC 提供模式波形。通常,波形保存在存储器 (RAM) 中,CPU 负责将数据从 RAM 传输到 DAC。5 B) s; X6 _( B- Q

0 {% E  B4 E( x" U9 }( W
: |+ p* [( Q6 y
N8CJ8H__U%YFK1G3%L69O99.png 2 u# B/ r) b$ H, w
) [: D/ Y8 q6 X
使用 DMA 时,系统的整体性能会因内核的释放而提升。此时,数据直接通过 DMA 从存储器传输到 DAC,无需 CPU 执行任何操作。这样节省的 CPU 资源可供其它操作使用。
1 K) Z5 C  j" R% s* H% L) J- C- P' E/ ~0 w

! J$ m4 a& l/ d4 d/ H2 }( s) A% G; w
, e3 X4 [$ C$ I6 R4 j- I
/ [! ^6 G- \: b! v! a  w1.5 DMA 下溢错误
! t$ d! M2 o% V, H" z' SDMA 向 DAC 提供模式波形时,有时会出现 DMA 传输速度比 DAC 转换速度快的情况。此时,DAC 会检测到部分模式波形遭到忽略而不予转换。它随后会将“DMA 下溢错误”标志置 1。+ h" m4 _* c5 v7 C) C6 V' x& w! x
可以使用触发定时器通过共享 IRQ 通道处理下溢错误,在 DAC 不通过 TIM6 触发时也可通过专用中断来处理。
' ]! c( o; s8 [( m3 L( E1 W+ V7 }$ a+ D( @) `' \  d6 |7 ^& {3 q
1.6 白噪声发生器% Q# D& C8 M7 o, i
1.6.1 定义; j/ Z+ U$ J& U# }
STM32 微控制器 DAC 为用户提供了一个伪随机码发生器。根据移位寄存器上使用的节拍数,在序列重复前,可生成具有最多 2n-1 个数的序列。
7 h; U5 O: h2 l2 p
& [7 y& G& ]/ X

5 x8 F- o# p1 z( {) q {[8USDK[BGKFY864DG{ZUSG.png ; v6 F3 j: J: L! Y

! m4 o! v' G% N! E+ S由噪声发生器生成的噪声具有均匀的频谱分布,可将这些噪声视为白噪声。不过,白噪声分布均匀,不具备高斯输出特性。
6 u2 c+ Q+ o8 f- @7 t6 n6 B, T5 K, ^  S4 S# T3 {* m2 [

/ x1 s+ }, k" p( Q+ Q1 n# J# e {AIFN7V5V@3S~M8R4DFDI@O.png 2 K- M( W+ `/ l# E# b8 x7 w5 `% ~; [

. w5 T6 q* D; r' C8 E* Q噪声波形的偏移量可以编程。使用预配置的偏移量表更改此偏移量(信号模式),用户可获得与信号模式和噪声波形之和相对应的波形。
9 q/ x/ ^! {! D( s# c' c6 a; S2 }, [5 k+ A( |2 I" @8 Z
8 Y! {# S6 w4 j! z/ \
6XDUQDT16JYM6)J%IYTE(%T.png ' z* |  `8 r) u4 D, B
4 t' K. |7 N8 B, O) l6 N  k3 u
1.6.2 典型应用
9 ?5 E  M" n7 _3 P" ySTM32 微控制器具有采样率高达 1 M/ 秒的 12 位增强型 ADC。在大多数应用中,这种分辨率已经足够,但在一些需要更高精度的情况下,可以利用过采样和抽选输入信号的概念,以减少外部 ADC 解决方案的使用并降低应用功耗。
  d+ f* E5 X7 FSTM32 应用笔记 AN2668 中标题为“使用白噪声进行过采样”一节中详细介绍了这些方法的详细信息。) x* ~2 `$ W7 o+ C! l
白噪声发生器还可用于产生电子音乐,通常直接产生或作为滤波器的输入来形成其它类型的噪声信号。白噪声发生器广泛用于音频合成,通常用于再现钹等打击乐器的效果,这些乐器在其频域内具有较高的噪声量。
9 ~6 @: V  i1 J5 [7 j% q' @2 c白噪声发生器可用于控制工程,以及放大器和电子滤波器的频率响应测试。; U# g7 y8 C$ R! e- U6 k2 n1 q
白噪声是一种通用的合成噪声源,用于通过耳鸣掩蔽器进行声掩蔽。- p6 W* A* Y6 D: S& g( W

$ x7 O# I6 t% _" g+ z完整版请查看:附件
% J0 j# l# z9 p) D4 a, D, }/ u! g0 X) y2 l+ y+ Q

; W. t3 T+ @/ f# W" K% D" i5 s

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

下载

1003.76 KB, 下载次数: 13

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

举报

0个回答

所属标签

相似技术帖

官网相关资源

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