需要執行關鍵或安全性相關功能的微處理器,通常需要高階監控功能以確保能夠正確地偵測錯誤並加以修正,關鍵功能可以定義為無法允許停機或者是錯誤修復成本相當高的功能,這類功能幾乎可以在微處理器市場的各個應用領域看到,例如病患監測系統、流程控制生產線以及安全性相關汽車應用等。
運作原理
要實現看門狗功能,微處理器被設定在以特定時間間隔對看門狗計時器(WDT, Watchdog Timer)電路送出重置脈衝,如果在設定時間過後看門狗計時器沒有切換,那麼就會送出一個脈衝給微處理器來警告錯誤的發生,這個警告信號可以當作微處理器的重置信號,或者做為送到微處理器不可遮罩中斷(NMI, Non-Maskable Interrupt)輸入的脈衝,錯誤可能來自於程式碼執行錯誤,或者是產生看門狗計時器脈衝時序電路的問題。本篇文章將介紹一些新的監測晶片,它們不僅會在看門狗計時器切換變化太慢時發出警告,也會在太快時警告微處理器以提供更高的安全性,也就是說,使用者可以指定兩個時間範圍,而兩個時間之間的差別就形成窗格型看門狗計時器。
《圖一 描述較短時限(a)與較長時限(b)看門狗計時錯誤發生的時序圖。》
|
微處理器在執行一個副程式時,通常會在程式中的某個地方設立一個旗標,當到達預設的時間長度時,就會由中斷處理常式(ISR, Interrupt Service Routine)來檢查看門狗計時器的旗標是否被設定,如果有,微處理器會發出一個脈衝給看門狗計時器,如果沒有,那麼微處理器就被視為鎖死狀態,例如可能陷入無限迴圈,微處理器上的錯誤可能也代表中斷處理常式執行得太頻繁,標準的看門狗計時器無法偵測這樣的錯誤,如Maxim MAX6323/MAX6324。
這類看門狗計時器有三種運作模式選擇,當它的切換動作發生時間早於較短時限,也就是tWDT < TWD1(min)時,那麼就會在/WDPO接腳上觸發一個低邏輯位準有效信號,長度約為1ms,如圖一a。如果微處理器送出脈衝的時間晚於看門狗計時的較長時限tWD2,那麼也會送出一個脈衝,如圖一b。在微處理器正常運作的過程中,WDI接腳上看門狗計時器信號序列中第二個脈衝的下降緣會發生在tWD1之後與tWD2之前。
《圖二 由看門狗計時器錯誤產生重置信號(a)以及實現手動重置功能(b)。》 |
對於MAX6323/MAX6324這類元件,tWD2 - tWD1窗格的大小足以將兩個時間誤差的影響降到最低,並帶來在各種不同應用中實現看門狗計時器功能的彈性,除了窗格型看門狗功能外,這些晶片還會在電源啟動、電源電壓過低或電源關機時產生重置信號,目前這個產品系列提供有6款經過雷射調整的版本,符合2.32V到4.63V電壓範圍內±2.5%誤差精確度要求的應用。
重置輸出組態在MAX6323上為推挽式,MAX6324上則為開汲極,這兩款元件都保證可以在VCC低達1.2V時還能提供有效的重置輸出。如果監測元件必須與其他信號來源共用重置接腳,建議使用開汲極版本,如果監測元件的重置輸出為微處理器重置接腳的唯一輸入,那麼推挽式版本就是較佳的選擇,將推挽電阻連接到重置輸出可以讓輸出在0V時依然有效。
《圖三 這些實際波形描述了較短時限(a)與較長時限的錯誤情況》 |
MAX6323/MAX6324提供的另一個功能為去彈跳(de-bounce)手動重置,要避免微處理器在看門狗計時器發生錯誤時將有問題的資料寫入RAM記憶體,部分應用需要能夠發出重置脈衝的監測元件,要實現這個功能,只要簡單地將/WDPO與/MR接腳相連即可,請參考圖二a。手動重置同時也可以讓操作人員在電源啟動的情況下進行微處理器線路的測試,如圖二b,當/WDPO連接到微處理器的NMI輸入,同時看門狗計時器的時限超過時,微處理器可以選擇等待使用者的介入,例如在個人電腦的場合,或者是將軟體的執行導引到另一個區段程式碼的開頭以便從錯誤的狀態中回復。
圖三a為較短與較長時限錯誤的波形,對於較短時限,請注意WDT會在WDPO被放開後的第一個WDI下降緣開始計數,不過這樣的情況並不適用於較長時限錯誤。
MAX6323/MAX6324元件提供有如圖四中8個標準的窗格型看門狗版本,較窄且較短的看門狗窗格時限適合如汽車安全性等對於時間要求較嚴格的應用,反之對於速度較慢的應用,例如病患監測,就適合窗格較寬的版本。由於汽車應用需要窗格型看門狗功能,因此這兩款產品提供了-40oC到125oC的工作溫度範圍,同時它們的重置功能也對於短時間的VCC電壓瞬間變化具有抵抗的能力,要得到更高的抗干擾能力,我們可以在VCC接腳上連接小型的RC低通濾波器。
《圖四 MAX6323/MAX6324元件中8個標準的窗格型看門狗版本》 |
應用
如前面所討論,窗格型看門狗計時器非常適合希望以低成本達到更高階微處理器監控功能的各種應用,舉例來說,汽車應用電路通常會以相互監控的多重微處理器來實現超高安全性,MAX6323與MAX6324提供了低成本省空間的替代方案,例如在車輪穩定性控制上,由偏航角速度與加速感測器所提供的輸入經過處理後可以用來決定系統如何在駕駛人無法控制的關鍵情況下介入煞車的控制。
《圖五 採用離散方式實現窗格型看門狗計時器的範例。》
|
我們可以想像其它必須在某個特定時間區間內偵測事件發生的應用,圖5為採用離散元件實現這個功能的電路,雖然為了簡化,我們省略了計時器與單脈衝(one-shot)元件,但相當明顯地,在不需外部元件協助的情況下,MAX6323/MAX6324晶片可以帶來成本、尺寸以及設計簡化等多重優勢。
安全性是否真的足夠?
將看門狗計時器窗格變窄,我們就可以達到更緊密的系統控制,如果窗格必須相當窄,那麼可以使用兩個MAX6324的組合,請參考圖六,這個組態同時也提供了監控兩個電壓的彈性。其中F版本擁有最長39ms的時限,而G版本則擁有最短47ms的時限,保證/WDPO不被觸發的看門狗計時器窗格時間為8ms,如果計時電路沒有在這個短時間內對看門狗計時器進行重置,那麼將會觸發錯誤警告。
《圖六 這個電路可以達成8ms的看門狗計時器窗格。》
|
另一個確保系統正常運作的方法是讓微處理器與監測元件兩者相互監控,請參考圖七,其中微處理器連接埠的一個接腳P2被設定為高電位,因此會讓高電位的OR閘失效,微處理器讓MAX6323在/WDPO接腳發出脈衝,不管是在早於較短時限的時間對WPI接腳進行切換,或者完全不動作,接著/WDPO脈衝會由另一個輸入接腳P1接收並視為確認信號,因此可以用來顯示看門狗計時器是否正常運作。
《圖七 這個電路讓微處理器與看門狗計時器可以相互監控。》
|
美商美信(Maxim)公司也推出了MAX6369-MAX6374系列等可透過接腳控制的看門狗計時器產品,請參考圖八,它們提供了可以控制啟動延遲與看門狗計時時限的彈性,並帶來看門狗計時器輸出波寬與輸出組態的選擇,甚至可以在運作時重新規劃組態。
《圖八 Maxim公司可透過接腳控制看門狗計時晶片產品的功能方塊圖。》
|
結論
窗格型看門狗計時器的概念主要來自於執行關鍵功能時更高運作安全性應用的需求,透過使用標準看門狗計時器功能將現有的監測電路升級,MAX6323/MAX6324晶片提供您以簡單與低成本方式滿足這類需求的最佳選擇。