EPWM模块配置说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一个ePWM module 包括Time-base (TB) module ,Counter-compare (CC) module ,Action-qualifier (AQ) module ,Dead-band (DB) module ,PWM-chopper (PC) module ,Event-trigger (ET) module ,Trip-zone (TZ) module 等七个模块。正常的发出PWM 波要配置TB 、CC 、AQ 、DB 、ET 等五个模块。
ime-base (TB) module 为定时器模块,有
计数模式、同步模式
用)
的起始计数位置,例如寄存器为0x0100则计数器从0x01器)
)设置计数器的计数周期。只有TBPRD (周期寄存器)有影子寄存器T TBCTL (控制寄存器)配置定时器的时钟、TBSTS (状态寄存器)
TBPHSHR (高速PWM TBPHS (相位寄存器)计数器00开始计数
TBCTR (计数TBPRD (周期寄存器。
本程序的设置为count-up-and-down mode 计数模式,相位为零,ePWM2 、ePWM3、 ePWM4、 ePWM5、 ePWM6通过ePWM1的计数器到零时进行同步,计数周期为0.5ms 。
ounter-compare (CC) module 为比较器模块有
B 的重载模式
EPWMxA 的比较值,有影子寄存器。
C CMPCTL (比较控制寄存器)设置CMPA 、CMP CMPAHR (高速PWM 用),
CMPA (比较值寄存器A )设置CMPB (比较值寄存器B )设置EPWMxB 的比较值,有影子寄存器。
本程序只应用了CMPA ,设置计数器到零时重载CMPA 。
ction-qualifier (AQ) module 比较方式预设模块
的比较方式有CBD 、CBU 、CAD WMB 的比较方式有CBD 、CBU 、CAD RC 重载方式(RLDCSF ),通过(O RC (软件连续强制控制寄存器)可以强制EPWMA 、EPWMB 的输出为low 或h A AQCTLA (输出A 比较方式控制寄存器)设置EPWMA 、CAU 、PRD 、ZRO ,无影子寄存器,立即装载
AQCTLB (输出B 比较方式控制寄存器)设置EP 、CAU 、PRD 、ZRO ,无影子寄存器,立即装载
AQSFRC (软件强制控制寄存器)设置AQCSF TSFB 、ACTSFB )设置EPWMB 、(OTSFA 、ACTSFA )设置EPWMA 启动一次强制置位无效、置零、置高、反向,当OTSFB 、OTSFA 被写1时,动作一次,写0无效,无影子寄存器
AQCSF igh 或AQCSFRC 不起作用,有影子寄存器,当寄存期被加载后的第二个时钟开始作用,如TBCLK=0时加载,TBCLK=1时开始起作用
说明:
CBD 为TBCTR (计数器)与CMPB 在down 计数时相等使输出为low 或high 或反向或不TBCTR (计数器)与CMPB 在up 计数时相等使输出为low 或high 或反向或不动为TBCTR (计数器)与CMPA 在down 计数时相等使输出为low 或high 或反向或不TBCTR (计数器)与CMPA 在up 计数时相等使输出为low 或high 或反向或不动为TBCTR (计数器)与TBPRD (周期寄存器)相等时使输出为low 或high 或反向或TBCTR (计数器)计到零时使输出为low 或high 或反向或不动作
强制控制寄存优先级如图
up 计数,EPWMA 初始为低,CAU 设置高,CBU 设置低计到动作
CBU 为作
CAD 动作
CAU 为作
PRD 不动作
ZRO 为注意:以上均是相等时起作用,其它时间不管,只有AQCSFRC (软件连续器)持续起作用
如同时出现比较则例:CMPA=100,CMPB=100,,当TBCTR 计到100时,CAU 、CBU 同时作用,根据优先级,EPWMA 输出低。
当CMPA=100,CMPB=110,其它不变,当TBCTR 计到100时,EPWMA 输出高,110时EPWMA 输出低。
本程序只应用了EPWMA输出通过Dead-band (DB) module产生互补的PWM波形。Action-qualifier (AQ) module比较方式预设模块配置如下:AQCTLA (输出A比较方式控制寄存器)的CAU置高,CAD置低,其它无效。在初始化中配置。
AQCSFRC (软件连续强制控制寄存器)通过AQSFRC(软件强制控制寄存器)的RLDCSF配置为TBCTR(计数器)计到零时装载,根据需要每次中断配置CSFA置高、置低或软件连续强制无效。其优先级最高,强制时CAU置高,CAD置低不起作用,无效时CAU置高,CAD置低起作用。
AQSFRC(软件强制控制寄存器)的ACTSFA配置为置低,当本周期软件连续强制无效时,向OTSFA写1,保证有效高周期的起始是低状态,防止上一周期结束时为高。
Dead-band (DB) module死区模块
DBCTL(死区控制寄存器)设置S5,S4,S3,S2,S1,S0开关选择的
DBRED(死区上升沿延时)上升沿延时时间
DBFED(死区下降沿延时)下降沿延时时间
本程序的设置为S5=0,S4=0,S3=1,S2=0,S1=1,S0=1;延时时间为5us。EPWMxA= EPWMxA in,EPWMxB为EPWMxA in的反向。
Event-trigger (ET) module中断事件模块
(中断选择寄存器)使能及事件源选择(SOCA触发ADC转换,SOCB触发ETSEL
ADC转换,中断)
ETPS(中断预设寄存器)xxxCNT记录时间发生次数,当与xxxPRD相等时,发出中断信号,xxxCNT停止计数,当标志为清除时xxxCNT置零重新计数
ETFLG(中断标志寄存器)状态标志位,中断时为1
ETCLR(中断标志清除寄存器)写1清除相应标志位
ETFRC(强制中断寄存器)写1强制相应中断发生
本程序选择SOCA触发ADC转换,TBCTR=0位中断事件源,xxxPRD为1。