單片機多機冗余設計及控制模塊的VHDL語(yǔ)言描述
本文提出一種表決式單片機多機冗余設計方案。該方案不同于中央系統的多機冗余設計。大規模系統冗余大多采用完善而復雜的機間通訊協(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.htm1 設計原理
設計結構如圖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所示。
顯然以上位單片機用數字電路難實(shí)現,后面給出整體的VHDL語(yǔ)言描述??偩€(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)文章:熱敏打印機原理
評論