8bit PWM
PWM模式开启时,计数器与比较寄存器连续比较,当计数值小于比较寄存器,输出为低,当计数值大于等于比较寄存器,输出为高,并且保持到计数值等于重载寄存器,然后计数器回到0开始重新计数,并将输出恢复为低。
PWM周期由重载寄存器控制,占空比由比较寄存器控制。理论上要求比较寄存器值小于重载寄存器。如果比较寄存器大于等于重载寄存器,则输出没有高电平信号。示意图如下:
脉冲输出
当设置了BT_OUT输出脉冲宽度寄存器后,模块可以输出相应的脉冲宽度。当计数器匹配到来后的第一个32768 时钟上升沿开始触发脉冲输出, 计数时钟为32768Hz 。输出脉冲宽度=([OUTCNTH,OUTCNTL]+1)/32768秒。以高8BIT计数器匹配为例,[OUTCNTH,OUTCNTL]=1,波形如下:LOADH为高位加载寄存器;LHEN是高位加载使能寄存器,用来把高位加载寄存器的值加载进高位比较寄存器里;CMPH为高位比较寄存器;CHEN高位是计数器使能信号;CNTH是高位计数器;XTLF是32768HZ时钟信号;CMP_CNT是以32768HZ为计数周期的脉冲宽度内部计数器,当它计数到等于[OUTCNTH,OUTCNTL]的值时回到0;BT_OUT为输出脉冲信号。
Toggle 输出
当设置了输出BT_OUT控制寄存器的OUTMOD位为1后,当比较匹配后模块可以输出与之前相反的电平(Toggle)。以高8位的计数器为例,示意波形如下图。