專利名稱:實現嵌套式的看門狗電路及其喂狗信號的傳送方法
實現嵌套式的看門狗電路及其喂狗信號的傳送方法技術領域
本發明屬于多處理器相互通信及主從作業的電路領域,具體涉及一種實現嵌套式的看門狗電路及其喂狗信號的傳送方法。
背景技術:
在現有工控電子行業的實際應用中,一個系統中可能存在多個處理器協同作業。 對于處理器程序運行的穩定性仍然存在隱患,由于處理器程序編寫的不完善,在程序運行的過程中總會存在程序跑飛或死機的現象,為此設計者會啟用每個處理器的內部看門狗, 但內部看門狗容易受程序運行失效的影響。在這種情況下,為了確保系統工作的穩定性,設計者往往會為處理器設計單獨的外部看門狗。外部看門狗具有一個獨立的時鐘源,能夠提供更高的可靠性;經過適當配置,外部看門狗不會受程序失效的影響。但同時,在一個多處理器的系統中,如果為每一個處理器都配備一個外部的看門狗,就會出現如下幾個問題
首先,最直接的就是成本問題,這里主要包括芯片成本和由于元器件增加導致的 PCB布局面積增大成本升高等;其次,由于看門狗的增加PCB的布線復雜度提高了,并且當 PCB板面積要求確定后,增加了布線面積的控制難度;最后,由于外部看門狗的增加將會直接導致系統功耗的增加,這樣有違節能環保的要求,也增加了不必要的浪費。發明內容
要解決的技術問題
為了避免現有技術的不足之處,本發明提出一種實現嵌套式的看門狗電路及其喂狗信號的傳送方法,利用每個處理器的自身功能,為其他處理器做外部看門狗,實現看門狗嵌套,同時保證了處理器之間的通信質量。
技術方案
—種實現嵌套式的看門狗電路,其特征在于包括核心處理器和n+1個處理器;第一個處理器為核心處理器,以兩條通信線與下一級處理器相聯接;最后一級處理器以兩條通信線與看門狗芯片連接;核心處理器與看門狗芯片之間的η個處理器兩兩之間,采用兩條通信線相聯接;所述兩條通信線其中的一條為這兩個處理器各自的一個I/O互連,另一條是處理器i+Ι的I/O 口與處理器i的復位引腳相連;所述各處理器負責發送復位信號的 I/O引腳在該處理器中的復位狀態設置為高電平輸出。
一種利用所述看門狗電路的實現喂狗信號的傳送方法,其特征在于如下
當第i個處理器在各功能正常工作的狀態下,按照兩個處理器協調的喂狗信號的時間,通過對外I/o 口給第i+Ι個處理器發送喂狗信號;第i+Ι個處理器接收信號后,不給它的上一級處理器發送復位信號,這兩個處理器在此時都正常工作,對外功能均正常;
當第i個處理器在各功能正常工作的狀態下,沒有按照兩個處理器協調的喂狗信號的時間,通過對外I/o 口給第i+Ι個處理器發送喂狗信號;第i+Ι個處理器按照與第i個處理器協商好的時間發送復位信號給處理器i,使得處理器i復位。
所述喂狗信號是正脈沖或者負脈沖。
所述喂狗信號的脈沖為等間隔或不等間隔。
所述喂狗信號的脈沖時間根據相鄰的兩個處理器協調決定。
有益效果
本發明提出的一種實現嵌套式的看門狗電路及其喂狗信號的傳送方法,依次層層嵌套,實現嵌套式看門狗系統。整個系統在運行的過程當中,在所有的處理器中,如果有一個處理器出現了程序運行故障,那么它的下一級的處理器就會給它一個復位信號。因此,本發明具有很好的系統穩定性,同時具有很強的適用性、實用性和經濟性。
圖I :實現嵌套式的看門狗電路原理圖;核心處理器為系統中負責主要功能和核心數據處理的數據處理單元,處理器I N是與核心處理器相互協同工作的數據處理單元; 專用硬件電路看門狗為一種專用外部看門狗電路或者芯片。
具體實施方式
現結合實施例、附圖對本發明作進一步描述
實施例附見圖1嵌套式看門狗電路附圖,所描述的1的取值范圍是1=1,2,一4-1。
由附圖可見,處理器I做核心處理器的外部看門狗,核心處理器在對系統各功能正常工作的狀態下,通過對外I/o 口給處理器I定時發送喂狗信號。此處的‘定時’是指按照核心處理器程序運行所需要的時間及處理器I接收喂狗信號時間間隔的能力而協調設定的一個固定或者可變的時間段,該時間段的靈活性比較大,完全可由核心處理器和充當看門狗的處理器共同協商決定。處理器I各功能正常工作時在接收到喂狗信號以后,根據自身編程設定的狀態不對核心處理器做復位動作。當處理器I在規定的時間內沒有收到核心處理器的喂狗信號時,它就會給核心處理器發出復位信號,該信號的持續時間為足以使核心處理器復位的時間,由具體時間核心處理器的型號決定。
中間級的第I個到第N處理器之間的關系可描述為第i+Ι個處理器充當第i個處理器的外部看門狗。關于喂狗信號的定時時間設定也是根據第i個處理器程序運行的情況及第i+ι個處理器的接收能力來協調設定,可固定也可變,靈活性比較大。充當看門狗的第i+Ι個處理器在沒有接收到喂狗信號的時候給第i個處理器發送復位信號持續時間的長短也是由第i個處理器所需復位時間決定的,這個持續時間是保證第i個處理器在接收到復位信號是能夠復位。
最后一級為專用硬件看門狗電路或芯片,它有專門的復位信號輸出端和喂狗信號輸入端;它作為處理器N的外部看門狗,由處理器N給它定時發送喂狗信號,它來監控第N 個處理器的程序運行情況。此處喂狗信號發送的時間間隔由專用硬件看門狗芯片的選取或該電路的設計相關,同時也要配合處理器N的程序運行情況。
對于處理器及充當該處理器外部看門狗的處理器及最外層專用硬件電路看門狗, 其運行方式為
I、第i+Ι個處理器做第i個處理器的外部看門狗,第i個處理器在各功能正常工作的狀態下,通過對外I/o 口給第i+Ι處理器發送喂狗信號,該喂狗信號可以是等間隔的正脈沖或者負脈沖,也可以是不等間隔的,具體時間有這兩個處理器協調決定。
2、當喂狗信號按照兩個處理器協商好的時間間隔發送到充當看門狗的第i+Ι個處理器相應的I/o 口時,該處理器將接收到的信號進行編程處理,使其不給它的上一級處理器發送復位信號,這兩個處理器在此時都正常工作,對外功能均正常。
3、當第i個處理器沒有按照它與第i+Ι個處理器規定好的時間間隔給第i+Ι個處理器發送喂狗信號時,充當看門狗的第i+Ι個處理器就會按照它與第i個處理器協商好的時間發送復位信號給第i個處理器,使得第i個處理器復位。
4、第i個處理器復位以后,又回到了第I種情況。之后第i個處理器和第i+Ι個處理器在進行各自的判斷并繼續執行第2和第3種情況,以此方式使得整個系統各處理器得到監控,并且是系統各功能均正常運作。
需要注意的問題有以下幾點
I、處理器i和充當該處理器的處理器i+Ι之間只有兩條通信線。一條為這兩個處理器各自的一個I/o互連,用來由處理器i向處理器i+Ι發送喂狗信號;另一條是處理器 i+Ι的I/O 口與處理器i的復位引腳相連,用來由處理器i+Ι向處理器i發送復位信號。
2、處理器i和處理器i+Ι之間的通信,包括喂狗信號的發送與接收及復位信號的發送與接收,只與這兩個處理器有關系,與系統中其他的處理器沒有任何關系。并且通信的時間間隔及時間長短是根據這兩個處理器的程序運行情況和其自身的資源而具體設定的, 與其他外界因素無關。
3、為了不影響其他處理器的工作,系統中各處理器負責發送復位信號的I/O引腳在該處理器中的復位狀態應設置為高電平輸出。保證該引腳只受控于該處理器接收到的喂狗信號。
權利要求
1.一種實現嵌套式的看門狗電路,其特征在于包括核心處理器和n+1個處理器;第一個處理器為核心處理器,以兩條通信線與下一級處理器相聯接;最后一級處理器以兩條通信線與看門狗芯片連接;核心處理器與看門狗芯片之間的η個處理器兩兩之間,采用兩條通信線相聯接;所述兩條通信線其中的一條為這兩個處理器各自的一個I/O互連,另一條是處理器i+Ι的I/O 口與處理器i的復位引腳相連;所述各處理器負責發送復位信號的I/ O引腳在該處理器中的復位狀態設置為高電平輸出。
2.一種利用權利要求I所述看門狗電路的實現喂狗信號的傳送方法,其特征在于如下當第i個處理器在各功能正常工作的狀態下,按照兩個處理器協調的喂狗信號的時間,通過對外I/O 口給第i+Ι個處理器發送喂狗信號;第i+Ι個處理器接收信號后,不給它的上一級處理器發送復位信號,這兩個處理器在此時都正常工作,對外功能均正常;當第i個處理器在各功能正常工作的狀態下,沒有按照兩個處理器協調的喂狗信號的時間,通過對外I/O 口給第i+Ι個處理器發送喂狗信號;第i+Ι個處理器按照與第i個處理器協商好的時間發送復位信號給處理器i,使得處理器i復位。
3.根據權利要求2所述傳送方法,其特征在于所述喂狗信號是正脈沖或者負脈沖。
4.根據權利要求2或3所述傳送方法,其特征在于所述喂狗信號的脈沖為等間隔或不等間隔。
5.根據權利要求3或4所述傳送方法,其特征在于所述喂狗信號的脈沖時間根據相鄰的兩個處理器協調決定。全文摘要
本發明涉及一種實現嵌套式的看門狗電路及其喂狗信號的傳送方法,其特征在于包括核心處理器和n+1個處理器;第一個處理器為核心處理器,以兩條通信線與下一級處理器相聯接;最后一級處理器以兩條通信線與看門狗芯片連接;核心處理器與看門狗芯片之間的n個處理器兩兩之間,采用兩條通信線相聯接;所述兩條通信線其中的一條為這兩個處理器各自的一個I/O互連,另一條是處理器i+1的I/O口與處理器i的復位引腳相連;所述各處理器負責發送復位信號的I/O引腳在該處理器中的復位狀態設置為高電平輸出。本發明依次層層嵌套,實現嵌套式看門狗系統。具有很好的系統穩定性,同時具有很強的適用性、實用性和經濟性。
文檔編號G06F11/00GK102981918SQ201210483408
公開日2013年3月20日 申請日期2012年11月23日 優先權日2012年11月23日
發明者楊龍龍, 李寒 申請人:西安坤藍電子技術有限公司