寧東平,張志強(qiáng),黃 茨
(中科芯集成電路有限公司,江蘇無錫 214072)
近年來,由于集成電路行業(yè)嚴(yán)峻的國際形勢,應(yīng)用在各個(gè)領(lǐng)域的板卡對芯片國產(chǎn)化和自主知識(shí)產(chǎn)權(quán)的需求日益增加[1]。裝載操作系統(tǒng)的國產(chǎn)CPU[2]板卡在各個(gè)領(lǐng)域應(yīng)用廣泛,運(yùn)行操作系統(tǒng)時(shí),CPU 的工作會(huì)受到外界因素干擾,造成自身寄存器和內(nèi)存數(shù)據(jù)混亂,導(dǎo)致程序出錯(cuò),使整個(gè)系統(tǒng)無法正常工作。看門狗電路用于監(jiān)視系統(tǒng)運(yùn)行情況,一旦出現(xiàn)異常,輸出復(fù)位信號(hào),復(fù)位整個(gè)系統(tǒng)。
目前,應(yīng)用的看門狗電路包括軟件看門狗電路[3-4]和采用復(fù)位芯片的看門狗電路[5-6]兩類。軟件看門狗的工作原理是在CPU 中采用內(nèi)部定時(shí)器,通過程序初始化寫入初值,設(shè)定溢出時(shí)間,在規(guī)定時(shí)間內(nèi)定時(shí)器未被賦值,則會(huì)復(fù)位系統(tǒng)。在系統(tǒng)啟動(dòng)階段或者運(yùn)行階段,若出現(xiàn)CPU 完全死機(jī)的情況,軟件看門狗無法進(jìn)行復(fù)位操作。采用復(fù)位芯片的看門狗電路是在CPU 看門狗與CPU 復(fù)位管腳之間增加復(fù)位芯片。復(fù)位芯片的溢出時(shí)間都比較短,在溢出時(shí)間內(nèi)沒有喂狗信號(hào)則會(huì)輸出復(fù)位信號(hào)[7]。在系統(tǒng)未加載完成的時(shí)候CPU 無法輸出喂狗信號(hào),會(huì)造成復(fù)位芯片頻繁輸出復(fù)位信號(hào),進(jìn)而導(dǎo)致CPU 無法啟動(dòng)。因此,本文提出了一種新型的復(fù)位電路。
在國產(chǎn)化板卡中應(yīng)用的CPU 廠商主要包含3 類:第一類是IP 內(nèi)核授權(quán)模式,例如兆芯、海光;第二類是指令集架構(gòu)授權(quán)模式,例如飛騰、華為;第三類是授權(quán)加自主研制模式,例如龍芯、申威。第三類模式后期自主研發(fā),完全自主可控[8-9]。龍芯CPU 處理器主要用于網(wǎng)絡(luò)、平板電腦以及工控等領(lǐng)域[10],其應(yīng)用的最小系統(tǒng)框圖如圖1 所示。
圖1 CPU 應(yīng)用的最小系統(tǒng)
龍芯CPU 運(yùn)行操作系統(tǒng)啟動(dòng)時(shí)間約為4 s,在系統(tǒng)啟動(dòng)階段需要進(jìn)行延時(shí)喂狗。本文提出了一種新型的復(fù)位系統(tǒng)設(shè)計(jì)方案,結(jié)構(gòu)框圖如圖2 所示,主要由看門狗、定時(shí)器及緩存器等組成。
圖2 復(fù)位系統(tǒng)結(jié)構(gòu)
看門狗采用的芯片為MAX706,能夠?qū)崿F(xiàn)上電復(fù)位、看門狗定時(shí)器溢出、電源欠壓警告、電源欠壓復(fù)位以及外部硬件復(fù)位等功能,看門狗的典型溢出時(shí)間約為1.6 s。
定時(shí)器采用的芯片為NA555,能夠簡便地構(gòu)成施密特觸發(fā)器、單穩(wěn)態(tài)觸發(fā)器以及多諧振蕩器。NA555廣泛應(yīng)用于波形的產(chǎn)生與變換、測量與控制、家用電器等領(lǐng)域。定時(shí)器NA555 的真值表如表1 所示。
表1 定時(shí)器NA555 的真值表
緩沖器采用的芯片為74LVC1G125,其具有三態(tài)控制,真值表如表2 所示。
表2 緩沖器74LVC1G125 的真值表
在CPU 系統(tǒng)啟動(dòng)階段,復(fù)位系統(tǒng)利用定時(shí)器NA555 延時(shí)輸出高低電平,使能緩沖器74LVC1G125的輸出,從而延時(shí)使能看門狗MAX706 的硬件復(fù)位,實(shí)現(xiàn)延時(shí)喂狗。在系統(tǒng)加載完成后,CPU 輸出喂狗信號(hào)??撮T狗MAX706 正常運(yùn)行,監(jiān)控系統(tǒng)運(yùn)行的狀態(tài)。復(fù)位系統(tǒng)的電路設(shè)計(jì)如圖3 所示。ACPI_SYSRSTN 為CPU(U4)的復(fù)位信號(hào),用于系統(tǒng)復(fù)位。WDO_A 為看門狗MAX706(U3)的溢出輸出信號(hào)。在看門狗典型溢出時(shí)間1.6 s 內(nèi)若WDI 端口無喂狗信號(hào)CPU_RST_WDI輸入,WDO_A 為低電平,否則為高電平。WDO_B 為MAX706(U3)的外部復(fù)位輸入信號(hào),當(dāng)WDO_B 為低電平時(shí),看門狗的RESET 端口輸出低電平,使復(fù)位信號(hào)ACPI_SYSRSTN 變?yōu)榈碗娖?,?fù)位整個(gè)系統(tǒng)。
圖3 復(fù)位系統(tǒng)的電路設(shè)計(jì)
在CPU 系統(tǒng)啟動(dòng)階段,定時(shí)器U1引腳TRI 的電壓VTRI<1/3 VCC,引腳VO 輸出高電平。此時(shí),引腳THR因外接RC 充放電路(由R1與C1組成),其電壓VTHR不能突變。當(dāng)VTHR<2/3 VCC且VTRI>1/3 VCC時(shí),引腳VO保持輸出高電平。當(dāng)RC 電路充電完成后,VTRI>1/3 VCC,引腳VO 輸出低電平。緩沖器U2的使能引腳OE 連接至定時(shí)器U1的VO 引腳,當(dāng)OE 為高電平時(shí),WDO_A 與WDO_B 斷開,禁止看門狗硬件復(fù)位;當(dāng)OE 為低電平時(shí),WDO_A 與WDO_B 連接,使能看門狗硬件復(fù)位。復(fù)位系統(tǒng)的功能如表3 所示。
表3 復(fù)位系統(tǒng)功能
通過改變定時(shí)器NA555 的THR 引腳RC 充放電路的電阻(R1)和電容(C1),可以調(diào)整硬件復(fù)位使能的時(shí)間。
通過電路設(shè)計(jì)與功能說明后,對復(fù)位系統(tǒng)進(jìn)行原理驗(yàn)證板卡測試驗(yàn)證。原理驗(yàn)證板卡如圖4 所示,硬件測試平臺(tái)由原理驗(yàn)證板、直流電源、萬用表與示波器組成。在驗(yàn)證板供電之前,用萬用表測試板卡上各個(gè)電源,確保無短路現(xiàn)象。在驗(yàn)證板卡供電后,用萬用表測試各個(gè)電源,確保其電壓值滿足系統(tǒng)要求。在保證各個(gè)電壓正常后,CPU 正常啟動(dòng)。此時(shí),采用示波器捕捉關(guān)鍵信號(hào)的波形,驗(yàn)證復(fù)位系統(tǒng)原理的正確性。
圖4 原理驗(yàn)證板
在CPU 系統(tǒng)啟動(dòng)階段,使用示波器探頭分別測試定時(shí)器NA555 的VO 引腳電壓VVO(VOE)與緩沖器74LVC1G125 的Y 引腳電壓VWDO_B波形,測試波形如圖5 所示。從測試波形得出,板卡上電時(shí),VVO(VOE)為高電平,緩存器使能無效,信號(hào)WDO_A 與WDO_B斷開;緩沖器74LVC1G125 的Y 引腳被上拉至電源電壓,其電壓VWDO_B為高電平,禁止看門狗MAX706 外部硬件復(fù)位。大約3.8 s 后,定時(shí)器的THR 引腳充電完成,其VVO(VOE)為低電平,緩沖器使能。信號(hào)WDO_A與WDO_B 連接,使能看門狗MAX706 的外部硬件復(fù)位。此時(shí),CPU 加載系統(tǒng)完成,輸出喂狗信號(hào)CPU_RST_WDI,保持看門狗信號(hào)WDO 為高電平。
圖5 VVO(VOE)與VWDO_B 測試波形
在CPU 系統(tǒng)啟動(dòng)階段,使用示波器探頭測試看門狗MAX706 的引腳MR 電壓VWDO_B與引腳RESET 電壓VACPI_SYSRSTN波形,測試波形如圖6 所示。從測試波形得出,CPU 加載系統(tǒng)過程中VWDO_B與VACPI_SYSRSTN保持高電平。在系統(tǒng)加載完成后,CPU 輸出喂狗信號(hào),VWDO_B與VACPI_SYSRSTN一直保持高電平;若喂狗信號(hào)出現(xiàn)異常,看門狗輸出復(fù)位,VWDO_B變?yōu)榈碗娖?。CPU被復(fù)位,重新加載系統(tǒng)。
圖6 VWDO_B 與VACPI_SYSRSTN 測試波形
在CPU 系統(tǒng)啟動(dòng)階段,裝載操作系統(tǒng)國產(chǎn)化板卡需要延時(shí)喂狗。因此,本研究設(shè)計(jì)了一種由看門狗、定時(shí)器以及緩沖器等組成的新型復(fù)位系統(tǒng),通過電路設(shè)計(jì)、功能說明以及原理驗(yàn)證板卡的測試驗(yàn)證表明,在CPU 系統(tǒng)啟動(dòng)階段,設(shè)計(jì)的復(fù)位系統(tǒng)斷開看門狗溢出輸出端與外部復(fù)位輸入端的連接;在看門狗輸入無翻轉(zhuǎn)信號(hào)時(shí),復(fù)位信號(hào)ACPI_SYSRSTN 保持高電平,不會(huì)復(fù)位CPU;在系統(tǒng)加載完成后,CPU 輸出喂狗信號(hào)。此時(shí),看門狗溢出輸出端與外部信號(hào)輸入端連接,看門狗正常工作,監(jiān)控整個(gè)系統(tǒng)的運(yùn)行情況。綜上所述,在CPU 系統(tǒng)啟動(dòng)階段,設(shè)計(jì)的復(fù)位系統(tǒng)能夠?qū)崿F(xiàn)延時(shí)喂狗的功能。依托裝載操作系統(tǒng)國產(chǎn)化板卡的應(yīng)用,經(jīng)過大量測試,該復(fù)位系統(tǒng)均能滿足要求且可靠性高。通過調(diào)整參數(shù),復(fù)位系統(tǒng)可以滿足不同CPU 加載系統(tǒng)的時(shí)間要求。目前,各個(gè)領(lǐng)域應(yīng)用的板卡對國產(chǎn)化需求日益增加,復(fù)位系統(tǒng)的應(yīng)用前景非常廣闊。