系統(tǒng)時(shí)鐘和定時(shí)器;MPLL和定時(shí)器
1系統(tǒng)時(shí)鐘
(1) FCLK:用于CPU核
(2 )開(kāi)發(fā)板時(shí)鐘頻率為12 MHZ,通過(guò)PLL提高系統(tǒng)時(shí)鐘:MPLL和UPLL(S3C2440);UPLL用于USB設(shè)備,MPLL用于FCLK、HCLK、PLCK
(3 )上電→FCLK=Fin(外部輸入時(shí)鐘)→設(shè)置MPLL(Lock Time:長(zhǎng)短由寄存器LOCKTIME設(shè)定)→新的時(shí)鐘輸出正常
(4)幾個(gè)重要寄存器
2 PWM定時(shí)器
(2)PLCK→2個(gè)8位預(yù)分頻器(定時(shí)器0、1共用第一個(gè)定時(shí)器2、3、4共用第二個(gè);輸出2分頻,4分頻,8分頻,16分頻或者外部時(shí)鐘TCLK0/TCLK1)
TCFG0:經(jīng)過(guò)分頻器出來(lái)的時(shí)鐘頻率:PLCK/(TCFG0[7:0]或TCFG0[15:8]+1)
TCFG1設(shè)定相應(yīng)定時(shí)器為經(jīng)過(guò)分頻器出來(lái)的時(shí)鐘頻率的幾分頻
定時(shí)器工作頻率= PLCK/(TCFG0[7:0]或TCFG0[15:8]+1)/幾分頻
(3)TCMPn=TCMPBn,TCNTn=TCNTBn→while(TCNTn==TCMPn)
3 WATCHDOG定時(shí)器
(1)PLCK→2個(gè)8位預(yù)分頻器(輸出16分頻,32分頻,64分頻,128分頻或者外部時(shí)鐘TCLK0/TCLK1)
(2)WATDOG定時(shí)器工作頻率=PCLK/(WTCON[15:8]+1)/幾分頻
(3)在啟動(dòng)WATDOG定時(shí)器前,必須往這個(gè)寄存器定入初始計(jì)數(shù)值
4:MPLL和定時(shí)器操作實(shí)驗(yàn):完整代碼: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)定時(shí)器中斷使能
void init_irq(void)
{
}
評(píng)論