新闻中心

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.eepw.com.cn/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 下一页

评论


相关推荐

技术专区

关闭