PWM(Pulse Width Modulation)就是我们经常说的脉宽调制,是广泛应用于变流控制,调速控制,调光控制等领域中,PWM技术以其控制简单灵活,动态响应灵活等等优点而广泛应用于电力电子技术中,也是一直研究的热点。随着电子技术的发展,现在大多数的MCU都集成有PWM模块,所有PWM称为利用微处理器的数字信号对模拟电路进行控制的一种非常经典技术。PWM控制技术主要应用在电力电子技术行业,具体讲,包括新能源发电、交直流电机调速、直流供电等领域,主要实现对各种开关管的控制,如IGBT,IGCT,MOSFET等。
今天我们就来学习介绍飞思卡尔PWM模块
飞思卡尔PWM模块
飞思卡尔PWM模块可以产生多种开关模型波形,包括高精度复杂波形,可以用来控制所有已知的开关电源拓扑。具有很多优点,如
16位精度,可以产生中心对称,边沿对齐,以及非对称等不同波形。
可以独立输出也可以互补成对输出,在H桥的控制中,互补输出很有用。
每一路PWM输出的上升沿,下降沿都可以独立控制
支持对外部硬件或其他PWM信号的同步
故障输入可以分配控制多路PWM输出
支持故障输入的可编程滤波
每一路PWM输出可以实现独立的软件控制
所有的PWM输出可以通过强制输出事件编程同时改变输出状态
如果不用做PWM功能的通道可以用做输入捕捉功能
在捕捉功能下可以实现增强的双沿捕捉功能
等等功能。
PWM模块框图
飞思卡尔PWM模块框图如下图所示
从框图中可以看出PWM模块有四个子PWM模块,每一个子PWM模块框图如下图所示
从子模块的框图中可以看出,主要的信号有:
PWM[n]_A和PWM[n]_B, PWM输出通道的输出管脚,可以独立输出也可以互补成对输出,如果不用做输出,可以被用做输入捕捉电路的输入。
FAULT[n]故障输入,这个输入信号,可以用来禁止选择的PWM输出。
PWM[n]_EXT_SYNC, 外部同步信号,这些输入信号允许外部源初始化PWM计数器,在这种方式下,PWM可以被同步于外电路。
PWM[n]_OUT_TRIG0 and PWM[n]_OUT_TRIG1,这些信号可以出发ADC转换,
EXT_CLK, 顾名思义,外部时钟源,在这种方式下,PWM可以同步于定时器,或者多片可以互相同步。
相关寄存器
因为与PWM相关的寄存器介绍在数据手册中高达50多页,所以在这里就不赘述了,详细参考信息可以参阅官方正版数据参考手册,建议参照最新发布版本。可以参照例程的配置来阅读这些寄存器的描述帮助理解,PWM是现代数字控制技术中很常用的经典的控制技术,所以有兴趣的猿友可以仔细研究下,会对个人有很大提高,在电力电子学科中应该都有学过 这些基础知识,如果一点也不清楚PWM的基础知识,建议阅读下课本上的相关章节。
功能描述
PWM的模式有很多种,如中心对齐PWM,边沿对齐PWM,相移PWM,双重PWM等。
中心对齐PWM
每一个子PWM模块都有自己的可以产生PWM信号的定时器,每一个信号的边沿都可以独立控制,如下图所示。
子模块的定时器只能向上计数,达到最大值,然后复位又重新装载用户指定的初始值开始计数,初始值可以是0也可以是非0,如果这个值是2的补码,那么PWM的产生就在有符号模式下操作,也就是说每一路PWM的上升沿和下降沿的值是相同的,只是符号不同,输出信号的高电平部分将会以0对齐,图中蓝色点画线所示,因此采用这种方式,仅需要在软件中计算PWM上升沿的值,下降沿的值仅需要取反即可,如果所有的PWM信号沿采用同样的方法,那么多有的PWM信号将会中心对齐,这就是我们的目的,当然PWM信号中心对齐不限制围绕计数值0对齐,其他值也可工作,然而围绕0对齐不仅计算简单,而且在有符号模式下可以提供最大的范围。(注,FF00的补码是0100)