DSP

F28335 ePWM死区模块(DB)

2019-07-13 11:14发布

class="markdown_views prism-atom-one-light"> 1 为什么要产生死区? 在这里插入图片描述
如图所示,PWM一般作用在桥式结构的电路中,这种电路如果上下桥臂同时导通就会导致管子被烧,在系统中甚至会造成更大的损失。所以为了保证上下桥臂中,在同一时刻只有一个导通,就需要死区时间来保证一个管子的关断后,另外一个桥臂的管子才打开。 2 ePWM的死区模块DB的作用 和 工作特点 2.1 死区模块DB作用 死区模块的最大作用就是使得两个互补对称的PWM波,上升沿的发出滞后于PWM下降时间的发出。并且可以人为控制这个下降或者上升延时的时间长短。通过配置DBFED 和 DBDED两个寄存器来控制时间长短。 2.2 死区模块DB的工作特点 在这里插入图片描述 如上图所示: 死区模块具有2组独立的选择机制
  1. ePWMA作为上升沿下降沿输入源,系统默认选择
  2. ePWMA作为上升沿输入源,ePWMB作为下降沿输入源
  3. ePWMB作为上升沿输入源,ePWMA作为下降沿输入源
  4. ePWMB作为上升沿下降沿输入源
输出模式可选择
  1. 禁止边沿延时,禁止死区功能
  2. 禁止上升沿延时,使能下降沿延时
  3. 禁止下降沿延时,使能上升沿延时
  4. 双边沿延时
输出极性可选择
  1. ePWMA和ePWMB都不翻转
  2. ePWMA翻转,ePWMB不翻转
  3. ePWMB翻转,ePWMA不翻转
  4. ePWMA和ePWMB都翻转
3 死区模块寄存器及其配置 在这里插入图片描述 配置方式: #define DB_IN_A 0 #define DB_IN_A_UP_B_DOWN 2 #define DB_IN_B_UP_A_DOWN 1 #define DB_IN_B 3 #define DB_SEL_0 0 #define DB_SEL_A_F 1 #define DB_SEL_B_F 2 #define DB_SEL_A_B_F 3 #define DB_OUT_0 0 #define DB_Y_DOWN 1 #define DB_Y_UP 2 #define DB_Y_UP_DOWN 3 . . . . EPwm1Regs.DBCTL.bit.IN_MODE=DB_IN_A_UP_B_DOWN; //EPWMA上边沿延时输入源,EPWMB下边沿延时输入源 EPwm1Regs.DBCTL.bit.POLSEL=DB_SEL_0; //EPWMA 和 EPWMB都不翻转 EPwm1Regs.DBCTL.bit.OUT_MODE =DB_Y_UP_DOWN; //EPWMA 和 EPWMB 双边沿延时 EPwm1Regs.DBRED = 1; //上升沿延时一个时钟周期 EPwm1Regs.DBFED = 1; //下升沿延时一个时钟周期