S3C2440有5个16位定时器,定时器0、1、2和3有PWM功用(因而这4个定时器也被称为PWM定时器),都有一个输出引脚,定时器4是一个内部定时器,无外部输出引脚。
定时器的时钟源是PCLK,然后通过内部的两级分频器分频得到定时器作业所需求的频率。其间,定时器0、1共用一个8位的榜首级预分频器prescaler 0,定时器2、3、4共用另一个8位的榜首级预分频器prescaler 1;每个定时器都有一个与之对应的第二级分频器clock divider如下图所示
尽管定时器较多,但作业原理都是相同的,只需求了解一个定时器的作业原理即可。关于某一个定时器,其内部结构原理图如图二所示。缓存寄存器TCMPBn和TCNTBn用于缓存定时器n的比较值和初始值;TCON用于操控定时器的敞开与封闭;通过读取寄存器TCNTOn得到定时器当时计数值。
定时器作业原理概述:
①首要,将定时器的比较值和初始值装入寄存器TCMPBn和TCMPBn中
②然后,设置定时器操控寄存器TCON,发动定时器。此刻,TCMPBn和TCNTBn中的值会加载到寄存器TCMPn和TCNTn中。
③此刻,定时器会减1计数,即TCNTn进行减1计数,当TCMPn=TCNTn时,TOUTn引脚输出相反。
定时器初始化
① 定时器时钟频率(比方定时器时钟频率为50,则1秒钟计数寄存器减去50;为100,则1秒钟计数寄存器减去100);
② 设置定时器计数值(比方计数初值为100,而定时器时钟频率为50,则两秒后会发生中止,比方引脚输出相反电平);
③ 设置中止处理函数
①时钟频率初始化:定时器的时钟频率=PCLK/(prescaler+1)/(divider value)
其间: prescaler value=0~255 (它的值由TCFG0寄存器设置,如下图)
divider value=2,4,8,16 (它的值由TCFG1寄存器设置,如下图)
TCFG0 |
位 |
描绘 |
初始值 |
保存 |
[31:24] |
|
0x00 |
Dead zone length |
[23:16] |
此8位决议死区长度。死区长度的单位时刻等于定时器0的单位时刻
|
0x00 |
Prescaler 1 |
[15:8] |
此8位决议定时器2,3,4的预标定器值 |
0x00 |
Prescaler 0 |
[7:0] |
此8位决议定时器0,1的预标定器值 |
0x00 |
②计数值初始化:这两个寄存器寄存的是设定的计数比较值,直接对其赋值即可.下面以定时器0为例:
TCMPB0 |
位 |
描绘 |
初始值 |
Timer 0 computer buffer register |
[15:0] |
Set compare buffer value for Timer0 |
0x00000000 |
TCNTB0 |
位 |
描绘 |
初始值 |
Timer 0 count buffer register |
[15:0] |
Set count buffer value for Timer 0 |
0x00000000 |
③设置中止处理函数,自己编写。
例1:结合上面解说可知,定时器0的输入时钟是通过PCLK分频的得到的,下图展现了其发生进程。
————————————-分割线—————————————————
剖析:在上题中呈现了TCFG1和TCFG0两个定时器装备寄存器,其间TCFG0装备寄存器操控榜首级分频器prescaler的分频系数,TCFG1装备寄存器操控多路挑选开关,挑选第二级分频器divider的分频系数。详细如下图所示:
—————————————–分割线—————————————————
—————————————–分割线————————————————–
例2:PCLK为50MHz,请设置恰当的分频系数,使定时器0的输入时钟为62.5kHz。
答:已知PCLK为50MHz,则50MHz/62.5kHz=800,即需求对PCLK进行800分频。所以,使榜首级分频器的分频系数为100,第2级的分频系数为8即可满足要求。最终,只需求将分频系数写入定时器操控寄存器中相应的位即可,代码如下:
1 rTCFG0&=~(0xFF);将TCFG0的低8位清零
2 rTCFG0|=99;由于分频系数=prescaler+1,即prescaler+1=100,所以,prescaler value=99
3 rTCFG1&=~(0xF);将TCFG1的低4位清零
4 rTCFG1|=0x02;将TCFG1的低4位赋值为0x02,即挑选8分频输出
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/yingjian/262969.html