新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于CPLD的系統硬件看門狗設計

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

        作者: 時間:2012-05-03 來源:網絡 收藏

        2.2 DSP上電過程及復位時序分析
        DSP上電初始化時序如圖2所示。WDT是喂狗信號輸出,在定時器中斷或主循環中使其電平周期性取反;RST是上電復位信號。Trst是上電復位信號的脈寬,約為100 ms;Twork是從上電時到首次進入定時器中斷程序的時間,約為130 ms。在主程序中首先使WDT輸出低電平,則從上電復位完成到WDT變為低電平的時間A為DSP復位后自身的各項配置所占用的時間。在定時器中每次取反WDT信號,則到WDT第一次變為高電平的時間B為各軟件模塊及中斷初始化所占用的時間。A+B為系統初始化所用的時間,約為30ms。

        本文引用地址:http://www.104case.com/article/190434.htm

        e.JPG


        由此可見,如果系統程序跑飛,則每次復位都要經過A、B兩個過程,約30 ms的時間;那么在軟件的模塊中,每次在給出復位信號后都要等待DSP的初始化完成(約30 ms)后再開始對喂狗信號監測并計時。
        選擇定時器溢出上限以5ms為例,從程序跑飛到重新正常運行大約35 ms。設定控制系統給伺服發送控制指令信號的周期是20 ms,伺服機構常態速度10°/s,最大速度是20°/s,20 ms的時間擺動的角度是0.2°和0.4°,該角度是其控制姿態的最小步長,因此35 ms以內的熱復位時間最多丟失兩條指令,伺服機構在可控范同之內。此外,軟件代碼還有一定的優化余量,初始化時間和定時器溢出上限還可進一步減少。
        2.3 看門狗設計要考慮的幾點問題
        ①喂狗方式:可分為電平喂狗和邊沿喂狗,本設計采用后者。與電平喂狗相比較,邊沿喂狗在狀態機的設計中可以減少狀態數量,從而節省資源,且DSP的喂狗也很容易,只要取反WDT電平,就可被認為已喂狗,簡化軟件代碼。
        ②定時器溢出上限:根據具體需要靈活設定,這里暫定5 ms。
        ③輸出系統復位信號脈寬:這里只要超過DSP所需的512個時鐘周期即可,以30 MHz品振為例,時長約為171μs。
        ④系統上電初始化時間:系統上電復位后DSP需要一斷時間初始化,而這段時間內不能喂狗,所以不能檢測是否有喂狗信號,否則會造成連續的錯誤復位,使DSP無法正常工作,因此在CPLD代碼設計時需要越過初始化階段再去檢測喂狗信號。
        ⑤與主控芯片的摒手信號:根據系統任務需求,可增加與主控芯片的握手信號。例如,當主控芯片需要實現總線寫程序功能時,對DSP片內的Flash進行寫操作,此時不能對DSP進行復位,DSP也無法輸出喂狗信號,這就需要在總線寫程序之前通過總線與CPLD實現握手與應答,關閉看門狗功能,程序寫入完成后系統重新加電即可正常工作。為了簡化功能描述,本設計術加入握手設計。
        2.4 看門狗狀態機的設計
        此設計采用Mealy型狀態機,使用Verilog HDL語言編寫代碼,信號、寄存器說明如下所示:Count,時間計數器;NUM1,定時器溢出上限(5 ms);NUM2,輸出復位脈沖寬度(大丁171μs);NUM3,上電復位后等待DSP初始化的時間(30 ms);WDT_fiag,3位寬移位寄存器,接收喂狗信號,比較首未位是否相等來判斷是否有喂狗信號;SYS_RST,看門狗輸出的系統復位信號;WAIT、IDLE、ADDING、ERROR、KEEPING,狀態機的5個狀態;EN,看門狗功能使能信號,高電平禁止,低電平使能。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 柏乡县| 溧水县| 洪泽县| 义马市| 河北区| 万盛区| 平山县| 永昌县| 任丘市| 鄂托克前旗| 宜春市| 辉县市| 武安市| 新营市| 延庆县| 乌拉特后旗| 夏津县| 利津县| 霍邱县| 石景山区| 壶关县| 永宁县| 百色市| 辉县市| 东乡族自治县| 搜索| 建水县| 茶陵县| 滦平县| 项城市| 井陉县| 长葛市| 工布江达县| 登封市| 仙居县| 衡阳县| 田东县| 丘北县| 米林县| 荔波县| 基隆市|