<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è) > 嵌入式系統 > 設計應用 > 基于32位單片機MC68HC376高可靠系統設計

基于32位單片機MC68HC376高可靠系統設計

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

      圖6 掉電報警電路

  

    表1 軟件看門(mén)狗溢出時(shí)間

  *掉電報警電路

  當系統的某一級工作電源掉電時(shí),控制裝置將不能正常運作,或者控制信號得不到正確執行。這時(shí)應該發(fā)出報警信號,掉電報警電路如圖6所示。

將各等級的工作電源通過(guò)關(guān)隔MOC8050串接起來(lái),一旦發(fā)生掉電的情況,掉電報警處的電平由高變?yōu)榈?,啟?dòng)報警裝置。

  軟件設計

  *軟件看門(mén)狗

  在的SIM模塊中,有一個(gè)軟件看門(mén)狗,在監控程序中,可以開(kāi)啟軟件看門(mén)狗,配合提高系統的。該軟件看門(mén)狗由的系統保護控制寄存器(SYPCR)中的SWE位控制開(kāi)啟。當SWE位為1時(shí),看門(mén)狗啟動(dòng),開(kāi)始計時(shí)。

  在裝置正常工作時(shí),程序應該在軟件看門(mén)狗溢出之前對軟件服務(wù)寄存器(SWSR)先后寫(xiě)入 55H和AAH,當寫(xiě)入完成之后,軟件看門(mén)狗就會(huì )清除當前計時(shí)值,重新開(kāi)始計時(shí)。如果計時(shí)值溢出,則會(huì )使的/RESET引腳有效,系統復位。這樣,就可以在程序死循環(huán)或者由于其它原因而導致程序跳飛時(shí)自動(dòng)回復到復位狀態(tài)。

  看門(mén)狗的溢出時(shí)間由系統頻率以及SYPCR寄存器的看門(mén)狗分頻位(SWP)和看門(mén)狗定時(shí)區 (SWT[1:0])決定,如表1所示。選擇看門(mén)狗溢出時(shí)間時(shí)應該注意大小適中,若取值過(guò)大,則程序可能會(huì )較長(cháng)時(shí)間處于死循環(huán)或跳飛狀態(tài),從而導致控制錯誤或失效;若取值過(guò)小,則會(huì )增加程序負擔,降低裝置運行效率。

  *程序的區域劃分和操作級別控制

  CPU32可進(jìn)行兩種優(yōu)先級別的操作:監控級別和用戶(hù)級別。在監控級別下,CPU可以對所有的內部集成資源和所有的指令進(jìn)行操作,而在用戶(hù)級別下,它對一些寄存器和指令的訪(fǎng)問(wèn)會(huì )受到限制。在程序中有效地利用這種優(yōu)先級別會(huì )使內部資源和一些系統指令得到有控制的訪(fǎng)問(wèn),從而提高系統運行的。CPU32的狀態(tài)寄存器SR中的S位決定CPU的工作級別,當S=1時(shí)CPU處于監控級別;S=0時(shí) CPU處于用戶(hù)級別。

  一般情況下,單片機的程序區和數據區在同一個(gè)物理地址空間。對于MC68HC376,可以通過(guò)功能碼FC[2:0]來(lái)擴展和劃分外部物理空間,對FC[2:0]實(shí)現外部解碼,可以使監控級程序、監控級數據、用戶(hù)級程序、用戶(hù)級數據分別使用各自獨立的地址空間。對于MC68HC376內部的各個(gè)模塊,可以通過(guò)其相應的結構寄存器中的SUPV位來(lái)確定該部分的通用寄存器所處的地址空間,當 SUPV=1時(shí),將相關(guān)的寄存器放置于監控級數據地址空間,CPU只有在監控級別時(shí)才可對其訪(fǎng)問(wèn)和操作;當SUPV=0時(shí),將相關(guān)的寄存器放置于數據級數據地址空間,CPU可任意對其進(jìn)行訪(fǎng)問(wèn)和操作。這樣,整個(gè)程序結構性強,按級別控制訪(fǎng)問(wèn),增強了運行的可靠性。

  *總線(xiàn)監視器

  MC68HC376進(jìn)行內部總線(xiàn)操作時(shí),數據選通應答引腳(/DSACK)和自動(dòng)向量引腳 (/AVEC)應該有相應的應答信號。SIM模塊中的總線(xiàn)監視器能對/DSACK和/AVEC信號進(jìn)行監視,當響應時(shí)間超過(guò)定時(shí)值就使總線(xiàn)錯誤 (/BERR)引腳有效。程序應對/BERR的狀態(tài)進(jìn)行監視,以便及時(shí)對總線(xiàn)錯誤做出相應的處理。

  總線(xiàn)監視器的定時(shí)值由系統保護控制寄存器(SYPCR)中的總線(xiàn)監視時(shí)間區 (BMT[1:0])決定。BMT[1:0]=00時(shí),定時(shí)值為64個(gè)系統時(shí)鐘;BMT[1:0]=01時(shí),定時(shí)值為32個(gè)系統時(shí)鐘;BMT[1:0]=10時(shí),定時(shí)值為16個(gè)系統時(shí)鐘;BMT[1:0]=11時(shí),定時(shí)值為8個(gè)系統時(shí)鐘。程序員應根據實(shí)際的運行情況進(jìn)行選擇。

  其它

  其它一些提高可靠性的措施還包括有配置去耦電容;系統時(shí)鐘電路采用獨立電源VDDSYN供電,減少對MCU的干擾,而且MCU停電時(shí)系統時(shí)鐘仍可維持運行。布線(xiàn)時(shí),時(shí)鐘電路設置在電路板的中央;Standby RAM采用兩個(gè)電源VDD和VSTBY供電,正常運行時(shí)VDD供電,發(fā)生掉電時(shí),使其自動(dòng)切換到VSTBY供電。同時(shí),在軟件中,將堆棧及一些重要數據存放在Standby RAM有利于重要運行參數的保存。

  結語(yǔ)

  該方案采用高性能、集成度高、可靠性強的32位新型微控制器MC68HC376為核心,同時(shí)在硬件、軟件以及制板布線(xiàn)等方面采用多種提高系統可靠性的設計措施。應用該方案的數字式低頻低壓控制裝置RSA800,已通過(guò)電力工業(yè)部電力設備及儀表質(zhì)量檢驗測試中心的產(chǎn)品型式試驗。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: 32位單片機 MC68HC376 可靠性

評論


相關(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>