音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

DSP中對(duì)中斷的理解 淺談DSP入門應(yīng)用

出處:電子發(fā)燒友網(wǎng) 發(fā)布于:2018-09-07 13:47:02

  本文主要是關(guān)于DSP的相關(guān)介紹,并著重對(duì)DSP對(duì)中斷的理解及其入門應(yīng)用進(jìn)行了詳盡的闡述。

  DSP

  現(xiàn)代社會(huì)對(duì)數(shù)據(jù)通信需求正向多樣化、個(gè)人化方向發(fā)展。而無(wú)線數(shù)據(jù)通信作為向社會(huì)公眾迅速、準(zhǔn)確、安全、靈活、高效地提供數(shù)據(jù)交流的有力手段,其市場(chǎng)需求也日益迫切。正是在這種情況下,3G、4G通信才會(huì)不斷地被推出,但是無(wú)論是3G還是4G,未來(lái)通信都將離不開(kāi)DSP技術(shù)(數(shù)字信號(hào)處理器),DSP作為一種功能強(qiáng)大的特種微處理器,主要應(yīng)用在數(shù)據(jù)、語(yǔ)音、視像信號(hào)的高速數(shù)學(xué)運(yùn)算和實(shí)時(shí)處理方面,可以說(shuō)DSP將在未來(lái)通信領(lǐng)域中起著舉足輕重的作用。

  為了確保未來(lái)的通信能在各種環(huán)境下自由高效地工作,這就要求組成未來(lái)通信的DSP要具有非常高的處理信號(hào)的運(yùn)算速度,才能實(shí)現(xiàn)各種繁雜的計(jì)算、解壓縮和編譯碼。而目前DSP按照功能的側(cè)重點(diǎn)不一樣,可以分為定點(diǎn)DSP和浮點(diǎn)DSP,定點(diǎn)DSP以成本低見(jiàn)長(zhǎng),浮點(diǎn)DSP以速度快見(jiàn)長(zhǎng)。如果單一地使用一種類型的DSP,未來(lái)通信的潛能就不能得到的發(fā)揮。為了能將定點(diǎn)與浮點(diǎn)的優(yōu)勢(shì)集于一身,突破DSP技術(shù)上的瓶頸,人們又推出了一種多重處理結(jié)構(gòu)--VLIW結(jié)構(gòu),該結(jié)構(gòu)可以在不提高時(shí)鐘速度的情況下,實(shí)現(xiàn)很強(qiáng)的數(shù)字信號(hào)處理能力,而且它能同時(shí)具備定點(diǎn)DSP和浮點(diǎn)DSP所有的優(yōu)點(diǎn)。為了能推出一系列更的新技術(shù)平臺(tái),人們又開(kāi)始注重DSP的內(nèi)核技術(shù)的開(kāi)發(fā),因?yàn)镈SP的內(nèi)核就相當(dāng)于計(jì)算機(jī)的CPU一樣,被譽(yù)為DSP的心臟,大量的算法和操作都得通過(guò)它來(lái)完成,因此該內(nèi)核結(jié)構(gòu)的質(zhì)量如何,將會(huì)直接影響整個(gè)DSP芯片的性能、功耗和成本。

  考慮到未來(lái)無(wú)線訪問(wèn)Internet因特網(wǎng)和開(kāi)展多媒體業(yè)務(wù)的需要,現(xiàn)在美國(guó)的Sun公司又開(kāi)始準(zhǔn)備準(zhǔn)將該公司的拳頭產(chǎn)品--PersonalJava語(yǔ)言嵌入到DSP中,以便能進(jìn)一步提高DSP在處理信號(hào)方面的自動(dòng)化程度和智能化程度。當(dāng)然,在以前DSP中也潛入了其他軟件語(yǔ)言,例如C語(yǔ)言,但這種語(yǔ)言在處理網(wǎng)絡(luò)資源以及多媒體信息方面無(wú)能為力;而PersonalJava是一種適合個(gè)人網(wǎng)絡(luò)連接和應(yīng)用的Java環(huán)境,基于該環(huán)境的個(gè)人通信系統(tǒng)可以從網(wǎng)絡(luò)和Internet網(wǎng)上數(shù)據(jù)和圖像。此外,人們還在研究開(kāi)發(fā)符合MPEG-4無(wú)線解壓縮標(biāo)準(zhǔn)DSP,該壓縮標(biāo)準(zhǔn)將為未來(lái)通信傳輸各種多媒體信息提供了依據(jù)。

  作為一個(gè)研究,我們來(lái)考慮數(shù)字領(lǐng)域里通常的功能:濾波。簡(jiǎn)單地說(shuō),濾波就是對(duì)信號(hào)進(jìn)行處理,以改善其特性。例如,濾波可以從信號(hào)里清除噪聲或靜電干擾,從而改善其信噪比。為什么要用微處理器,而不是模擬器件來(lái)對(duì)信號(hào)做濾波呢?我們來(lái)看看其優(yōu)越性:模擬濾波器(或者更一般地說(shuō),模擬電路)的性能要取決于溫度等環(huán)境因素。而數(shù)字濾波器則基本上不受環(huán)境的影響。數(shù)字濾波易于在非常小的寬容度內(nèi)進(jìn)行復(fù)制,因?yàn)槠湫阅懿⒉蝗Q于性能已偏離正常值的器件的組合。一個(gè)模擬濾波器一旦制造出來(lái),其特性(例如通帶頻率范圍)是不容易改變的。使用微處理器來(lái)實(shí)現(xiàn)數(shù)字濾波器,就可以通過(guò)對(duì)其重新編程來(lái)改變?yōu)V波的特性。

  DSP中對(duì)中斷的理解

  1 中斷概述

  中斷定義:由硬件或軟件驅(qū)動(dòng)的信號(hào),使DSP將當(dāng)前的程序掛起,執(zhí)行另一個(gè)稱為中斷服務(wù)子程序(ISR)的任務(wù)。

  C55x支持32個(gè)ISR。有些ISR可以由軟件或硬件觸發(fā),有些只能由軟件觸發(fā)。

  當(dāng)CPU同時(shí)收到多個(gè)硬件中斷請(qǐng)求時(shí),CPU會(huì)按照預(yù)先定義的優(yōu)先級(jí)對(duì)它們做出響應(yīng)和處理。

  所有的軟件中斷都是不可屏蔽中斷

  DSP處理中斷的步驟:

 ?。?)接收中斷請(qǐng)求。軟件和硬件都要求DSP將當(dāng)前程序掛起。

 ?。?)響應(yīng)中斷請(qǐng)求。CPU必須響應(yīng)中斷。如果是可屏蔽中斷,響應(yīng)必須滿足某些條件。如果是不可屏蔽中斷,則CPU立即響應(yīng)。

 ?。?)準(zhǔn)備進(jìn)入中斷服務(wù)子程序。

  CPU要執(zhí)行的主要任務(wù)有:

  完成當(dāng)前指令的執(zhí)行,并沖掉流水線上還未解碼的指令

  自動(dòng)將某些必要的寄存器的值保存到數(shù)據(jù)堆棧和系統(tǒng)堆棧

  從用戶實(shí)現(xiàn)設(shè)置好的向量地址獲取中斷向量,該中斷向量指向中斷服務(wù)子程序

 ?。?)執(zhí)行中斷服務(wù)子程序。

  CPU執(zhí)行用戶編寫的ISR。ISR以一條中斷返回指令結(jié)束,自動(dòng)恢復(fù)步驟(3)中自動(dòng)保存的寄存器值。

  ? 注意:

  外部中斷只能發(fā)生在CPU退出復(fù)位后的至少3個(gè)周期后,否則無(wú)效;

  在硬件復(fù)位后,不論INTM位的設(shè)置和寄存器IER0、IER1的值如何,所有的中斷都被禁止,直到通過(guò)軟件初始化堆棧后才開(kāi)放中斷。

  2 可屏蔽中斷

  所有的可屏蔽中斷都是硬件中斷。

  無(wú)論硬件何時(shí)請(qǐng)求一個(gè)可屏蔽中斷,在一個(gè)中斷標(biāo)志寄存器里就有相應(yīng)的中斷標(biāo)志置位。該標(biāo)志一旦置位,相應(yīng)的中斷還必須使能,否則不會(huì)得到處理。

  當(dāng)CPU在實(shí)時(shí)硬件仿真模式下暫停時(shí),只能處理時(shí)間臨界中斷。

  可屏蔽中斷標(biāo)準(zhǔn)處理流程:

  1. 向CPU發(fā)送中斷請(qǐng)求。

  2. 設(shè)置響應(yīng)的IFR標(biāo)志。CPU檢測(cè)到一個(gè)有效的可屏蔽中斷請(qǐng)求時(shí),它設(shè)置并鎖上某個(gè)中斷標(biāo)志寄存器的響應(yīng)標(biāo)志位,這個(gè)位保持鎖定,直到該中斷得到響應(yīng)或者復(fù)位,才清楚

  3. IER中斷使能?根據(jù)中斷使能寄存器是否使能,響應(yīng)中斷。

  4. INTM = 0?全局開(kāi)放中斷,才響應(yīng)

  5. 跳轉(zhuǎn)到ISR服務(wù)程序,

  6. 執(zhí)行ISR服務(wù)程序

  7, 返回。

  3 不可屏蔽中斷

  當(dāng)CPU接收到一個(gè)不可屏蔽中斷請(qǐng)求時(shí),立即無(wú)條件響應(yīng),并很快跳轉(zhuǎn)到相應(yīng)的中斷服務(wù)子程序(ISR)

  C55x的不可屏蔽中斷有:

  硬件中斷/RESET。如果引腳/RESET為低電平,則觸發(fā)了一個(gè)DSP硬件復(fù)位和一個(gè)中斷(迫使執(zhí)行復(fù)位ISR)。

  硬件中斷/NMI。如果引腳/NMI為低電平,則CPU必須執(zhí)行相應(yīng)的ISR。 /NMI提供了一種通用的無(wú)條件中斷DSP的硬件方法。

  軟件中斷。

  4 按鍵中斷

  按鍵中斷,屬于可屏蔽中斷,用戶自定義硬件中斷,當(dāng)CPU響應(yīng)按鍵后,檢查相關(guān)引腳中斷標(biāo)記寄存器,若標(biāo)志位為1,則響應(yīng)該中斷。同時(shí),清除中斷標(biāo)志寄存器位。

  5 c_int00

  當(dāng)C環(huán)境被初始化時(shí),啟動(dòng)程序禁止中斷。 如果系統(tǒng)使用中斷,必須處理有關(guān)的中斷使能或屏蔽。

  關(guān)于中斷的幾個(gè)要點(diǎn):

  中斷程序會(huì)執(zhí)行任何其它函數(shù)執(zhí)行的工作,包括訪問(wèn)全局變量、為局部變量分配地址、調(diào)用其它函數(shù)。

  需要處理任何特殊中斷屏蔽(通過(guò)IER0寄存器)。通過(guò)嵌入?yún)R編語(yǔ)言語(yǔ)句可以使能或禁止中斷,也可以修改IER0寄存器而不會(huì)破壞C環(huán)境或C指針。

  中斷處理程序不能有參數(shù),即使聲明了參數(shù)也會(huì)被忽略

  中斷處理程序不能被普通C代碼調(diào)用。

  為了將中斷程序和中斷聯(lián)系起來(lái),需要將分支程序放在合適的中斷向量中,通過(guò).sect指令創(chuàng)建一個(gè)簡(jiǎn)單的分支指令表就可以實(shí)現(xiàn)此操作。

  在匯編語(yǔ)言中,需要在中斷程序名前加下劃線,如_c_int00。

  分配堆棧到偶地址。

  c_int00是系統(tǒng)復(fù)位中斷。當(dāng)進(jìn)入c_int00中斷時(shí),運(yùn)行時(shí)間堆棧并沒(méi)有被建立起來(lái),因此不能為局部變量分配地址,也不能在運(yùn)行時(shí)間堆棧中保存任何信息。

  通過(guò)interrupt關(guān)鍵字可以用C函數(shù)直接處理中斷。

  interrupt關(guān)鍵字可以和定義為返回void并不含參數(shù)的函數(shù)一起使用。中斷函數(shù)體可以有局部變量,可以自由使用堆棧。

  c_int00是C程序入口。這個(gè)名字被保存為系統(tǒng)重啟中斷。這個(gè)特殊的中斷程序初始化系統(tǒng)并調(diào)用了主函數(shù)。因?yàn)闆](méi)有調(diào)用者,所以c_int00不保存任何寄存器。

  例,

  interrupt void isr()

  {

  。。.

  }

  中斷管理

  基于DSP/BIOS管理中的硬件中斷,DSP/BIOS為中斷提供了一個(gè)HWI調(diào)度程序,為ISR完成必要的開(kāi)頭和結(jié)尾部分。如果不使用,則在調(diào)用任何DSP/BIOS對(duì)象的API之前,必須調(diào)用HWI_enter和HWI_exit匯編宏來(lái)完成ISR的開(kāi)頭和結(jié)束。實(shí)際上,DSP/BIOS提供的調(diào)度程序,就包括這兩個(gè)宏。

  為了正確響應(yīng)硬件中斷,同時(shí),也為了DSP/BIOS內(nèi)核的穩(wěn)定性,必須注意:

  1 在一個(gè)硬件中斷ISR中,不要調(diào)用SWI_disable和SWI_enable。

  2 在NMI(不可屏蔽)中斷中,不要調(diào)用硬件中斷使能/禁止函數(shù)。

  3 當(dāng)使用DSP/BIOS調(diào)度程序時(shí),不要使用HWI_exit和HWI_enter匯編宏

  4 中斷中,可以打開(kāi)新中斷。

  我們可以在中斷配置選項(xiàng)卡中,設(shè)置Interrupt Mask 來(lái)實(shí)現(xiàn)在DSP/BIOS調(diào)度程序執(zhí)行前禁止某些中斷。

  淺談DSP入門應(yīng)用

  1、DSP中斷管理分為3個(gè)層次:外設(shè)級(jí),PIE級(jí),CPU級(jí)。

  其中,外設(shè)級(jí)中斷管理負(fù)責(zé)具體外設(shè)中斷源的允許與禁止,PIE級(jí)中斷管理負(fù)責(zé)對(duì)外設(shè)級(jí)中斷分組并按照優(yōu)先級(jí)管理,CPU內(nèi)核級(jí)中斷管理則負(fù)責(zé)處理直接向CPU申請(qǐng)的中斷請(qǐng)求。

  DSP中對(duì)中斷的理解 淺談DSP入門應(yīng)用

  DSP控制器的外設(shè)中斷擴(kuò)展模塊(PIE),對(duì)中斷進(jìn)行集中化擴(kuò)展,使每CPU中斷均可以響應(yīng)多個(gè)中斷源。

  2、PIE級(jí)中斷及管理:

  CPU內(nèi)核級(jí)中斷(INT1–INT14),INT1-INT12被PIE模塊用來(lái)進(jìn)行中斷擴(kuò)展,有12組,每組8個(gè)中斷源。

  各中斷的優(yōu)先級(jí)自上而下,由右到左逐步降低,總體優(yōu)先級(jí)INT1,INT12。

  INT13由CPU定時(shí)器1和外部中斷XINT13復(fù)用,INT14由定時(shí)器2獨(dú)占。

  3、中斷響應(yīng)過(guò)程

  4、中斷寄存器介紹

  PIEIFRx (1-12)中斷標(biāo)志寄存器

  PIEIERx (1-12)中斷屏蔽寄存器

  各有12個(gè),每個(gè)16位寬,只用了前8位分別表示8個(gè)中斷源;IFR標(biāo)志中斷到來(lái),IER表示是否要響應(yīng)(PIEIFRx.1-8,PIEIERx.1-8)

  PIEACKx (1-12)應(yīng)答位

  CPU是否響應(yīng)給位的中斷,為0中斷送入CPU,為1等待

  PIECTRL PIE控制寄存器,只讀

  讀取中斷向量

  XINTnCR (n為1-7) 7個(gè)外部中斷

  選擇中斷邊沿,01上升沿;外部中斷允許位

  5、代碼片

  PieCtrlRegs.PIEIFR1.bit.INTx4=1;//在PIE中斷組1設(shè)置XINT1的中斷標(biāo)志位

  PieCtrlRegs.PIEIER1.bit.INTx4=1;//允許PIE中斷組1的XINT1 中斷

  PieCtrlRegs.PIEACK.all = 0x0004;//清除中斷組3的ACK位,以便再次響應(yīng)

  PieCtrlRegs.PIECTRL.bit.ENPIE=1;//允許從向量表中讀取中斷向量

  1

  2

  3

  4

  5

  6、定時(shí)器中斷實(shí)例

  #include “DSP2833x_Device.h”

  #include “DSP2833x_Examples.h”

  interrupt void cpu_timer0_isr(void);//聲明中斷服務(wù)函數(shù)

  void main()

  {

  //step1:初始化系統(tǒng)控制、PLL、看門狗、允許外設(shè)時(shí)鐘

  InitSysCtrl();

  //step2:初始化GPIO

  InitGpio();

  //step3:清除所有中斷,初始化PIE向量表

  DINT;

  InitPieCtrl(); //初始化PIE控制器

  IER = 0x0000; //禁止CPU中斷

  IFR = 0x0000; //清除所有CPU中斷標(biāo)志

  InitPieVectTable(); //初始化PIE中斷向量表

  EALLOW;

  PieVectTable.TINT0 = &cpu_TImer0_isr; //重映射中斷向量,指向中斷服務(wù)程序

  EDIS;

  //step4:初始化外設(shè)模塊

  InitCpuTImers();

  ConfigCpuTImer(&CpuTimer0,150,1000000); //150MHz,周期1秒

  CpuTimer0Regs.TCR.all = 0x4001; //允許定時(shí)器中斷,且設(shè)置TSS為0啟動(dòng)定時(shí)器工作

  //step5:

  IER |= M_INT1; //允許CPU的INT1中斷,該中斷連接至TINT0

  PieCtrlRegs.PIEIER1.bit.INTx7 = 1; //在PIE中斷組1中允許TINT0中斷

  EINT; //清除全局屏蔽

  ERTM; //允許全局實(shí)時(shí)中斷

  //step6:循環(huán)

  while(1);

  }

  interrupt void cpu_timer0_isr(void)

  {

  CpuTimer0.InterruptCount++;

  PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; //清除PIE中斷組1的應(yīng)答位,以便CPU再次響應(yīng)

  }

 

關(guān)鍵詞:DSP,芯片

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見(jiàn),您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見(jiàn)一經(jīng)采納,將有感恩紅包奉上哦!