DSP

F28335 ePWM时基模块(TB)及其 寄存器配置————TMS320F28335学习笔记(五)

2019-07-13 11:35发布

class="markdown_views prism-atom-one-light"> 1 时基模块 TB 组成及工作原理简介
每个PWM模块都有自己的时基单元,这决定了每个PWM模块的时序,时基模块的作用:
  • 确定PWM的周期或频率
  • 管理当前ePWM模块和其他ePWM模块的相位,以此保持各个ePWM模块的同步性
  • 设置时基计数器的计数方式,是增计数(up)还是减(down)计数模式
  • 设置ePWM的时间基础,对系统时钟进行分频,可以输出较低频率PWM波
1.1 时基模块的关键寄存器 寄存器 描述 TBCTL 时基控制寄存器 TBSTS 时基状态寄存器 TBPHSHR HRPWM扩展相位寄存器 TBPHS 时基相位寄存器 TBCTR 时基计数器寄存器 TBPRD 时基周期寄存器 补充:什么是影子寄存器
时基模块中有个周期影子寄存器,它可以实现其主寄存器随硬件进行同步更新。其实正经说叫 active register (活动寄存器)和 shadow register (影子寄存器)。
在DSP中寄存器是直接控制硬件电路的,这是活动寄存器的功能,而影子寄存器不能直接控制硬件电路,他的作用是提供给活动寄存器一个存放状态和值的地址,在系统运行的时候,在软件配置寄存器和硬件不同步的时候,他可以把存放的状态传到活动寄存器,这样就可以防止因为软硬件不同步导致的系统崩溃。 1.2 时基模块的关键信号
  • ePWMxSYNCI: 时基同步信号输入
  • ePWMxSYNCO:时基同步信号输出
  • CTR = ZERO : 时基计数器等于0
  • CTR = CMPB :时基计数器等于比较寄存器
  • CTR_dir : 时基计数方向, 高电平向上计数,低电平向下计数
  • TBCLK : 时基时钟信号,确定时基计数器的增减的速率
1.3 ePWM的周期和频率计算
ePWM的频率是由时基周期寄存器值(TBPRD) 和 计数模式(TBCTRL)共同决定。在此先不考虑同步信号的输入。 向上-向下计数模式(先递增后递减)
从零开始增大,增到TBPRD的值后,递减至0。
在这里插入图片描述 Tpwm=2 * TBPRD * Ttbclk(TB的时钟) 向上计数模式(递增)
向上递增到TBPRD的值,后立刻回0,再又一次递增。
在这里插入图片描述 Tpwm=(TBPRD+1) * Ttbclk(TB的时钟) 向下计数模式(递减)
从TBPRD的值递减,递减到零,立马回到TBPRD的值后,再有一次递减。
在这里插入图片描述 Tpwm=(TBPRD + 1) * Ttbclk(TB的时钟) 2 时基模块的寄存器配置
2.1 时基控制寄存器 TBCTL
在这里插入图片描述
在这里插入图片描述 在不考虑同步信号的情况下,时基控制寄存器TBCTL我们需要配置的位其实比较少
  • 12~10 CLKDIV: 时钟分频位
  • 9~7 HSPCLKDIV:高速时钟分频位
  • 3 PRDLD : 周期寄存器的影子寄存器位
  • 1~0 : 计数模式位
2.2 时基周期寄存器 位 名称 描述 15~0 TBPRD 时基周期寄存器,时基计数器的周期 配置方式:直接赋值
2.3 时基计数寄存器 位 名称 描述 15~0 TBCTR 时基计数器 配置方式:直接赋值
2.4 时基相位寄存器 位 名称 描述 15~0 TBPHS 时基相位寄存器 配置方式:直接赋值