溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

arm9時(shí)鐘及定時(shí)器怎么實(shí)現(xiàn)

發(fā)布時(shí)間:2021-12-20 10:45:31 來源:億速云 閱讀:126 作者:iii 欄目:互聯(lián)網(wǎng)科技

這篇文章主要講解了“arm9時(shí)鐘及定時(shí)器怎么實(shí)現(xiàn)”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“arm9時(shí)鐘及定時(shí)器怎么實(shí)現(xiàn)”吧!

首先看下各個(gè)模塊與時(shí)鐘總線的關(guān)系:

arm9時(shí)鐘及定時(shí)器怎么實(shí)現(xiàn)

芯片剛開始上電時(shí), 運(yùn)行的時(shí)鐘就等于晶振的時(shí)鐘Fin, 通過設(shè)置MPLL和UPLL可以提升運(yùn)行頻率.

arm9時(shí)鐘及定時(shí)器怎么實(shí)現(xiàn)

MPLL計(jì)算方法:

arm9時(shí)鐘及定時(shí)器怎么實(shí)現(xiàn)

例: Fout = (2 * (MDIV + 8) * Fin) / ((PDIV + 2) * (2^SDIV))

Fout = 200MHz = (2 * (92 + 8) * 12) / (1 + 2) * (2^2)

MDIV = 92

PDIV = 1 

SDIV = 2

#define S3C2440_MPLL_200MHZ     ((0x5c << 12) | (0x01 << 4) | (0x02))

也可以使用官方推薦的值:

arm9時(shí)鐘及定時(shí)器怎么實(shí)現(xiàn)

CLKDIVN  = 0x03;            // FCLK:HCLK:PCLK=4:2:1, HDIVN=1,PDIVN=1

arm9時(shí)鐘及定時(shí)器怎么實(shí)現(xiàn)

另外: LockTime是指配置了MPLL/UPLL之后時(shí)鐘需要一段時(shí)間來穩(wěn)定下來, 這段時(shí)間就是locktime

/*************************************************定時(shí)器**********************************************************************/

s3c2440有5個(gè)16bit定時(shí)器, 其中0~3具有pwm功能(輸出), TIM4是無輸出引腳的內(nèi)部定時(shí)器,  TIM0還包含死區(qū)功能, 以PWM定時(shí)器的寄存器說明:

arm9時(shí)鐘及定時(shí)器怎么實(shí)現(xiàn)

工作原理:

(1)TCMPBn 和 TCNTBn 分別裝入定時(shí)器 n 的比較值和初始值

(2)設(shè)置 TCON 來啟動定時(shí)器 n. 這時(shí) TCMPBn / TCNTBn 分別自動裝入 TCMPn / TCNTn 中, 然后 TCNTn開始遞減

(3)當(dāng) TCMPn == TCNTn , TIMn輸出引腳的電平翻轉(zhuǎn)

(4)當(dāng) TCNTn == 0, TIMn 輸出引腳再次翻轉(zhuǎn), 并且申請中斷

(5)當(dāng) TCNTn == 0, 且 TCON 配置了定時(shí)器為自動重裝, 則TCMPBn / TCNTBn 自動裝入 TCMPn / TCNTn中, 開始新一輪的遞減. 

arm9時(shí)鐘及定時(shí)器怎么實(shí)現(xiàn)

TCFG0:  TIMn 的 預(yù)分頻值

TCFG1: TIMn 的 分頻值

例: timer0_clock = 100MHz / (99+1) / 16 = 62500Hz

void TIM0_init(void)
{
    TCFG0 = (99 << 0);  //預(yù)分頻值 99
    TCFG1 = (16 << 0);  //分頻值 16
    TCNTB0 = 31250;     //定時(shí) 0.5 s 
    TCON = ~(1 << 1);   //手動更新
    TCON = 0x09         //自動更新, 清"手動更新"標(biāo)志位, 啟動TIM0. 貌似必須先設(shè)置"手動跟新" 然后再清除"手動更新"
}

/**************************************看 門 狗**************************************************************/

arm9時(shí)鐘及定時(shí)器怎么實(shí)現(xiàn)

(1) 首先是兩級分頻, 和TIM一樣, 看門狗模塊分為兩個(gè)模式, 1. 普通定時(shí)器  2. 看門狗. 如果當(dāng)做普通定時(shí)器時(shí)則應(yīng)使能中斷且禁止看門狗定時(shí)器

(2) 在 WTDAT 中裝入初值, 因?yàn)橐坏┦鼓躓TD之后, WTDAT的值不能自動加載到WTCNT中, 所以必須一開始就為  WTCNT 裝載初值, 開始遞減.減到0的時(shí)候

(3)如果WTD作為普通定時(shí)器, WTCNT==0時(shí), 產(chǎn)生中斷. 如果作為WTD, WTCNT==0時(shí)則產(chǎn)生復(fù)位信號

感謝各位的閱讀,以上就是“arm9時(shí)鐘及定時(shí)器怎么實(shí)現(xiàn)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對arm9時(shí)鐘及定時(shí)器怎么實(shí)現(xiàn)這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

arm
AI