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