前言
本次總結(jié)為中斷和定時(shí)器的相關(guān)內(nèi)容。除了基本的寄存器配置,初始化,中斷主要是掌握三級(jí)中斷制,定時(shí)器主要關(guān)注定時(shí)器的工作原理和中斷時(shí)間的設(shè)置。
時(shí)鐘
定時(shí)器時(shí)鐘使能為外設(shè)時(shí)鐘控制寄存器PCLKCR3的第8位。
SysCtrlRegs.PCLKCR3.bit.CPUTIMER0ENCLK = 1; // CPU Timer 0
1 中斷
F28335內(nèi)部有16個(gè)中斷線(xiàn),分別是:
1、2個(gè)不可屏蔽中斷:RESET、NMI;
2、14個(gè)可屏蔽中斷:INT1-INT12,外部中斷和內(nèi)部單元使用;INT13和INT14 預(yù)留給實(shí)時(shí)操作系統(tǒng)。
當(dāng)前主要學(xué)習(xí)INT1-INT12這12 個(gè)中斷。
CPU級(jí)中斷有12個(gè)中斷線(xiàn)(INT1-12),通過(guò)PIE控制器進(jìn)行復(fù)用管理,將外設(shè)中斷分成12組,每一組有8個(gè)外設(shè)級(jí)中斷組成,共有96個(gè)外設(shè)級(jí)中斷,分別對(duì)應(yīng)相應(yīng)外設(shè)接口的中斷引腳,實(shí)際有效外設(shè)中斷為58個(gè),其余為保留。
1.1 三級(jí)中斷制:
三級(jí)中斷制:
外設(shè)級(jí)中斷 ——> PIE級(jí)中斷 ——> CPU級(jí)中斷
使用中斷時(shí)主要需要注意各級(jí)中斷的標(biāo)志、使能、應(yīng)答寄存器,具體如下圖的標(biāo)號(hào)所示:
外設(shè)級(jí): IF、IE;
PIE級(jí): PIEIFRx、PIEIERx.y、PIEACK;
CPU級(jí): IER、IFR、INTM。
見(jiàn)Figure6-6。
一般當(dāng)有中斷請(qǐng)求時(shí),IF和IFR等寄存器是硬件自動(dòng)置位,IE和IER等寄存器是軟件使能。
中斷的過(guò)程:
如下圖,可以依據(jù)Figure6-1和Figure6-2進(jìn)行理解。
外設(shè)級(jí): 當(dāng)有外設(shè)級(jí)中斷產(chǎn)生,外設(shè)中斷標(biāo)志寄存器IF硬件自動(dòng)置位,同時(shí)外設(shè)中斷使能寄存器IE軟件使能(置1)后,向PIE控制器發(fā)出中斷申請(qǐng);
PIE級(jí): 有PIE中斷時(shí),PIE級(jí)中斷標(biāo)志位PIEIFRx硬件自動(dòng)置位,使能位PIEIERx.y軟件使能(置1),PIEACK為0,此時(shí)PIE可從終端組向CPU發(fā)送中斷,PIEACK硬件置1,中斷組的中斷向量已向CPU發(fā)送了中斷請(qǐng)求,中斷到CPU。
CPU級(jí): 有中斷請(qǐng)求時(shí),CPU級(jí)中斷標(biāo)志寄存器IFR硬件置1,CPU級(jí)中斷使能寄存器IER軟件使能(置1),全局中斷屏蔽位INTM使能(0-使能,CPU可響應(yīng);1-失能,CPU不響應(yīng)),此時(shí)CPU響應(yīng)中斷,清除IER,IFR=0(軟件清除/自動(dòng)清零),CPU從PIE獲取向量(ISR地址),清除PIEIFRx(中斷響應(yīng)后自動(dòng)清零、寫(xiě)0也可清零),CPU調(diào)到ISR執(zhí)行中斷程序,ISR程序,通過(guò)向相應(yīng)中斷位寫(xiě)1到PIEACKx讓該位清零,清除PIEIFRx中使能的中斷,重新使能中斷,INTM=0。
2 定時(shí)器
定時(shí)器主要總結(jié)TIMER0的使用,包括定時(shí)器工作原理以及定時(shí)時(shí)間的設(shè)置。
2.1 定時(shí)器工作原理
定時(shí)器組成如下圖所示:
定時(shí)器工作原理如下圖Figure3-19定時(shí)器功能框圖以及流程圖所示:
由定時(shí)器流程圖可知,定時(shí)器周期寄存器(PRDH:PRD)的值為軟件設(shè)置的定時(shí)器頻率* 定時(shí)器周期(Freq*Period)的值,定時(shí)器周期值在每一個(gè)定時(shí)器周期開(kāi)始之前會(huì)裝載到計(jì)數(shù)寄存器(TIMH:TIM)中。而計(jì)數(shù)寄存器的值遞減又和預(yù)分頻模塊有關(guān),即和定時(shí)器分頻寄存器(TDDRH:TDDR)和預(yù)定標(biāo)計(jì)數(shù)器(PSCH:PSC)有關(guān)。
定時(shí)器分頻寄存器(TDDRH:TDDR)和預(yù)定標(biāo)計(jì)數(shù)器(PSCH:PSC)主要決定定時(shí)器源時(shí)鐘周期,PSCH:PSC和TDDRH:TDDR等于0時(shí),系統(tǒng)時(shí)鐘即為定時(shí)器源時(shí)鐘,見(jiàn)外設(shè)時(shí)鐘框圖和Figure3-19,可知即每一個(gè)定時(shí)器源時(shí)鐘周期(1/150M),TIMH:TIM減1。
每隔(TDDRH:TDDR+1)個(gè)定時(shí)器源時(shí)鐘周期,定時(shí)器計(jì)數(shù)寄存器減1。若PSCH:PSC和TDDRH:TDDR等于0時(shí),一個(gè)定時(shí)器源時(shí)鐘周期后,重新將TDDRH:TDDR的值裝載到PSCH:PSC,TIMH:TIM減1。
2.2 定時(shí)時(shí)間計(jì)算
中斷時(shí)間T:0.5s,即500ms
T = Freq * Period / 150 000000 (s)
其中Freq 為定時(shí)器頻率150(MHz);Period 為定時(shí)器周期值,計(jì)算得來(lái)
Period = 150 000000 * 0.5 / 150 = 50 0000
小結(jié)
本次總結(jié)主要講述了中斷的三級(jí)中斷制,包括其中斷過(guò)程中相關(guān)定時(shí)器的設(shè)置;定時(shí)器講述了定時(shí)器工作原理和中斷時(shí)間的設(shè)置。這是在學(xué)習(xí)過(guò)程中需要主要了解的內(nèi)容,掌握這些內(nèi)容后基本可以完成定時(shí)器0的中斷實(shí)驗(yàn)。
-
寄存器
+關(guān)注
關(guān)注
31文章
5250瀏覽量
119193 -
預(yù)分頻器
+關(guān)注
關(guān)注
0文章
18瀏覽量
8091 -
中斷定時(shí)器
+關(guān)注
關(guān)注
0文章
4瀏覽量
5573 -
時(shí)鐘控制
+關(guān)注
關(guān)注
0文章
17瀏覽量
6793
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論