新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 采用BF537構建雙冗余以太網方案的設計

        采用BF537構建雙冗余以太網方案的設計

        作者: 時間:2012-06-25 來源:網絡 收藏

        表l中,Basic Control Register為基本控制寄存器,通過配置其各位,完成芯片軟復位、10 M/100 M選擇、全雙工/半雙工選擇、LookBack模式選擇、自協商等功能。Basic StatusRegister為基本狀態寄存器,對其查詢可以得到自協商結果、網絡物理連接狀態等網絡基本狀態。PHY Identifierl/PHYIdentifier 2寄存器標識了芯片的Chip ID。因此,對網絡狀態的實時監測實際上就是實時讀取Basic Status Register,并對結果作出判斷。

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

          3.2 程序

          可以通過操作的寄存器EMAC_STAADD完成其對LAN8187寄存器的讀寫。對LAN8187寄存器讀寫的函數定義為:

          u16 RdPHYReg(u16 PHYAddr,u16 RegAddr);

          void WrPHYReg(u16 PHYAddr,u16 RegAddr,u32 Data);

          其中PHYAddr為芯片的物理地址,RegAddr為寄存器地址。

          對Basic Status Register的監測輪詢的機制,即設定一個信號量Link_status,其周期為2 ms,因此每隔2 msEther moniter線程被觸發一次。在Ether_moniter中通過調用RdPHYReg()函數,讀取Basic Status Register的值,并判斷Link位。Ether_moniter線程流程如圖3所示。

          

          對于1來講,當檢測到需要進行網絡切換時,需要停用當前網卡初始化備用網絡LAN91C111并設定相同的IP地址以及MAC地址。對于2,則只需要通知CPLD將通道切換至備用的LAN8187接口。

          4 冗余切換測試

          用Visual C++6.0開發的簡單的上位機測試程序,每隔1ms發送一個UDP數據報,并給每個數據報編寫不同的序號。在中編寫程序不斷接收上位機發來的數據報,然后制造網絡通信故障,本文的冗余網絡將會自動切換到備用通道繼續接收上位機的數據報,最后通過檢測接收到數據報的序號來確定冗余切換所消耗的時間。分別對兩種的冗余網絡的切換進行測試,結果如表2所示。

          

          從實驗結果可以看出方案2具有快速切換的優點,丟包率低;方案l平均丟包數遠遠大于方案2,并且切換時間長。

          5 結束語

          本文提出了兩種基于的方案,分別論述了其原理、器件選擇、連接方法,并做出軟件。最后經過測試,方案2的切換效果和時間非常理想,最終在實際項目中得到了應用。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阿鲁科尔沁旗| 三台县| 石屏县| 双柏县| 呼图壁县| 万山特区| 青海省| 崇义县| 卢氏县| 江山市| 榆树市| 得荣县| 宁南县| 昭通市| 上犹县| 莆田市| 馆陶县| 洛川县| 津南区| 镶黄旗| 常山县| 太原市| 凌海市| 建宁县| 海兴县| 曲麻莱县| 介休市| 柳州市| 连州市| 民权县| 繁昌县| 正镶白旗| 高邮市| 南昌市| 达尔| 旌德县| 阿克陶县| 房山区| 海盐县| 岗巴县| 黑山县|