S3C2440有5个16位的定时器。定时器0、1、2、3具有脉冲宽度可调(PWM)功能。定时器4是没有输出引脚的内部定时器。定时器0有一个死区发生器,可以和一个大电流装置一起使用。
定时器0和1共用一个8位的分频器,而定时器2、3、4共用一个8位的分频器。每个定时器有一个时钟分频器,能产生5个不同的分频信号(1/2,1/4,1/8,1/16和TCLK)。每个定时器块接收它自己的来自时钟分频器的时钟信号,而这个时钟分频信号来自相应的8位分频器。8位分频器是可编程的,根据寄存器TCFG0和TCFG1的值,可将PCLK时钟信号进行分频。
当定时器使能以后,定时器计数器缓冲寄存器(TCNTBn)里有一个初始值存放在递减计数器中。定时器比较缓冲寄存器(TCMPBn)里有一个初始值存放在比较寄存器中,用来和递减计数器的值比较。当频率和占空比发生改变的时候,这样由TCNTBn和TCMPBn组成的双缓冲器的特点使计时器能够产生一个稳定的输出。
每个定时器有它自己的16位递减计数器,由定时器时钟驱动。当递减计数器达到0时,就会产生一个定时器中断请求,以便通知CPU定时器操作已经结束。当定时器计数器达到0时,相应的TCNBn中的值就会自动地存放到递减计数器中,用来继续下面的操作。然而,如果定时器停止时,例如,在定时器运行模式下,清空定时器寄存器的TCONn使能位,TCNTBn中的值就不会再次存放到计数器中。
TCMPBn的值是用来调节脉冲宽度的。当递减计数器的值和比较寄存器中的值匹配时,时钟控制逻辑就会改变输出电平。所以,比较寄存器决定了PWM输出的开(或者关)的时间。 S3C2440 的PWM部分具有:
5个10位计时器。
2个8位的分频器和2个4位的分频器。
可编程占空比以控制输出波形。
自动重载模式和单脉冲模式。
死区发生器。