數(shù)據(jù)處理模塊的看門(mén)狗設(shè)計(jì)實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
0引言
HKSP6102處理器是一款以PPC460處理器為核心,集成浮點(diǎn)處理單元、二級(jí)Cache,對(duì)外提供以太網(wǎng)、EBC等外設(shè)接口的高性能、低功耗的單核處理器,廣泛應(yīng)用于各類嵌入式計(jì)算機(jī)系統(tǒng)中[1]。
在嵌入式計(jì)算機(jī)系統(tǒng)中,通常采用看門(mén)狗來(lái)實(shí)現(xiàn)系統(tǒng)運(yùn)行狀態(tài)的監(jiān)控,提高產(chǎn)品可靠性??撮T(mén)狗是一種系統(tǒng)錯(cuò)誤事件的檢測(cè)響應(yīng)機(jī)制,通過(guò)軟件或硬件的方式實(shí)現(xiàn)對(duì)系統(tǒng)運(yùn)行狀態(tài)的監(jiān)控,如果在設(shè)定時(shí)間內(nèi)未收到來(lái)自系統(tǒng)軟件的喂狗信號(hào),則認(rèn)為系統(tǒng)軟件發(fā)生故障[2],進(jìn)入中斷處理程序或系統(tǒng)強(qiáng)制復(fù) 位,以保證系統(tǒng)發(fā)生錯(cuò)誤時(shí)能夠及時(shí)恢復(fù)正常運(yùn)行[3—4]。
本文給出了一種數(shù)據(jù)處理模塊的看門(mén)狗電路設(shè)計(jì)和實(shí)現(xiàn)方法。首先介紹了數(shù)據(jù)處理模塊的系統(tǒng)架構(gòu),以HKSP6102為主控芯片,配置多種接口電路;然后分析了通用看門(mén)狗的設(shè)計(jì)方法及其特點(diǎn);最后詳細(xì)介紹了數(shù)據(jù)處理模塊看門(mén)狗的設(shè)計(jì)實(shí)現(xiàn)。
1數(shù)據(jù)處理模塊系統(tǒng)結(jié)構(gòu)
數(shù)據(jù)處理模塊的處理器、CPLD、存儲(chǔ)單元等核心器件均采用國(guó)產(chǎn)元器件,操作系統(tǒng)采用天脈操作系統(tǒng)。采用一片HKSP6102處理器作為主控芯片,PPC406內(nèi)核配置主頻400MHz,存儲(chǔ)資源配置:SDRAM、 FLASH和NVSRAM。硬件組成結(jié)構(gòu)如圖1所示。
數(shù)據(jù)處理模塊通過(guò)CPLD實(shí)現(xiàn)處理器EBC總線的邏輯譯碼、中斷控制以及看門(mén)狗定時(shí)器、RS422控制、PCI控制等功能。數(shù)據(jù)處理模塊提供2路百兆以太 網(wǎng)接口、2路RS422串行接口用于模塊的調(diào)試維護(hù),提供1路PCI總線、1路SPI總線接口,實(shí)現(xiàn)與從設(shè)備的數(shù)據(jù)交互。
2看門(mén)狗設(shè)計(jì)
通用看門(mén)狗大致分為兩類:處理器內(nèi)置看門(mén)狗和外置看門(mén)狗[5]。
2.1處理器內(nèi)置看門(mén)狗
主流的處理器(如PowerPC、ARM等)內(nèi)部均集成了看門(mén)狗模塊。HKSP6102處理器集成的看門(mén)狗模塊,具有32位計(jì)數(shù)器、定時(shí)周期可配置、狗叫中斷模式/復(fù)位模式可配置、計(jì)時(shí)精度高的特點(diǎn),如果使用得當(dāng),可在系統(tǒng)軟件崩潰時(shí)恢復(fù)運(yùn)行。但看門(mén)狗模塊可能會(huì)因處理器異常而被意外禁用,導(dǎo)致看門(mén)狗功能失效,需重新上電恢復(fù)系統(tǒng)運(yùn)行[5]。
2.2 外置看門(mén)狗
2.2.1微處理器監(jiān)測(cè)電路
微處理器監(jiān)測(cè)電路用于監(jiān)測(cè)微處理器系統(tǒng)中的電壓,同時(shí)提供復(fù)位、看門(mén)狗等功能。微處理器監(jiān)測(cè)電路的看門(mén)狗設(shè)計(jì)原理如圖2所示。
#WDO:看門(mén)狗輸出端即狗叫中斷源,接入處理器的GPIO或CPLD中斷控制邏輯中。在看門(mén)狗定時(shí)周期內(nèi)未接收到喂狗信號(hào),模塊看門(mén)狗使能有效。
WDI:看門(mén)狗輸入端,接收看門(mén)狗喂狗信號(hào),由看門(mén)狗喂狗寄存器控制。喂狗信號(hào)通過(guò)軟件置位寄存器值,初始化寄存器,使看門(mén)狗重新開(kāi)始計(jì)數(shù),實(shí)現(xiàn)喂狗操作。如果WDI保持高電平或低電平超過(guò)看門(mén)狗的定時(shí)周期1.6 S,#WDO將產(chǎn)生中斷信號(hào)。
看門(mén)狗電路的默認(rèn)定時(shí)周期為1.6S,可以通過(guò)SWT 管腳接外接電容的方式來(lái)設(shè)定看門(mén)狗的定時(shí)周期。外接電容的容值范圍為4.7~20 nF。SWT外接片外電容C(單位為nF)時(shí),看門(mén)狗定時(shí)周期T(單位為mS)的計(jì)算公式為:
T=2.1C
硬件看門(mén)狗電路設(shè)計(jì)簡(jiǎn)單,依賴于微處理器監(jiān)測(cè)電路,僅具有基礎(chǔ)的看門(mén)狗功能。微處理器監(jiān)測(cè)電路參數(shù)設(shè)置不靈活,定時(shí)周期配置需進(jìn)行硬件變更,且定時(shí)周期精度因受限于配置電容的容值而較低。
2.2.2可編程看門(mén)狗定時(shí)器
可編程看門(mén)狗定時(shí)器由CPLD/FPGA邏輯實(shí)現(xiàn),定時(shí)周期可配置。可編程看門(mén)狗定時(shí)器支持8位、16位、32位的數(shù)據(jù)訪問(wèn),支持狗叫產(chǎn)生中斷或復(fù)位。系統(tǒng)軟件通過(guò)總線對(duì)邏輯內(nèi)部的看門(mén)狗寄存器進(jìn)行訪問(wèn),完成初始化參數(shù)配置、使能、喂狗等操作,實(shí)現(xiàn)看門(mén)狗定時(shí)器的正常工作??撮T(mén)狗定時(shí)器超時(shí)產(chǎn)生看門(mén)狗中斷,中斷信號(hào)發(fā)送處理器,處理器對(duì)中斷信號(hào)進(jìn)行處理,同一時(shí)刻看門(mén)狗定時(shí)器重新計(jì)時(shí);如果處理器未對(duì)中斷信號(hào)進(jìn)行處理,經(jīng)由延時(shí)邏輯作用觸發(fā)自動(dòng)復(fù)位??删幊炭撮T(mén)狗定時(shí)器設(shè)計(jì)原理如圖3所示。
可編程看門(mén)狗定時(shí)器設(shè)計(jì)復(fù)雜度高,但具有功能豐富、配置靈活、使用簡(jiǎn)便的優(yōu)點(diǎn)。可編程看門(mén)狗定時(shí)器除硬件看門(mén)狗的基本功能外,還具有看門(mén)狗狗叫次數(shù)配置、看門(mén)狗定時(shí)周期支持軟件配置、定時(shí)周期精度高、空中狀態(tài)看門(mén)狗自使能等功能。
3數(shù)據(jù)處理模塊看門(mén)狗設(shè)計(jì)實(shí)現(xiàn)
數(shù)據(jù)處理模塊配置有一路看門(mén)狗,為外置看門(mén)狗,通過(guò)微處理器監(jiān)控電路和可編程看門(mén)狗定時(shí)器組合實(shí)現(xiàn)。數(shù)據(jù)處理模塊看門(mén)狗設(shè)計(jì)原理如圖4所示。
3.1 可編程看門(mén)狗定時(shí)器
實(shí)現(xiàn)數(shù)據(jù)處理模塊的看門(mén)狗功能。系統(tǒng)軟件可通過(guò)EBC總線,對(duì)看門(mén)狗寄存器進(jìn)行訪問(wèn)。首先看門(mén)狗進(jìn)行初始化,通過(guò)EBC總線完成分頻因子、狗叫上限等參數(shù)的配置;之后當(dāng)前看門(mén)狗定時(shí)寄存器開(kāi)始遞減計(jì)數(shù),當(dāng)定時(shí)器逐一遞減至。后,看門(mén)狗定時(shí)超時(shí)產(chǎn)生看門(mén)狗中斷,并在狗叫上限寄存器中置“1”,不產(chǎn)生復(fù)位信號(hào),同一時(shí)刻看門(mén)狗定時(shí)寄存器的值被重新載入,開(kāi)始新一輪的遞減計(jì)數(shù);當(dāng)狗叫次數(shù)達(dá)到上限后,觸發(fā)自動(dòng)復(fù)位。
看門(mén)狗寄存器定義如表1所示。
當(dāng)數(shù)據(jù)處理模塊處于空中狀態(tài)時(shí),上電3。S后看門(mén)狗自使能,使能寄存器置“?!?且不能被禁止??撮T(mén)狗使能前支持定時(shí)周期配置,使能后支持喂狗操作。地面狀態(tài),數(shù)據(jù)處理模塊上電后,看門(mén)狗使能寄存器置“1”,可通過(guò)軟件配置定時(shí)周期、使能或關(guān)閉看門(mén)狗和喂狗操作??撮T(mén)狗喂狗寄存器,在超時(shí)值內(nèi)完成喂狗,使看門(mén)狗內(nèi)部定時(shí)器初始化重新開(kāi)始計(jì)數(shù)。狗叫上限寄存器,當(dāng)看門(mén)狗狗叫次數(shù)達(dá)到上限后, 自動(dòng)復(fù)位。
3.2微處理器監(jiān)測(cè)電路
實(shí)現(xiàn)對(duì)可編程看門(mén)狗定時(shí)器的監(jiān)控??删幊炭撮T(mén)狗定時(shí)器喂狗信號(hào)接入看門(mén)狗輸入端WDI。當(dāng) CPLD工作異常未進(jìn)行喂狗操作時(shí),微處理器監(jiān)測(cè)電路#WDO管腳產(chǎn)生狗叫信號(hào),接入#MR管腳,微處理器監(jiān)測(cè)電路產(chǎn)生系統(tǒng)復(fù)位信號(hào),實(shí)現(xiàn)數(shù)據(jù)處理模塊復(fù)位重加載。
4 結(jié)束語(yǔ)
本文基于數(shù)據(jù)處理模塊的基本架構(gòu),詳細(xì)介紹了數(shù)據(jù)處理模塊的看門(mén)狗設(shè)計(jì)方法—微處理器監(jiān)測(cè)電路和可編程看門(mén)狗定時(shí)器組合應(yīng)用?;谖⑻幚砥鞅O(jiān)測(cè)電路的硬件看門(mén)狗實(shí)現(xiàn)簡(jiǎn)單、穩(wěn)定;基于 CPLD的可編程看門(mén)狗定時(shí)器具有良好的通用性、擴(kuò)展性,功能豐富且配置靈活。兩種方式可以靈活組合應(yīng)用,能夠滿足系統(tǒng)需求,有效提高系統(tǒng)的可靠性和抗干擾能力。
[參考文獻(xiàn)]
[1]楊宇科,王保成.基于FPGA和EMIFA的SPI控制器系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2019,27(5):82-86.
[2]王少婭.基于FPGA的SPIIP核設(shè)計(jì)實(shí)現(xiàn)[D].秦皇島:燕山大學(xué),2023.
[3]劉博,強(qiáng)凱,詹思維.PowerPC數(shù)據(jù)處理模塊的看門(mén)狗設(shè)計(jì)[J].航空計(jì)算技術(shù),2019,49(2):105-107.
[4] 王鵬,田海波,吳科,等. 自主可控DCS分散處理單元軟看門(mén)狗的設(shè)計(jì)[J].儀器儀表用戶,2023,30(4):7-11.
[5]鄒國(guó)民.基于CPLD的智能看門(mén)狗設(shè)計(jì)與實(shí)現(xiàn)[J].科技廣場(chǎng),2013(6):55-59.
2025年第1期第12篇