模块概览
子模块
主要包括8个子模块:
每一组PWM模块的输入信号主要有:
类别 | 信号 | 功能 |
同步信号 | EPWMxSNYCI | 同步输入信号 |
TripZone | TZ1~TZ3 | TripZone输入 |
TRIPIN | TRIPIN1~12 | |
故障/错误输入 | ECCDBLERR | ECC错误 |
EMUSTOP | (TZ6) | |
CLOCKFAIL | 时钟失效(TZ5) | |
EQEPxERR | (TZ4) | |
PIEERR | PIE错误 | |
COMPxOUT | 比较器输出信号 |
输出信号主要有:
类别 | 信号 | 功能 |
同步信号 | EPWMxSNYCO | 同步信号输出 |
PWM输出 | ePWMxA | A路输出 |
ePWMxB | B路输出 | |
中断 | EPWMxTZINT | TZ中断 |
EPWMxINT | PWM中断 | |
触发ADC转换 | EPWMxSOCA | A路触发ADC转换 |
EPWMxSOCB | B路触发ADC转换 |
关键信号交互
时基子模块
时基子模块在整个ePWM模块中的位置:
时基模块详解
计数周期
向上计数 或者 向下计数 模式:计数周期 = (TBPRD + 1)* Ttbclk
上下计数模式:计数周期 = (TBPRD * 2)* Ttbclk
计数同步
计数时序
向上计数
向下计数
与向上计数类似:
上下计数
当遇到同步事件时,也是从相位值开始重新计数。不过,接下来是向上计数还是向下计数取决于TBCTL寄存器中的PHSDIR位。
相位方向位
该位仅在时基计数器配置为加减计数模式时使用。 PHSDIR 位指示在同步事件发生并从相位 (TBPHS) 寄存器加载新相位值后时基计数器 (TBCTR) 将计数的方向。 这与同步事件之前计数器的方向无关。
在向上计数和向下计数模式中,该位被忽略。
0:同步事件后向下计数。
1:同步事件后向上计数。
当PHSDIR=0时:
当PHSDIR=1时:只要遇到同步事件,计数方向就会变成1(UP),而不管同步事件之前的计数方向是0还是1。然后从相位值开始,重新向上计数。
计数事件
有3个:
- CTR=zero
- CTR=PRD
- CTR=MAX(0xFFFF)
常用的是前2个。不管什么计数模式,也不管是否发生同步,只管比较CTR的值。和zero、PRD、MAX进行比较。
全局加载
启用此功能后,对于启用此模式的所有寄存器,内容从影子寄存器到活动寄存器的传输发生在与全局影子到活动加载控制寄存器 (GLDCTL[ GLDMODE])。 当 GLDCTL[GLD] = '1' 时,个别影子寄存器的影子到活动加载事件选择位被忽略,全局加载模式对由 GLDCFG[REGx] 启用的相应寄存器生效。
当 GLDCTL[GLD] = ‘1’且 GLDCFG[REGx] = ‘0’时,全局加载模式不影响相应的寄存器(REGx)。 各个影子寄存器的影子到活动加载事件选择位决定如何将内容从影子寄存器传输到活动寄存器。
计数比较子模块
在这:
详解:
加载模式有:
CTR=Zero
CTR=PRD
CTR=Zero或者CTR=PRD
软件强制同步:TBCTL寄存器的SWFSYNC位写1.
同步信号输入
比较事件
有2个:
- CTR=CMPA
- CTR=CMPB
动作限定子模块
在这:
详解:
输入信号:
类别 | 信号 | 功能 |
时钟 | TBCLK | |
事件 | CTR=PRD | 计数器等于周期值 |
CTR=0 | 计数器等于0 | |
CTR=CMPA | 计数器等于比较器A | |
CTR=CMPB | 计数器等于比较器B | |
计数方向 | CTR_dir | 当时是向上计数还是向下计数 |
软件强制控制 | SFRC | |
其他 | T1/T2 | Based on comparator, trip or syncin events |
输出信号就是ePWMA和ePWMB。
触发事件
触发动作
- 置高
- 置低
- 高低翻转
- 不动作
影子模式
决定动作限制寄存器的加载时机。
其中,
LDAQAMODE决定什么计数事件;
LDAQASYNC决定是使用同步事件还是计数事件;
SHDWAQAMODE决定是立即加载,还是使用影子加载。
产生PWM驱动 示例
死区子模块
夹在动作限定模块和PWM斩波模块之间:
主要功能
死区模块的主要功能:
- 从单个 EPWMxA 输入生成具有死区关系的适当信号对(EPWMxA 和 EPWMxB)
- 编程信号对用于:
- 高电平有效 (Active high,AH)
- 低电平有效 (Active low,AL)
- 高有效互补 (Active high complementary,AHC)
- 低有效互补 (Active low complementary,ALC)
- 将可编程延迟添加到上升沿 (rising edges,RED)
- 将可编程延迟添加到下降沿 (falling edges,FED)
- 完全旁路(不使用死区模块)
子模块框图
典型应用
斩波器子模块
PWM 斩波器子模块允许高频载波信号调制由动作限定器和死区子模块生成的 PWM 波形。 如果需要基于脉冲变压器的栅极驱动器来控制电源开关元件,则此功能非常重要。
工作原理
说明:
- 相关寄存器:PCCTL
- CHPEN使能位:等于0时可以旁路斩波模块,EPWMxA和EPWMxB信号直通。
- CHPFREQ位:分频系数
- CHPDUTY:斩波的占空比
- OSHTWTH:第一个脉冲的宽度
简单斩波
就是将驱动信号中的高电平变成高电平脉冲。
第一个脉冲持续宽度
一次性模块是一种功能,它提供高能量的第一个脉冲以确保硬且快速的开启电源开关,而随后的维持脉冲,确保电源开关保持开启。 一次性宽度通过 OSHTWTH 位进行编程。
占空比控制
基于脉冲变压器的栅极驱动设计需要了解变压器和相关电路的磁性或特性。 饱和度就是这样一种考虑。 为了帮助栅极驱动设计人员,第二个和后续脉冲的占空比已经可编程。 这些持续脉冲确保在导通期间在电源开关栅极上保持正确的驱动强度和极性,因此可编程占空比允许通过软件控制来调整或优化设计。
Trip-Zone 子模块
控制逻辑
中断逻辑
事件触发子模块
触发输入:时基信号,计数比较信号,数字比较信号。
触发输出:PIE,ADC转换SOC。
子模块功能原理图
说明:
- 触发输入源:计数事件(CTR=Zero、PRD);比较事件(CTR=CMPA、CMPB)及计数方向;
- 可配置触发事件发生N次才输出。
事件触发产生中断
事件触发启动ADC转换