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