




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第三章DSP系統(tǒng)初始化及中斷
DSP系統(tǒng)在上電或復(fù)位之后,控制主程序首先完成的工作就是系統(tǒng)初始化一個典型的DSP運(yùn)動控制基本應(yīng)用程序范例main(){ Disable(); /*禁止總中斷*/ Dsp24Initial(); /*系統(tǒng)初始化*/ Enable(); /*開總中斷*/ OpenSerial(SRL_Rec); while(1) IMR|=0x0010; IFR|=0x0010; SetTimer(1); while(1) { ········ } PBDATDIR=PBDATDIR&0xFFDF; /*IOPB5=0,允許電機(jī)9轉(zhuǎn)*/ pwm1(300); /*電機(jī)1正轉(zhuǎn)*/ PFDATDIR=PFDATDIR&0xFFF7; /*IOPF3=0,允許電機(jī)8*/ pwm7(300); /*電機(jī)2正轉(zhuǎn)*/}
系統(tǒng)進(jìn)入主程序后第1個調(diào)用的函數(shù)是Disable(),對狀態(tài)寄存器ST0的INTM位置位,其作用是關(guān)閉總中斷,在系統(tǒng)進(jìn)行正確的初始化之前,不允許響應(yīng)任何可屏蔽中斷,否則軟件可能發(fā)生不可預(yù)料的動作。
函數(shù)定義/****************************///屏蔽中斷子程序/****************************/voidinlineDisable(){asm("setcINTM");}主程序第2步調(diào)用了DSP模塊初始化子程序,完成系統(tǒng)及各個模塊的初始化工作,正確配置整個系統(tǒng)。TMS320LF2407A的系統(tǒng)初始化包括狀態(tài)寄存器配置、系統(tǒng)配置、中斷配置、引腳配置及看門狗配置等。這些工作通常在系統(tǒng)復(fù)位后首先完成,然后再執(zhí)行各模塊程序。/************************************///2407DSP模塊初始化子程序/*************************************/voidDsp24Initial(){ SysInitial(); TimerInitial(); IOInitial(); CANInitial(); SCIInitial();}/************************************///系統(tǒng)初始化子程序/*************************************/voidSysInitial(){asm(“setcSXM”);/*符號位擴(kuò)展有效,數(shù)據(jù)通過定標(biāo)移位器傳送到累加器時將產(chǎn)生符號擴(kuò)展*/asm("clrcOVM"); /*累加器中結(jié)果正常溢出*/asm("clrcCNF"); /*B0被配置為數(shù)據(jù)存儲空間*/ SCSR1=0x02FD; /*CLki_1N=20M,CLKOUT=2*CLki_1N=40M*/ WDCR=0x00E8; /*不使能看門狗,因為SCSR2中的WDOVERRIDE,WD保護(hù)位 復(fù)位后的缺省值為1,故可以用軟件禁止看門狗*/WSGR=0x0000;/*不使能等待狀態(tài)*/IFR=0xFFFF;/*清除中斷標(biāo)志位*/IMR=0x0000;/*禁止所有中斷*/}用匯編語言對狀態(tài)寄存器進(jìn)行的設(shè)置
狀態(tài)寄存器ST0和ST1ST0和ST1的各位標(biāo)識了處理器模式,尋址指針值等CPU的各種狀態(tài)和控制位。在子程序調(diào)用和進(jìn)入中斷時,ST0和ST1保存CPU的各種狀態(tài)。這兩個寄存器的值可以被讀取并保存起來,也可以由軟件將數(shù)據(jù)寫入ST0和ST1。用SETC指令和CLRC指令可以對這兩個寄存器進(jìn)行位操作,用加載狀態(tài)寄存器指令LST可以將數(shù)據(jù)寫入ST0和ST1,但LST指令操作不影響INTM位,用保存狀態(tài)寄存器指令SST讀取ST0和ST1的內(nèi)容并保存。狀態(tài)寄存器ST0和ST1
狀態(tài)寄存器ST0和ST1的字段定義
PM乘積移位方式:PM=00,乘法器的32位乘積結(jié)果不移位,直接裝入CALUPM=01,PREG輸出左移1位后裝入CALU,最低位(LSB)以0填充PM=10,PREG輸出左移4位后裝入CALU,最低位(LSB)以0填充PM=11,PREG輸出進(jìn)行符號擴(kuò)展右移6位注意:PREG的內(nèi)容是一直保持不變的,當(dāng)把PREG中的內(nèi)容傳送到CALU單元中,發(fā)生移位操作,PM可由SPM指令和LST#1指令加載,復(fù)位時PM位清0系統(tǒng)配置寄存器系統(tǒng)控制和狀態(tài)寄存器2(SCSR2)——地址7019h位15~17保留位。這些位的讀出值不確定,而寫入則無影響。位6I/PQUAL。輸入時鐘限定器。它限定輸入到LF240x器件的CAP1~6,XINT1~2,ADC~SOC以及PDPINTA/B引腳上的信號。如果這些引腳作I/O功能使用時不會使用輸入時鐘限定電路,當(dāng)這些引腳使用特殊功能時,這一位規(guī)定了輸入到這些引腳上的信號被正確鎖存時需要的最少脈沖寬度。脈沖只有達(dá)到這個寬度之后內(nèi)部的輸入狀態(tài)才會改變。0輸入限定器鎖存脈沖至少5個時鐘周期長1輸入限定器鎖存脈沖至少11個時鐘周期長注意,雖然CLKOUT和內(nèi)部時鐘的頻率一樣,但兩者并不完全相同。位5WDOVERRIDE。WD保護(hù)位。復(fù)位后的缺省值為1,從而使用戶可以通過用軟件將WDCR寄存器中的WDDIS位置1來禁止WD工作,這一位是一個只能清0的位,通過向這一位寫入1來對其清0。0使用戶不能通過軟件來禁止WD,這一位是一個只能清0位,不能通過軟件來置11復(fù)位時的缺省值,使用戶能夠通過軟件來禁止WD工作位4XMIFHI-ZXMIF高阻控制位。這一位控制外部外部存儲器接口信號(XMIF)0所有XMIF信號處于正常驅(qū)動模式(即非高阻態(tài))1所有XMIF信號處于高阻態(tài)位1~0SARAM程序/數(shù)據(jù)空間選擇位
DONPONSARAM狀態(tài)
00地址空間不被映射,該空間被分配到外部存儲器
01SARAM被映射到片內(nèi)程序空間
10SARAM被映射到片內(nèi)數(shù)據(jù)空間
11SARAM即被映射到片內(nèi)程序空間又被映射到片內(nèi)數(shù)據(jù)空間在程序中SCSR1被賦值0x02FD,即二進(jìn)制的0000001011111101,從寄存器各位的定義說明可知:CLKOUT引腳輸出CPU時鐘;CPU進(jìn)入IDLE1(LPM0)模式;PLL時鐘預(yù)定標(biāo)選擇位001,系統(tǒng)時鐘頻率2×fin,由于本系統(tǒng)中晶振頻率為10M,所以系統(tǒng)時鐘頻率為20M;使能ADC模塊、SCI模塊、SPI模塊、CAN模塊、EVB模塊和EVA模塊的時鐘且正常運(yùn)行。
程序并未對SCSR2進(jìn)行設(shè)置,意味著SCSR2各位的值為復(fù)位后的缺省值,其中WDOVERRIDE為WD保護(hù)位。復(fù)位后的缺省值為1,從而使用戶可以通過用軟件將WDCR寄存器中的WDDIS位置1來禁止WD工作,這一位是一個只能清0的位,通過向這一位寫入1來對其清0,這正是程序下一句的內(nèi)容:WDCR=0x00E8; //用軟件禁止看門狗程序的第7句和第8句配置中斷屏蔽寄存器和中斷標(biāo)志寄存器,禁止所有可屏蔽中斷并清除所有中斷標(biāo)志,防止外界干擾信號引發(fā)錯誤響應(yīng)。根據(jù)程序員的習(xí)慣不同,有的程序員還喜歡將引腳功能的定義也放到系統(tǒng)初始化的函數(shù)中,但另一些程序員則喜歡將這項工作放在各個模塊的初始化工作中。中斷配置與響應(yīng)DSP2407將中斷系統(tǒng)分為2個層次內(nèi)核級中斷GISR(GeneralInterruptServiceRoutine);外設(shè)級中斷SISR(SpecificInterruptServiceRoutine);38個可引發(fā)中斷的事件分成6組(group),每組使用一個內(nèi)核級中斷;6個內(nèi)核級中斷有6個內(nèi)核級中斷向量,使6個內(nèi)核級中斷轉(zhuǎn)向6個內(nèi)核級中斷服務(wù)程序中去;進(jìn)入內(nèi)核級中斷服務(wù)程序后,細(xì)分和判斷是組內(nèi)那個外設(shè)事件引發(fā)的,進(jìn)而轉(zhuǎn)向?qū)榇司帉懙姆?wù)程序。240xA內(nèi)核級中斷優(yōu)先級和中斷向量表中斷向量表中斷名稱優(yōu)先級功能00HRSN1硬件上電復(fù)位中斷,不可屏蔽12HINT141號可屏蔽中斷24HINT252號可屏蔽中斷36HINT363號可屏蔽中斷48HINT474號可屏蔽中斷5AHINT585號可屏蔽中斷6CHINT696號可屏蔽中斷7EH保留分析中斷810H~20HINT8~INT16用戶自定義軟件中斷924HNMI31028H~INT20~INT31用戶自定義軟件中斷可屏蔽中斷和不可屏蔽中斷不可屏蔽中斷:任何狀態(tài)下都不能被屏蔽(如DSP硬件上電復(fù)位中斷)的中斷;可屏蔽中斷:可以通過軟件設(shè)置中的中斷控制寄存器來屏蔽或開放中斷;中斷向量每個外設(shè)中斷請求有效時,都會產(chǎn)生一個唯一的外設(shè)中斷向量,這個外設(shè)中斷向量被裝載到外設(shè)中斷向量寄存器(PIVR);CPU響應(yīng)外設(shè)中斷時,從PIVR中讀取相應(yīng)的中斷向量,轉(zhuǎn)到相關(guān)的中斷服務(wù)程序入口。中斷向量表DSP2407有兩個向量表(1)CPU向量表用來獲取響應(yīng)CPU中斷請求的一級通用中斷服務(wù)子程序(GISR)。(2)外設(shè)向量表用來獲取響應(yīng)某一特定外設(shè)事件的特定中斷服務(wù)子程序(SISR)240xA中斷源優(yōu)先級和中斷向量表中斷名稱優(yōu)先級CPU中斷和向量地址外圍中斷向量(PIV)能否被屏蔽外圍中斷源模塊描述Reset1RSN0000hN/ANRSpin看門狗來自引腳的復(fù)位信號,看門狗溢出保留位2—0026hN/ANCPU用于仿真NMI3NMI0024hN/AN不可屏蔽中斷不可屏蔽中斷只能是軟件中斷PDPINTA4INT10002h0020hYEVA功率驅(qū)動保護(hù)引腳中斷PDPINTB50019hYEVBADCINT60014hYADC高優(yōu)先級模式的ADC中斷XINT170001hY外部中斷邏輯高優(yōu)先級模式的外部引腳中斷XINT280011hYSPIINT90005hYSPI高優(yōu)先級模式的SPI中斷RXINT100006hYSCI高優(yōu)先級模式的SCI接收中斷TXINT110007hYSCI高優(yōu)先級模式的SCI發(fā)送中斷CANMBINT120040hYCAN高優(yōu)先級模式的CAN郵箱中斷CANERINT13INT20004h0041hYCAN高優(yōu)先級模式的CAN錯誤中斷CMP1INT140021hYEVACompare1中斷CMP2INT150022hYEVACompare2中斷CMP3INT160023hYEVACompare3中斷T1PINT170027hYEVATimer1周期中斷T1CINT180028hYEVATimer1比較中斷T1UFINT190029hYEVATimer1下溢中斷T1OFINT20002AhYEVATimer1上溢中斷CMP4INT210024hYEVBCompare4中斷CMP5INT220025hYEVBCompare5中斷CMP6INT230026hYEVBCompare6中斷T3PINT24002FhYEVBTimer3周期中斷T3CINT250030hYEVBTimer3比較中斷T3UFINT260031hYEVBTimer3下溢中斷T3OFINT270032hYEVBTimer3上溢中斷T2PINT28INT30006h002BhYEVATimer2周期中斷T2CINT29002ChYEVATimer2比較中斷T2UFINT30002DhYEVATimer2下溢中斷T2OFINT31002EhYEVATimer2上溢中斷T4PINT320039hYEVBTimer4周期中斷T4CINT33003AhYEVBTimer4比較中斷T4UFINT34INT40008h003BhYEVBTimer4下溢中斷T4OFINT35003ChYEVBTimer4上溢中斷CAP1INT360033hYEVACapture1中斷CAP2INT370034hYEVACapture2中斷CAP3INT380035hYEVACapture3中斷CAP4INT390036hYEVBCapture4中斷CAP5INT400037hYEVBCapture5中斷CAP6INT410038hYEVBCapture6中斷SPIINT42INT5000Ah0005hYSPI低優(yōu)先級模式的SPI中斷RXINT430006hYSCI低優(yōu)先級模式的SCI接收中斷TXINT440007hYSCI低優(yōu)先級模式的SCI發(fā)送中斷CANMBINT450040hYCAN低優(yōu)先級模式的CAN郵箱中斷CANEBINT460041hYCAN低優(yōu)先級模式的CAN錯誤中斷ADCINT47INT6000Ch0004hYADC低優(yōu)先級模式的ADC中斷XINT1480001hY外部中斷邏輯低優(yōu)先級模式的外部引腳中斷XINT2490011hY外部中斷邏輯保留位000EhN/AYCPU分析中斷TRAPN/A0022hN/AN/ACPUTRA指令假中斷向量N/AN/A0000hN/ACPU假中斷向量INT8~INT160010h-0020hN/AN/ACPU軟件中斷向量INT20~INT310028h-003FhN/AN/ACPU軟件結(jié)構(gòu)與兩級中斷層次相適應(yīng),中斷服務(wù)子程序也有兩級,通用中斷服務(wù)子程序GISR和特定中斷服務(wù)子程序SISR;在GISR中保存必要的上下文,并從外設(shè)中斷向量寄存器PIVR中讀取外設(shè)中斷向量,這個向量用來判斷引起中斷請求的外設(shè)類型,產(chǎn)生轉(zhuǎn)移到SISR的地址入口,對每一個從外設(shè)來的中斷都編寫一個SISR處理程序來具體執(zhí)行該外設(shè)時間的響應(yīng)。CPU中斷寄存器中斷標(biāo)志寄存器(IFR)——地址0006h中斷標(biāo)志寄存器(IFR)用于識別和清除掛起的中斷,IFR包含6個可屏蔽中斷的標(biāo)志位;CPU響應(yīng)中斷,則程序跳至中斷服務(wù)程序入口,同時清除IFR的相應(yīng)位;讀取IFR可以識別掛起的中斷,而寫IFR則將清除已掛起的中斷,為了清除一個中斷請求,只能向相應(yīng)的IFR位寫1,而不是寫0。IFR位15~6保留位。這些位讀出時始終為0。位5INT6flag中斷6標(biāo)志位。該位用作連至第6級中斷INT6
的所有中斷標(biāo)志。 0 無INT6級的中斷掛起 1 至少一個INT6級的中斷掛起,向該位寫1可將
該位清除為0,即清除中斷請求位4INT5flag中斷5標(biāo)志位。該位用作連至第5級中斷INT5的所有中斷標(biāo)志。 0 無INT5級的中斷掛起 1 至少一個INT5級的中斷掛起,向該位寫1可將該位清除為0,即清除中斷請求位3INT4flag中斷4標(biāo)志位。該位用作連至第4級中斷INT4的所有中斷標(biāo)志。 0 無INT4級的中斷掛起 1 至少一個INT4級的中斷掛起,向該位寫1可將該位清除為0,即清除中斷請求位2INT3flag中斷3標(biāo)志位。該位用作連至第3級中斷INT3的所有中斷標(biāo)志。 0 無INT3級的中斷掛起 1 至少一個INT3級的中斷掛起,向該位寫1可將該位清除為0,即清除中斷請求.位1INT2flag中斷2標(biāo)志位。該位用作連至第2級中斷INT2的所有中斷標(biāo)志。 0 無INT2級的中斷掛起 1 至少一個INT2級的中斷掛起,向該位寫1可將該位清除為0,即清除中斷請求位0INT1flag中斷1標(biāo)志位。該位用作連至第1級中斷INT1的所有中斷標(biāo)志。 0 無INT1級的中斷掛起 1 至少一個INT1級的中斷掛起,向該位寫1可將該位清除為0,即清除中斷請求中斷屏蔽寄存器(IMR)——地址0004h包含所有可屏蔽中斷級(INT1~I(xiàn)NT6)的屏蔽位。IMR不包含NMI和RS,因此不影響這兩個引腳;IMR寄存器可讀可寫,讀IMR可以識別出已屏蔽或使能的中斷級,寫IMR可屏蔽或使能中斷級,如果要使能某
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度技術(shù)開發(fā)合同解除協(xié)議書
- 2025年度長租公寓集資協(xié)議
- 2025年度足療中心員工勞動合同模板
- 2025年度高效節(jié)水型土地大棚租賃服務(wù)協(xié)議
- 二零二五年度廠房租賃合同解除與產(chǎn)業(yè)升級改造協(xié)議
- 防滲漏管理策劃
- 調(diào)度運(yùn)行員培訓(xùn)
- 《大學(xué)生心理健康》課件 主題8 學(xué)習(xí)使用時間 拿回人生主動權(quán)
- 集合與函數(shù)的概念說課
- 重要的醫(yī)院感染的預(yù)防控制措施
- 勞務(wù)派遣勞務(wù)外包項目方案投標(biāo)文件(技術(shù)方案)
- 2024年蘇州市職業(yè)大學(xué)單招職業(yè)適應(yīng)性測試題庫完整版
- ZYJ7道岔故障處理方法
- 煤礦用80開關(guān)(QBZ80、120、200)
- 《并購專題》PPT課件.ppt
- 建筑工程材料見證取樣、送檢單
- 大一高數(shù)試題及答案(共16頁)
- IPC-A-610E培訓(xùn)教材(完整版)
- (完整word版)自然拼讀單詞表最新(精華版)
- 吉林大學(xué)地球科學(xué)學(xué)院09版培養(yǎng)方案.doc(2010.11.30)
- 頂管施工安全控制要點
評論
0/150
提交評論