在使用或選擇DSP系統(tǒng)監(jiān)控芯片時(shí)需考慮的幾大因素
引言
本文引用地址:http://butianyuan.cn/article/171510.htm硬件監(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)置看門狗功能,所以只能使用外部硬件監(jiān)控電路。在一些DPS的相關(guān)設(shè)計(jì)資料中經(jīng)常使用MAX706或MAX1232硬件監(jiān)控芯片,其中MAX706具有時(shí)間長(zhǎng)達(dá)1.6 s的看門狗定時(shí)器功能,MAX1232的看門狗定時(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)題:第一,看門狗定時(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)。很顯然,必須尋找一種具有適合看門狗定時(shí)器時(shí)間和復(fù)位脈沖寬度的硬件監(jiān)控芯片。
在這里,必須明確對(duì)看門狗定時(shí)器時(shí)間的選擇條件。在程序設(shè)計(jì)中,為了保證硬件監(jiān)控效果,不宜過(guò)多地設(shè)置對(duì)看門狗芯片的操作,一般應(yīng)在程序循環(huán)的關(guān)鍵部位設(shè)置1~2處對(duì)看門狗芯片的觸發(fā)操作。所以,看門狗定時(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)控電路的看門狗時(shí)間只要大于2 ms即可滿足要求,過(guò)長(zhǎng)的看門狗時(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)控芯片中的一員。該系列芯片的看門狗定時(shí)器時(shí)間可以通過(guò)外部引腳SET2、SET1、SET0的邏輯電平進(jìn)行精確調(diào)節(jié),其引腳電平與看門狗定時(shí)器時(shí)間的關(guān)系如表1所列。
表1中的tWD 就是看門狗定時(shí)器時(shí)間,tDELAY是看門狗定時(shí)器啟動(dòng)延遲時(shí)間。
表1
看門狗定時(shí)器啟動(dòng)延遲時(shí)間tDELAY是指在系統(tǒng)上電到監(jiān)控芯片看門狗定時(shí)器正式啟動(dòng)之間的時(shí)間間隔。這個(gè)功能主要用于防止系統(tǒng)上電后初始化時(shí)的意外復(fù)位,特別是在許多DSP系統(tǒng)的設(shè)計(jì)中,在系統(tǒng)上電后需要將固化在片外低速ROM中的程序加載到片內(nèi)程序RAM中以便全速運(yùn)行,看門狗定時(shí)器啟動(dòng)延時(shí)功能的使用就顯得尤為重要。
根據(jù)前面對(duì)具體系統(tǒng)的分析,在此將MAX6374芯片的看門狗定時(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è)與門的主要目的是為了將幾種復(fù)位信號(hào)隔離起來(lái),不至于互相影響。
圖1 系統(tǒng)復(fù)位電路
評(píng)論