p w m 输 出 比 较 的 理 解 o c X r e f 信 号 的 理 解

在《STM32参考手册》V10的第266页,图123和图124之间有这么一句话:输出部分产生一个中间波形OCxRef(高有效)作为基准,链的末端决定最终输出信号的极性。
        然后,我们在266页还可以看到图125的通道输出部分框图,如下图所示:

        从图中可以看出,OCxREF其实就是OCx输出的中间状态,这里最后那个输出使能电路比较好理解,其实就是通过CCxE来控制的一个开关。我们要是能使出PWM之类的波形,则必须使能CCxE位的。但是CC1P这里不是很好理解,尤其是这个图,看起来怪怪的,像个加法器。我们再从《参考手册》的第292页找到这个图:


        上图告诉我们CCxP是用来控制极性的,默认设置(复位后)为0,也就是高电平有效,而如果设置该位,则为低电平有效。通过实验我发现,这里的有效电平,其实就是在PWM输出的有效电平(匹配时的电平),比如我设置PWM某个时候的比较值为0,此时PWM会输出100%占空比的有效电平,此时,我们可以看到OCx输出是一个固定的电平,这个电平,其实就是你设置的CC1P的状态。当设置OCxP的值为0的时候,100%占空比输出是高电平,当设置OCxP为1的时候,100%占空比输出是低电平。从而控制了输出极性。

于CCP1和REF电平之间的关系终于有点明白了,但是不确定理解的对不对,如果对了可以供和我一样的初学者参考,如果不对还请谅解。  
   
 计数模式为向上: 
 PWM1:CNT<CCR1 ----->参考电平为(REF=1), 反之参考电平(REF=0)  
 PWM1:CNT<CCR1 ----->参考电平为(REF=1), 反之参考电平(REF=0) 

/********************************************************************/ 
用MDK的仿真得到的结果: 
                            REF              CC1P  

                PWM1:     1                LOW      ==>输出为低电平 
                             0                LOW      ==> 输出为高电平      
                             1                High      ==> 输出为高电平 
                             0                High      ==> 输出为低电平  

PWM2与PWM1相同(相同的CCR1),REF应该是相反的。 

我的理解:CC1P与REF相同则输出为1,反之输出为0 
/********************************************************************/ 

在PWM实验中,PWM2,CC1P = High 
CNT = 900;  CCR1 = 0-300; 
若CCR1 = 0;则参考为REF = 1; High ==》输出高电平,小灯熄灭状态。 
若CCR1 = 300,有1/3占空比的REF = 0;小灯的亮度为不接PWM时亮度的1/3. 
由于是0-300之间的变化,呈现呼吸灯的状态。 


若讲High调整为Low,看到的现象时从1/3的亮度---->全亮。 

***********************************END********************************* 
如果有解释不正确的地方,还希望大家能指出。

捕获/比较输出的中间值,和后面的输出极性一起决定OCX的输出。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值