[技术问答]

N76E003 PWM之极性控制

[复制链接]
384|0
手机看帖
扫描二维码
随时随地手机跟帖
注销|  楼主 | 2020-9-8 11:42 | 显示全部楼层 |阅读模式

可能一些同学可能对PWM的极性控制不怎么理解(对,说的就是我自己。。。),那么就让我们在本次博文中,一起来探究下极性控制的原理及程序吧。如果有描述错误的情况,希望各位大佬指出。

首先我们来看看官方手册中对极性控制的描述,其中可以发现,对于PWM极性,是通过PNPn来进行控制的。
70.jpg
70.jpg

知道极性控制寄存器后,我们再来看看单片机内部的模块图,我们可以发现,PNPn寄存器,是对应通道二选一选择器的选择端,在默认情况下,PNPn为0,即正常输出,当PNPn寄存器置高时,PWM信号会被一个取反器控制。通俗一点来说,就是原先的占空比是控制高电平持续时间,现在通过这个取反器,使得占空比为低电平持续时间,之后变为高电平。
70.jpg
既然原理都明白了,接下来就让我们来看看官方例程中的相关代码吧(有一点小小修改),将disable更改为enable。
关闭使能后会造成无法无PWM输出的问题。

973195f56fda0d1ee2.png


但在官方例程中,要实现极性控制需要先关闭相关PWM的使能,在配置完频率及占空比后,再将该通道PWM设定为为极性控制。PWM5_P03_OUTPUT_DISABLE;但实际测试得知,这样配置PWM,会造成最终没有PWM输出

接下来我们将程序下载到单片机中,通过逻辑分析仪,看看实际运行效果
70.jpg
使能P0.1和P0.3两个管脚,程序中PWM5为极性控制输出,PWM4为正常输出,占空比均设定为0.25ms,周期1ms。
70.jpg



使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

56

主题

1473

帖子

2

粉丝