基于CPLD的系統硬件看門狗設計

圖3為狀態轉移圖。在任意狀態時如果EN使能信號被禁止,則狀態機進入IDLE狀態。在圖上不一一標出EN的條件轉移曲線。系統上電復位后進入WAIT狀態,等待NUM3時間使DSP完成初始化;進入IDLE狀態,如使能看門狗功能;進入ADDING狀態累加計時,如果在限定時間NUM1內監測到喂狗信號,表明程序運行正常,返回IDLE狀態等待下一次喂狗信號,如果超過NUM1未收到喂狗信號,認為程序已經跑飛,進入EEROR狀態;EEROR狀態中輸出復位信號并清零計數器;進入KEEPING狀態,使低電平保持一段時間NUM2,這段時間超過DSP所需的復位時間即可;進入WAIT狀態,復位后重新等待DSP完成初始化,循環往復。
3 基于CPLD的硬件看門狗的仿真與驗證
3.1 功能仿真
使用Modelsim軟件進行功能仿真,可以看出EN信號和WDT(喂狗信號)的變化對SYS_RST輸出的影響。編寫測試文件對EN使能、禁止,WDT信號喂狗間隔小于、大于定時器溢出上限,以及不喂狗等情況進行仿真。

仿真波形1如圖4所示。EN處于使能狀態,WDT在限定時間內有邊沿變化時,對應的移位寄存器也發生變化,使WDT_flag[2]!=WDT_flag[0],喂狗成功,不會輸出復位信號;存SYS_RST第二個低電平處,對應的WDT超過了限定時間沒有變化,故輸出復位信號。

















評論