新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > FPGA單芯片四核二乘二取二的安全系統

        FPGA單芯片四核二乘二取二的安全系統

        作者: 時間:2009-12-28 來源:網絡 收藏

        引 言
        二乘二取二的兩套計算機各有兩個CPU,并且所有結構和配件完全相同。兩套之間采取雙機熱備份,大幅提高了系統可靠性,在一些領域得到了廣泛應用。基于二乘二取二容錯結構的計算機聯鎖系統在國外已有成熟的應用,如K5B和E132,其良好的可靠性和性引起國內業界的廣泛關注。
        系統可靠性冗余設計是提高系統可靠性的重要方法,但由于冗余會增加系統成本、體積和重量,因此必須合理地選擇冗余結構和數量。對價格昂貴、重量大、體積大的冗余部分,更應作合理考慮。由于二乘二取二硬件冗余技術是通過多個相同部件完成同一功能,在提高系統可靠性的同時也存在一些不足:
        ◆增加了系統的成本、結構、重量和所需空間;
        ◆在某些情況下硬件技術的應用受到限制;
        ◆對大型復雜系統均采用硬件冗余技術是不可能的。
        以上不足將限制二乘二取二冗余技術的應用,Fusion和coreABC的組合為以上問題提供了良好的解決方案。

        本文引用地址:http://www.104case.com/article/152180.htm


        1 二乘二取二系統
        二乘二取二系統有4個CPU,兩個CPU組成一組。每兩個CPU的輸出經比較器表決輸出,兩個CPU和一個比較器表決系統組成一個子系統。兩個子系統具有完全相同的硬件結構,一個為主單元,一個作為備用單元。開機后兩個子系統獨立同步工作,系統取工作單元的輸出為系統輸出。當兩個子系統均正常工作時,系統取主單元的輸出為系統輸出,若備用單元發生故障,系統輸出仍為主單元的輸出,備用單元進入維修狀態。當主單元發生故障時,系統切換至備用單元,此時系統輸出為備用單元的輸出,主單元進入維修狀態;一旦主單元維修完畢,可以正常工作時,則系統切換至主單元,取主單元的輸出為系統輸出。若主單元和備用單元均無法正常工作,則系統故障,系統無法繼續正常工作。除子系統故障時系統自動切換外,系統還具有手動切換的功能。由于兩個子系統具有完全相同的結構和進行完全相同的工作,所以手動切換不影響系統的正常工作。導致系統故障的因素有很多,根據不同的應用場合,需要針對不同的故障進行檢測和維修。二乘二取二系統的工作示意圖如圖1所示。

        2 系統的具體實現
        在設計時,首先要考慮門電路的數量,以及嵌入4個軟核所要占用的門陣列資源。其次,要考慮其他硬件資源,比如時鐘、存儲器等。綜合各方面的考慮,本設計選擇Actel的Fusion StartKit數模混合實現二乘二取二系統。Fusion StartKit數模混合擁有600萬門門陣列,片內集成了Flash存儲器、RAM、FIFO和模擬模塊;片外提供48 MHz的晶振;支持coreABC軟核的嵌入。
        2.1 軟核的嵌入
        coreABC是一種具有高可配置性的軟核,占用資源少,特別適于低端應用。它能夠掛載可編程高級外圍總線(APB),支持APB總線下的外圍設備,通過coreAI直接控制ACM塊,還可配置8位、16位和32位APB接口。可以通過APB總線控制coreAI核,進行電壓、電流采集,以及模數轉換。圖2給出一種配置方案。coreABC可使用軟/硬代碼存儲方式,本設計采用硬代碼存儲方式。硬代碼存儲方式只需占用門陣列資源,而軟代碼存儲方式要占用Flash存儲口資源。由于FPGA片內集成了2個Flash存儲口,嵌入4個核時Flash存儲口資源不足。Actel coreABC的推出對實現可配置的小系統極具意義,它使用很少的系統資源就可搭建起完整的控制單元。

        2.2 比較電路的實現
        二取二CPU的比較電路采用冗余設計,它主要負責對coreABC軟核的總線信號進行比較判決,保證系統正常運行,其電路圖如圖3所示。比較電路的工作原理為:片外寄存器分別從兩個CPU獲得總線數據信息,經異或模塊OE1=A1+A2,OE2=B1+82進行判斷,分別控制數據鎖存器輸出,并配合時鐘信號控制鎖存器同步輸出;從鎖存器輸出的數據經或電路處理后形成比較結果,即DATA_OUT=D1+D2。若比較結果確認CPU此次運算一致,則系統正常輸出;若比較電路確認CPU運算有誤,則重新進行運算。


        上一頁 1 2 下一頁

        關鍵詞: 系統 安全 單芯片 FPGA

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 昆山市| 桃江县| 新兴县| 阿巴嘎旗| 榕江县| 濮阳县| 盘锦市| 衡阳市| 新乐市| 福安市| 清镇市| 沽源县| 满洲里市| 衡阳市| 通山县| 荃湾区| 定州市| 保定市| 揭阳市| 确山县| 班戈县| 泽普县| 阿瓦提县| 同德县| 合山市| 北海市| 芜湖县| 克山县| 中宁县| 巴南区| 扬中市| 淳化县| 浏阳市| 台南县| 德州市| 竹北市| 桦川县| 广德县| 唐山市| 寿宁县| 登封市|