(1)预分频器和除法器
一个8位预分频器和一个独立的4位时钟除法器,可以产生如表所示的输出频率。
表 输出频率
(2)定时操作
PWM定时器(不包含定时器5)有TCNTBn、TCNTn、TCMPBn和TCMPn。当定时器为0时,TCNTBn和TCMPBn被装载到TCNTn和TCMPn。当TCNTn为0时,如果中断使能,则将产生中断请求(TCNTn和TCMPn是内部寄存器的名称,TCNTn寄存器可以从TCNTOn寄存器中读出)。
(3)自动装载和双缓冲
S3C44B0X的PWM定时器具有双缓冲特性,可以在不停止当前定时器操作的前提下,为下定时器操作改变其预装载值。因此,虽然重新设定定时器的装载值,但当前定时器的操作仍能成功完成。
定时器的值可写入TCNTBn(定时器技术缓冲寄存器),且定时器的当前计数值可以从TCNTOn(定时器技术观察寄存器)中读出。从TCNTBn中读出的值,不是计数器的当前状态,而是下一个定时器的预装载值。
自动装载操作是当TCNTn为0时,复制TCNTBn到TCNTn中,写到TCNTBn的值
只会在TCNTn为0并且自动装载使能时装载到TCNTn中。如果TCNTn为0,自动装载位为0,则TCNTn不再工作。
定时器初始化时,使用手动更新位和转换位,因为定时器的自动装载操作发生在减法计数器为0和TCNTn的初始值没有预先定义时。在这种情况下,必须手动更新装载初值。开启一个定时器的步骤如下:
①向TCNTBn和TCMPBn中写入初始值;
②设置相关定时器的手动更新位,推荐配置转换开/关位;
③设置相关定时器的开始位启动定时(同时清除手动更新位)。
如果定时器被强制关闭,TCNTn就保持计数值且不从TCNTBn重新装载计数值。如果新的值必须被重新设置,则手动更新就是必需的了。
(4)PWM脉宽调制
PWM特性可通过使用TCMPBn来实现,PWM频率由TCNTBn决定;降低PWM的输出值,则可减少TCMPBn值;增加PWM的输出值,则可增大TCMPBn值。若输出转换器使能,则增加/减少可能是颠倒的。
由于双缓冲的特性,为了下一个正确的PWM周期,可以在当前PWM周期的任意点通过ISR或其他程序来写TCMPBn。
(5)输出极性控制
下面的方法可用于保持TOUT为高或低(假设转换器为关闭)
①关闭自动预装载位,然后当TOUTn变为1时,TCNTn变为0后,定时器停止,推荐使用该方法;
②通过清除定时器启动/停止位来停止定时器工作,若TCNTn<TCMPn,则输出电平为高电平;若TCNTn>TCMPn,则输出电平为低电平;
③写TCMPBn(该值大于TCNTBn的值),这将阻止TOUTn变为高,因为TCMPBn的值不能与TCNTn相等;
④TOUTn可根据TCON中的转换开/关而反向。转换器除去额外的电路,以调制输出极性。
(6)死区产生器
死区用于电源设备中的PWM控制。该特性用于一个开关设备断开时和另一个开关设备开启时插入时间间隔,这个时间间隔禁止两个开关设备同时动作,即使时间很短也不行。
TOUT0是PWM的输出,nTOUT0是TOUT0取反。若使能了死区,则TOUT0和nTOUT0的输出波形将分别为TOUT0_DZ和nTOUT0_DZ。这种情况下在死区时间内,TOUT0 DZ和nTOUT0_DZ不可能同时被打开。
7,2.4 PWM的特殊寄存器
PWM定时器是通过设置其特殊功能寄存器来实现相应昀功能的,下面将对其各寄存器进行介绍。
欢迎转载,信息来源维库电子市场网(www.dzsc.com)
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。