新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)多CPU系統(tǒng)設(shè)計(jì)

單片機(jī)多CPU系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2013-02-21 來源:網(wǎng)絡(luò) 收藏

單片微機(jī)具有小巧靈活、易擴(kuò)展成為功能強(qiáng)大的控制系統(tǒng)。目前,一些監(jiān)控終端以及許多獨(dú)立的控制系統(tǒng)(如:發(fā)電機(jī)的微機(jī)勵(lì)磁裝置)多以單片微機(jī)為核心構(gòu)成。但由于諸如工作環(huán)境惡劣、電磁干擾等原因,即使使用按工業(yè)測(cè)控環(huán)境要求設(shè)計(jì)的單片微機(jī)也難以保證控制系統(tǒng)能長(zhǎng)期可靠的運(yùn)行,從而導(dǎo)致控制系統(tǒng)癱瘓。這樣,如何提高控制系統(tǒng)的可靠性,保證測(cè)控系統(tǒng)能正確穩(wěn)定的運(yùn)行就尤為重要。顯然,采用雙CPU冗余設(shè)計(jì)是非常有效的一種解決辦法。由于單片微機(jī)的功能強(qiáng)大,價(jià)格低廉,為設(shè)計(jì)雙機(jī)冗余系統(tǒng)提供了很好的條件。為此,我們?cè)O(shè)計(jì)了一種由兩片單片微機(jī)組成的雙機(jī)容錯(cuò)系統(tǒng),以比較簡(jiǎn)單和與傳統(tǒng)的完全不同思路的設(shè)計(jì)方法實(shí)現(xiàn)了雙機(jī)的互為備用及相互切換。在該雙機(jī)冗余系統(tǒng)設(shè)計(jì)中,其關(guān)鍵問題是雙機(jī)系統(tǒng)的重構(gòu)策略和雙機(jī)系統(tǒng)的仲裁邏輯切換。

1 傳統(tǒng)的設(shè)計(jì)方法

傳統(tǒng)的的常用設(shè)計(jì)方法有三種:

① 利用雙口RAM實(shí)現(xiàn)CPU之間的通信。雙口RAM是一種高速的并行傳輸芯片,具有兩套I/O口和競(jìng)爭(zhēng)裁決電路,可以同時(shí)聯(lián)接兩個(gè)CPU,這樣通過雙口RAM可以實(shí)現(xiàn)多CPU之間通信。

② 利用共享內(nèi)存的方法實(shí)現(xiàn)CPU之間的通信。這種方法與上一種方法類似,所不同的是,上一種方法是利用雙口RAM的競(jìng)爭(zhēng)裁決電路實(shí)現(xiàn)對(duì)RAM的訪問,而這種方法是利用不同的時(shí)序?qū)崿F(xiàn)內(nèi)存共享的。

③ 利用總線方法實(shí)現(xiàn)CPU之間的通信。通過接口芯片或CPU本身具備的SPI、I2C以及SMBus等接口實(shí)現(xiàn)CPU之間的通信。

2 該雙CPU系統(tǒng)的結(jié)構(gòu)和工作原理

該雙CPU控制系統(tǒng)與傳統(tǒng)的多CPU系統(tǒng)的設(shè)計(jì)方法完全不同,它由兩片Atmel公司生產(chǎn)的 CPU構(gòu)成,雙機(jī)互為備用,彼此獨(dú)立并行運(yùn)行,硬邏輯切換。其雙CPU控制系統(tǒng)原理框圖如圖1所示。

這是一種非表決式的雙機(jī)冗余系統(tǒng),一個(gè)CPU 作為另一CPU的熱備份 ,雙機(jī)在任務(wù)上同步運(yùn)行。所有輸入信號(hào)通過輸入接口同時(shí)送給兩個(gè)CPU,但CPU 運(yùn)算、處理后的輸出量受到仲裁切換電路的控制,只有主CPU允許讀寫外部數(shù)據(jù)存貯器及輸出至外部設(shè)備,當(dāng)主CPU發(fā)生故障時(shí),系統(tǒng)的自我檢測(cè)切換邏輯將發(fā)出信號(hào),自動(dòng)切斷其輸出通道,并通過CPU的工作指示系統(tǒng)報(bào)警。此時(shí),系統(tǒng)或自動(dòng)或人工切換到另一個(gè)備用的CPU,并同時(shí)打開其輸出通道,備用機(jī)變?yōu)橹鳈C(jī)運(yùn)行狀態(tài),控制系統(tǒng)這時(shí)降級(jí)為單機(jī)運(yùn)行。人們可以將原主機(jī)拔離系統(tǒng)以便進(jìn)行維修。從圖中可知,兩個(gè)CPU的地址、數(shù)據(jù)及控制總線都通過一組三態(tài)門(三態(tài)門1、2)輸出與外部數(shù)據(jù)存貯器相接,兩個(gè)CPU的某些輸出控制I/O口都通過另一組三態(tài)門(三態(tài)門3、4)輸出與外部輸出控制設(shè)備相接,兩組三態(tài)門的控制端都同時(shí)受仲裁切換電路控制,而仲裁切換電路的兩路輸出互為反邏輯,即只有一路輸出能使所控制的對(duì)應(yīng)三態(tài)門(如三態(tài)門1、3)正常輸出,另一路輸出使所控制的對(duì)應(yīng)三態(tài)門(如三態(tài)門2、4)處于高阻狀態(tài),從而不影響主CPU正常讀寫數(shù)據(jù)和向控制I/O口輸出數(shù)據(jù)。

點(diǎn)擊瀏覽下一頁

圖1雙CPU控制系統(tǒng)原理框圖

    表1 雙機(jī)仲裁切換邏輯真值表

    ST1 ST2

    S

    CTL1 CTL2

    CPU1 CPU2

    1 1

    1

    0

    0 1

    1 0

    主 輔

    輔 主

    0 0

    1 1

    兩CPU均工作不正常

    1 0

    0 1

    CPU1為主機(jī),CPU2工作不正常

    0 1

    1 0

    CPU2為主機(jī),CPU1工作不正常


    上一頁 1 2 3 下一頁

    評(píng)論


    相關(guān)推薦

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