解決工控系統高可靠性的有效技術(shù)
目前,在許多情況下設計人員會(huì )用軟件實(shí)現以往由硬件完成的電路功能,其原因是低成本的微處理器(up)為大家提供了廣泛的選擇。軟件常常是解決問(wèn)題的成本最低、靈活性最高的方案,但它也帶來(lái)一些麻煩 那就是設計人員為了確保系統的可靠性,要進(jìn)行一些額外的軟件測試。如果軟件程序中沒(méi)有代碼錯誤,要求在10000條指令中出錯率不要超過(guò)10處,即其準確率能夠保證千分之一左右,則系統的可靠性就有了保證,然而這實(shí)際上并非易事,從而系統可靠性就不能得到確保。
在臺式機系統中出現導致系統癱瘓的軟件錯誤并不可怕,因為用戶(hù)只需重新啟動(dòng)系統即可,它只會(huì )造成少量數據的丟失。然而,對于運行在工控系統的軟件,系統必須能夠在沒(méi)有人為干預的條件下恢復故障。這一特性在兩種情況下是非常關(guān)鍵的,即一種是高有效性系統,如服務(wù)器、電話(huà)系統以及生產(chǎn)線(xiàn)等,另一種是高可靠性系統,一旦出現錯誤將造成傷害,如汽車(chē)、醫療設備、工業(yè)控制、機器人、自動(dòng)門(mén)等。即使不考慮上述設備應用上的嚴格要求,系統也應在無(wú)需用戶(hù)干預(按下復位鍵或重新上電)的條件下能自動(dòng)從故障狀態(tài)進(jìn)行恢復,這是非常重要和有益的,因為只有這樣才能使用戶(hù)覺(jué)察不到設備內部出現了問(wèn)題。為改善并解決這類(lèi)系統可靠性,人們迫切要尋求出一種簡(jiǎn)單、有效的技術(shù)措施來(lái)以確保此要求的實(shí)現,而應用“看門(mén)狗”技術(shù)和電路,是一種最佳方案。
看門(mén)狗(Watchdog)技術(shù)
看門(mén)狗是一個(gè)計數器,它需要在一定的看門(mén)狗延時(shí)周期內被清零,如果沒(méi)有清零動(dòng)作,看門(mén)狗電路將產(chǎn)生一個(gè)復位信號使系統重新啟動(dòng)或建立—個(gè)非屏蔽中斷(NMl)、執行故障恢復子程序。大多數看門(mén)狗電路是沿觸發(fā),這樣,無(wú)論是上升沿還是下降沿觸發(fā)看門(mén)狗的輸入端(WDl)都能夠清計數器。WDI引腳連接在處理器的一個(gè)I/O口,這條口線(xiàn)由軟件觸發(fā)(圖1)。清看門(mén)狗計數器的命令必須在主程序內(圖2)。如果看門(mén)狗沒(méi)有被清零,復位后軟件將從地址0000(啟動(dòng)程序)開(kāi)始運行。計算主程序的運行時(shí)間往往很困難,因為在此期間可能需要多次調用子程序,調用次數的多少與系統輸入有關(guān)。因此,設計人員常常選擇看門(mén)狗延時(shí)周期遠遠高于所測試到的循環(huán)時(shí)間或計算出的循環(huán)時(shí)間。圖3表示正常工作情況下(看門(mén)狗在延時(shí)周期內被請零)的看門(mén)狗信號和復位信號。圖4中,在看門(mén)狗計數器溢出時(shí)發(fā)生了一次復位,工業(yè)標準的看門(mén)狗電路延時(shí)周期在lOOms至2s范圍內,當然也有些可調節或定制的看門(mén)狗電路能夠覆蓋更寬的延時(shí)范圍 (30ms至幾分鐘)。如果主程序的執行時(shí)間過(guò)長(cháng)(指相對于看門(mén)狗電路而言),設計人員可以在主程序的不同部位多次執行看門(mén)狗觸發(fā)命令,也可以選用看門(mén)狗延時(shí)周期更長(cháng)的器件。




一種防止系統滯留在死循環(huán)的技術(shù)是在主程序的開(kāi)始部分將相應的I/O引腳置為高電平,而在主程序的另一部分將其置為低電平。如果軟件在主程序的起始部分進(jìn)入了死循環(huán), 由于WDI始終保持高電平(圖5),看門(mén)狗將產(chǎn)生延時(shí)輸出、系統被復位。如果采用一個(gè)低—高—低的脈沖(圖2所示),看門(mén)狗將被請零,但系統仍處于阻塞狀態(tài)。為解決這個(gè)問(wèn)題,一種更老練的方法是對程序中的多項任務(wù)進(jìn)行監視,每項任務(wù)設置一個(gè)標志,只有當全部標志置位后看門(mén)狗電路才被觸發(fā)。執行全部任務(wù)的時(shí)間要比看門(mén)狗延時(shí)周期短。雖然圖2和圖5對實(shí)際程序只作了一個(gè)最簡(jiǎn)單的對比,但它表達了與此相應的基本概念。在更復雜的系統中還存在一些潛在問(wèn)題,如存儲器泄漏、堆棧溢出等,系統同樣需要對這些情況進(jìn)行監視,只需通過(guò)合理的程序設計,認真審核代碼或采用專(zhuān)門(mén)的軟件工具也可以解決上述問(wèn)題(在此對這些超出了本文的范圍問(wèn)題不作討論)。

看門(mén)狗電路的應用與選擇
內部看門(mén)狗與外部看門(mén)狗
許多μP(微處理器)集成了可編程看門(mén)狗功能,軟件控制可禁止其工作。內置看門(mén)狗易受代碼錯誤的影響,它無(wú)法提供外部獨立看門(mén)狗電路所具有的保護能力。
在對安全性能要求較高的應用中(如自動(dòng)門(mén)、醫療設備、機器人等),內置看門(mén)狗是無(wú)法接受的,管理層要求采用獨立的外部看門(mén)狗電路。使用外部看門(mén)狗電路降低關(guān)鍵系統的風(fēng)險是一個(gè)很好的習慣。
簡(jiǎn)單的看門(mén)狗+復位
通??撮T(mén)狗延時(shí)將重新復位系統,大多數看門(mén)狗電路與μP復位集成在一起,它同時(shí)可以監視處理器的供電電壓(工廠(chǎng)預設監視電壓為2.5V、3.0V、3.3V或5V)。在出現看門(mén)狗延時(shí)或電源電壓跌落的情況下均可產(chǎn)生復位動(dòng)作(見(jiàn)圖6的 輸出)。 圖6所示的MAX823-MAX825系列產(chǎn)品就包含了這兩種功能,即看門(mén)狗和復位。它們可提供標準的復位電壓門(mén)限、標準的看門(mén)狗延時(shí)周期(最小為1.12s)和復位延遲(最小為140ms),僅消耗6uA電流。這些器件具有超小型SC70封裝。

工廠(chǎng)預置看門(mén)狗系列
MAX6316-MAX6322系列提供了26種工廠(chǎng)預置的復位電壓門(mén)限、4種看門(mén)狗延時(shí)周期(分別為4.3ms、 71ms、1.12s、17.9s)、4種復位延遲(分別為1ms、20ms、140ms、1.12s)以及4種輸出配置(推挽、開(kāi)漏或雙向輸出)。
{{分頁(yè)}}
可用電容調節的看門(mén)狗
如果應用中要求靈活的看門(mén)狗延時(shí)周期,設計人員可以選用可調節電路,MAX6746-MAX6753系列產(chǎn)品既提供了工廠(chǎng)預置的復位電壓門(mén)限,也提供了分壓編程的復位電壓門(mén)限(工廠(chǎng)預設,或可用分壓器R1/R2在1.575V至5V間調節),另外,它們還可以利用外部電容調節看門(mén)狗延時(shí)周期(當電容Cswt為100Pf至100Nf數值時(shí),在700ms至70s范圍內分兩段調節)和復位延遲(預設或用電容Csrt在0.5ms至5s調節)。

其中:復位電壓由分壓器R1/R2決定,復位延遲時(shí)間由電容Csrt設置,看門(mén)狗延時(shí)周期由電容Cswt設置。
設計人員利用如此寬范圍的看門(mén)狗延時(shí)周期可以為任何應用提供解決方案。MAX6301-MAX6304系列基本與MAX6746-MAX6753系列相同,但可提供SO或DIP封裝。
較長(cháng)啟動(dòng)/延時(shí)周期、引腳可選的看門(mén)狗
對于啟動(dòng)過(guò)程較長(cháng)的應用,希望提供兩個(gè)不同的延時(shí)周期:一個(gè)較長(cháng)的初始化延時(shí)周期和一個(gè)較短的正常工作延時(shí)周期。MAX6369—MAX6374系列具有WDI引腳可編程的啟動(dòng)延遲,可選范圍:200ms至60s,以及可在30ms至60s范圍內編程的看門(mén)狗延時(shí)周期。一些版本還提供看門(mén)狗的首次邊沿激活功能,以滿(mǎn)足啟動(dòng)過(guò)程更長(cháng)的應用。在這些芯片中,看門(mén)狗電路在啟動(dòng)過(guò)程中被禁止,來(lái)自μP相關(guān)I/O引腳的第一個(gè)邊沿可激活看門(mén)狗電路。
多電壓監控看門(mén)狗
對于雙電源供電系統,MAX6358-MAX6360系列可以監視兩路標準電壓,并提供長(cháng)啟動(dòng)周期和標準延時(shí)周期的看門(mén)狗;對于三組電源供電或需要高有效和低有效復位輸出的系統,設計人員可以選用MAX6721-MAX6729系列產(chǎn)品,這些器件提供長(cháng)啟動(dòng)周期和標準延時(shí)周期的雙模式看門(mén)狗功能。它們可監視兩路標準的電源電壓(MAX6721-MAX6722)或兩路標準電壓“+”一路可調電壓(MAX6723-MAX6724)。這些器件帶有手動(dòng)復位輸入,電源失效比較器,雙復位輸出和 輸出。
窗式看門(mén)狗提供超高可靠性
為獲得超高的可靠性,設計人員可以利用MAX6323/MAX6324窗式看門(mén)狗電路,使用這些器件時(shí)必須在規定的窗口定時(shí)周期內為看門(mén)狗提供清零脈沖,有效脈沖可以在上次觸發(fā)脈沖1.5ms后送達,也可以在上次觸發(fā)脈沖10ms后到達,利用MAX6323/MAX6324系統可以脫離離散循環(huán),如果清看門(mén)狗指令在循環(huán)內執行,它將發(fā)出一串高速脈沖,這些脈沖可以將常規的看門(mén)狗清零,而且不產(chǎn)生復位。如果利用窗式看門(mén)狗電路則避免了上述問(wèn)題,因為這種器件在兩次看門(mén)狗觸發(fā)脈沖之間要求一定的時(shí)間間隔。這些器件的典型應用包括防抱死(ABS)系統或其它汽車(chē)電路,工業(yè)控制、醫療產(chǎn)品等要求高安全性的應用或對系統有效性要求苛刻的應用。
結論
各種軟件程序都會(huì )出現代碼錯誤,設計人員必須保證系統不出現死鎖。噪聲和EMI也會(huì )影響系統中的數據,導致不可預測的系統動(dòng)作,看門(mén)狗電路是提高系統可靠性的一種簡(jiǎn)單、廉價(jià)方案。利用外部看門(mén)狗電路可以防止系統死鎖,如果WDI信號在規定的看門(mén)狗延時(shí)周期內沒(méi)有被觸發(fā)將對μP進(jìn)行復位。在目前種類(lèi)繁多的看門(mén)狗器件中,設計人員一定能夠找到一款與其需求相吻合的技術(shù)與器件。
“看門(mén)狗”抗干擾新技術(shù)經(jīng)在發(fā)電廠(chǎng)400噸工業(yè)鍋爐爐堂安全控制系統中得到了較好的應用,在現場(chǎng)環(huán)境與電網(wǎng)干擾嚴重的情況下,計算機系統能對各種燃油噴嘴“關(guān)”與“開(kāi)”進(jìn)行實(shí)時(shí)控制,從而保證燃油進(jìn)量的準確性,極大的提高了工業(yè)鍋爐爐堂安全控制系統的可靠性和鍋爐燃燒效率。其最大的成功在于,一改以往一受干擾,計算機系統要人工復位(Reset)并重新啟動(dòng)而突然造成燃油噴嘴“關(guān)”與“開(kāi)”的失控。如今那種嚴重影響工業(yè)鍋爐正常運轉的現象己經(jīng)一去不復返了。實(shí)踐證明該“看門(mén)狗”技術(shù)不失為各類(lèi)工控系統高可靠性有效新技術(shù)。
評論