新聞中心

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

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

        作者: 時間:2012-11-26 來源:網絡 收藏

        1.3.1 電源

        三個的供電電源由。主控遠件需要保證足夠電流容量,可采用功率三極管或場效應管實現(xiàn)。不能采用繼電器在,以避免觸點電源跳變。

        1.3.2 時鐘產生

        晶體振蕩器輸出脈沖作為時鐘,中間增加可控的緩沖級。緩沖級可以增加時鐘信號的輸出負載能力,并可被控制控制。

        1.3.3 復位電路

        三個的復位端并聯(lián)接至同一個復位端。復位信號在信號極性和脈沖寬度上滿足單片機復位要求,驅動能力滿足多單片機需要。復位電路同樣是受控于控制,用以實現(xiàn)單片機同步。

        1.4 報警與控制

        不同狀態(tài)下核心控制模塊有不同的信號輸出,異常狀態(tài)同時也是報警信號。正常狀態(tài)輸出綠燈,出錯狀態(tài)輸出黃燈,失敗狀態(tài)輸出紅燈。黃燈輸出時系統(tǒng)可以暫時繼續(xù)工作,等到系統(tǒng)空閑或許可時進行糾錯。紅燈輸出時系統(tǒng)立即進入保護狀態(tài),輸出端呈現(xiàn)高阻狀態(tài),需要時可以馬上糾錯,恢復系統(tǒng)。

        系統(tǒng)恢復需要對控制模塊進行復位,復位脈沖可以是自身的失敗狀態(tài)輸出,也可以是出錯脈沖輸出和其他信號的組合邏輯。控制模塊的復位,實際是對各單片機重新進行時序對齊和復位單片機程序。此處需結合具體使用場合考慮。

        2 控制模塊的

        本控制模塊主要采用進行。

        library ieee;

          use ieee.std_1164.all;
          use ieee.std_logic_unsigned.all;
          Entity redu_control is
          Port (a_bus,b_bus,c_bus:in std_logic_vector(7-三輸入總線,--本定為8位)
          o_bus: out std_logic_vector(7 downto 0);--8位輸出總線
          error_out,fail_out:out std_logic;--出錯、失敗輸出
          reset_in,clock_in: in std_logic;--復位、時鐘輸入
          power,clock,reset:out std_logic;--電源、時鐘、復位輸出
          )
          end;
          architecture control_pro of redu_control_is
          signal int: std_logic;
          begin
          bus_pro:process(a_bus,b_bus,c_bus) -總線控制過程
          begin
          if a_bus=b_bus then
          o+bus=a_bus;
          if a_bus=c_bus then - 正常輸出
          error_out='0';
          fail_out='0';
          else
          error_out='1'; --給出出錯信號
          fail_out='0';
          end if
          elsif a_bus=c_bus then
          o_bus=a_bus;
          error_out='1'; --給出出錯信號
          fail_out='0'; 
          elsif b_bus=c_bus then -不同的出錯情況
          o_bus=b_bus;
          error_out='1';
          fail_out='0';
          else --失敗輸出
          o_bus=(others=>'z');
          fail_out='1';
          end if
          end process bus_pro; --總線過程結束
          start_pro process -啟動過程
          begin
          wait until reset_in='1'; --等待外部復位啟動
          power='0';
          clock='0';
          reset='0'; --停止電源、時鐘、復位輸出
          power='1' after 3 s; --3s后輸出電源信號
          clock=clock_in after 6 s; --6s后輸出時鐘信號
          reset='1' after 9 s;--9s后輸出復位信號
          reset='0'after 10 s;--復位信號回到高電平
          end process start_pro;--啟動過程結束
          end;

        本文所述的時鐘對齊方法實現(xiàn)比較簡單但并不唯一。復雜一點的方法可以采用不同時鐘輸出到不同單片機,比較反饋后,調整時鐘輸出個數(shù)達到調節(jié)目標。

        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理


        熱敏打印機相關文章:熱敏打印機原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 武安市| 商洛市| 红桥区| 贡嘎县| 罗田县| 夏河县| 平定县| 门源| 革吉县| 那坡县| 东台市| 安岳县| 竹山县| 淮南市| 凤庆县| 石首市| 永靖县| 益阳市| 临城县| 临沭县| 漾濞| 舞钢市| 江油市| 双江| 平阴县| 岢岚县| 邵阳县| 化州市| 南充市| 黎平县| 修文县| 高要市| 获嘉县| 卢湾区| 威宁| 洪雅县| 平阴县| 临沭县| 伊春市| 泾源县| 梁平县|