17.1 ePWM简介
本章包括每个子模块的概述和相关信息:
· 时基 (TB) 子模块
·计数器比较 (CC) 子模块
·动作限定符 (AQ) 子模块
·死区发生器 (DB) 子模块
·PWM 斩波器 (PC) 子模块
· 跳闸区 (TZ) 子模块
·事件触发器 (ET) 子模块
·数字比较 (DC) 子模块
ePWM 类型 4 在功能上与类型 2 兼容(不存在类型 3)。 除 2 型功能外,4 型还具有以下增强功能:
· 寄存器地址映射: ePWM 4 型的新功能需要额外的寄存器。ePWM 寄存器地址空间已重新映射,以便更好地对齐和使用。
· 延迟跳闸功能: 为实现死区插入功能增加了一些变化,例如,支持峰值电流模式控制类型应用场景所需的延迟跳闸功能方案。这可以通过将比较器事件作为触发事件(Events T1 和 T2)进入AQ模块来实现。如果比较器 T1 / T2 事件用于编辑 PWM,PWM 波形的变化不会立即发生,而是与下一个 TBCLK 同步发生改变。
· 死区发生器子模块增强功能: DBCTL 寄存器的影子模式允许动态配置更改。
· 寄存器的单次和全局加载: ePWM 4 型允许从影子寄存器到使能寄存器的单次和全局加载功能 ,以避免部分加载。例如,多相应用。ePWM4 型允许对影子寄存器进行可编程分频来激活加载事件。ePWM4 型全局负载可通过消除中断简化 ePWM 软件,并确保所有寄存器同时加载。
· 跳闸区子模块增强功能: 增加了独立标志,以反映每个 TZ 源的跳闸状态。对跳闸区子模块进行了修改,以支持某些电源转换器开关技术,如谷值开关。
· 数字比较子模块增强功能: 消隐窗口滤波器寄存器宽度从 8 位增加到 16 位。增强了 DCCAP 功能以提供更多的可编程性。
· PWM SYNC 相关增强功能: ePWM Type 4 允许基于CMPC 和 CMPD 事件生成 PWM SYNCOUT。这些事件也可用于 PWMSYNC 脉冲选择。
ePWM Type 2 与 Type 1 完全兼容。除类型 1 外,类型 2 还具有以下增强功能:
· 高分辨率死区功能:在半周期时钟模式下,死区 RED 和 FED 增加了高分辨率功能。
· 死区发生器子模块增强: ePWM 2 型具有启用 RED 和 FED 功能。通过 14 位计数器和死区/死区高分辨率寄存器增加死区。死区高分辨率寄存器为影子寄存器。
· 在 ePWMxB 输出上提供高分辨率扩展: 提供在 ePWMxB 输出上启用高分辨率周期和占空比控制。第 17.15 节将对此进行详细讨论。
· 计数器比较子模块增强功能: ePWM Type 2 允许通过额外的计数器比较子模块 CMPC 和 CMPD 生成中断和 SOC 事件。
· 事件触发器子模块增强功能: 用于发出中断请求和 ADC 开始转换的预缩放逻辑 ,最多每 15 个事件触发一次。该子模块允许在 SYNC 事件发生时对事件计数器进行软件初始化。
· 数字比较子模块增强功能: 数字比较跳闸选择逻辑 [DCTRIPSEL]最多有 12 个外部跳闸源。这些外部跳闸源通过数字比较跳闸选择逻辑 [DCTRIPSEL],除了能够将所有跳闸源(多达 14 个[外部和内部源])进行 OR 以创建相应DCxEVT。
·同时写入 TBPRD 和 CMPx 寄存器: 该功能允许写入 TBPR,CMPA:CMPAHR、CMPB:CMPBHR、CMPC 和 CMPD、与任何其他 ePWM 模块绑定。还可根据需要将所有 ePWM 模块绑定到特定 ePWM 模块。
·在 TBPRD 和 CMP 寄存器同步时将影子寄存器转换为激活加载: 该功能支持同时写入 TBPRD 和 CMPA/B/C/D 寄存器。
一个有效的 PWM 外围设备必须能够在尽量减少 CPU 开销或干预的情况下生成复杂的脉宽波形,而且必须具有高度的可编程性和灵活性,同时易于理解和使用。这里描述的 ePWM 单元通过按每个 PWM 通道分配所有需要的定时和控制资源来满足这些要求。避免了资源的交叉耦合或共享;相反,ePWM 单元是由多个较小的 PWM 通道组成的,这些子模块具有独立的资源,可根据需要共同运行,形成系统。这种模块化方法产生了一个正交的架构,并提供了一个更加透明的外围结构视图。帮助用户快速了解操作。
在本文中,信号或子模块名称中的字母 x 表示设备上的通用 ePWM 实例。例如,输出信号 EPWMxA 和 EPWMxB 表示 ePWMx 实例的输出信号。因此,EPWM1A 和 EPWM1B 属于 ePWM1,同样,EPWM4A 和 EPWM4B 属于 ePWM4。
类型0到类型 1 的增强
· 死区分辨率提高: 死区时钟功能已得到增强,允许半周期时钟以实现双倍分辨率。
· 增强了中断和 SOC 生成功能: 现在可以在 TBCTR == 0 时和 TBCTR == period时生成中断和 ADC 转换启动。该功能可实现双边沿 PWM 控制。此外,还可通过数字比较子模块中定义的事件生成 ADC 启动转换。
·高分辨率周期功能: 提供启用高分辨率周期的功能。高分辨率周期能力17.15 节中有更详细的讨论。
·数字比较子模块:数字比较子模块通过为数字比较信号提供滤波、消隐和改进的跳闸功能来增强事件触发和跳闸区子模块。这些功能对于峰值电流模式控制和模拟比较器的支持至关重要。
注意事项
用于 CMPSS 的同步信号名称已从 PWMSYNC 更新为EPWMSYNCPER(SYNCPER/PWMSYNCPER/EPWMxSYNCPER),以避免与其他 EPWM 同步信号 EPWMSYNCI 和 EPWMSYNCO 混淆。有关这些信号的说明,请参见表 17-2。
17.1.2 子模块概述
ePWM 模块代表一个完整的 PWM 通道,由两个 PWM 输出组成: EPWMxA 和 EPWMxB。如图 17-1 所示,一个设备中可实例化多个 ePWM 模块。每个 ePWM 实例相同,但有一个例外。某些实例包含硬件扩展,可对 PWM 输出进行更精确的控制。这种扩展是高分辨率脉宽调制器 (HRPWM),将在第 17.15 节中介绍。请参阅设备数据表以确定哪些 ePWM 实例包含此功能。每个 ePWM 模块都用从1开始的数字表示。例如,ePWM1 是系统中的第一个实例,ePWM3 是系统中的第三个实例,而 ePWMx 则表示任何实例。
ePWM 模块通过时钟同步方案串联在一起,以便在需要时作为单个系统运行。此外,这种同步方案还可扩展到捕获外设子模块(eCAP)。子模块的数量取决于设备和目标应用需求而定。子模块也可独立运行。
每个 ePWM 模块都支持以下功能:
·专用的 16 位时基计数器,具有周期和频率控制功能
·两个 PWM 输出(EPWMxA 和 EPWMxB),可用于以下配置:
- 两个独立的 PWM 输出,单边运行
- 两个独立的 PWM 输出,双沿对称操作
- 一个独立的 PWM 输出,双边沿非对称运行
·通过软件对 PWM 信号进行异步覆盖控制。
·相对于其他 ePWM 模块,可编程相位控制支持滞后或超前运行。
· 逐周期硬件锁定(同步)相位关系。
·通过独立的上升沿和下降沿延迟控制生成死区。
·可编程跳闸区分配,包括逐周期跳闸和故障条件下的单次跳闸。
· 跳闸条件可强制 PWM 输出端达到高电平、低电平或高阻抗状态逻辑电平。
·所有事件均可触发 CPU 中断和 ADC 转换启动 (SOC)
· 可编程事件预分频最大限度地减少了 CPU 中断开销。
·通过高频载波信号进行 PWM 斩波,适用于脉冲变压器栅极驱动。
每个 ePWM 模块都与图 17-1 所示的输入/输出信号相连。这些信号将在将在后续章节中详细介绍。
ePWM 模块的连接顺序可能与图 17-1 所示不同。有关特定设备的同步方案,请参见第 17.4.3.3 节。每个 ePWM 模块由八个子模块组成 ,并通过图 17-2 所示的信号在系统内连接。
图 17-3 显示了单个 ePWM 模块的更多内部细节。ePWM 模块使用的主要信号有 :
· PWM 输出信号(EPWMxA 和 EPWMxB):PWM 输出信号可从设备外部获得。
· 跳闸区信号(TZ1 至 TZ6):这些输入信号提醒 ePWM 模块注意 ePWM 模块外部的故障情况。设备上的每个设备上的每个子模块都可配置为使用或忽略任何跳闸区信号。TZ1至 TZ3 跳闸区信号可通过 GPIO 外围设备配置为异步输入,使用输入 X-BAR 逻辑,将 TZT 至 TZ3 跳闸区信号配置为异步输入,请参阅图 17-51。TZ4 连接到反相 EQEPx 错误信号(EQEPxERR)、 该信号可由任何一个 EQEP 子模块生成(适用于带 EQEP 模块的设备)。TZ5 连接到系统时钟故障逻辑,TZ6 连接到 CPU 的 EMUSTOP 输出。这样就可以在时钟失效或 CPU 挂起时配置跳闸动作。
·时基同步输入(EPWMxSYNC)I)、输出(EPWMxSYNCO)和外设(EPWMxSYNCO)及(EPWMxSYNCPER) 信号 :每个 ePWM 模块都可使用 EPWMSYNCINSEL 信号与其他 ePWM 模块或其他外设同步。每个 ePWM 模块还能产生同步输出信号。输出信号EPWMxSYNCOUT 的信号源可通过 EPWMSYNCOUTEN 和TBCTL2.OSHTSYNCMODE 选择和启用。更多信息,请参见第 17.4.3.3 节。
每个 ePWM 模块还会产生另一个 PWMSYNC 信号,称为 EPWMxSYNCPER。EPWMxSYNCPER 进入 CMPSS 以实现同步。功能通过HRPCTL 寄存器配置,但与 HRPWM 无关。有关 CMPSS 如何使用 EPWMxSYNCPER 的更多信息,请参阅 HRPCTL 寄存器。
·ADC 转换开始信号(EPWMxSOCA 和 EPWMxSOCB):每个 ePWM 模块都有两个 ADC 开始转换信号。任何 ePWM 模块都可触发转换开始信号。触发开始转换的事件由 ePWM 的事件触发子模块配置。
·比较器输出信号 (COMPxOUT) :比较器模块的输出信号可通过输入 X-BAR 和 EPWM X-BAR 馈送至一个或全部 12 个跳闸输入[TRIPN1-TRIOIN12],并与跳闸区信号一起产生数字比较事件。
·外围总线 :外设总线宽 32 位,允许 16 位和 32 位写入 ePWM 寄存器文件。