ePWM模块(1)

ePWM模块

ePWM模块内部包含有7个子模块,分别是时间基准子模块TB、比较功能子模块CC,动作限定子模块AQ、死区控制子模块DB、斩波控制子模块PC、事件触发子模块ET和故障捕获子模块TZ。
在这里插入图片描述
每个ePWM模块都具有以下功能:

  • 可以输出两路PWM,EPWMxA和EPWMxB
  • 两路PWM可以独立输出,也可以互补输出
  • 具有相位控制功能,可以超前或者滞后于其他ePWM模块具有死区控制功能,可分别对上升沿和下降沿进行延时控制
  • 具有故障保护功能,通过对触发条件的设置,当故障发生时可自动将PWM输出引脚设置为低电平、高电平或高阻状态
  • 具有高频斩波功能,高频斩波信号对PWM进行斩波控制,用于高频变换器的门极驱动;
  • 所有事件都可以触发中断,也都可以产生内部ADC转换的启动脉冲SOC。
    在这里插入图片描述
  • PWM输出信号EPWMxA和EPWMxB,这两个信号通过GPIO口输出,从而产生PWM波;
  • 故障触发信号 T Z 1 ‾ \overline{TZ1} TZ1~ T Z 6 ‾ \overline{TZ6} TZ6。这些故障触发信号是用来通知ePWM模块,外部电路出现了故障,需要立即停机,从而实现保护功能。每个ePWM模块都可以使用或屏蔽掉故障触发信号。 T Z 1 ‾ \overline{TZ1} TZ1~ T Z 6 ‾ \overline{TZ6} TZ6可以配置成同步输入模式,并从相应的GPIO口输入。
  • 时钟基准同步信号输入EPWMxSYNCI及输出EPWMxSYNCO,同步信号可以将所有的ePWM模块连接成一个整体,当然,每个ePWM模块都可以通过设置,使用或者忽略同步信号。
  • ADC启动信号EPWMxSOCA和EPWMxSOCB。
    在这里插入图片描述

周期寄存器TPR,计数器寄存器TCNT和比较寄存器CMPR。
周期寄存器TPR决定了一个周期计数的最大值,也就是决定了PWM的周期。
计数器寄存器TCNT按照时钟信号来进行计数,上图为增减计数模式,即从0增计数到TPR,然后再从TPR减计数到0,不断重复。
当计数器存器TCNT的值与比较寄存器的值CMPR相等时,PWM的电平发生变化由低电平变为高电平,或者由高电平变为低电平,从而产生周期性的PWM波形。
改变周期寄存器TPR,就可以改变PWM的周期,即可以改变PWM的频率;改变比较寄存器CMPR,就可以改变PWM的占空比。

时间基准(Time Base)子模块

时间基准(Time Base)子模块主要有两个作用,一个是时钟信号的同步,另一个是计数。
在这里插入图片描述
在这里插入图片描述
通过时间基准子模块TB可以实现计数时钟的配置、计数模式的选择、同步信号的选择、相位的控制等功能。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
增计数模式:计数器TBCTR从0开始增计数,每次加1,计数到TBPRD时,TBCTR变为0,然后重新开始增计数至TBPRD,不断重复。
减计数模式:计数器TBCTR从TBPRD开始减计数,每次减1计数到0时,TBCTR又变为TBPRD,然后重新开始减计数至0,不断重复。增减计数模式:计数器TBCTR从0开始增计数,每次加1,计数到TBPRD时,进行减计数,每次减1,计数到0时再开始增计数,不断重复。

映射寄存器(影子寄存器)
时间基准周期寄存器TBPRD具有一个映射寄存器,映射寄存器可以使寄存器的更新与硬件同步。ePWM所有具有映射寄存器的寄存器都会有两个寄存器,分别是当前寄存器和映射寄存器。
当前寄存器可以用来控制系统硬件的运行,并反映硬件的当前状态。映射寄存器可以用来临时存放数据,并在某个特定的时刻将数据传送给当前寄存器,可见映射寄存器对硬件没有任何直接作用。
在这里插入图片描述

计数器比较功能(CounterCompare)子模块

计数器比较功能(CounterCompare)子模块有两个比较寄存器CMPA和CMPB,其功能就是将计数器寄存器TBCTR的值和这两个比较寄存器的值进行比较,由此产生比较事件,从而产生PWM波。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当计数器寄存器TBCTR的值与比较寄存器A的值相等时,会产生CTR=CMPA事件;当计数器寄存器TBCTR的值与比较寄存器B的值相等时,会产生CTR=CMPB事件。对于增计数和减计数模式,比较事件在一个计数周期内出现一次。对于增减计数模式,如果比较值在0~TBPRD的范围,则比较事件在一个计数周期内出现两次,如果比较值等于0或者TBPRD,则比较事件在一个计数周期内只出现一次。
在这里插入图片描述
,ePWM的比较功能子模块的作用就是将计数器寄存器同CMPA和CMPB进行比较,以产生比较事件,然后将这些事件送入下面要介绍的动作限定子模块AQ中,驱动输出引脚产生电平的变化,从而产生PWM波。

动作限定(ActionQualifier)子模块

动作限定(ActionQualifier)子模块AQ在整个波形生成的环节中扮演着最重要的角色,当计数器的各种事件送入AQ后,由AQ来决定引脚应该如何动作作是变为高电平,还是变为低电平,还是没有任何动作,又或者直接翻转之前的电平,从而产生所需的PWM波形。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
CTR=PRD,也就是当计数器寄存器TBCTR的值与周期寄存器TBPRD相等时,通知动作限定子模块AQ;
CTR=Zero,也就是当计数器寄存器TBCTR的值等于0时,通知动作限定子模块AQ;
CTR=CMPA,也就是当计数器寄存器TBCTR的值等于比较寄存器CMPA时,通知动作限定子模块AQ;
CTR=CMPB,也就是当计数器寄存器TBCTR的值等于比较寄存器CMPB时,通知动作限定子模块AQ。
在这里插入图片描述
在这里插入图片描述
通过上面的介绍可知,通过在动作限定子模块中对各种事件进行动作的限定,可以产生各种各样的波形,而在实际应用中,常用的是使用增计数模式产生不对称的PWM波形,使用减计数模式产生不对称的PWM波形,使用增减计数模式产生对称的PWM波形,PWM的占空比从0%~100%变化。
在这里插入图片描述
在这里插入图片描述
PWM产生需要周期寄存器TBPRD,计数器寄存器TBCTR,还有比较寄存器CMPX,TBPRD决定了PWM的周期,也就是PWM的频率,计数方式、CMPx、动作限定共同决定了PWM的占空比在使用时,改变TBPRD的值可以改变PWM的频率,改变CMPX的值可以改变PWM的占空比。

死区控制子模块DB

在这里插入图片描述
在EPWMxA和EPWMxB的上升沿与下降沿之间插入一个延时,使得同一桥臂的两个开关管导通和关断错开一定的时间,就是死区deadtime,以保证同一桥臂上的上下管子总是先关断后导通。
在这里插入图片描述
ePWM中的死区控制子模块DB就是用来严格地控制死区产生的边沿和极性。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

斩波控制(PWMChopper)子模块

斩波控制(PWMChopper)子模块PC可以通过高频载波信号对由AQ或者DB子模块输出的PWM波形进行调制,这项功能在控制高开关频率的功率器件时非常有用。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

故障捕获子模块TZ

故障捕获 (trip zone)子模块TZ是起到故障保护的作用的,它有6个输入引脚Tzn,外部信号可以通过这几个引脚接入故障捕获子模块,用来表示发生了外部故障或者其他事件,从而ePWM模块对此作出相应的动作。比如将所有的PWM信号置为低电平。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

事件触发(eventtrigger) 子模块

事件触发(eventtrigger) 子模块ET用来处理时间基准计数器、比较功能子模块所产生的各种事件,然后向CPU发出中断请求或产生ADC启动信号SOCA或SOCB。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45159887/article/details/130540454