資源描述:
《DSP實(shí)驗(yàn)定時(shí)器中斷實(shí)驗(yàn).doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、實(shí)驗(yàn)四 定時(shí)器中斷實(shí)驗(yàn)一:實(shí)驗(yàn)?zāi)康?.熟悉定時(shí)器初始化的步驟;2.熟悉定時(shí)器控制寄存器(TCR)的含義和使用;3.熟悉定時(shí)器的原理和應(yīng)用。二:實(shí)驗(yàn)內(nèi)容本實(shí)驗(yàn)要求編寫(xiě)一個(gè)簡(jiǎn)單的定時(shí)器中斷程序,設(shè)置一定的周期控制與XF引腳相連的LCD指示燈。當(dāng)定時(shí)器中斷產(chǎn)生時(shí)可以觀察到LCD周期性閃爍。三:實(shí)驗(yàn)原理1.定時(shí)器SRESET.C54xx系列的DSP都具有一個(gè)或兩個(gè)預(yù)定標(biāo)的片內(nèi)定時(shí)器,這種定時(shí)器是一個(gè)倒數(shù)定時(shí)器,它可以被特定的狀態(tài)位實(shí)現(xiàn)停止、重啟動(dòng)、重設(shè)置或禁止。定時(shí)器在復(fù)位后就處于運(yùn)行狀態(tài),為了降低功耗可以禁止定時(shí)
2、器工作。應(yīng)用中可以用定時(shí)器來(lái)產(chǎn)生周期性的CPU中斷或脈沖輸出。定時(shí)器的功能方框圖如圖9.1所示,其中有一個(gè)主計(jì)數(shù)器(TIM)和一個(gè)預(yù)定標(biāo)計(jì)數(shù)器(PSC)。TIM用于重裝載周期寄存器PRD的值,PSC用于重裝載周期寄存器TDDR的值。圖5.1中有一個(gè) 信號(hào),是在器件復(fù)位時(shí),DSP向外圍電路(包括定時(shí)器)發(fā)送的一個(gè)信號(hào),此信號(hào)將在定時(shí)器上產(chǎn)生以下效果:寄存器TIM和PRD裝載最大值(0FFFFH);TCR的所有位清0;結(jié)果是分頻值為0,定時(shí)器啟動(dòng),TCR的FREE和SOFT為0。圖5.1定時(shí)器的功能方框圖定時(shí)
3、器實(shí)際上是有20bit的周期寄存器。它對(duì)CLKOUT信號(hào)計(jì)數(shù),先將PSC(TCR中的D6~D9位)減1,直至PSC為0,然后把TDDR(TCR中的低4位)重新裝載入PSC,同時(shí)將TIM減1,直到TIM減為0。這時(shí)CPU發(fā)出TINT中斷,同時(shí)在TOUT引腳輸出一個(gè)脈沖信號(hào),脈沖寬度與CLKOUT一致,然后將PRD重新裝入TIM,重復(fù)TSS下去直到系統(tǒng)或定時(shí)器復(fù)位。定時(shí)器產(chǎn)生中斷的計(jì)算公式如下:1PRD+1TINT的頻率=××(其中tc為CLKOUT的周期定時(shí)器由三個(gè)寄存器組成:TIM、PRD、TCR。TIM:
4、定時(shí)器寄存器,用于裝載周期寄存器值并自減1。PRD:周期寄存器,用于裝載定時(shí)器寄存器。TCR:定時(shí)器控制寄存器,包含定時(shí)器的控制狀態(tài)位。定時(shí)器是一個(gè)片內(nèi)減計(jì)數(shù)器,用于周期地產(chǎn)生CPU中斷。定時(shí)器被預(yù)定標(biāo)計(jì)數(shù)器所觸發(fā),后者每個(gè)CPU時(shí)鐘周期減1,當(dāng)計(jì)數(shù)器減至0時(shí),會(huì)產(chǎn)生一個(gè)定時(shí)器中斷,同時(shí)在下一周期計(jì)數(shù)器被定時(shí)周期值重新裝載。在正常操作模式下,當(dāng)TIM自減至0時(shí),TIM將被PRD內(nèi)的數(shù)值重裝載。在硬件復(fù)位或定時(shí)器單獨(dú)復(fù)位(TCR中TRB位置1)的情況下,主定時(shí)器模塊輸出的是定時(shí)器中斷(TINT)信號(hào)。該中斷被
5、發(fā)送至CPU,同時(shí)由TOUT引腳輸出。TOUT脈沖的寬度等于CLKOUT的時(shí)鐘寬度。預(yù)定標(biāo)模塊由兩個(gè)類似TIM和PRD的單元構(gòu)成。它們是預(yù)定標(biāo)計(jì)數(shù)器(PSC)和定時(shí)器分頻寄存器(TDDR)。PSC、TDDR是RCR寄存器的字段。在正常操作時(shí)PSC自減為0,TDDR值裝入PSC,同樣在硬件復(fù)位或定時(shí)器單獨(dú)復(fù)位的情況下,TDDR也被裝入PSC。PSC被CPU時(shí)鐘定時(shí),即每個(gè)CPU時(shí)鐘使PSC自減1。PSC可被TCR讀取,但不能直接寫(xiě)入。當(dāng)TSS置位時(shí),定時(shí)器停止工作。若不需要定時(shí)器,終止定時(shí)操作,可使芯片工作在
6、低功耗模式,并且可以使用與定時(shí)器相關(guān)的兩個(gè)寄存器(TIM和PRD)作為通用的存儲(chǔ)器單元,可以在任意周期對(duì)它們進(jìn)行讀或?qū)懖僮鳌IM的當(dāng)前值可被讀取,PSC也可以通過(guò)TCR讀取。因?yàn)樽x取這兩個(gè)存儲(chǔ)器需要兩個(gè)指令,而在兩次讀取之間因?yàn)樽詼p,數(shù)值可能改變,因此,PSC兩次讀的結(jié)果可能有差別,不夠準(zhǔn)確。若要準(zhǔn)確測(cè)量時(shí)序,在讀這兩個(gè)寄存器值之前可先中止定時(shí)器,對(duì)TSS置1和清0后,可重新開(kāi)始定時(shí)。通過(guò)TOUT信號(hào)或中斷,定時(shí)器可以用于產(chǎn)生周邊設(shè)備的采樣時(shí)鐘,如模擬接口。對(duì)于有多個(gè)定時(shí)器的DSP,由寄存器GPIOCR中
7、的第15位控制使用某一個(gè)定時(shí)器產(chǎn)生的TOUT信號(hào)。2.定時(shí)器初始化(1)定時(shí)器初始化步驟●TCR的TSS位寫(xiě)1,定時(shí)器停止工作;●裝載TRD;●初始化TCR中的TDDR,并對(duì)TCR中的TSS置0,對(duì)TRB置1來(lái)重裝載定時(shí)器周期。(2)初始化定時(shí)器中斷方法(INTM=1)●FIR中的TINT寫(xiě)1,以清除掛起的定時(shí)器中斷;●IMR中的TINT置1,啟動(dòng)定時(shí)器中斷;●啟動(dòng)全部中斷,INTM置0;●在重啟(RESET)后,TIM和PRD被設(shè)置為最大值(FFFFH),TCR中的TDDR置0。(3)定時(shí)控制寄存器(TC
8、R)TCR為一個(gè)映射到片內(nèi)的16位寄存器,它可以控制:●定時(shí)器的工作方式;●設(shè)定預(yù)定標(biāo)計(jì)數(shù)器中的當(dāng)前數(shù)值;●啟動(dòng)或停止定時(shí)器;●重新裝載定時(shí)器;●設(shè)置定時(shí)器的分頻值。TCR的位描述如圖5.215~1211109~6543~0ReservedSOFTFREEPSCTRBTSSTDDR圖5.2 TCR位描述●第15~12位Reserved:保留位,總為0 。●第11~10位SOFT、FREE:特殊的仿真位。高級(jí)語(yǔ)言調(diào)