<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è) > 嵌入式系統 > 設計應用 > 單片機多機冗余設計及控制模塊的VHDL語(yǔ)言描述

單片機多機冗余設計及控制模塊的VHDL語(yǔ)言描述

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

本文提出一種表決式多機冗余方案。該方案不同于中央系統的多機冗余。大規模系統冗余大多采用完善而復雜的機間通訊協(xié)議實(shí)現系統重構,不太注重系統的實(shí)時(shí)性。本方案結構簡(jiǎn)單,易于實(shí)現,具有極強的實(shí)時(shí)性,沒(méi)有電子開(kāi)關(guān)切換總線(xiàn)的咔嗒聲輸出。價(jià)格低廉、功能靈活,也使得該在類(lèi)似儀器儀表的小系統中的運用成為可能。

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

1 設計原理

設計結構如圖1所示。

完成整個(gè)冗余設計的電路被置于一個(gè)核心中,如果該以FPGA實(shí)現也就是一塊芯片。圖1中1、2、3被假定為冗余的三個(gè)單片機,它們的輸入總線(xiàn)并聯(lián),接收核心中輸入緩沖的輸出。輸出總線(xiàn)分別接到模塊的輸出總線(xiàn)仲裁器。核心模塊包括輸入緩沖、輸出總線(xiàn)仲裁、電源控制、時(shí)鐘產(chǎn)生、復位電路和報警控制輸出六個(gè)部分。

1.1 輸入緩沖

為了消除輸入端并聯(lián)輸入阻抗帶來(lái)的影響,在輸入端增加了一級緩沖器,減小外圍電路的影響。采用輸入緩沖,可以實(shí)現單片機和外圍電路的輸入隔離。

1.2 輸出總線(xiàn)仲裁

該總線(xiàn)仲裁是建立在所有單片機在時(shí)鐘級上同步的基礎上,通常采用總線(xiàn)表決法。即相同輸出總線(xiàn)上的值作為仲裁的結構輸出,不同輸出總線(xiàn)被當作出錯而封止,所有的輸出皆不相同同是失敗狀態(tài),無(wú)表決輸出。表決的實(shí)現當然不能采用軟件比較,以三個(gè)單片機系統的一位為例介紹表決方法。假設位輸入變量X1、X2、X3,輸出Q,狀態(tài)指示:正常N、X1出錯E1、X2出錯E2、X3出錯E3。真值表如表1所示,位仲裁單元如圖2所示。

19.jpg

顯然以上位單片機用數字電路難實(shí)現,后面給出整體的??偩€(xiàn)仲裁由多個(gè)這樣的位單元組成,個(gè)數由單片機輸出總線(xiàn)的最大數n決定。仲裁器除了n根輸出線(xiàn),同時(shí)還對每個(gè)位單元的狀態(tài)位進(jìn)行邏輯組合輸出正常、出錯、失敗三個(gè)狀態(tài)指示。失敗信號也用作報警保護控制輸出,或重新復位輸出。失敗輸出有效時(shí)輸出失效。

以三個(gè)單片機的系統為例,如果將仲裁器的三個(gè)總線(xiàn)某一時(shí)刻輸入看作為n位二進(jìn)制變量X,Y,Z。如果X,Y,Z在任何時(shí)鐘都逐位相同,而系統處于正常工作狀態(tài)。如果三者中有兩個(gè)變量逐位相同,而另一個(gè)不同,則系統處于出錯狀態(tài)。如果三者皆不相則系統失敗。正常和出錯狀態(tài)可以運行,而失敗狀態(tài)必須保護和處理。

FPGA技術(shù)的發(fā)展,使得設計中的比較、決策等數字電路的設計實(shí)現變得非常容易,而且系統簡(jiǎn)明可靠。如果采用中規模集成電路來(lái)實(shí)現的話(huà),將相當煩瑣和復雜。

1.3 單片機時(shí)鐘級同步的實(shí)現

系統的所有單片機必須達到時(shí)鐘級的同步。單片機選用相同的型號(可以是不同的廠(chǎng)家),完全相同的程序和同一機器時(shí)鐘。

同一時(shí)鐘是實(shí)現時(shí)鐘同步的第一步。時(shí)鐘發(fā)生電路在控制模塊內產(chǎn)生并送到各單片機的時(shí)鐘輸入端,要求單片機可外接時(shí)鐘輸入。時(shí)鐘同步并不容易,以89C51為例,51系列單片機上電后振蕩器起振輸出,ALE脈沖由時(shí)鐘經(jīng)分頻電路得到,一旦形成,機器周期脈沖和時(shí)鐘脈沖相位關(guān)系固定,不受復位電路影響,直到電源掉電為止。

第二步是實(shí)現機器周期脈沖同步。MCS51一個(gè)機器周期包括6個(gè)狀態(tài)周期,每個(gè)狀態(tài)周期包括2個(gè)節拍,對應2個(gè)時(shí)鐘節拍有效期。也就是說(shuō)一個(gè)機器周期包括12個(gè)振蕩周期,指令工作在時(shí)鐘節拍上,同時(shí)更是同步工作在機器周期上。不論是單字節指令還是雙字節指令,指令周期均是機器周期的1、2、4倍。要同步單片機節拍,必須同步機器周期??紤]到上電時(shí)間上可能產(chǎn)生的差異,采用先上電后加時(shí)鐘脈沖的方法。上電時(shí)確保時(shí)鐘輸入端沒(méi)有干擾脈沖引入,所有單片機上電后的內部分頻電路起始點(diǎn)一致,然后加入時(shí)鐘脈沖,各單片機獲得同步的機器周期。

第三步是同步指令周期。指令的同步需要依靠復位電路來(lái)實(shí)現。在時(shí)鐘脈沖正常輸入和分頻電路正常工作的情況下,復位操作是在復位端加上至少2個(gè)機器周期的復位電平而實(shí)現的。復位信號由核心控制器發(fā)出送至每片單片機。復位后,統一了片內主要寄存器內容,所有單片機程序從起始位置開(kāi)始執行。

單片機時(shí)鐘級同步的實(shí)現主要依靠電源控制、時(shí)鐘產(chǎn)生、復位電路三部分硬件。

單片機相關(guān)文章:單片機教程


單片機相關(guān)文章:單片機視頻教程


單片機相關(guān)文章:單片機工作原理


熱敏打印機相關(guān)文章:熱敏打印機原理

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

評論


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