我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 888|回复: 8

[技术讨论] 使微处理器的PWM频率和分辨率翻倍方法之讨论

[复制链接]
  • TA的每日心情

    昨天 13:17
  • 签到天数: 67 天

    [LV.6]常住居民II

    1万

    主题

    8192

    回帖

    5万

    积分

    三级逆天

    积分
    53623

    终身成就奖特殊贡献奖原创先锋奖金点子奖优秀斑竹奖宣传大使奖

    发表于 2021-6-7 09:28:13 | 显示全部楼层 |阅读模式
    我们大多数人都知道PWM DAC(数模转换器)。它们很容易实现,也很便宜,非常适合一些低性能的应用。
    实现它们的方法是滤除PWM信号中的高频分量,只留下正比于占空比的低频或直流分量。但是低通滤波器并不能完全滤除PWM频率,因此低频/直流信号中通常都会有一定程度的纹波。
    减少PWM DAC纹波的方法一般有两种。一种是降低低通滤波器的截止频率,另一种是提高PWM信号的频率。然而不可避免的是,更低的截止频率会延长上升时间;如果是在给定时钟频率点通过减小计数器尺寸实现的,那么更快的PWM频率会降低分辨率。


    广告

    下面要讨论的设计实例非常有趣,着重介绍了另外一种降低PWM DAC纹波的方法。
    事实上,我们可以使用相位差为180°的两个PWM信号来降低上述纹波。从直觉上,当两个相同频率的正弦波的相位相差180°时,它们会相互抵消,因此我们使用相位差为180°的两个PWM信号也能将彼此的谐波分量抵消干净,是这样吗?确实是这样,但并不是PWM信号的所有谐波分量都能抵消,有些分量可以抵消,有些却抵消不了。这与傅里叶级数有关,比较复杂,这里就不罗列一大堆数学公式来进行解释了。
    两个PWM信号之间180°的相位差是如何实现的呢?我使用了TI的MSP320FR5969 LaunchPad,这种方法很常用。为了实现相位移动,需要两个定时器。其中一个定时器必须包含两个比较-捕获-PWM(CCP)模块,另一个只需要一个CCP模块。
    在包含两个CCP模块的定时器中,可以用一个CCP模块来设置该定时器的PWM频率和占空比,另一个CCP模块产生中断,用于启动另一个定时器,两者的延时等于PWM周期的一半。另一个定时器中的CCP模块用于设置相同的PWM频率和占空比。你还必须对这个延时进行“微调”,因为软件会在PWM信号之间增加额外的时间。举例来说,在我的代码的102行,我将比较寄存器的值从(timer_period+1)/2改为了(timer_period+1)/2-27。
    我做了一些小调查,想看看其它微控制器是否具有相同的硬件和能力来实现我所用的方法:许多Atmel微控制器都有1个以上的定时器,每种控制器通常都有两个CCP(比如ATmega 328),因此实现这种方法应该是可能的。另外一个常见的例子是STM32F051R8(这是一些流行的ST电路板使用的微控制器),它有11个定时器,其中许多定时器都有1个以上的CCP。TI基于ARM的微控制器通常有独立的PWM和定时器模块(如TM4C123GH6PM),因此应该更容易实现相移。使用其中一个定时器,两个PWM模块就可以以一半PWM周期的延时开启。
    图1:单路和双路PWM电路。
    在相移DAC的Vout端,两个PWM信号被累加在一起,结果有些谐波分量彼此抵消,最终实现了降低纹波的效果。
    我们看看使用三种不同电阻值时的情况。每个PWM信号都是占空比为25%、频率为100kHz。
    图2:上面的波形是传统PWM,下面的波形是双路相移PWM。从左到右每格的电压递减100mV、50mV、4mV。
    从图中的结果可以看出:首先,峰-峰纹波降低了;其次,传统PWM DAC的纹波基频等于 PWM信号的频率(100kHz)。相移PWM DAC的纹波基频等于PWM信号的二次谐波(200kHz),这意味着我们用相移DAC成功地删除了PWM信号的一次谐波。
    这种方法的一个优点是不用增加上升时间也能降低纹波(或者相同的纹波只需一半的上升时间)。
    另外一个潜在优点是,将两个PWM设置为相隔一个计数值可以获得中间值,进而实现DAC有效分辨率的翻倍。虽然这会导致少许的不对称并增加纹波,但是影响很小可以忽略不计。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-8-23 17:44
  • 签到天数: 1 天

    [LV.1]初来乍到

    77

    主题

    438

    回帖

    1205

    积分

    PADS-181015高级班

    积分
    1205

    终身成就奖

    发表于 2021-6-7 10:11:18 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-6-14 16:03
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    0

    主题

    1万

    回帖

    7618

    积分

    二级逆天

    积分
    7618

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    QQ
    发表于 2021-6-7 16:17:58 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    3

    回帖

    0

    积分

    一级逆天

    积分
    0

    终身成就奖

    发表于 2021-6-10 07:32:43 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    2

    主题

    1179

    回帖

    0

    积分

    二级逆天

    积分
    0

    终身成就奖特殊贡献奖原创先锋奖

    发表于 2021-6-24 11:23:37 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 08:27
  • 签到天数: 117 天

    [LV.6]常住居民II

    2

    主题

    8598

    回帖

    9925

    积分

    二级逆天

    积分
    9925

    社区居民终身成就奖特殊贡献奖原创先锋奖

    QQ
    发表于 2022-2-10 08:45:05 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    29

    主题

    1427

    回帖

    0

    积分

    二级逆天

    积分
    0

    终身成就奖特殊贡献奖原创先锋奖

    发表于 2022-6-24 12:41:10 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    前天 08:06
  • 签到天数: 91 天

    [LV.6]常住居民II

    5

    主题

    244

    回帖

    1306

    积分

    二级逆天

    积分
    1306

    终身成就奖特殊贡献奖

    发表于 2022-7-18 08:52:58 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    29

    主题

    1427

    回帖

    0

    积分

    二级逆天

    积分
    0

    终身成就奖特殊贡献奖原创先锋奖

    发表于 2022-7-19 19:20:15 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    论坛开启做任务可以
    额外奖励金币快速赚
    积分升级了


    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    平平安安
    TOP
    快速回复 返回顶部 返回列表