第四章ePWM模块March8,2020行胜于言敢为人先和而不同居安思危4.1ePWM模块概述•增强型脉冲宽度调制器(ePWM)•ePWM模块中每个完整的PWM通道都是由两个PWM输出组成,即ePWMxA和ePWMxB•有时为了能够更精确控制PWM输出,加入了硬件扩展模块—高精度脉冲宽度调制器(HRPWM)•当多个ePWM模块集成在一个器件内时,如图:March8,2020行胜于言敢为人先和而不同居安思危March8,2020行胜于言敢为人先和而不同居安思危4.1.1ePWM子模块概述•ePWM模块主要包含以下7部分:时间基准子模块;计数比较子模块;动作限定子模块;死区控制子模块;PWM斩波子模块;错误区域控制子模块和事件触发子模块。•每个ePWM模块都是由7个子模块组成,并且系统内通过信号进行连接,如图:March8,2020行胜于言敢为人先和而不同居安思危March8,2020行胜于言敢为人先和而不同居安思危•ePWM模块内部结构如图:March8,2020行胜于言敢为人先和而不同居安思危•ePWM模块的主要信号模块如下:•PWM输出信号(ePWMxA和ePWMxB)•错误区域信号(TZ1-TZ6)•时间基准同步输入和输出信号•ADC启动信号•外设总线March8,2020行胜于言敢为人先和而不同居安思危4.1.2寄存器映射•时间基准子模块模块寄存器March8,2020行胜于言敢为人先和而不同居安思危•计数比较子模块寄存器动作限定子模块寄存器March8,2020行胜于言敢为人先和而不同居安思危•死区发生器子模块寄存器•错误区域子模块寄存器March8,2020行胜于言敢为人先和而不同居安思危•事件触发器子模块寄存器•PWM斩波器子模块寄存器March8,2020行胜于言敢为人先和而不同居安思危4.2ePWM子模块功能•4.2.1时间基准子模块•每个ePWM都有自己的时间基准模块,它用来决定ePWM的事件时序。通过同步逻辑信号,可以实现多个ePWM模块以相同时间基准进行工作。图为ePWM模块的时间基准子模块的关系图March8,2020行胜于言敢为人先和而不同居安思危March8,2020行胜于言敢为人先和而不同居安思危•用户通过对时间基准模块的设定与配置实现以下功能:•确定ePWM时间基准计数器的频率或周期。•与其他ePWM模块的时间基准同步。•与其他ePWM模块的相位关系。•设置时间基准计数模式•产生以下事件:时间基准计数等于指定的时间•时间基准计数等于0•设置时间基准速度March8,2020行胜于言敢为人先和而不同居安思危时间基准模块的关键信号和寄存器March8,2020行胜于言敢为人先和而不同居安思危•信号描述•ePWMMxSYNCI时间基准同步信号输入•ePWMMxSYNCO时间基准同步信号输出•CTR=PRD时间基准计数器等于指定周期•CTR=Zero时间基准计数器等于零•CTR=CMPB时间基准计数器等于计数寄存器•CTR_dir时间基准计数方向•CTR_max时间基准计数器等于最大值•TBCLK时间基准时钟March8,2020行胜于言敢为人先和而不同居安思危计数PWM周期与频率•时间基准周期寄存器(TBPRD)和时间基准计数器共同控制PWM的频率,当TBPRD=4时周期和频率与计数器递增、递减以及递增递减时的关系。系统时钟(SYSCLKOUT)的预定标处理将得到时间基准时钟(TBCLK),由该时钟决定每次时间递增的步骤。March8,2020行胜于言敢为人先和而不同居安思危•(1)递增计数模块•时间基准计数器从周期值,当达到周期值,时间基准计数器复位置零,此时再重新开始递增计数,重复运行。•(2)递减计数模式•时间基准计数器从周期值递减到零,当达到零值时,时间基准计数器重置周期值,此时再重新递减重复运行。•(3)递增递减计数模式•时间基准计数器从零递增到周期值,当达到周期值,时间基准计数器开始递减直至零,此时再递增重复运行。•(1)工作寄存器•(2)映射寄存器•(3)时间基准周期映射模式•(4)时间基准周期立即装载模式时间基准周期映射寄存器4.2.2计数比较子模块•计数比较子模块作为时间基准计数器的输入值,该值连续同计数比较器A和计数比较器B寄存器进行比较,当时间基准计数器等于其中一个比较寄存器时,比较寄存器单元产生一个相应事件。•(1)基于CMPA和CMPB寄存器所确定的可编程时间标志产生相应事件。•(2)如果动作限定子模块能够适当配置,可控制占空比•如图:计数比较子模块的功能结构计数比较子模块功能框图1.计数比较子模块的应用•(1)两位独立的比较事件•CTR=CMPA:时间基准计数器等于有效计数比较器A的值•CTR=CMPB:时间基准计数器等于有效计数比较器B的值•(2)两种工作模式•映射模式•立即装载模式•2.计数模式时序波形•计数比较子模块产生比较事件有以下三种模式:•1.递增模式用于产生不对称PWM波形。•2.递减模式用于产生不对称PWM波形。•3.递增递减模式用于产生对称PWM波形。4.2.3动作限定子模块•动作限定子模块在PWM波形产生中起到重要作用,它决定事件的转换类型,从而使ePWMxA和ePWMxB输出所需要的开关波形。•(1)动作限定子模块主要实现的功能•基于以下事件限制并产生相应操作•当事件发生时,管理产生事件的极性•当时间基准计数器递增或递减计数时,提供事件的独立控制。•如图:动作限定子模块输入输出信号。•(2)ePWMxA和ePWMxB输出的几种操作方式•①置高•②置低•③取反•④无动作•1.动作限定事件优先级•递增递减模式下动作限定事件优先级•递增模式下动作限定事件优先级•递减模式下动作限定事件优先级4.2.4死区控制子模块•ePWM死区子模块的结构如图•该模块的主要功能如下:•1.根据信号ePWMxA输入产生带死区的信号对。•2.对死区信号对进行高电平有效,低电平有效,高电平有效,相应信号对电平极性相反和低电平有效,相应信号对电平极性相反设置。•3.可编程上升沿延时。•4.可编程下降沿延时。•5.设置禁止死区控制子模块。•死区模块配置选择结构图4.2.5PWM斩波器子模块•如图:PWM斩波器子模块的结构图•PWM斩波器子模块可以通过动作限定和死区控制子模块产生高频PWM斩波,在使用PWM控制功率开关中此功能很重要。PWM斩波器子模块主要功能如下:•1.可编程斩波频率。•2.可编程第一个斩波脉冲的脉冲宽度。•3.可编程第二个或其他脉冲的占空比。•4.不必要时则完全可以不使用此功能。•1.PWM斩波器子模块结构波形和操作•如图给出PWM斩波器子模块具体操作结构,SYSCLKOUT分频提供该模块时钟,频率和占空比由PCCTL寄存器的CHPFREQ位与CHPDUTY位控制。4.2.6错误控制子模块•如图给出了错误控制子模块的结构框图•每个ePWM模块都与6个TZn错误控制信号相连,这些错误控制信号与GPIO口复用。当这些信号呈现出外部错误或触发条件时,ePWM输出可以设置为相应的工作方式,来响应错误信号的发生。错误控制子模块主要功能•1.错误输入TZ1-TZ6可以灵活影射到任一个ePWM模块。•2.当错误产生时,ePWMxA和ePWMxB输出可以被强制为下列形式之一:•高电平•低电平•高组态•无动作•3.支持短路或过流保护的单次错误。•4.支持当前限定操作的周期错误。•5.允许每个错误引脚实现单次或周期操作。•6.任一个错误引脚能够产生中断。•7.支持软件强制触发。•8.如果没有要求,错误控制子模块可以被禁止•4.2.7事件触发子模块•事件触发子模块主要功能如下:•1.接收时间基准模块和计数比较模块的事件输入。•2.使用时间基准方向信息确定递增/递减计数。•3.使用预定标逻辑确定中断请求和ADC转换启动。•--每个事件触发一次•--每两个事件触发一次•--每三个事件触发一次•4.通过事件计数器和事件标志提供事件产生标识。•5.允许软件强制中断和ADC转换启动。•事件触发子模块由时间基准子模块和计数比较模块组成,当某个选择的事件发生时,向CPU产生中断和/或启动ADC转换。图为事件触发子模块结构框图4.3ePWM寄存器4.3.1时间基准寄存器•名称位值•时间基准周期寄存器15~00000~FFFFH•时间基准相位寄存器15~00000~FFFF•时间基准计数寄存器15~00000~FFFF•时间基准控制寄存器•位名称说明•15~14FREE,SOFT仿真模式位•13PHSDIR相位方向位•12~10CLKDIV时间基准时钟预分频位•9~7HSPCLKDIV高速时间基准时钟预分频位•6SWFSYNC软件强制同步脉冲•5~4SYNCLSEL同步输出选择•3PRDLD主周期寄存器从映像寄存器选择中加载•2PHSEN计数寄存器从使能的相位寄存器加载•1~0CTRMODE计数器模式4.3.2计数比较子模块寄存器位名称•15~0计数比较A寄存器•15~0计数比较B寄存器•15~0计数比较控制寄存器4.3.3动作限定子模块寄存器位名称•15~0动作限定输出A控制寄存器•15~0动作限定输出B控制寄存器•15~0动作限定软件强制寄存器•15~0动作限定连续软件强制寄存器•4.3.4死区控制子模块寄存器•位名称•15~0死区发生器控制寄存器•15~0死区发生器上升沿延迟寄存器•4.3.5PWM斩波器寄存器•位名称•15~0PWM斩波器控制寄存器•4.3.6错误控制和状态寄存器•位名称•15~0错误区控制寄存器•15~0错误区允许中断寄存器•15~0错误区标志寄存器•15~0错误区清零寄存器•位名称•15~0错误区强制寄存器•4.3.7事件触发子模块寄存器•位名称•15~0事件触发选择寄存器•15~0事件触发预分频寄存器•15~0事件触发标志寄存器•15~0事件触发清零寄存器•15~0事件触发强制寄存器4.5高精度脉宽调制模块(HRPWM)•该模块可提高传统数字脉冲脉宽调节器(PWM)的时间控制精度。当PWM要求精度低于9~10位时,可以用HRPWM实现,这通常发生在CPU/系统工作频率为100MHz并且PWM频率高于200kHz时。HRPWM的关键特征是:•1.提高了PWM的时间控制精度。•2.可以应用占空比和相移两种控制方法。•3.使用比较单元A和相位寄存器的扩展功能,可以实现更精准的时间间隔控制或边沿位置控制。•4.HRPWM在A信号的PWM路径上,也就是EPWMxA输出上执行,EPWMxB可以工作在常规的PWM模式。•5.自检诊断软件模式,可检查边沿位置的调整逻辑是否运行在最优状态。Thankyou