0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何提高PWM-DAC的输出精度

CHANBAEK 来源:24c01硬件电子 作者: 24c01 2023-11-18 16:30 次阅读

昨天发了一篇TI的技术文章,里面提到了一个比较有意思的电路,就是用多路PWM并联来提高PWM-DAC的输出精度。比如组合两路8bit的PWM来组合为16bit的PWM-DAC。

图片

理论

那么先解释一下PWM的精度问题(因为 PWM的占空比精度直接关联到PWM做DAC应用时的DAC精度 )。

举一个例子:如果 要产生10kHz的PWM波形 ,而分别提供50Mhz的时钟和10Mhz 的PWM外设时钟,那么毋庸置疑的是均可以产生10Khz的波形。

但是如果要调整这个波形的占空比,从0%到100%,那么在PWM时钟为50Mhz的时候,可以调整出5000步,而在时钟为10Mhz的情况下,只能调整出1000步。

那么如果在上述的例子中, 时钟为10Mhz的情况下,如果想要保持分辨率为5000,那么就要改变PWM的频率,把频率降低为2Khz就可以满足5000的分辨率。 然而在降低PWM频率的时候会随之带来另一个问题,那么就是转化出的 DAC的纹波变大了(因为滤波器参数没变,PWM的频率降低后, 滤波器对PWM的高次谐波的衰减变弱了 )。那么 为了维持转化后DAC的纹波,就要调低滤波器的截止频率。如下图所示,滤波器和PWM的傅里叶变换后高次谐波的关系。

图片

但是由RC滤波器的公式

图片

可知,如若降低滤波器的截止频率fc的话,有两种选择,要么增加电阻阻值,要么增加电容容值。然而这两项无一例外的都会增加这个PWM转DAC的建立时间(建立时间和RC常数相关) 。

那么有什么方法可以在保持时钟和频率以及建立时间都不改变的情况下来提高PWM-DAC的分辨率呢?此时就可以使用多个PWM叠加,这种方法来提高转化DAC分辨率的电路 ,简图如下:

图片

仿真

首先使用 信号发生器输出PWM频率为100Khz ,假定PWM 分辨率为10 (即PWM占空比的 调节步长为10%)那么如果只用一路PWM转DAC的话,输出DAC的电压只能是0.1VCC,0.2VCC,0.3*VCC一直到VCC,DAC输出也是10%步进,和PWM的精度(10%步进)是完全一致的。 例如下图仿真,幅值为 10V的占空比为40%的PWM信号经过滤波器后输出的电压为4V 。这个10V幅值PWM 步进10%的话,这个电路的输出电压只能是随着占空比的10%步进而输出0V,1V,2V,3V,4V.....10V(1V精度 ) 。

图片

那么假如此时按照TI的思路, 再并联一路PWM过去会如何呢? 此时绿色信号发生器XFG1的输出PWM1便可以代表 DAC的低位(即TI技术文档中的PWML信号),蓝色信号发生器XFG2的输出PWM2便 代表DAC的高位(即TI技术文档中的PWMH信号),那么整个电路便可以输出0-10V(1%步进,0.1V精度 ) ,输出电压公式可以列为:VXFG20.9+VXFG10.1 (可以用叠加定理求取)。下图仿真的电压为:

10V*40%0.9+10V10%*0.1=3.7V

便以此实现了1%的步进精度,提高了DAC的输出。

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 滤波器
    +关注

    关注

    158

    文章

    7331

    浏览量

    174779
  • ti
    ti
    +关注

    关注

    111

    文章

    8187

    浏览量

    210927
  • PWM
    PWM
    +关注

    关注

    114

    文章

    4900

    浏览量

    209906
  • dac
    dac
    +关注

    关注

    43

    文章

    1973

    浏览量

    189514
  • 精度
    +关注

    关注

    0

    文章

    247

    浏览量

    19821
收藏 人收藏

    评论

    相关推荐

    如何快速建立的同步PWM-DAC滤波器没有纹波?

    实现高分辨率数模转换的廉价方法是将微控制器-PWM(脉冲宽度调制)输出与精密模拟电压基准,CMOS开关和模拟滤波相结合。但是,PWM-DAC设计存在一个很大的设计问题:如何充分抑制开关输出
    发表于 01-02 09:27 25次阅读
    如何快速建立的同步<b class='flag-5'>PWM-DAC</b>滤波器没有纹波?

    MM32 基于PWMDAC输出设计

    DAC,这将大量降低电子设备的成本、减少体积,并提高精度。本实验在PWMDAC转换关系的理论分析基础上,设计出输出为0~5V电压的
    发表于 01-18 15:42

    请问AD5546或者其他电流输出DAC输出电流精度有多少呢?

    1、 指标中2mA full-scale 20% with VREF=10V指满电流输出误差有20%。那么不是满幅值电流输出精度有多少呢?什么条件下可以达到16bit的电流输出精度
    发表于 09-03 14:40

    AD5791输出精度降低且输出电平变化可能是坏掉了吗?

    使用AD5791将单片机计算的数字信号转模拟,模拟信号输出电平范围为0-10V,之前测到的输出精度能够到0.1mv(受测量仪器精度所限),现在输出
    发表于 09-11 10:53

    如何快速建立的同步PWM-DAC滤波器没有纹波?

    实现高分辨率数模转换的廉价方法是将微控制器-PWM(脉冲宽度调制)输出与精密模拟电压基准,CMOS开关和模拟滤波相结合。但是,PWM-DAC设计存在一个很大的设计问题:如何充分抑制开关输出
    发表于 12-31 15:17

    探讨一下16通道恒流输出精度及计算   

    探讨一下16通道恒流输出精度及计算  
    发表于 06-03 07:17

    传感器的输出精度与取负载电阻RL有关系吗

    传感器和变送器有何差别?传感器的输出精度与取负载电阻RL有关系吗?
    发表于 09-18 09:09

    PWM DAC输出--AT_SURF案例No.9

    PWM DAC输出--AT_SURF案例No.9简介PWM DAC即通过PWM实现
    发表于 08-16 19:27

    arduino用pwmdac输出时,可以用adc校准精度吗?

    arduino用pwmdac输出时,可以用adc校准精度吗 怎么实现?最好用代码说明
    发表于 11-03 06:42

    一种基于PWM的电压输出DAC电路设计

    一种基于PWM的电压输出DAC电路设计,pwmDAC
    发表于 01-14 16:26 28次下载

    一种基于PWM的电压输出DAC电路设计

    外接DAC,这样增加了成本。但是,几乎所有的单片机都提供定时器或者PWM输出功能。如果能应用单片机的PWM输出(或者通过定时器和软件一起来实
    发表于 12-04 15:18 2147次阅读

    如何通过PWM的方式实现数字到模拟变换的功能

    PWM-DAC的分辨率相当于脉冲宽度相对于整个周期的精度,举例如果一个最小的脉冲ON的时间为5ns(可以用100MHz的时钟计数产生),PWM脉冲的周期为5ns x 256 = 1.28us,则这个
    的头像 发表于 12-12 14:02 1.5w次阅读
    如何通过<b class='flag-5'>PWM</b>的方式实现数字到模拟变换的功能

    使用PWM的电压输出进行DAC电路设计的详细资料说明

    DAC,这样增加了成本。但是,几乎所有的单片机都提供定时器或者PWM输出功能。如果能应用单片机的PWM输出(或者通过定时器和软件一起来实现
    发表于 07-09 17:52 21次下载
    使用<b class='flag-5'>PWM</b>的电压<b class='flag-5'>输出</b>进行<b class='flag-5'>DAC</b>电路设计的详细资料说明

    STM32F4 PWM-DAC实验例程

    STM32F4 PWM-DAC实验例程(电源技术是sci吗)-STM32F4 PWM-DAC实验例程,有需要的可以参考!
    发表于 09-16 10:14 43次下载
    STM32F4 <b class='flag-5'>PWM-DAC</b>实验例程

    一种基于PWM的电压输出DAC电路设计.

    来实现PWM输出),经过简单的变换电路就可以实现DAC,这将大量降低成本电子设备的成本、减少体积,并容易提高精度。本文在对PWM
    发表于 09-17 13:15 55次下载
    一种基于<b class='flag-5'>PWM</b>的电压<b class='flag-5'>输出</b><b class='flag-5'>DAC</b>电路设计.