<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • TMS320C54x系列DSP中的應用

    時間:2024-10-02 16:10:56 理工畢業論文 我要投稿
    • 相關推薦

    TMS320C54x系列DSP中的應用

    摘要:詳細分析了TMS320C54x系列DSP的中斷機制,以及在擴展地址模式下中斷控制所具有的一些特點,并給出了DSP/BIOS下中斷的管理。

    中斷是嵌入式芯片的靈魂,這是因為多數嵌入式系統對實時性都有很高的要求,即對出現事件的響應要極為迅速。中斷與軟件查詢方式相比有著更高的執行效率。在TI公司的TMS320C54x系列(以下簡稱C54x系列)DSP中,同樣也提供了很好的中斷機制。

    1 C54x中的中斷機制

    中斷信號實質上是由硬件或者是軟件驅動的信號,它能使DSP暫停正在執行的程序并進入中斷服務程序(ISR)。在最典型的DSP系統中,如果A/D轉換器需要送數據到DSP中,或者D/A轉換器需要從DSP中取走數據,都是通過硬件中斷向DSP發出請求的。

    C54x系列DSP支持軟件中斷和硬件中斷。軟件中斷是由指令(INTR、TRAP、RESET)觸發的,硬件中斷是由外圍器件觸發的。硬件中斷實際上又分為兩類:一類是由DSP的片外外設(如A/D轉換器)觸發的,另外一類是由DSP的片內外設(如定時器中斷)觸發的。硬件中斷又有優先級的區分,這是為了處理同一時刻有多個硬件中斷源觸發中斷的情況。硬件中斷的種類和優先級請參看具體使用的芯片資料。

    如果按照可屏蔽情況分類,中斷又可分為可屏蔽中斷(C54x至多支持16個)和不可屏蔽中斷。可屏蔽中斷受ST1寄存器中的INTM位和IMR寄存器中相應位的影響。當INTM=0時,IMR中某位為1,則開放相應的中斷。其實,在C54x中硬件中斷并不一定要由外圍器件觸發,它同樣可以由指令INTR、TRAP觸發,并且不受INTM的限制。有一點需要引起注意的是:指令RESET復位和硬件RS復位對IPTR和外圍電路初始化是不相同的。硬件復位時IPTR總是被置為0x1FF,軟件復位時則不會修改當前IPTR的值。C54x的中斷處理過程分為三個階段:

    ①中斷請求。可以用硬件器件或者軟件指令請求中斷。如果請求的中斷是可屏蔽中斷,則IFR寄存器中相應的位被置為1,而不管中斷是否會被響應。

    ②中斷響應。對于軟件中斷和不可屏蔽中斷,CPU是立即響應的。對于可屏蔽中斷,要滿足下列條件才能響應:

    ·優先級最高(同時出現多個中斷時)

    ·INTM位為0

    ·IMR中相應位為1

    CPU在取到軟件向量的第一個字后會產生IACK信號,對可屏蔽中斷而言,IACK會清除IFR中相應位。

    ③中斷處理。保護特定的寄存器,執行中斷服務程序,完成后恢復寄存器。保護寄存器的原則是執行中斷服務程序后能正確返回并恢復原來運行程序的環境。

    DSP中提供的中斷是以中斷向量表(VECT)的形式出現的(見表1)。中斷向量表的長度為128個字節,每個中斷分配為4個字節,一共有32個中斷,具體的中斷要看相應的芯片。C54x中斷向量表的地址是由PMST寄存器中的IPTR構成高9位地址形成的,所以向量表的地址必須是128的倍數。硬件復位時,IPTR總是默認置為0x1FF,所以中斷向量表地址為0xFF80。每個中斷向量的地址按如下構成方法形成:PC=(IPTR)<<7+(Vector[n])<<2 (Vector[n]為中斷向量號,在0~31之間),中斷向量號左移兩位是因為每個中斷向量占用4個字節的緣故。中斷向量表總是以匯編的形式出現的。

    2 擴展地址模式下的中斷控制

    早期的DSP共有192K的空間(程序、數據和I/O空間各為64K),隨著DSP處理能力越來越強,192K的空間已經不能滿足需要。后來的C54x均提供了擴展地址模式,使程序空間擴展到8M。擴展模式下的中斷控制有自己特殊的地方,有必要進行說明。

    擴展模式下程序空間的尋址是通過寄存器PC和XPC一同進行的。PC構成低16位地址位,XPC構成高7位地址位。所以保存和恢復XPC是用戶必須注意的。如果用戶使用的是Far Call指令,則XPC會自動保存和恢復。但在進行中斷處理的時候,只有16位的PC寄存器能夠自動得到保存(這是由于考慮了非擴展模式下中斷的效率問題),所以XPC必須由用戶自己來保存,否則在中斷返回的時候往往會跳到不同的頁面(由返回前后XPC值的不同引起)造成不可預測的后果。程序如表1所示。

    由于必須在長跳轉之前保存XPC的值,沒法使用延遲指令(如FBD),所以中斷時延會增加兩個周期。

    再來考慮另外一種情況:設程序運行在XPC=2的頁面上,如果這個時候有中斷發生并得到了CPU的響應,DSP會加載PC:PC=(IPTR)<<7+(Vector[n])<<2,XPC的值不發生變化,于是中斷向量的地址為:0x20000+0xPC。這就明顯地說明:中斷向量表必須和應用程序在同一64K的程序空間頁面內。如果應用程序不是只分布在一個程序空間頁面內,那應該如何處理呢?可分三種類型共四種技巧來應對這樣的情況:(1.1)描述的是OVLY為任意的情況;(2.1)~(2.2)描述的是OVLY=1的情況;(3.1)描述的是OVLY=0的情況。

    (1.1)有的應用中,一些程序一旦運行是不允許中斷的。把不允許中斷的程序部分放到擴展空間內,而把中斷向量表和ISR以及允許中斷的程序

    【TMS320C54x系列DSP中的應用】相關文章:

    CPLD在DSP系統中的應用設計03-18

    TMS320C54x在擴頻通信系統中的應用11-22

    高性能FLASH存儲器在DSP電機智能保護中的應用03-18

    鐵電存儲器FM18L08在DSP系統中的應用03-21

    基于DSP的Bluetooth嵌入式系統應用03-20

    DNP3.0在基于DSP的FTU中的實現03-18

    在仿真環境下實現TMS320C6000系列DSP的程序自引導03-20

    TMS320C54XX系列DSP與PC機間串行通信的實現03-18

    紅外遙控在汽車中的應用03-19

    主站蜘蛛池模板: 亚洲一区无码精品色| 亚洲精品亚洲人成人网| 在线观看91精品国产网站| 四虎成人精品免费影院| 无码日韩人妻精品久久蜜桃| 国产欧美一区二区精品性色99| 1024国产欧美日韩精品| 亚洲精品一品区二品区三品区| 精品97国产免费人成视频| 精品无人区麻豆乱码1区2区| 久久国产热精品波多野结衣AV| 四虎亚洲国产成人久久精品| 国产成人综合精品一区| 国产精品成人免费福利| 国内揄拍高清国内精品对白| 亚洲精品无码久久一线| 亚洲电影日韩精品| 欧美日韩精品一区二区三区不卡 | 99精品国产福利在线观看| HEYZO无码综合国产精品| 久久青青草原精品国产| 中文字幕精品亚洲无线码二区| 欧美精品福利视频一区二区三区久久久精品| 青青草精品视频| 久久国产精品久久精品国产| 99久久精品费精品国产一区二区| 精品免费人成视频app| 精品一区二区三区自拍图片区| 熟妇人妻VA精品中文字幕| 亚洲AV无码国产精品色午友在线 | 熟妇人妻VA精品中文字幕| 无码久久精品国产亚洲Av影片| 一本一本久久A久久综合精品| 亚洲国产精品一区二区三区久久 | 先锋影音国产精品| 99久久伊人精品综合观看| 成人国产精品秘 果冻传媒在线| 日韩精品在线观看视频| 99精品久久久久久久婷婷| 国产精品粉嫩美女在线观看| 国产精品v欧美精品v日韩|