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