TMS320F28035使用学习系列分享(十一)ePWM | 您所在的位置:网站首页 › dsp28035基本介绍 › TMS320F28035使用学习系列分享(十一)ePWM |
1.简述 本篇是对TMS320F28035 ePWM发波配置及使用的总结,针对相关文件函数进行调用与配置。 2.中断设置相关文件 DSP2803x_Gpio.h DSP2803x_PieCtrl.h 做发波设置时部分关键步骤与ePWM定时器配置相仿,相同处理步骤具体介绍参照专栏十。 相关寄存器: 时基模块(TB):控制时序。 计数比较模块(CC):配置比较功能,产生比较事件,生成占空比。 动作模块(AQ):配置脉冲动作方式。 死区模块(DB):配置死区防止两个或多个开关管直通。 事件触发模块(ET):配置事件,得到事件次数,触发中断及各类功能。 其中设置发波方式为关键操作,一般AQ模块设置发波电平逻辑,DB模块设置死区兼同异步发波方式。 在AQ下有: 动作控制寄存器CTLA、CTLB 动作软件强制寄存器SFRC 动作连续软件强制寄存器 CSFRC 其中较为重要的是CTLA、CTLB寄存器,分别控制PWMA和PWMB的电平逻辑,两部分的功能一致,分别为CBD、CBU、CAD、CAU、PRD、ZRO。 CBD:CMPB向下计数触发 CBU:CMPB向上计数触发 CAD:CMPA向下计数触发 CAU:CMPA向上计数触发 PRD:计数值等于周期触发 ZRO:计数值等于零值触发 写入方式为00、01、10、11,分别对应不动作、清零、置一和翻转四种逻辑。 在DB下有: 死区控制寄存器CTL 死区上升沿延时寄存器RED 死区下降沿延时寄存器REF CTL寄存器功能有HALFCYCLE、IN_MODE、POSEL、OUT_MODE。 HALFCYCLE:半周期时钟使能位,0为全周期时钟(TB,即TBCLK),1为半周期时钟(TB/2,即TBCLK*2),默认为0,不用时不做设置。 IN_MODE:死区模块输入控制 00:PWMA双边沿延时输入 01:PWMA上升沿延时输入,PWMB下降沿延时输入 10:PWMA下降沿延时输入,PWMB上升沿延时输入 11:PWMB双边沿延时输入 POSEL:极性控制 00:无翻转动作 01:PWMA翻转 10:PWMB翻转 11:全翻转 OUT_MODE:死区模块输出控制 00:ePWM不经过死区,直接传递信号 01:使能下降沿延时 10:使能上升沿延时 11:使能双边沿延时 RED与FED为10位寄存器,用以设置死区时间。 本篇以互补发波设置为例,占空比大小与PWMA输出一致,PWMA与PWMB输出互补,同时设置死区,保证一方导通瞬间另一方不会立刻导通。根据其逻辑,计数为零时PWMA电平应上升,到达比较值时应下降,要求PWMB只根据A翻转即可,因此AQ模块可设:ZRO=10,CAU=01或11;DB模块可设IN_MODE=00,POSEL=10,OUT_MODE=11,死区根据周期TB进行相应设置。 3.基本配置总结(ePWM2 100kHz带死区互补发波)互补发波常用于各类交直流桥式电路的PWM调制中,其要求上下桥臂不能直通,因此需要设置死区以避免之。 (1)打开对应外设时钟 (2)IO功能配置 (3)中断功能设置 TB模块 CC模块 AQ模块 DB模块 ET模块 (4)使能时基计数时钟 (5)开启总中断,使能调试事件 (6)创建占空比设置函数 (7)调用占空比设置函数 4.实验结果验证设置tbprd=600,占空比为duty=0.2,在示波器上观察波形如图11-1、11-2、11-3所示。其中绿色波形为PWM2A,紫色波形为PWM2B,整体周期为10μs,即100kHz,对应tbprd=600;单周期内PWM2A作用时间+死区时间为2μs,死区时间为400ns,当AB任意通道为高电平时另外一个必为低电平。 图11-1 ePWM2周期图11-2 PWM2A作用时间图11-3 ePWM2死区大小 |
CopyRight 2018-2019 实验室设备网 版权所有 |