機電之家資源網(wǎng)
單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
TMS320C6x DSP的軟件開發(fā)和程序調試方法
TMS320C6x DSP的軟件開發(fā)和程序調試方法
 更新時間:2009-6-5 9:16:54  點擊數(shù):2
【字體: 字體顏色

摘    要:本文具體討論了基于TMS320VC5410的兩種看門狗實現(xiàn)方案,同時就實現(xiàn)方案的方式和各自的特點作了相應的比較。
關鍵詞:復位; 看門狗;  定時器

引言
在實際的DSP應用系統(tǒng)當中,運行時極有可能發(fā)生干擾和被干擾的現(xiàn)象。特別是產(chǎn)品化的DSP系統(tǒng),可靠性是一個不容忽視的問題,嚴重時系統(tǒng)會出現(xiàn)程序“跑飛”現(xiàn)象。為了克服這種情況,在可能的情況下軟硬件都應作相應的處理。目前,看門狗技術就是這種處理的有效措施之一。本文根據(jù) TMS320 VC5410(簡稱C5410)的自身特點,提出兩種實現(xiàn)方案。
C5410是一款定點數(shù)字信號處理器,有以下主要的特點:在時鐘和數(shù)據(jù)的處理速度方面,它的內部含有鎖相環(huán)時鐘產(chǎn)生器,通過編程可調時鐘的倍數(shù),其操作速率可達100MIPS,并含有一個16位定時器;在信號的處理能力方面,采用了先進的改造型哈佛結構和多總線結構,含有40位算術邏輯單元、17×17乘法器和40位專用加法器等,具有單指令和塊指令重復操作的能力;在存儲器能力方面,內置16K×16bit ROM和64K×16bit RAM。同時它具有多種引導方式和中斷快速返回的特點。

利用片內定時器
工作原理
利用C5410內部的定時器,使C5410在一定的時間段T內,對其工作狀態(tài)進行****,如果出現(xiàn)程序“跑飛”現(xiàn)象,則采取中斷處理重新復位。C5410內置的定時器是一個減法計數(shù)器,在定時中斷允許和定時中斷的服務程序中含有復位程序片段的情況下,當它減到 0時,會引起定時中斷處理,完成復位工作。在正常的情況下,希望計數(shù)器不可以計數(shù)到零,同時正常的處理程序應繼續(xù)工作。而在“跑飛”的情況下,使計數(shù)器計數(shù)到零,中斷復位程序開始工作,重新初始化整個C5410芯片的設置,且程序從開始處運行。
實現(xiàn)方案
根據(jù)如上的分析,設計的軟件流程如圖1所示。
在本例中,設置定時器從計數(shù)開始到計數(shù)為零的時間為T=10ms,根據(jù)公式:
T=TCLKOUT*(PRD+1)*(TDDR+1)
其中TCLKOUT是C5410的工作時鐘周期,此處設置為fclkout=100MHz,則很容易得到PRD=0XF423, TDDR=0XF。如果將定時器的初始化和開中斷的程序段安排在有效環(huán)內,如:
while(1)
{
 ……
/***timer initialization****/
*TCR=*TCR|0x0010;     /*timer stop*/
*PRD=0 x F423;         /*setup the number of counter loop*/
*TCR=0 x 046F;         /*initialize timer control register*/
/***request timer interrupt***/
*IFR=*IFR|0x8;        /*clear last timer interrupt*/
*IMR=*IMR|0x8;      /*allow timer interrupt*/
asm(" RSBX INTM ");  /*enable all interrupt*/
……
 }
中斷向量程序可編寫為:
.global  _c_int00;
.global  _c_IntX;
WORDWIDTH    .set    16
     .sect    "vectors"          
vectors:
    B        _c_int00;Reset Interrupt     
    NOP
    NOP;an interrupt consists of four clock cycles                                      
  B        _c_IntX           ;NMI Interrupt
  .space  2*WORDWIDTH ;         
    .space  17*4*WORDWIDTH;  ;omit 17 interrupt service routines
RESET ;timer interrupt service routine
;implement reset                         
NOP                     
NOP
NOP                
……
在此基礎上,同時要具備以下兩個要求:定時器的初始化和開中斷的程序段必須在程序運行的時間段T內運行一次;在正常工作時,中斷服務程序中優(yōu)先權比定時中斷高的中斷服務程序不能工作。
利用片外看門狗器件
采用Maxim專用看門狗芯片MAX6370,通過設置它的三個SET引腳的電平值,可以實現(xiàn)不同的啟動延遲時間和看門狗時間。值得注意的是:啟動延遲時間必須滿足ms級,才可以使C5410的時鐘工作穩(wěn)定,其后的初始化工作才能正常進行。在圖2中,三個SET引腳接了撥位開關和上拉電阻,通過對撥位開關的設置,啟動延遲時間和看門狗時間是可變的。為實際工作中的調試和程序的升級帶來了方便。
由圖2可知,只要使XF的電平在設置的看門狗時間內有變化就可以滿足要求。而且此電平的控制也比較簡單,通過
asm(“RSBX  XF”);  /*XF的輸出變?yōu)榈碗娖?/
asm(“SSBX  XF”);  /*XF的輸出變?yōu)楦唠娖?/
兩條語句就可以實現(xiàn)。但為了很好地執(zhí)行看門狗功能,在軟件流程中,須注意電平設置的程序點,在看門狗軟件流程圖(圖3)中顯示,主程序中設置了XF為高電平,而只在子程序的循環(huán)中設置XF為低電平。但倘若在子程序的循環(huán)中XF的高低電平在同一程序點連續(xù)地設置,則有可能出現(xiàn)這種情況,如果該子程序由于受到某種干擾,使程序中的某個參數(shù)變化而導致它變?yōu)橐粋“死循環(huán)”,此時,看門狗功能就失效。

比較說明
以上的兩種看門狗措施,在許多方面有所差異。利用片外的專用看門狗電路,硬件成本較高,但與片內的定時器沒有約束關系,它的復位能使整個C5410全局復位,抗干擾能力較強,復位處理所需時間也長。利用片內的定時器,省去了片外的器件,降低硬件成本。但是,對于片內只含有單一定時器的C5410而言,定時器不可處理其他工作,因此該方式受到約束。同時它的復位結果只是進行程序的初始化,抗干擾能力較弱,復位處理所需時間較短。

結語
本文基于C5410提出了看門狗設計方案。在應用中,可根據(jù)實際情況進行選擇,當然也可交叉使用。如在利用片內定時器的看門狗措施中,定時器的中斷服務程序可以包含一條使XF為低電平的語句,而XF的輸出端通過上拉電阻接到C5410的復位引腳,也可實現(xiàn)看門狗功能。

參考文獻
1 TMS320C54x DSP Reference Set Volume 1: CPU and

<!--插入廣告JS代碼-->
  • 上一篇: TMS320C3x高速數(shù)據(jù)采集的DMA實現(xiàn)
  • 下一篇: 基于TMS320LF2407A支持FAT32文件系統(tǒng)嵌入式軟件的實現(xiàn)
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網(wǎng)友評論:(只顯示最新5條。)
    關于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1