基于fpga的双网切换装置及其双网切换方法

文档序号:8301439阅读:418来源:国知局
基于fpga的双网切换装置及其双网切换方法
【技术领域】
[0001]本发明涉及一种基于FPGA的双网切换装置及其双网切换方法。
【背景技术】
[0002]船舶机舱监测报警系统对数据传输的可靠性和实时性要求很高,因此如何解决数据的可靠性和实时性是通信过程中非常重要的问题。目前解决数据传输可靠性的问题主要采用双网冗余和双网切换。
[0003]双网冗余通信模式中,应用层对接收到的数据一般有两种处理方式,第一种为将两个网络接收的数据进行比较,数据一致即认为数据传输正确,这种处理方式需要同时收到两个网络的数据,并且当一个网络出现故障时,就需要等待,判断网络是否真的出现故障,所以这种处理方式不但会增加CPU的数据处理压力,而且一旦进行等待之后就不能保证数据传输的实时性。双网冗余通信中第二种处理方式为只处理一个网络所接收的数据,如果判断该网络出现故障时,转换为处理另外一个网络数据。这种处理方式在判断网络故障时,需要进行等待,所以这种处理方式也不能保证数据传输的实时性。
[0004]双网切换通信模式中,现在普遍采用的切换方式是应用层判断网络是否出现故障,目前比较实时性的切换速度大概20毫秒左右,这对于需要高实时性的系统来说是不够的。
[0005]如图1所示,以太网OSI模型是一个开放性的通行系统互连参考模型。OSI的七层从上到下分别是应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。其中,数据链路层(Datal ink Layer )也称为MAC层,它是OSI参考模型的第二层,用于控制网络层与物理层之间的通信,其主要功能是如何在不可靠的物理线路上进行数据的可靠传递。物理层(Physical Layer)也称为PHY层,是OSI参考模型的最底层。物理层包括物理连网媒介,如电缆连线连接器。物理层的协议产生并检测电压以便发送和接收携带数据的信号。

【发明内容】

[0006]本发明所要解决的技术问题在于提供一种基于FPGA的双网切换装置及其双网切换方法,其提高了数据通信的实时性。
[0007]为解决上述技术问题,本发明所采用的技术方案是:
一种基于FPGA的双网切换装置,其特点在于,包括一块FPGA芯片、第一 PHY芯片、第二PHY芯片、第一通信接口模块和第二通信接口模块;该FPGA芯片包括MicroBlaze软核处理器、MAC控制器和二选一控制器;MicroBlaze软核处理器与MAC控制器双向电连接,MAC控制器与二选一控制器双向电连接,二选一控制器分别与所述的第一 PHY芯片和第二 PHY芯片双向电连接,该二选一控制器用于选择性地将MAC控制器连接至第一 PHY芯片和第二 PHY芯片中的一者,该第一 PHY芯片和第二 PHY芯片一一对应地分别与第一通信接口模块和第二通信接口模块双向电连接。
[0008]本发明还提供了上述的基于FPGA的双网切换装置进行双网切换的方法,其特点在于,包括:
a、初始化步骤:
a K FPGA芯片上电后,MicroBlaze软核处理器对MAC控制器进行初始化;a2、MAC控制器在初始化之后,通过所述的二选一控制器分别对第一 PHY芯片和第二PHY芯片初始化;
b、建立连接的步骤:
bl、二选一控制器将MAC控制器输出的连接测试信号传送给第一 PHY芯片,并在将MAC控制器输出的连接测试信号传送给第一 PHY芯片起经过预定的时间Tl后,判断第一 PHY芯片与外部通信网络的连接状态是否正常,若连接状态正常,则保持MAC控制器与第一 PHY芯片的连接;
b2、若第一 PHY芯片的连接状态不正常,则二选一控制器将MAC控制器输出的连接测试信号传送给第二 PHY芯片,并在将MAC控制器输出的连接测试信号传送给第二 PHY芯片起经过预定的时间Tl后,判断第二 PHY芯片与外部通信网络的连接状态是否正常,若连接状态正常,则保持MAC控制器与第二 PHY芯片的连接;
b3、若第二 PHY芯片的连接状态不正常,则二选一控制器将MAC控制器输出的连接测试信号传送给第一 PHY芯片,并重复步骤bl和步骤b2,直至第一 PHY芯片和第二 PHY芯片中的一者与外部通信网络的连接状态处于正常。
[0009]传统的双网冗余通信和双网切换通信方式均在应用层通过软件实现,而本方法则是通过VHDL硬件描述语言在FPGA芯片中构建MicroBlaze软核处理器、MAC控制器和二选一控制器,让FPGA芯片中的二选一控制器根据两块PHY芯片的连接状态进行切换控制,达到了用硬件实现双网切换的目的,整个切换时间小于10毫秒,而现有技术采用软件进行切换通信的切换时间需要20毫秒,因此本发明大大提高了通信的实时性。
【附图说明】
[0010]图1是OSI模型的原理示意图。
[0011]图2是根据本发明一实施例的基于FPGA的双网切换装置的原理框图。
[0012]图3是根据本发明一实施例的基于FPGA的双网切换方法的流程示意图。
【具体实施方式】
[0013]下面结合附图对本发明做出进一步说明。
[0014]请参考图2。根据本发明一实施例的一种基于FPGA的双网切换装置,包括一块FPGA芯片1、第一 PHY芯片21、第二 PHY芯片22、第一通信接口模块31和第二通信接口模块32。
[0015]FPGA芯片包括MicroBlaze软核处理器11、MAC控制器12和二选一控制器13。MicroBlaze软核处理器11与MAC控制器12双向电连接,MAC控制器12与二选一控制器13双向电连接,二选一控制器13分别与第一 PHY芯片21和第二 PHY芯片22双向电连接,该二选一控制器用于选择性地将MAC控制器12连接至第一 PHY芯片21和第二 PHY芯片22中的一者,第一 PHY芯片21和第二 PHY芯片22 —一对应地分别与第一通信接口模块31和第二通信接口模块32双向电连接。
[0016]MicroBlaze软核处理器11具有OSI七层模型中的应用层、表示层、会话层、传输层和网络层的功能,MAC控制器12具有数据链路层的功能。二选一控制器13用于选择性地将MAC控制器的输出信号发送给第一 PHY芯片和第二 PHY芯片中的一者,以及选择性地将第一 PHY芯片和第二 PHY芯片中一者的输出信号发送给MAC控制器。在建立MAC控制器与PHY芯片的连接时,二选一控制器13将MAC控制器12输出的连接测试信号先传送给第一 PHY芯片21,并在将MAC控制器12输出的连接测试信号传送给第一 PHY芯片21起经过预定的时间Tl后,判断第一 PHY芯片21与外部通信网络的连接状态是否正常,若连接状态正常,则保持MAC控制器12与第一 PHY芯片21的连接,若连接状态不正常,则再将MAC控制器12输出的连接测试信号传送给第二 PHY芯片22,并在将MAC控制器12输出的连接测试信号传送给第二 PHY芯片22起经过预定的时间Tl后,判断第二 PHY芯片22与外部通信网络的连接状态是否正常,若连接状态正常,则保持MAC控制器12与第二 PHY芯片22的连接,若连接状态不正常,则在第一 PHY21芯片与第二 PHY芯片22之间反复切换,直至第一PHY芯片和第二 PHY芯片中的一者与与外部通信网络的连接状态处于正常。设置预定时间Tl是为了保证线上数据的稳定性,在一具体的实施例中,预定时间Tl为330?500微秒。
[0017]在一种实施方式中,二选一控制器13可以通过读取PHY芯片的寄存器的状态,来判断PHY芯片通过通信接口模块与外部通信网络的连接状态;在另一种实施方式中,第一PHY芯片21和第二 PHY芯片22均具有一反馈PHY芯片通过通信接口模块与外部通信网络的连接状态是否正常的LINK管脚,该第一 PHY芯片21和第二 PHY芯片22的LINK管脚均与二选一控制器13连接。每一 PHY芯片在接收到二选一控制器传送的上述连接测试信号后,通过LINK管脚输出两种不同的电平状态表示PHY芯片与外部通信网络的连接状态正常与否,例如,LINK管脚电平为I表明与外部通信网络的连接状态正常,为O表明断开;二选一控制器很容易根据该LINK管脚的电平状态判断出PHY芯片与外部通信网络的连接状态是否正常。
[0018]本发明的基于FPGA的双网切换装置优选用于以太网,此时,第一通信接口模块31和第二通信接口模
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1