<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于CPLD的系統硬件看門(mén)狗設計

基于CPLD的系統硬件看門(mén)狗設計

作者: 時(shí)間:2015-04-20 來(lái)源:網(wǎng)絡(luò ) 收藏

  引言

本文引用地址:http://dyxdggzs.com/article/272797.htm

  在以單片機、等處理器為核心的數字系統中,看門(mén)狗是不可缺少的一部分,特別是在對可靠性要求極高的系統中,如箭上伺服控制器,由于箭體內強弱電交叉使用,或者地面測試環(huán)境復雜多變,會(huì )產(chǎn)生諸多干擾和輻射。它們的沖擊會(huì )使CPU在執行指令時(shí)的地址碼或操作碼發(fā)生變化,甚至將操作數作為操作碼執行,導致程序跑飛。為使系統在規定時(shí)間內重新正常工作,一種有效的措施是采用硬件看門(mén)狗技術(shù)。

  本設計的最初思路來(lái)源:實(shí)現高可靠性數字伺服控制器軟、硬件看門(mén)狗的雙冗余設計要求,目前缺少軍品級國產(chǎn)化硬件看門(mén)狗器件,在滿(mǎn)足系統要求的情況下減少元器件的種類(lèi)。

  1 看門(mén)狗技術(shù)的實(shí)現方式

  看門(mén)狗實(shí)現方式可分為以下兩種:

  硬件看門(mén)狗——采用一個(gè)獨立于CPU的定時(shí)器電路或芯片,如MAX706或TPS3823等,周期性地產(chǎn)生復位脈沖,而CPU必須及時(shí)“喂狗”(在復位脈沖發(fā)出前對此定時(shí)器進(jìn)行清零處理),否則看門(mén)狗發(fā)揮作用,復位脈沖會(huì )使CPU重啟。

  軟件看門(mén)狗——利用CPU內部的定時(shí)器中斷替代看門(mén)狗定時(shí)器電路,在中斷程序中復位CPU,這同樣發(fā)揮了看門(mén)狗的作用。但由于CPU中斷存在優(yōu)先級、屏蔽以及中斷自身故障等原因,都可能導致軟件看門(mén)狗工作異常。軟件看門(mén)狗往往采用一些其他軟件設計措施提高其可靠性。

  2 基于的硬件看門(mén)狗設計

  2.1 硬件平臺

  此設計基于箭上數字伺服控制器,以TI公司的TMS320F2812(下面簡(jiǎn)稱(chēng)為)為控制核心,SM1032則用來(lái)實(shí)現對A/D、D/A和1553B總線(xiàn)的片選信號和邏輯控制信號譯碼,并在此基礎上增加了硬件看門(mén)狗功能。與其相關(guān)的電路連接如圖1所示,其中看門(mén)狗使能信號EN與_JTAG電路相連,在DSP下載程序或在線(xiàn)仿真時(shí)可通過(guò)專(zhuān)用的JTAG工裝電纜禁止看門(mén)狗功能,防止看門(mén)狗的誤操作。

  

 

  圖1 TMS3320F2812電路連接圖

  本設計適用于以微控制器與FPGA或聯(lián)合使用的數字控制系統中。利用FPGA或的剩余資源設計看門(mén)狗模塊,相當于硬件看門(mén)狗的一種,其基本功能和特點(diǎn)有:當軟件跑飛且主控芯片內部看門(mén)狗工作異常時(shí),可為系統進(jìn)行復位操作;可關(guān)閉主控芯片內部的軟件看門(mén)狗,優(yōu)化軟件代碼;可節省專(zhuān)用的看門(mén)狗芯片,且在不同時(shí)序要求上靈活修改;可根據系統要求增加與主控芯片的握手信號。

  2.2DSP上電過(guò)程及復位時(shí)序分析

  DSP上電初始化時(shí)序如圖2所示。WDT是喂狗信號輸出,在定時(shí)器中斷或主循環(huán)中使其電平周期性取反;RST是上電復位信號。Trst是上電復位信號的脈寬,約為100 ms;Twork是從上電時(shí)到首次進(jìn)入定時(shí)器中斷程序的時(shí)間,約為130 ms。在主程序中首先使WDT輸出低電平,則從上電復位完成到WDT變?yōu)榈碗娖降臅r(shí)間A為DSP復位后自身的各項配置所占用的時(shí)間。在定時(shí)器中每次取反WDT信號,則到WDT第一次變?yōu)楦唠娖降臅r(shí)間B為各軟件模塊及中斷初始化所占用的時(shí)間。A+B為系統初始化所用的時(shí)間,約為30 ms。

  

 

  圖2 DSP上電初始化時(shí)序

  由此可見(jiàn),如果系統程序跑飛,則每次復位都要經(jīng)過(guò)A、B兩個(gè)過(guò)程,約30 ms的時(shí)間;那么在CPLD軟件的看門(mén)狗模塊中,每次在給出復位信號后都要等待DSP的初始化完成(約30 ms)后再開(kāi)始對喂狗信號監測并計時(shí)。

  選擇看門(mén)狗定時(shí)器溢出上限以5 ms為例,從程序跑飛到重新正常運行大約35 ms。設定控制系統給伺服發(fā)送控制指令信號的周期是20 ms,伺服機構常態(tài)速度10°/s,最大速度是20°/s,20 ms的時(shí)間擺動(dòng)的角度是0.2°和0.4°,該角度是其控制姿態(tài)的最小步長(cháng),因此35 ms以?xún)鹊臒釓臀粫r(shí)間最多丟失兩條指令,伺服機構在可控范圍之內。此外,軟件代碼還有一定的優(yōu)化余量,初始化時(shí)間和看門(mén)狗定時(shí)器溢出上限還可進(jìn)一步減少。

  2.3 看門(mén)狗設計要考慮的幾點(diǎn)問(wèn)題

 ?、?喂狗方式:可分為電平喂狗和邊沿喂狗,本設計采用后者。與電平喂狗相比較,邊沿喂狗在狀態(tài)機的設計中可以減少狀態(tài)數量,從而節省CPLD資源,且DSP的喂狗也很容易,只要取反WDT電平,就可被認為已喂狗,簡(jiǎn)化軟件代碼。

 ?、?定時(shí)器溢出上限:根據具體需要靈活設定,這里暫定5 ms。

 ?、?輸出系統復位信號脈寬:這里只要超過(guò)DSP所需的512個(gè)時(shí)鐘周期即可,以30 MHz晶振為例,時(shí)長(cháng)約為171 μs。

 ?、?系統上電初始化時(shí)間:系統上電復位后DSP需要一斷時(shí)間初始化,而這段時(shí)間內不能喂狗,所以CPLD不能檢測是否有喂狗信號,否則會(huì )造成連續的錯誤復位,使DSP無(wú)法正常工作,因此在CPLD代碼設計時(shí)需要越過(guò)初始化階段再去檢測喂狗信號。

 ?、?與主控芯片的握手信號:根據系統任務(wù)需求,可增加與主控芯片的握手信號。例如,當主控芯片需要實(shí)現總線(xiàn)寫(xiě)程序功能時(shí),對DSP片內的Flash進(jìn)行寫(xiě)操作,此時(shí)不能對DSP進(jìn)行復位,DSP也無(wú)法輸出喂狗信號,這就需要在總線(xiàn)寫(xiě)程序之前通過(guò)總線(xiàn)與CPLD實(shí)現握手與應答,關(guān)閉看門(mén)狗功能,程序寫(xiě)入完成后系統重新加電即可正常工作。為了簡(jiǎn)化功能描述,本設計未加入握手設計。

  2.4 看門(mén)狗狀態(tài)機的設計

  此設計采用Mealy型狀態(tài)機,使用Verilog HDL語(yǔ)言編寫(xiě)代碼,信號、寄存器說(shuō)明如下所示:Count,時(shí)間計數器;NUM1,定時(shí)器溢出上限(5 ms);NUM2,輸出復位脈沖寬度(大于171 μs);NUM3,上電復位后等待DSP初始化的時(shí)間(30 ms);WDT_flag,3位寬移位寄存器,接收喂狗信號,比較首末位是否相等來(lái)判斷是否有喂狗信號;SYS_RST,看門(mén)狗輸出的系統復位信號;WAIT、IDLE、ADDING、ERROR、KEEPING,狀態(tài)機的5個(gè)狀態(tài);EN,看門(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 狀態(tài)轉移圖

  

點(diǎn)擊瀏覽原圖

 

  圖4 仿真波形1

  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)有變化,故輸出復位信號。

  仿真波形2如圖5所示。由仿真波形可看出,在EN高電平時(shí),不會(huì )輸出喂狗信號,使能信號測試通過(guò),喂狗信號在EN使能時(shí)如不能在限定時(shí)間內喂狗,則輸出系統復位信號。由仿真波形看出功能得到實(shí)現。

  3.2 硬件平臺驗證

  

點(diǎn)擊瀏覽原圖

 

  圖5 仿真波形2

  在伺服控制器上對基于CPLD的硬件看門(mén)狗功能進(jìn)行驗證。DSP上電初始化完成后,先正常輸出喂狗信號一段時(shí)間,然后停止輸出喂狗信號,通過(guò)示波器捕獲CPLD輸出的系統復位信號,波形如圖6所示,光標1是系統復位信號SYS_RST波形,光標2是DSP輸出的喂狗信號WDT波形。從波形圖前半段可以看出,WDT正常喂狗時(shí),SYS_RST保持高電平,當WDT保持高電平一段時(shí)間后SYS_RST輸出低電平,實(shí)現系統復位。復位后經(jīng)過(guò)一段時(shí)間的初始化過(guò)程后,WDT開(kāi)始正常喂狗。

  

 

  圖6 看門(mén)狗實(shí)現復位的波形圖

  通過(guò)以上軟件的功能仿真和硬件平臺上的驗證,可以看出,基于FPGA/CPLD的系統外部硬件看門(mén)狗的功能得到實(shí)現,與預期目標吻合。

  結語(yǔ)

  在數字伺服控制系統中,利用其中已包含的CPLD或FPGA電路設計硬件看門(mén)狗模塊,既可以滿(mǎn)足系統對硬件看門(mén)狗功能的需求,又可以節省專(zhuān)用的看門(mén)狗芯片,節省電路板的空間,提高了系統的可靠性,提高了可編程邏輯器件的資源利用率,并且可以針對不同的系統上電、復位等時(shí)序要求靈活配置時(shí)間參數。經(jīng)驗證,設計達到了看門(mén)狗電路的功能要求,能夠有效保證軟件的可靠性,亦可應用于其他數字控制系統平臺。

塵埃粒子計數器相關(guān)文章:塵埃粒子計數器原理
晶振相關(guān)文章:晶振原理


關(guān)鍵詞: CPLD DSP

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>