查看: 4429|回复: 1

[其他] 脉宽调制模块PWM与D/A转换

[复制链接]

该用户从未签到

2

主题

8

帖子

0

新手上路

Rank: 1

积分
21
最后登录
1970-1-1
发表于 2011-5-10 17:15:45 | 显示全部楼层 |阅读模式
脉宽调制模块PWM基本概念
        PWM(Pulse Width Modulation)又称脉冲宽度调制模块,是嵌入式应用系统的常用功能之一。它通过对一系列脉冲的宽度进行调制,来等效地获得所需要的波形(包括形状和幅值)。
        1. PWM的周期与占空比
        周期:PWM会产生一个在高电平和低电平之间重复交替的输出信号,这个信号被称为PWM信号,通常定义PWM周期为该PWM信号的周期
        占空比:PWM占空比为信号处于高电平的时间(或时钟周期数)占整个信号周期的百分比
       
        2. PWM的脉冲极性
        PWM的脉冲极性指的是PWM信号初始时输出的电平的极性。
       
        3. PWM的脉冲对齐方式
        PWM的脉冲对齐方式有两种:左对齐与中心对齐。

脉宽调制模块PWM的编程寄存器
        1. PWM使能寄存器(PWME)
        该寄存器中的每一位均控制每一个PWM通道的PWM信号是否输出。
       
        2.PWM极性寄存器(PWMPOL)
        该寄存器设置PWM的脉冲极性,当PWM信号已经输出时,更改PWM的脉冲极性将会导致在脉冲极性切换的过程中PWM的输出信号不稳。
       
        3.PWM时钟选择寄存器(PWMCLK)
        每一个PWM通道都可以选择各自的时钟源。

        4. PWM预分频时钟选择寄存器(PWMPRCLK)
        该寄存器用于设置时钟A和B的时钟预分频值,当PWM信号已经输出时,更改预分频值将会导致在时钟切换的过程中PWM的输出信号不稳。

        5.PWM中心对齐使能寄存器(PWMCAE)
        该寄存器设置PWM的脉冲对齐方式为左对齐或者中心对齐。

        6.PWM控制寄存器(PWMCTL)
        该寄存器可以对PWM模块进行不同的配置,包括将2路8位的PWM通道配置为1路16位的PWM通道,以及设置PWM在低功耗模式下的特性。

        7.PWM分频寄存器A(PWMSCLA)
        该寄存器设置时钟SA,时钟SA由时钟A分频而来。

        8.PWM分频寄存器B(PWMSCLB)
        该寄存器设置时钟SB,时钟SB由时钟B分频而来。

        9.PWM通道计数寄存器(PWMCNTn)
        每一个PWM通道都有一个各自的8位自增/自减计数寄存器,   在不影响PWM通道正常工作的情况下,用户可以读取计数器的值。
       
        10.PWM通道周期寄存器(PWMPERn)
        每一个PWM通道都有一个各自的8位周期寄存器。
       
        11.PWM通道占空比寄存器(PWMDTYn)
        每一个PWM通道都有一个各自的8位占空比寄存器。
       
        12.PWM关闭寄存器(PWMSDN)
        该寄存器提供了在紧急情况下关闭PWM模块的功能。

脉宽调制模块PWM的编程实例
        本编程实例的功能是:将相应的PWM通道引脚连接到小灯,实现小灯逐渐变亮的功能。
        PWM构件提供的功能函数有:
        1.PWM初始化函数:PWMInit
        PWM波的输出电压幅值和输出电流大小由引脚的输出     电压和电流决定。在输出期望的PWM信号之前,要先对PWM进行初始化,一般包括PWM时钟的选择,PWM脉冲极性的设置以及PWM脉冲对齐方式的设置 等。在实际使用时应该根据要驱动的器件的特性选择合适的时钟。一般在初始化结束后,应当清零PWM的计数寄存器。
       
        2.PWM信号产生函数:PWMSetting      
        PWM初始化完成以后,通过对周期寄存器和占空比寄存器
的设置可以产生期望的PWM信号。一般按照以下的顺序进行设置:
        (1)禁止相应的PWM通道,防止在设置时出现不规则的波形。
        (2)按照实际的要求,设置PWM的周期与占空比。
        (3)清零PWM的计数寄存器。
        (4)使能相应的PWM通道,这样就能产生与设置的PWM周期与   占空比对应的PWM信号。
       
  脉宽调制模块PWM的进一步讨论
        1.周期和占空比设置的边界讨论

        2.PWM通道的合并

        在使用MC52233的PWM时,通过对PWMCTL寄存器的设置可以将2路   8位的PWM通道合并成1路16位的PWM通道使用。


 
用PWM实现D/A转换
        1.用PWM实现D/A转换的原理

        通过改变PWM的占空比,可以输出不同电压值的波形,利用PWM的这一特性,可以模拟简单的D/A转换。D/A转换的精度由PWM的位数决定。


        2.用PWM实现16位D/A转换的编程实例

        本实例的主要功能是:通过设置不同的占空比,可以在PWM输出引脚上用万用表量出相应的电压,以模拟DA转换的功能。
我知道答案 目前已有1人回答
回复

使用道具 举报

  • TA的每日心情
    开心
    2019-1-7 10:12
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    0

    主题

    5

    帖子

    0

    新手上路

    Rank: 1

    积分
    23
    最后登录
    2019-1-23
    发表于 2019-1-3 16:32:37 | 显示全部楼层
    您好,实例在哪里?
    垃圾啊熟练度附近啊
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-22 12:21 , Processed in 0.085305 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表