TMS320F28027課件-第二講-中斷和時(shí)鐘_第1頁(yè)
TMS320F28027課件-第二講-中斷和時(shí)鐘_第2頁(yè)
TMS320F28027課件-第二講-中斷和時(shí)鐘_第3頁(yè)
TMS320F28027課件-第二講-中斷和時(shí)鐘_第4頁(yè)
TMS320F28027課件-第二講-中斷和時(shí)鐘_第5頁(yè)
已閱讀5頁(yè),還剩48頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

教材:《32位數(shù)字信號(hào)控制器原理及應(yīng)用》《DSP原理及應(yīng)用》Lecture2PIE&CLOCK黃燦水2015.3Lecture2PIE&CLOCKLecture2.1PIELecture2PIE&CLOCK一、中斷的概念中斷:是通過(guò)某些特定的事件向CPU請(qǐng)求服務(wù),CPU收到請(qǐng)求后,暫時(shí)中止正在執(zhí)行的程序,轉(zhuǎn)去處理對(duì)應(yīng)的服務(wù)子程序,處理完后返回繼續(xù)執(zhí)行原來(lái)程序的過(guò)程。中斷源:產(chǎn)生中斷請(qǐng)求的特定事件,例如定時(shí)器周期到達(dá)、AD轉(zhuǎn)換完成、捕捉引腳信號(hào)跳變等等。一、中斷的概念中斷優(yōu)先級(jí):多個(gè)中斷源同時(shí)向CPU申請(qǐng)中斷,為了能夠有序地處理多個(gè)中斷申請(qǐng)所以要有中斷優(yōu)先級(jí)的規(guī)定。對(duì)于CPU來(lái)說(shuō)中斷源的優(yōu)先級(jí)是默認(rèn)規(guī)定好的。中斷向量:中斷服務(wù)程序的入口地址(首地址)。中斷向量表:系統(tǒng)中RAM或ROM的一個(gè)區(qū)域,用于存儲(chǔ)各種中斷向量的首地址,其大小取決于CPU支持的中斷類型和數(shù)量。Lecture2PIECPU級(jí)外設(shè)級(jí)PIE級(jí)二、三級(jí)中斷管理外設(shè)級(jí)PIE級(jí)CPU級(jí)二、三級(jí)中斷管理外設(shè)級(jí):產(chǎn)生中斷請(qǐng)求,未屏蔽則傳到PIE級(jí)。PIE級(jí):分組與仲裁,向CPU提出申請(qǐng)??善帘沃袛啵簷z查IER和INTM決定是否響應(yīng);非屏蔽中斷:立即響應(yīng)。CPU級(jí):響應(yīng)完成當(dāng)前指令,清流水線,自動(dòng)保存現(xiàn)場(chǎng);取中斷向量送PC;執(zhí)行ISR。二、三級(jí)中斷管理可屏蔽中斷:

INT1~INT12、INT13、INT14、

XINT1、XINT2、XINT3不可屏蔽中斷:

XRS、NMI、INTR指令TRAP指令三、中斷簡(jiǎn)化流程三、中斷簡(jiǎn)化流程中斷請(qǐng)求中斷響應(yīng)PIEIFRx=1PIEIERx=1?PIE仲裁PIEACKx=0?中斷源PIEACKx=1IFRy=1IERy=1?INTM=1?響應(yīng)中斷IFRy=0、IERy=0INTM=1、跳轉(zhuǎn)執(zhí)行ISR子程序返回YYYYNNNN三、中斷簡(jiǎn)化流程PIE外設(shè)中斷分組表

INTx.8INTx.7INTx.6INTx.5INTx.4INTx.3INTx.2INTx.1INT1WAKEINTTINT0ADCINT9XINT2XINT1

ADCINT2ADCINT1INT2

EPWM4_TZINTEPWM3_TZINTEPWM2_TZINTEPWM1_TZINTINT3

EPWM4_INTEPWM3_INTEPWM2_INTEPWM1_INTINT4

ECAP1_INTINT5

INT6

SPITXINTASPIRXINTAINT7

INT8

I2CINT2AI2CINT1AINT9

SCITXINTASCIRXINTAINT10ADCINT8ADCINT7ADCINT6ADCINT5ADCINT4ADCINT3ADCINT2ADCINT1INT11

INT12

XINT3三、中斷簡(jiǎn)化流程四、中斷寄存器1、中斷標(biāo)志寄存器-IFRBITx=1:有相應(yīng)中斷請(qǐng)求BITx=0:無(wú)相應(yīng)中斷請(qǐng)求當(dāng)CPU響應(yīng)中斷后中斷標(biāo)志位自動(dòng)清0四、中斷寄存器2、中斷使能寄存器-IERBITx=1:中斷使能BITx=0:中斷禁止當(dāng)CPU響應(yīng)中斷后中斷允許位自動(dòng)清0四、中斷寄存器3、調(diào)試中斷使能寄存器-DEBIER設(shè)置同IER,用于實(shí)時(shí)仿真時(shí)可屏蔽中斷設(shè)置。在ST1中還有DEBM屏蔽位。四、中斷寄存器4、PIE中斷控制寄存器-PIECTRLBIT0:ENPIE=1時(shí)使能BIT15-1:中斷向量地址5、PIE中斷應(yīng)答寄存器-PIEACKBIT11-0:INT12-INT1中斷應(yīng)答位,CPU響應(yīng)中斷時(shí)置1,需要在ISR程序中寫1清0四、中斷寄存器6、PIE中斷標(biāo)志寄存器–PIEIFRx(x=1-12)7、PIE中斷使能寄存器–PIEIERx(x=1-12)

四、中斷寄存器8、外部中斷控制寄存器–XINTxCR(x=1-3)BIT0:1中斷使能,0中斷禁止BIT3-2:00下降沿,01上升沿 10下降沿,11下降沿和上升沿四、中斷寄存器四、中斷寄存器四、中斷寄存器五、中斷編程實(shí)現(xiàn)#include“xxxxxx.h"......interruptvoidISR

(void);......main(){

...... //中斷初始化}interruptvoidISR(void){...... //ISR子程序

...... //清各種標(biāo)志位

return;}關(guān)閉PIE組開關(guān),12組關(guān)閉總開關(guān)清除組中斷標(biāo)志啟動(dòng)PIE_VectorRAM區(qū)配置PIE中斷注冊(cè)PIE中斷向量開啟支路開關(guān)開啟組開關(guān),有使用的組開啟總開關(guān)Lecture2.2CLOCK一、時(shí)鐘源INTOSC1:片內(nèi),可為WatchDog、CPU、Timer2提供時(shí)鐘INTOSC2:片內(nèi),可為WatchDog、CPU、Timer2提供時(shí)鐘晶體振蕩器:X1、X2引腳外部接晶振提供時(shí)基外部時(shí)鐘源:通過(guò)XCLKIN引腳輸入外部時(shí)鐘源INTOSC1INTOSC2CLKINXTALOSC關(guān)閉沒使用外設(shè)的時(shí)鐘可降低功耗。名稱地址描述XCLK0x0000-7010XCLKOUT/XCLKIN控制PLLSTS0x0000-7011PLL狀態(tài)寄存器CLKCTL0x0000-7012時(shí)鐘控制寄存器PLLLOCKPRD0x0000-7013PLL鎖定周期寄存器INTOSC1TRIM0x0000-7014內(nèi)部振蕩器1調(diào)整寄存器INTOSC2TRIM0x0000-7016內(nèi)部振蕩器2調(diào)整寄存器LOSPCP0x0000-701B低速外設(shè)時(shí)鐘預(yù)分頻器寄存器PCLKCR00x0000-701C外設(shè)時(shí)鐘控制寄存器0PCLKCR10x0000-701D外設(shè)時(shí)鐘控制寄存器1二、CLOCK寄存器名稱地址描述LPMCR00x0000-701E低功率模式控制寄存器0PCLKCR30x0000-7020外設(shè)時(shí)鐘控制寄存器3PLLCR0x0000-7021PLL控制寄存器SCSR0x0000-7022系統(tǒng)控制&狀態(tài)寄存器WDCNTR0x0000-7023看門狗計(jì)數(shù)器寄存器WDKEY0x0000-7025看門狗復(fù)位密鑰寄存器WDCR0x0000-7029看門狗控制寄存器二、CLK寄存器二、CLOCK寄存器1、外設(shè)時(shí)鐘控制寄存器0–PCLKCR015111098保留SCIAENCLK保留SPIAENCLKR-0R/W-0R-0R/W-07543210保留I2CAENCLKADCENCLKTBCLKSYNC保留HRPWMENCLKR-0R/W-0R/W-0R/W-0R-0R/W-0BITx=1:外設(shè)時(shí)鐘使能BITx=0:外設(shè)時(shí)鐘禁止BIT2:ePWM模塊時(shí)基時(shí)鐘(TBCLK)同步設(shè)置位二、CLOCK寄存器1598743210保留ECAP1ENCLK保留EPWM4ENCLKEPWM3ENCLKEPWM2ENCLKEPWM1ENCLKR-0R/W-0R-0R/W-0R/W-0R/W-0R/W-02、外設(shè)時(shí)鐘控制寄存器1–PCLKCR1BITx=1:外設(shè)時(shí)鐘使能BITx=0:外設(shè)時(shí)鐘禁止二、CLOCK寄存器3、外設(shè)時(shí)鐘控制寄存器3–PCLKCR3151413121110987210保留GPIOINENCLK保留CPUTIMER2ENCLKCPUTIMER1ENCLKCPUTIMER0ENCLK保留COMP2ENCLKCOMP1ENCLKR-0R/W-1R-0R/W-1R/W-1R/W-1R-0R/W-0R/W-0BITx=1:外設(shè)時(shí)鐘使能BITx=0:外設(shè)時(shí)鐘禁止二、CLOCK寄存器4、低速外設(shè)時(shí)鐘預(yù)分頻器寄存器-LOSPCP15320保留LSPCLKR-0R/W-010BIT2-0: 000 低速時(shí)鐘=SYSCLKOUT/1

001 低速時(shí)鐘=SYSCLKOUT/2

010 低速時(shí)鐘=SYSCLKOUT/4(復(fù)位默認(rèn)值)

011 低速時(shí)鐘=SYSCLKOUT/6

100 低速時(shí)鐘=SYSCLKOUT/8

101 低速時(shí)鐘=SYSCLKOUT/10

110 低速時(shí)鐘=SYSCLKOUT/12

111 低速時(shí)鐘=SYSCLKOUT/14二、CLOCK寄存器5、內(nèi)部振蕩器n的調(diào)節(jié)寄存器–INTOSCnTRIM(n=1或2)15149870保留FINETRIM保留COARSETRIMR-0R/W-0R-0R/W-0BIT14-9:8位粗調(diào)值,帶符號(hào)的值(-127~+127)。BIT7-0:6位細(xì)調(diào)值,帶符號(hào)的值(-31~+31)。注:內(nèi)部振蕩器用保存在OTP中的參數(shù)進(jìn)行軟件調(diào)節(jié)。在引導(dǎo)過(guò)程中,BootROM將這個(gè)值復(fù)制到上面的寄存器。二、CLOCK寄存器6、時(shí)鐘寄存器-XCLK15765210保留XCLKINSEL保留XCLKOUTDIVR-0R/W-1R-0R/W-0BIT6:0 GPIO38是XCLKIN輸入源(JTAG-TCK復(fù)用) 1 GPIO19是XCLKIN輸入源。BIT1-0:00 XCLKOUT=SYSCLKOUT/4 01 XCLKOUT=SYSCLKOUT/2 10 XCLKOUT=SYSCLKOUT 11 XCLKOUT=Off使用XCLKIN時(shí):X1拉低X2懸空7、時(shí)鐘控制寄存器-CLKCTL二、CLOCK寄存器15141312111098NMIRESETSELXTALOSCOFFXCLKINOFFWDHALTIINTOSC2HALTIINTOSC2OFFINTOSC1HALTIINTOSC1OFFR/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-0R/W-07543210TMR2CLKPRESCALETMR2CLKSRCSELWDCLKSRCSELOSCCLKSRC2SELOSCCLKSRCSELR/W-0R/W-0R/W-0R/W-0R/W-0CLKCTL寄存器用來(lái)選擇時(shí)鐘源也用來(lái)配置時(shí)鐘故障期間器件的行為

7、時(shí)鐘控制寄存器-CLKCTL二、CLOCK寄存器位域值描述15NMIRESETSEL01NMI復(fù)位選擇位,不管作何選擇,都會(huì)產(chǎn)生信號(hào)。沒有任何延遲地直接驅(qū)動(dòng)MCLKRS(復(fù)位默認(rèn))。NMI看門狗復(fù)位(NMIRS)啟動(dòng)MCLKRS。14XTALOSCOFF01晶體振蕩器開啟(復(fù)位默認(rèn))。晶體振蕩器關(guān)閉。13XCLKINOFF01XCLKIN振蕩器輸入啟用(復(fù)位默認(rèn))。XCLKIN振蕩器輸入關(guān)閉。12WDHALTI01看門狗自動(dòng)通過(guò)停機(jī)模式開啟/關(guān)閉(復(fù)位默認(rèn))??撮T狗忽略停機(jī)模式。11INTOSC2HALTI01內(nèi)部振蕩器2自動(dòng)通過(guò)停機(jī)模式開啟/關(guān)閉。使能器件更快地從停機(jī)模式中喚醒(復(fù)位默認(rèn))。內(nèi)部振蕩器2忽略停機(jī)模式。10INTOSC2OFF01內(nèi)部振蕩器2開啟(復(fù)位默認(rèn))。內(nèi)部振蕩器2關(guān)閉。二、CLOCK寄存器7、時(shí)鐘控制寄存器-CLKCTL位域值描述9INTOSC1HALTI01內(nèi)部振蕩器1自動(dòng)通過(guò)停機(jī)模式開啟/關(guān)閉。使能器件更快從停機(jī)模式中喚醒(復(fù)位默認(rèn))。內(nèi)部振蕩器1忽略停機(jī)模式。8INTOSC1OFF01內(nèi)部振蕩器1開啟(復(fù)位默認(rèn))。內(nèi)部振蕩器1關(guān)閉。7-5TMR2CLKPRESCALE000001010011100101110111CPUTimer2時(shí)鐘預(yù)分頻值:/1(復(fù)位默認(rèn))/2/4/8/16保留保留保留(續(xù))二、CLOCK寄存器7、時(shí)鐘控制寄存器-CLKCTL位域值描述4-3TMR2CLKSRCSEL00011011CPUTimer2時(shí)鐘源選擇位:選擇SYSCLKOUT(復(fù)位默認(rèn),繞過(guò)預(yù)分頻器)。選擇外部振蕩器(XOR輸出)。選擇內(nèi)部振蕩器1。選擇內(nèi)部振蕩器2。2WDCLKSRCSEL01看門狗時(shí)鐘源選擇位:選擇內(nèi)部振蕩器1(復(fù)位默認(rèn))。選擇外部振蕩器或內(nèi)部振蕩器2。1OSCCLKSRC2SEL01選擇內(nèi)部振蕩器1或外部振蕩器(復(fù)位默認(rèn))。選擇內(nèi)部振蕩器2。0OSCCLKSRCSEL01選擇內(nèi)部振蕩器1(復(fù)位默認(rèn))。選擇外部振蕩器或內(nèi)部振蕩器2。(續(xù))二、CLOCK寄存器7、時(shí)鐘控制寄存器-CLKCTL從INTOSC1切換到INTOSC2(無(wú)外部時(shí)鐘),需要兩次寫操作:第一次:CLKCTL.XTALOSCOFF=1和CLKCTL.XCLKINOFF=1第二次:CLKCTL.OSCCLKLSRCSEL=1和CLKCTL.OSCCLKSRC2SEL=1使用TI提供的DSP28頭文件(SPRC823),程序如下:

SysCtrlRegs.CLKCTL.all=0x6000; SysCtrlRegs.CLKCTL.all=0x6003;系統(tǒng)初始化文件(DSP2802x_SysCtrl.c)還包含切換到不同時(shí)鐘源的函數(shù)。直接從INTOSC1切換到INTOSC2,由于沒有外部時(shí)鐘源,將會(huì)檢測(cè)到缺少時(shí)鐘。PLL將被清零,器件將自動(dòng)清除MCLKSTS位并切換回INTOSC1。二、CLOCK寄存器8、PLL控制寄存器-PLLCR15430保留DIVR-0R/W-0PLLCR[DIV]值PLLSTS[DIVSEL]=0或1SYSCLKOUT(CLKIN)PLLSTS[DIVSEL]=2PLLSTS[DIVSEL]=30000(PLL旁路)OSCCLK/4(默認(rèn))OSCCLK/2OSCCLK0001(OSCCLK*1)/4(OSCCLK*1)/2-0010(OSCCLK*2)/4(OSCCLK*2)/2-0011(OSCCLK*3)/4(OSCCLK*3)/2-0100(OSCCLK*4)/4(OSCCLK*4)/2-0101(OSCCLK*5)/4(OSCCLK*5)/2-0110(OSCCLK*6)/4(OSCCLK*6)/2-二、CLOCK寄存器8、PLL控制寄存器-PLLCR15430保留DIVR-0R/W-0PLLCR[DIV]值PLLSTS[DIVSEL]=0或1SYSCLKOUT(CLKIN)PLLSTS[DIVSEL]=2PLLSTS[DIVSEL]=30111(OSCCLK*7)/4(OSCCLK*7)/2-1000(OSCCLK*8)/4(OSCCLK*8)/2-1001(OSCCLK*9)/4(OSCCLK*9)/2-1010(OSCCLK*10)/4(OSCCLK*10)/2-1011(OSCCLK*11)/4(OSCCLK*11)/2-1100(OSCCLK*12)/4(OSCCLK*12)/2-1101–1111保留保留保留(續(xù))9、PLL狀態(tài)寄存器-PLLSTS二、CLOCK寄存器76543210DIVSELMCLKOFFOSCOFFMCLKCLRMCLKSTSPLLOFF保留PLLLOCKSR/W-0R/W-0R/W-0R/W-0R-0R/W-0R-0R-1151498NORMRDYE保留DIVSELR/W-0R-0R/W-0二、CLOCK寄存器9、PLL狀態(tài)寄存器-PLLSTS位域值描述15NORMRDYE01PLL忽略NORMRDY的控制。VREG超出調(diào)節(jié)范圍時(shí)NORMRDY信號(hào)為低,否則為高。當(dāng)進(jìn)入和退出停機(jī)模式時(shí)可能要求PLL保持關(guān)閉狀態(tài),NORMRDY信號(hào)就可以達(dá)到這個(gè)目的。14-9保留保留8-7DIVSEL00,011011CPUCLK分頻選擇:選擇4分頻CLKIN/4選擇2分頻CLKIN/2選擇不分頻CLKIN/1。(只在PLL關(guān)閉或旁路時(shí))6MCLKOFF01缺少時(shí)鐘檢測(cè)關(guān)閉位。主振蕩器故障檢測(cè)邏輯被使能。(默認(rèn))主振蕩器故障檢測(cè)被禁能。二、CLOCK寄存器9、PLL狀態(tài)寄存器-PLLSTS位域值描述5OSCOFF01X1、X2或XCLKIN的CLK信號(hào)輸入PLL(默認(rèn))。X1、X2或XCLKIN的CLK信號(hào)不輸入到PLL。這不會(huì)切斷內(nèi)部振蕩器。OSCOFF位用來(lái)測(cè)試缺少時(shí)鐘檢測(cè)邏輯。4MCLKCLR01缺少時(shí)鐘清除位。寫0無(wú)影響。該位讀出時(shí)總為0。強(qiáng)制缺少時(shí)鐘檢測(cè)電路被清除和復(fù)位。3MCLKSTS01缺少時(shí)鐘狀態(tài)位。表示正常工作。未檢測(cè)到缺少時(shí)鐘。表示檢測(cè)到缺少OSCCLK,CPU由工作在跛行模式(limpmode)頻率的PLL來(lái)計(jì)時(shí)。(續(xù))二、CLOCK寄存器9、PLL狀態(tài)寄存器-PLLSTS位域值描述

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論