關於DSP28377D 中斷配置流程

2016/12/9

DSP系統v118 調試過程中出現了添加天線配置函數後,系統定時器無法使用的現象,猜測是因爲天線配置模塊影響了定時器的開啓

DSP的中斷過程流程 : 
     



外設產生中斷的流程:

1、中斷鎖存至PIE的中斷標誌及存器的第x組第y通道 : PIEIFRx.y

2、如果PIEIERx.y設置爲有效,那麼終端將被傳遞至後一級

3、如果PIEACK.x標誌位被清除,那麼中斷傳遞至下一級,並將PIEACK.x置位1

4、中斷鎖存至IFR.X中

5、如果IER.x有效,中斷傳輸至下一級

6、如果INTM清零,那麼CPU收到中斷。

7、後端的中斷則開始繼續傳遞

8、cpu保存當前狀態至stack

9、IFR.X 和 IER.X 被清除,INTM置位,EALLOW被清除

10、cpu從PIE獲取中斷地址,並且PIE.PIEIFRX.Y清除

11、cpu執行中斷




配置和是能中斷過程 :

1、靜止全局中斷(禁止cpu中斷接受)

2、是能PIE通過設置ENPIE位在PIECTRL寄存器中

3、配置和定位中斷向量表;並使能PIE如下表所示

4、設置合適的PIEIERX,給PIE組和通道賦值

5、使能CPU IER是能cpu接受中斷

6、在外設中是能中斷

7、是能全局中斷EINT OR CLRC INTM



實例 : 
1、使用TI dsp 28377d 的定時器列程

第一步 : 關閉全局中斷使能 DINT:
     

第二步 : 禁止PIE使能,並且清除PIE中所有的中斷標誌以及中斷表設置



第三步 :關閉CPU 的中斷使能


第四步 : 初始化PIE VECTOR並且使能PIE



第五步 :外設的中斷配置
     


第六步 : 使能CPU的第x組中斷接受使能



第七步 : 打開PIE對應的x組y通道接受使能



第八步 : 打開全局中斷使能



2、使用v118版程序中斷配置過程(修改之後的)

第一步 初始化piectr;其中已經包括語句DINT(關閉全局中斷過程)

第二步 關閉PIE中斷功能;通過設置PIRCTR.BIT.ENPIE = 0來實現,

第三步 清空中斷設置(即PIEIER.X PIEIFR.X中原來的配置值);



第四步 清空中斷列表,並且使能PIE功能(通過設置PIRCTR.BIT.ENPIE = 1來實現 )



第五步 清空CPU中斷接受組
     
     


第六步 配置定時器的中斷選項

          第26 - 30行爲配置中斷入口地址
   第42 - 44行爲配置CPU響應中斷組(其中TIMER0是通過第PIEIER1 . 7來鏈接到PIE上的,所以CPU按照分組響應中斷,顧此處的IER |= M_INT1就是這個意思);
          第52行表示了 我需要使能PIEIER1.7通道;是因爲TIMER0的中斷響應鏈路是通過PIE的第一組,第7個通過來連通的。




第七步 配置DMA中斷和SPI_TX / SPI_RX 中斷

     第299 - 第302行配置DMA中斷響應地址
     
     第312 - 第313行:其中DMA_CH5和DMA_CH6是通過PIEIER7.5和PIEIER7.6 鏈接到PIE上的;所以首先需要使能
IER |= M_INT7 需要使能第7組通道,讓CPU能夠響應; IER |= M_INT6是因爲SPI_TX/SPI_RX的中斷是連接到PIEIER6.1和PIEIER6.2上的;所以也需要使能;
 
      第315 - 第316則是分別配置使能DMA_CH5 / DMA_CH6通道的使能
 
  


第八步 打開全局中斷使能

     



總結 : 
設置中斷的過程一般如下 : 
第一步 : 關閉全局中斷(DINT)

第二步 :關閉PIE功能,通過設置PIECTR.BIT.ENPIE = 0;來實現

第三步 :清空PIEIER 和PIEIFR寄存器;用以清除所有的cpu中斷響應組

第四步  : 清空中斷向量表,即清空所有的中斷地址表

第五步 :關閉CPU中斷響應;cpu寄存器中也有兩個寄存器用於設置中斷;即IER個IFR;全部置位爲0即可;

第六步 : 設置外設的中斷觸發 : 
               
               1)配置中斷函數地址
               2)打開PIE中斷通道組即使能PIEIERX.Y = 1;
               3)配置CPU的中斷寄存器以打開cpu對中斷的響應即IER |= M_INTX
               
第七步 : 打開全局中斷使能     EINT / ERTM

中斷配置的位置發生變化是有可能影響中斷的觸發的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章