s3c2410 定时器的基本设置
2017-10-03 本文已影响17人
Leon_Geo
在嵌入式系统中,我们需要了解3个时钟频率:FCLK. HCLK. PCLK 。
FCLK :一般来说通过外接12M 的晶振,结合芯片内部锁相环的倍频而得到200M 的FCLK. 作为CPU 的内部时钟。
HCLK :通过对FCLK 的分频得到,一般取值为FCLK 的一半(100M),主要用于为高速设备(连接至AHB总线上) 提供时钟。
PCLK :通过对FCLK 的分频得到,一般取值为HCLK 的一半(50M),主要用于为低速设备(连接至APB总线上) 提供时钟。
另外还有专门为USB 提供时钟的UCLK 。
定时器属于低速设备,故是通过对PCLK 降频后作为定时器时钟的。s3c2410 共有5个定时器t0-t4, 前四个有外接输出口,可用于对低速外设提供时钟,而t4 没有外部输出口,是仅提供给cpu 内部使用的。其工作原理如下图:
s3c2410 定时器的基本设置那么如何设置和运行一个固定周期的定时器或计时器的呢?
1、通过设置TCFG0 的bits(15, 8) 来确定第一级分频值(0-255);
2、 通过设置TCFG1 的bits(19 , 16) 来确定第二级分频值(1/2 ,1/4 ,1/8 ,1/16);
3、通过设置TCFG1 的bits(23 , 20) 来确定选择中断方式还是DMA方式;
4、通过设置TCON 的bits(22) 来确定是否开启自动装载被减数。
5、通过设置TCON 的bits(21) 来手动将TCNTB4 中的被减数装入TCNT4 。完成之后需要将该位清零。
6、通过设置TCON 的bits(20) 来确定计数器的开始和停止。
s3c2410 定时器的基本设置