基于CPLD的系統硬件看門(mén)狗設計
圖3為狀態(tài)轉移圖。在任意狀態(tài)時(shí)如果EN使能信號被禁止,則狀態(tài)機進(jìn)入IDLE狀態(tài)。在圖上不一一標出EN的條件轉移曲線(xiàn)。系統上電復位后進(jìn)入WAIT狀態(tài),等待NUM3時(shí)間使DSP完成初始化;進(jìn)入IDLE狀態(tài),如使能看門(mén)狗功能;進(jìn)入ADDING狀態(tài)累加計時(shí),如果在限定時(shí)間NUM1內監測到喂狗信號,表明程序運行正常,返回IDLE狀態(tài)等待下一次喂狗信號,如果超過(guò)NUM1未收到喂狗信號,認為程序已經(jīng)跑飛,進(jìn)入EEROR狀態(tài);EEROR狀態(tài)中輸出復位信號并清零計數器;進(jìn)入KEEPING狀態(tài),使低電平保持一段時(shí)間NUM2,這段時(shí)間超過(guò)DSP所需的復位時(shí)間即可;進(jìn)入WAIT狀態(tài),復位后重新等待DSP完成初始化,循環(huán)往復。
3 基于CPLD的硬件看門(mén)狗的仿真與驗證
3.1 功能仿真
使用Modelsim軟件進(jìn)行功能仿真,可以看出EN信號和WDT(喂狗信號)的變化對SYS_RST輸出的影響。編寫(xiě)測試文件對EN使能、禁止,WDT信號喂狗間隔小于、大于定時(shí)器溢出上限,以及不喂狗等情況進(jìn)行仿真。
仿真波形1如圖4所示。EN處于使能狀態(tài),WDT在限定時(shí)間內有邊沿變化時(shí),對應的移位寄存器也發(fā)生變化,使WDT_flag[2]!=WDT_flag[0],喂狗成功,不會(huì )輸出復位信號;存SYS_RST第二個(gè)低電平處,對應的WDT超過(guò)了限定時(shí)間沒(méi)有變化,故輸出復位信號。
評論