系统时钟和定时器;MPLL和定时器
1系统时钟
(1) FCLK:用于CPU核
(2 )开发板时钟频率为12 MHZ,通过PLL提高系统时钟:MPLL和UPLL(S3C2440);UPLL用于USB设备,MPLL用于FCLK、HCLK、PLCK
(3 )上电→FCLK=Fin(外部输入时钟)→设置MPLL(Lock Time:长短由寄存器LOCKTIME设定)→新的时钟输出正常
(4)几个重要寄存器
2 PWM定时器
(2)PLCK→2个8位预分频器(定时器0、1共用第一个定时器2、3、4共用第二个;输出2分频,4分频,8分频,16分频或者外部时钟TCLK0/TCLK1)
TCFG0:经过分频器出来的时钟频率:PLCK/(TCFG0[7:0]或TCFG0[15:8]+1)
TCFG1设定相应定时器为经过分频器出来的时钟频率的几分频
定时器工作频率= PLCK/(TCFG0[7:0]或TCFG0[15:8]+1)/几分频
(3)TCMPn=TCMPBn,TCNTn=TCNTBn→while(TCNTn==TCMPn)
3 WATCHDOG定时器
(1)PLCK→2个8位预分频器(输出16分频,32分频,64分频,128分频或者外部时钟TCLK0/TCLK1)
(2)WATDOG定时器工作频率=PCLK/(WTCON[15:8]+1)/几分频
(3)在启动WATDOG定时器前,必须往这个寄存器定入初始计数值
4:MPLL和定时器操作实验:完整代码:timer.tar.gz
(1)
#define S3C2410_MPLL_200MHZ
#define S3C2440_MPLL_200MHZ
void clock_init(void)
{
__asm__(
}
(2)
void memsetup(void)
{
p[9]
void timer0_init(void)
{
}
(4)定时器中断使能
void init_irq(void)
{
}
评论