37.PWM-DAC工作原理与实验

本文详细介绍了PWM-DAC的工作原理,解释了PWM波形如何通过低通滤波器转化为电压输出的DAC,并探讨了分辨率与频率的关系。实验部分涉及使用STM32Fx开发板,通过调整PWM波的占空比实现不同电压输出,并通过DAC采集和显示。此外,还讨论了二阶RC滤波器的设计,以满足音频输出和PWM频率要求。实验目标是通过按键控制PWM-DAC的占空比,观察电压变化。
摘要由CSDN通过智能技术生成

PWM-DAC工作原理与实验

参考资料
STM32Fx开发板
《STM32Fx开发指南-库函数版本》-第x章 PWM DAC实验
STM32Fxxx官方资料:
《STM32Fx中文参考手册》-第x章 通用定时器

笔记基于正点原子官方视频
视频连接https://www.bilibili.com/video/BV1Wx411d7wT?p=71&spm_id_from=333.1007.top_right_bar_window_history.content.click
如有侵权,联系删除

一、PWM-DAC工作原理

1.PWM DAC原理

PWM本质上其实就是是一种周期一定,而高低电平占空比可调的方波。
在这里插入图片描述
在这里插入图片描述

其中:T是单片机中计数脉冲的基本周期,也就是STM32定时器的计数频率的倒数。N是PWM波一个周期的计数脉冲个数,也就是STM32的ARR-1的值。n是PWM波一个周期中高电平的计数脉冲个数,也就是STM32的CCRx的值。VH和VL分别是PWM波的高低电平电压值,k为谐波次数,t为时间。我们将①式展开成傅里叶级数,得到公式②:
在这里插入图片描述
在这里插入图片描述

从②式可以看出,式中第1个方括弧为直流分量,第2项为1次谐波分量,第3项为大于1次的高次谐波分量。式②中的直流分量与n成线性关系,并随着n从0到N,直流分量从VL到VL+VH之间变化。这正是电压输出的DAC所需要的。因此,如果能把式②中除直流分量外的谐波过滤掉,则可以得到从PWM波到电压输出DAC的转换,即:PWM波可以通过一个低通滤波器进行解调。式②中的第2项的幅度和相角与n有关,频率为1/(NT),其实就是PWM的输出频率。该频率是设计低通滤波器的依据。如果能把1次谐波很好过滤掉,则高次谐波就应该基本不存在了。

通过上面的了解,我们可以得到PWM DAC的分辨率,计算公式如下:

分辨率=log2(N)

这里假设n的最小变化为1,当N=256的时候,分辨率就是8位。而STM32的定时器都是16位的,可以很容易得到更高的分辨率,分辨率越高,速度就越慢。不过我们在本章要设计的DAC分辨率为8位。
在8位分辨条件下,我们一般要求1次谐波对输出电压的影响不要超过1个位的精度,也就3.3/256=0.01289V。假设VH为3.3V,VL为0V,那么一次谐波的最大值是2*3.3/π=2.1V,这就要求我们的RC滤波电路提供至少-20lg(2.1/0.01289)=-44dB的衰减。
STM32的定时器最快的计数频率是168Mhz,部分定时器只有84MHz,以84M为例,8为分辨率的时候,PWM频率为84M/256=328.125Khz。如果是1阶RC滤波,则要求截止频率为2.07Khz,如果为2阶RC滤波,则要求截止频率为26.14Khz。

2.PWM DAC硬件

在这里插入图片描述

二阶RC滤波截止频率计算公式为:

f=1/2πRC

以上公式要求R20C34=R32C35=RC。根据这个公式,我们计算出截止频率为:33.8Khz超过了26.144Khz,这个和我们前面提到的要求有点出入,原因是该电路我们还需要用作PWM DAC音频输出,而音频信号带宽是22.05Khz,为了让音频信号能够通过该低通滤波,同时为了标准化参数选取,所以确定了这样的参数。实测精度在0.5LSB以内

二、PWM-DAC实验

实验目的
调整PWM波的占空比来实现不同电压的输出,通过按键wake_up来调整占空比,用DAC采集PWM-DAC输出的电压并显示在屏幕上

此处代码不复杂,产看程序源代码即可看懂,这里不做额外讲解了

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值