新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)多機(jī)冗余設(shè)計(jì)及控制模塊的VHDL語言描述

單片機(jī)多機(jī)冗余設(shè)計(jì)及控制模塊的VHDL語言描述

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

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

本文引用地址:http://butianyuan.cn/article/170680.htm

1 設(shè)計(jì)原理

設(shè)計(jì)結(jié)構(gòu)如圖1所示。

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

1.1 輸入緩沖

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

1.2 輸出總線仲裁

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

19.jpg

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

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

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

1.3 單片機(jī)時(shí)鐘級(jí)同步的實(shí)現(xiàn)

系統(tǒng)的所有單片機(jī)必須達(dá)到時(shí)鐘級(jí)的同步。單片機(jī)選用相同的型號(hào)(可以是不同的廠家),完全相同的程序和同一機(jī)器時(shí)鐘。

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

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

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

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

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


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


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


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

上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉