基于DSP的系統(tǒng)監(jiān)控芯片的選擇與使用要點
硬件監(jiān)控芯片作為提高系統(tǒng)可靠性的一種重要手段,在單片機和數(shù)字信號處理器(DSP)的應(yīng)用系統(tǒng)設(shè)計中得到了廣泛的應(yīng)用。對于有一定單片機應(yīng)用經(jīng)驗的設(shè)計人員來說,在開始進行DSP系統(tǒng)的設(shè)計時,往往會根據(jù)經(jīng)驗使用在單片機系統(tǒng)中常用的監(jiān)控芯片,如MAX706、MAX1232等。但是,由于DSP自身一些有別于單片機的特點,特別是在實時性要求比較高的情況下,完全照搬單片機系統(tǒng)中使用監(jiān)控芯片的經(jīng)驗是不合適的。
本文引用地址:http://www.ex-cimer.com/article/257303.htm下面結(jié)合使用德州儀器公司出品的定點DSP芯片TMS320F206(簡稱F206)在電力故障錄波器中的設(shè)計體會,詳細探討DSP系統(tǒng)硬件監(jiān)控芯片的選擇、對系統(tǒng)運行實時性的影響和需要注意的問題。
1 DSP復位的特點以及對監(jiān)控芯片的要求
在進行討論之前,有必要簡單介紹F206的復位特點。對于F206而言,復位是不可屏蔽的外部中斷(中斷矢量地址0000H),隨時可用它將F206置于一種已知狀態(tài)。復位是優(yōu)先級別最高的中斷,一般在加電后芯片處于未知狀態(tài)時對其復位。因為復位信號中止存儲器操作并初始化各硬件狀態(tài)位,所以每次復位后系統(tǒng)應(yīng)重新運行初始化程序。
在嚴格的意義上,F(xiàn)206的復位源只有1個,即復位引腳RS產(chǎn)生1個低電平脈沖信號,使芯片復位。為使系統(tǒng)在加電后能正確工作,RS端的低電平有效時間至少需要6個時鐘周期。F206鎖存復位脈沖并產(chǎn)生足夠長的內(nèi)部復位脈沖以確保芯片復位。在RS上升沿后16個周期,芯片完成對硬件的初始化并從0000H 單元開始執(zhí)行第1條指令,通常這里是一條分支到系統(tǒng)初始化程序的跳轉(zhuǎn)指令。
由于F206的工作時鐘頻率較高,加之電力故障錄波器運行環(huán)境的電磁干擾比較嚴重,為保證設(shè)備的正常運行,必須設(shè)置硬件監(jiān)控功能。
與主要用于控制領(lǐng)域的TMS320F24X系列芯片不同,F(xiàn)206芯片中并沒有內(nèi)置看門狗功能,所以只能使用外部硬件監(jiān)控電路。在一些DPS的相關(guān)設(shè)計資料中經(jīng)常使用MAX706或MAX1232硬件監(jiān)控芯片,其中MAX706具有時間長達1.6 s的看門狗定時器功能,MAX1232的看門狗定時器時間則為0.2 1.6 s可調(diào);此外,還具備上電復位和電源監(jiān)控功能。
但是,根據(jù)我們的設(shè)計經(jīng)驗和對系統(tǒng)運行的仔細分析,使用MAX706等類似的許多硬件監(jiān)控芯片存在2個需要注意的問題:第一,看門狗定時器的時間過長,MAX706的典型時間為1.6 s,也就是說,當DSP中的程序運行產(chǎn)生錯誤時,MAX706要在 1.6 s(相當于80個工頻周期)后才能發(fā)出復位信號。第二,監(jiān)控芯片輸出的復位信號脈沖寬度過大,MAX706的典型值為200 ms(相當于10個工頻周期),這主要是為了兼顧上電復位時對晶振100300 ms穩(wěn)定期的要求。
因此,從程序運行產(chǎn)生錯誤到DSP芯片完成復位,將有共計1.8 s的非受控時間,這對于對實時性要求很高的電力故障錄波器來說是不能忍受的。如果在此期間電網(wǎng)發(fā)生故障,錄波器將無法作出正確的反應(yīng)。很顯然,必須尋找一種具有適合看門狗定時器時間和復位脈沖寬度的硬件監(jiān)控芯片。
在這里,必須明確對看門狗定時器時間的選擇條件。在程序設(shè)計中,為了保證硬件監(jiān)控效果,不宜過多地設(shè)置對看門狗芯片的操作,一般應(yīng)在程序循環(huán)的關(guān)鍵部位設(shè)置12處對看門狗芯片的觸發(fā)操作。所以,看門狗定時器的時間只要大于一個需時最長的程序循環(huán)即可。在基于F206的故障錄波器中,需時最長的程序循環(huán)包含1個16點的FFT運算,整個程序循環(huán)的總時間小于2 ms。
由此看來,硬件監(jiān)控電路的看門狗時間只要大于2 ms即可滿足要求,過長的看門狗時間是不必要的,對保證裝置的實時性也是十分不利的。
2 MAX6369MAX6374監(jiān)控芯片的原理及應(yīng)用
根據(jù)以上標準,我們選用了MAXIM公司出品的MAX6374監(jiān)控芯片。MAX6374是MAX6369 MAX6374系列監(jiān)控芯片中的一員。該系列芯片的看門狗定時器時間可以通過外部引腳SET2、SET1、SET0的邏輯電平進行精確調(diào)節(jié),其引腳電平與看門狗定時器時間的關(guān)系如表1所列。
表1中的tWD 就是看門狗定時器時間,tDELAY是看門狗定時器啟動延遲時間。
看門狗定時器啟動延遲時間tDELAY是指在系統(tǒng)上電到監(jiān)控芯片看門狗定時器正式啟動之間的時間間隔。這個功能主要用于防止系統(tǒng)上電后初始化時的意外復位,特別是在許多DSP系統(tǒng)的設(shè)計中,在系統(tǒng)上電后需要將固化在片外低速ROM中的程序加載到片內(nèi)程序RAM中以便全速運行,看門狗定時器啟動延時功能的使用就顯得尤為重要。
根據(jù)前面對具體系統(tǒng)的分析,在此將MAX6374芯片的看門狗定時器時間調(diào)節(jié)在3 ms,也就是將選擇端全部接地。MAX6374的最小復位脈沖寬度為1 ms,相當于20個DSP時鐘周期(系統(tǒng)采用20 MHz有源晶體振蕩器),完全滿足F206的復位要求。需要指出的是,MAX6374監(jiān)控芯片沒有上電復位和電壓監(jiān)控功能,需要另外設(shè)計上電復位電路。圖1所示是一個完整的DSP復位電路。
圖1中XF端輸出1 個軟件復位信號。在F206的復位端(RS)接1個與門的主要目的是為了將幾種復位信號隔離起來,不至于互相影響。
圖1 系統(tǒng)復位電路
3 進一步說明
① 在對監(jiān)控芯片的看門狗定時器進行觸發(fā)操作時,為了保證觸發(fā)的有效,必須注意觸發(fā)脈沖的寬度要符合監(jiān)控芯片的要求。由于DSP的時鐘頻率較高,加上大部分指令都是單周期指令并且采用流水線運行方式,如果采用在程序中的一個地方發(fā)脈沖觸發(fā)的方式而不加以延時,往往不能滿足監(jiān)控芯片對觸發(fā)脈沖寬度的最低要求(如MAX6374為100 ns)。為避免發(fā)生這種情況,應(yīng)在程序的一點發(fā)出高電平,然后在稍遠的另一點發(fā)出低電平,如此循環(huán)往復地觸發(fā)看門狗定時器以保證觸發(fā)信號的寬度。
② 我們在基于F206的電力故障錄波器設(shè)計中使用了硬件監(jiān)控芯片,其目的是在電磁干擾比較嚴重的工作條件下盡量保證裝置運行的實時性和可靠性。但是在許多情況下,只要工作環(huán)境不是十分惡劣,并且印制板和軟件設(shè)計合理,DSP系統(tǒng)不使用硬件監(jiān)控芯片也可以非常穩(wěn)定地工作。
③ 雖然本文中的討論是圍繞F206展開的,但其基本思想也適用于其它型號的DSP和對實時性有較高要求的單片機系統(tǒng)。
④ 選擇看門狗定時器時間必須充分考慮到程序設(shè)計中的中斷嵌套、多重調(diào)用、查詢等待、與外部低速器件(如液晶顯示屏)接口等影響程序完成一個循環(huán)所需時間的各種因素并適當留有余量,否則容易產(chǎn)生意外的看門狗復位。具體時間應(yīng)由試驗決定。在設(shè)計初始階段最穩(wěn)妥的辦法,是在監(jiān)控芯片的時間選擇端設(shè)置撥位開關(guān),以便根據(jù)實際情況進行選擇。
評論