基于BF537構建雙冗余以太網的設計方案
隨著信息技術的高速發展,網絡通信顯得越發重要,以太網成為了各種控制系統接口互聯的主要媒介。在金融機構、軍事應用等特殊應用場合對網絡系統的穩定性要求非常高,為了提高系統的可靠性和抗毀性,采用雙冗余的設計方式。雙冗余網絡實現是以故障檢測為基礎,通過軟件檢查、交換機及網絡節點的網卡協同處理。冗余網絡的構建方式通常是在每個網絡節點采用雙網卡,中間用2個HUB或交換機相連。這樣當某個節點的一塊網卡、網線或者HUB出現故障時,系統會啟用另一塊冗余網卡使得系統仍能夠正常運行。本文提出了兩種基于BF537的冗余網絡構建方案。
本文引用地址:http://www.104case.com/article/157090.htm1 BF537的結構特點
BF537是Blackfin家族的升級產品,其在標準Blackfin內核的基礎上擁有豐富接口,并在內部集成有以太網MAC控制器。Blackfin內核包含2個乘/累加器(MAC),2個40位的ALU,4個視頻專用8位ALU和1個40位移位器。運算單元處理來自寄存器組的8、16或32位數據。每個MAC每周期可完成一個16位×16位的乘法運算,并把結果累加到40位的累加器中,提供8位的精度擴展。ALU單元執行標準的算術和邏輯運算,由于2個ALU具備對16或32位數據操作的能力,因此運算單元具備的靈活性可以滿足各種應用中信號處理的要求。每個32位的輸入寄存器可以作為2個16位的寄存器,因此每個ALU可以完成非常靈活的單16位算術運算。通過把寄存器當作2個16位的操作數使用,雙16位或單32位操作可以在一個周期中完成。更好地利用第2個ALU,4個16位操作可以簡單地完成,加速了每個周期的吞吐量。強大的40位移位器功能豐富,可以對數據進行移位、循環移位、歸一化、提取和存儲等操作。運算單元所使用的數據來自具有16個16位操作數或8個32位操作數的寄存器組。
同時BF537把存儲器視為統一的4 GB的地址空間,使用32位地址并采用分級的存儲器結構。Level 1(L1)存儲器一般以全速運行,沒有或只有很少延遲。Level 2(L2)/Level 3(L3)分布在片內或片外,對其訪問會耗費多個處理器周期。在L1級,指令存儲器只存放指令,2個數據存儲器存放數據,1個專用的臨時數據存儲器存放堆棧和局部變量信息。在L2/L3級可以存放指令和數據。
以太網接口電路主要由MAC控制器和物理層接口(PHY)兩大部分構成,這里從是否具備獨立的MAC控制器出發提出了2種不同的構建雙冗余以太網的方案。
BF537內部集成了一個支持IEEE802.3 MAC控制層協議的MAC控制器,只需要在外部外接一個以太網接口器件,便可以形成一個完整的以太網通道。因此選擇了SMSC公司的LAN8187,它提供了標準的MII總線接口,方便地與BF537相連接,連接方式如圖1所示。在MII總線上進行數據的收發,MDC和MDIO則用來完成對接口芯片LAN8187寄存器的讀寫。以下稱由BF537的MAC控制器與物理層接口芯片LAN8187構成的以太網通道為主網絡通道。
如果要求雙冗余網絡通道擁有獨立的MAC控制器,則需要在BF537外部擴展一個以太網控制器,如圖1所示,選擇同樣來自于SMSC公司的LAN91C111,通過BF537的外部總線與之相連。選擇LAN91C111的16位總線工作方式使其A0~A15與BF537的地址總線相連,D0~D15與BF537的數據總線相連,并由BF537的AMS信號控制LAN9lClll的片選,外部PF引腳來響應來自LAN91C111的中斷請求。

從應用角度分析,即使系統擁有獨立的MAC控制器,在實際應用中也要求2個MAC控制器擁有相同的物理地址,因為若MAC地址不同,冗余切換將引起協議層中ARP綁定表的變化,重新映射ARP表中物理地址和IP地址之間的關系將增加冗余切換的時間,影響到網絡通信的實時性。
因此提出一套MAC控制器,2個以太網接口芯片的設計方案。該設計方案通過1片CPLD將BF537的MII總線分別轉接到2片IAN8187上,并由BF537來控制轉接的時機。這樣形成了2個以太網通信通道,大大簡化了設計,提高了冗余切換的實時性。該設計方案如圖2所示。

3 冗余切換軟件設計
3.1 網絡狀態監測
冗余切換的實現首先在于對網絡進行實時在線監測,其檢測的方法是基于LAN8187的寄存器,表1為IAN8187寄存器的定義。
評論