打印
[牛人杂谈]

NUC029的增强型PWM 发生器

[复制链接]
1305|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
NuMicro® NUC029FAE微控制器PWM支持6路PWM发生器,可以配置为相互独立的3路PWM输出
PWM2, PWM3和PWM5,或配置成3对分别带有可编程死区发生器的互补PWM,通道(PWM0,
PWM1), (PWM2, PWM3) 和 (PWM4, PWM5)。
每对PWM共用一个8位预分频器。每个PWM通道又自带一个时钟分频器可以提供5种分频系数(1,
1/2, 1/4, 1/8, 1/16)。每路PWM输出有一个独立的16位计数器用以PWM周期控制,和一个16位的比
较器用以调节占空比。 6组发生器提供12路独立PWM中断标志,相关PWM通道的周期和占空比如
果与计数器相符, PWM中断将会被硬件置1。每一路PWM中断各有中断使能位。每个PWM发生器
可以配置成单次模式(产生一个PWM信号周期)或者循环模式(连续输出PWM波形)
为了防止PWM输出引脚输出不稳定波形,16位周期向下计数器和比较器带有双缓冲区。当用户向
计数器和比较器寄存器写数据时,所写数据会在下一个周期加载。这种双缓存的特质保证了PWM
稳定平滑的输出。
除了PWM,电机控制还需要Timer、ACMP和ADC共同工作。为了更精确的控制电机,我们提供一
些寄存器,不仅可以配置PWM同时也可以配置Timer、ADC和ACMP。这样做,可以节省更多的
CPU时间且便于控制电机,尤其是在直流无刷电机中。
特性
PWM 有以下特性:
 6个独立的16PWM占空比控制单元控制最多6PWM输出:
- 3 路独立的输出–PWM2, PWM3 和 PWM5
- 三组互补 PWM ,每组 PWM 对的一根引脚与另外一根引脚互补,且可以插入可
编程的死区时间
– (PWM0, PWM1), (PWM2, PWM3) 和 (PWM4, PWM5)
支持组控制位– PWM2 和 PWM4 与PWM0, PWM3输出同步, PWM5与PWM1输出同

 PWM有单次模式(只支持边沿对齐类型)或者自动装载模式
 16位分辨率
支持边沿对齐,中心对齐三种模式
一对PWM中,支持可编程死区插入
 PWM0到PWM5每路PWM有独立的极性控制
硬件故障刹车保护
- 两种中断类型:
向下计数器比较匹配(边沿对齐和中心对齐)或者下溢(边沿对齐模式)的
时候,提出同步中断请求

 发生外部故障刹车请求条件
 BKP0: EINT0 或 CPO1
 PWM信号缺省状态下为正逻辑,之后的PWM口的有效状态由极性控制寄存器来控制
 支持每个通道独立触发ADC中断,包括:上升CMR比较(中心对齐模式) , CNR比较
(中心对齐模式),下降CMR比较, 周期值比较,。
 定时器比较事件可以触发PWM,实现直流无刷电机相切换
 支持ACMP输出事件触发PWM强制输出最长一个周期的低电平,该特性可用于步进电
机驱动
 支持中断累计功能



沙发
734774645|  楼主 | 2017-5-28 18:41 | 只看该作者


使用特权

评论回复
板凳
734774645|  楼主 | 2017-5-28 18:45 | 只看该作者
基本配置
PWM的管脚功能选择在P0_MFP 和 P2_MFP寄存器中配置。
PWM的时钟可以在APBCLK[22:20] 被使能。 PWM 时钟源必须HCLK。
PWM-Timer 的工作模式
支持2种公式模式:边沿对齐,中心对齐模式
以下是公式周期和占空比的计算公式:
边沿对齐(向下计数) :
占空比 = (CMR+1) / (CNR+1)
高电平时间 = (CMP +1) * (时钟周期)
周期= (CNR+1)* (时钟周期)
中心对齐(上下计数) :
占空比= (CNR - CMR) / (CNR+1)
高电平时间 = (CNR - CMR) * 2 * (时钟周期)
周期= (CNR+1) * 2 * (时钟周期)
边沿对齐PWM(向下计数)
在边沿对齐PWM输出模式,16位PWM计数器会在每个周期CNRn开始向下计数,与上个周期CMRn值进行比较,当比较值相符就会使对应通道PWMn输出为高电平。计数器会继续向下计数至0这样会触发PWMn输出为低电平,当前CMRn和CNRn值在CHnMODE =1情况下会更新,如果PWM中断使能(PIER.n=1),将请求PWM中断产生。




使用特权

评论回复
地板
598330983| | 2017-5-28 22:26 | 只看该作者
手册提供的说明还是非常详细的。

使用特权

评论回复
5
zhuomuniao110| | 2017-6-5 15:58 | 只看该作者
当用户向计数器和比较器寄存器写数据时,所写数据会在下一个周期加载。

使用特权

评论回复
6
稳稳の幸福| | 2017-6-5 18:49 | 只看该作者
为了防止PWM输出引脚输出不稳定波形,16位周期向下计数器和比较器带有双缓冲区。

使用特权

评论回复
7
huangcunxiake| | 2017-6-5 19:10 | 只看该作者
当用户向
计数器和比较器寄存器写数据时,所写数据会在下一个周期加载。

使用特权

评论回复
8
huangcunxiake| | 2017-6-5 19:10 | 只看该作者
利用PWM可以做很多事情,比如电机控制,照明亮度控制。。甚至模拟声卡。

使用特权

评论回复
9
dongnanxibei| | 2017-6-6 16:26 | 只看该作者
除了PWM,电机控制还需要Timer、ACMP和ADC共同工作

使用特权

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

本版积分规则

197

主题

3451

帖子

14

粉丝