【原创】TI C2833x介绍---ePWM(8)
0赞每路ePWM的比较功能子模块在控制上相对而言比较容易,包含了两个存储比较值的寄存器即EPwmxRegs.CMPA和EPwmxRegs.CMPB,CMPx寄存器中的值始终与时间基准计数器TBCTR中的值做比较,当两者相等时,比较功能子模块将产生一次“TBCTR=CMPB”事件,并输送到功能限定子模块AQ中,从而产生相应的动作。另外有一个包含位控制的控制寄存器EPwmxRegs.CMPCTL.all,其各位的定义为:
15~10:目前用作保留位
9: SHDWBFULL,即CMPB映射寄存器满状态标志位
0:CMPB映射寄存器未满
1:CMPB映射寄存器满,此时CPU的写操作将会覆盖原来的值
8: SHDWAFULL CMPA映射寄存器满状态标志位
0:CMPA映射寄存器未满
1:CMPA映射寄存器满,此时CPU的写操作将会覆盖原来的值
7:目前用作保留位
6: SHDWBMODE CMPB寄存器工作模式选择
0:使用映射模式,读写操作将直接作用于CMPB映射寄存器
1:使用立即模式,读写操作将直接作用于CMPB当前寄存器
5:目前用作保留位
4: SHDWAMODE CMPA寄存器工作模式选择
0:使用映射模式,读写操作将直接作用于CMPA映射寄存器
1:使用立即模式,读写操作将直接作用于CMPA当前寄存器
3~2: LOADBMODE决定CMPB映射寄存器何时向当前寄存器装载数据
00:在TBCTR=0时装载
01:在TBCTR=TBPRD时装载
10:既在TBCTR=0时装载,也在TBCTR=TBPRD时装载
11:禁止装载
1~0: LOADAMODE,决定CMPA映射寄存器何时向当前寄存器装载数据CMPA及CMPB寄存器都有相应的映射单元,分别通过CMPCTL[SHDWAMODE]位及CMPCTL[SHDWBMODE]位控制,上次已经提到。通过对相应的控制位清零可以使能比较寄存器的映射单元,默认情况下映射寄存器是使能的。