一种光模块及其自动兼容低速率的方法以及系统与流程

文档序号:17922453发布日期:2019-06-15 00:12阅读:1455来源:国知局
一种光模块及其自动兼容低速率的方法以及系统与流程

本发明涉及光通信技术领域,特别是涉及一种光模块及其自动兼容低速率的方法以及系统。



背景技术:

光模块是进行光电和电光转换的光电子器件,按照封装的不同,通常可以分为sfp光模块,sfp+光模块,sff光模块等。

通常,同一光模块仅支持一种固定的速率,而随着用户业务的不断发展,在诸多场合中,用户业务可能需要使用到两种通信速率,称为高通信速率及低通信速率。为了能够进行通信速率的切换,用户通常需要购买高速率的光模块以及低速率的光模块,当需要进行通信速率切换时,将原先的光模块拆卸下并更换上新的光模块即可。但是,由于需要购买两种通信速率的光模块,使得用户的业务实现成本较高。而随着光模块的发展,也出现了同时支持高速率和低速率的光模块内部芯片,但是,用户在进行速率切换时,需要通过相关参数调整装置与光模块内部芯片的相关引脚连接,再手动对光模块内部芯片的相关参数进行设置调整,操作复杂,并且对用户的技术上的要求也较高。

综上所述,如何使得用户可以方便有效地进行光模块速率的切换,是目前本领域技术人员急需解决的技术问题。



技术实现要素:

本发明的目的是提供一种光模块及其自动兼容低速率的方法以及系统,以方便有效地进行光模块速率的切换。

为解决上述技术问题,本发明提供如下技术方案:

一种光模块自动兼容低速率的方法,应用于光模块的mcu中,包括:

自动读取硬件速率选择接收脚以及硬件速率选择发送脚的电平值;其中,所述硬件速率选择接收脚以及所述硬件速率选择发送脚均与主机连接;

通过与所述主机连接的通信总线,自动获取所述主机中的接收速率软件寄存值以及发送速率软件寄存值;

当所述接收速率软件寄存值和所述硬件速率选择接收脚的电平值这两个数值之中的任意一个等于第一电平值时,自动将光模块的接收速率选取为高速率,否则自动将所述光模块的接收速率选取为低速率;

当所述发送速率软件寄存值和所述硬件速率选择发送脚的电平值这两个数值之中的任意一个等于所述第一电平值时,自动将所述光模块的发送速率选取为高速率,否则自动将所述光模块的发送速率选取为低速率。

优选的,所述第一电平值为1。

优选的,所述第一电平值为0。

优选的,所述自动将光模块的接收速率选取为高速率,包括:

通过自动将所述光模块中的数据接收模块的cdr打开,将光模块的接收速率选取为高速率;

所述自动将所述光模块的接收速率选取为低速率,包括:

通过自动将所述数据接收模块的cdr关闭,将所述光模块的接收速率选取为低速率。

优选的,所述通信总线为i2c通信总线,所述硬件速率选择接收脚为所述光模块的rs0脚,所述硬件速率选择发送脚为所述光模块的rs1脚。

优选的,还包括:

当判断出所述光模块的接收速率与所述光模块的发送速率不相同时,向所述主机发送提示信息。

一种光模块自动兼容低速率的系统,应用于光模块的mcu中,包括:

硬件数值获取模块,用于自动读取硬件速率选择接收脚以及硬件速率选择发送脚的电平值;其中,所述硬件速率选择接收脚以及所述硬件速率选择发送脚均与主机连接;

软件数值获取模块,用于通过与所述主机连接的通信总线,自动获取所述主机中的接收速率软件寄存值以及发送速率软件寄存值;

接收速率选取模块,用于当所述接收速率软件寄存值和所述硬件速率选择接收脚的电平值这两个数值之中的任意一个等于第一电平值时,自动将光模块的接收速率选取为高速率,否则自动将所述光模块的接收速率选取为低速率;

发送速率选取模块,用于当所述发送速率软件寄存值和所述硬件速率选择发送脚的电平值这两个数值之中的任意一个等于所述第一电平值时,自动将所述光模块的发送速率选取为高速率,否则自动将所述光模块的发送速率选取为低速率。

优选的,所述第一电平值为1。

优选的,还包括:

提示信息输出模块,用于当判断出所述光模块的接收速率与所述光模块的发送速率不相同时,向所述主机发送提示信息。

一种光模块,被执行时实现上述任一项所述的光模块自动兼容低速率的方法的步骤。

应用本发明实施例所提供的技术方案,应用于光模块的mcu中,包括:自动读取硬件速率选择接收脚以及硬件速率选择发送脚的电平值;其中,硬件速率选择接收脚以及硬件速率选择发送脚均与主机连接;通过与主机连接的通信总线,自动获取主机中的接收速率软件寄存值以及发送速率软件寄存值;当接收速率软件寄存值和硬件速率选择接收脚的电平值这两个数值之中的任意一个等于第一电平值时,自动将光模块的接收速率选取为高速率,否则自动将光模块的接收速率选取为低速率;当发送速率软件寄存值和硬件速率选择发送脚的电平值这两个数值之中的任意一个等于第一电平值时,自动将光模块的发送速率选取为高速率,否则自动将光模块的发送速率选取为低速率。

本申请的方案中,由于mcu会自动读取硬件速率选择接收脚以及硬件速率选择发送脚的电平值,并且会自动获取主机中的接收速率软件寄存值以及发送速率软件寄存值,因此用户需要进行光模块的接收/发送速率的切换时,只需要在主机上进行接收/发送速率的选取即可,mcu会根据硬件速率选择数值以及软件寄存值,自动确定出光模块的接收/发送速率的高低进而自动设置,使得用户可以方便有效地进行光模块速率的切换。同时,由于本申请是结合硬件速率选择接收脚的电平值以及接收速率软件寄存值来确定出光模块的接收速率,结合硬件速率选择发送脚的电平值以及发送速率软件寄存值来确定出光模块的发送速率,并且用户的业务通常是运行在高速率的模式下,仅在客户端使用环境有变化等少部分场合中才需要运行在低速率模式下,因此,该种软硬件结合判断的方式,有利于提高容错率,避免由于干扰等原因导致数据值传递出错而引发的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明中一种光模块自动兼容低速率的方法的实施流程图;

图2为本发明中一种具体实施方式中mcu与主机之间的接线示意图;

图3为本发明中一种光模块自动兼容低速率的系统的结构示意图。

具体实施方式

本发明的核心是提供一种光模块自动兼容低速率的方法,用户可以方便有效地进行光模块速率的切换。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明中一种光模块自动兼容低速率的方法的实施流程图,该方法应用于光模块的mcu(microcontrollerunit,微控制单元)中,可以包括以下步骤:

步骤s101:自动读取硬件速率选择接收脚以及硬件速率选择发送脚的电平值;其中,硬件速率选择接收脚以及硬件速率选择发送脚均与主机连接。

mcu与用户主机之间的接线示意图可参见图2,在图2中,将光模块的mcu的rs0脚作为硬件速率选择接收脚,将mcu的rs1脚作为硬件速率选择发送脚。需要指出的是,考虑到现有的rs0脚以及rs1脚通常为闲置状态,因此选其用于本申请的方案,在其他实施方式中,也可以根据实际需要,选取其他引脚来实施本申请的方案。

当用户需要进行光模块的速率切换时,只需要向主机发送相关的速率选取指令即可,例如,用户点击主机上显示的“接收速率为高”这一选项,主机便可以获取到相应的接收速率选取指令,进而将硬件速率选择接收脚的电平值置为第一电平值,同时也将接收速率软件寄存值设为第一电平值。相应的,用户点击“发送速率为高”这一选项,主机便可以获取到相应的发送速率选取指令,进而将硬件速率选择发送脚的电平值置为第一电平值,同时也将发送速率软件寄存值设为第一电平值。

硬件速率选择接收脚上的电压可以是高电平,也可以是低电平,为高电平时,即硬件速率选择接收脚的电平值为1,为低电平时,硬件速率选择接收脚的电平值为0。相应的,硬件速率选择发送脚的电平值也可以为1或者0。

步骤s102:通过与主机连接的通信总线,自动获取主机中的接收速率软件寄存值以及发送速率软件寄存值。

在正常情况下,mcu获取的接收速率软件寄存值与硬件速率选择接收脚的电平值是相同的,也就是说,当用户进行光模块的接收速率的切换时,例如用户在主机端选择光模块的接收速率为高速率,接收速率软件寄存值与硬件速率选择接收脚的电平值便均会等于第一电平值。相应的,例如用户在主机端选择光模块的接收速率为低速率,接收速率软件寄存值与硬件速率选择接收脚的电平值便均会进行切换,例如均等于第二电平值。

当然,在正常情况下,mcu获取的发送速率软件寄存值与硬件速率选择发送脚的电平值也是相同的。

主机中的接收速率软件寄存值通常存放在寄存器byte110,bit3中,发送速率软件寄存值通常存放在寄存器byte118,bit3中。通信总线也可以根据实际需要进行设定和选取,例如可以如图2中所示的,将通信总线选取为应用广泛的i2c(inter-integratedcircuit,两线式串行总线)通信总线。

步骤s103:当接收速率软件寄存值和硬件速率选择接收脚的电平值这两个数值之中的任意一个等于第一电平值时,自动将光模块的接收速率选取为高速率,否则自动将光模块的接收速率选取为低速率。

mcu会同时判断接收速率软件寄存值和硬件速率选择接收脚的电平值,如前面的描述,在正常情况下,接收速率软件寄存值和硬件速率选择接收脚的电平值是相同的,即均会等于第一电平值或者均不等于第一电平值。

本申请考虑到,用户的业务通常是运行在高速率的模式下,仅在客户端使用环境有变化等少部分场合中才需要运行在低速率模式下。即用户业务通常要求光模块的接收速率和发送速率为高速率,本申请便将硬件速率选择和软件速率选择相结合,相较于采用单一的数率选择方式,有利于避免干扰,提高容错率。

具体的,在无故障情况下,当用户将接收速率选取为高速率时,接收速率软件寄存值和硬件速率选择接收脚的电平值均会为等于第一电平值。如果由于干扰等原因导致硬件速率选择接收脚的电平值在传递过程发生了异常,或者接收速率软件寄存值在传递过程发生了异常,就会出现接收速率软件寄存值和硬件速率选择接收脚的电平值之中,仅有一个数值等于第一电平值的情况。由于用户业务通常是运行在高速率的模式下,因此,mcu判断出这两个数值之中的任意一个等于第一电平值时,便自动将光模块的接收速率选取为高速率,这样便有更大的概率符合用户期望的接收速率,因此也就提高了容错率。

进一步的,第一电平值预设为1或者预设为0时,也是可以根据实际需要进行设定,以进一步地提高容错率。

具体的,当第一电平值预设为1时,通常会应用在:硬件速率接收引脚容易出现电位虚低,或者接收速率软件寄存值在传递过程中,容易由于干扰等原因导致寄存值由1变为0的场合中。可以看出,在无故障情况下,当用户将接收速率选取为高速率时,接收速率软件寄存值和硬件速率选择接收脚的电平值均会为1,但如果二者中存在一个数据异常,例如由于干扰导致了软件速率选择的通信异常,mcu获取到的接收速率软件寄存值为0,该数值0与硬件速率选择接收脚的电平值1不同,mcu可以通过逻辑或的方式进行运算,即数值0和数值1均作为或门的输入端,得出结果为数值1,符合第一电平值为1,mcu便自动将光模块的接收速率选取为高速率。也就是说,接收速率软件寄存值和硬件速率选择接收脚的电平值这两个数值之中的任意一个为1时,mcu会自动将光模块的接收速率选取为高速率。

接收速率软件寄存值和硬件速率选择接收脚的电平值不相同,即其中一个为0,另一个为1,这说明至少一个数据存在错误。该种实施方式中,考虑到硬件速率接收引脚频繁出现电位虚低,接收速率软件寄存值的传递过程中也容易由于干扰等原因导致数值由1变为0,因此,发生这种错误情况时,2个数据中的一个等于第一电平值1时,mcu便认为用户期望的接收速率为高速率,便会自动将光模块的接收速率选取为高速率。也就是说,针对硬件速率接收引脚容易出现电位虚低,或者接收速率软件寄存值在传递过程中,容易由于干扰等原因导致寄存值由1变为0的场合,该种实施方式中将第一电平值设置为1,选取出的光模块的接收速率有更大的概率符合用户期望的接收速率,也就能够进一步提高故障容错率。

此外,还需要说明的是,当发生了硬件速率选择接收脚的电平值不同于接收速率软件寄存值的情况,mcu还可以向主机发送故障提示信息,以使得用户可以及时注意到该情况。

在另一种实施方式中,第一电平值设置为0。通常会应用在:硬件速率接收引脚容易出现电位虚高,或者接收速率软件寄存值在传递过程中,容易由于干扰等原因导致寄存值由0变为1的场合中。具体的,接收速率软件寄存值和硬件速率选择接收脚的电平值不相同,即其中一个为0,其中一个为1,该种实施方式中,mcu只要判断出这两个数值中的任意一个为0,即任一数值等于第一电平值0,便会自动将光模块的接收速率选取为高速率。

例如,用户在主机上选择光模块的接收速率为高速率,该种实施方式中,在正常情况下,接收速率软件寄存值和硬件速率选择接收脚的电平值均会为0。如果发生异常情况,例如由于硬件速率选择接收脚的电位虚高,导致mcu接收到的硬件速率选择接收脚的电平值为1,由于接收速率软件寄存值为正确的数值0,mcu仍会自动将光模块的接收速率选取为高速率,也就避免了硬件速率选择脚频繁的电位虚高导致的光模块的接收速率不符合用户期望的情况,提高了容错率。

步骤s104:当发送速率软件寄存值和硬件速率选择发送脚的电平值这两个数值之中的任意一个等于第一电平值时,自动将光模块的发送速率选取为高速率,否则自动将光模块的发送速率选取为低速率。

步骤s104可以参照步骤s103中的相关描述,此处就不再赘述。

需要指出的是,在实际应用中,第一电平值通常预设为1,即在实际应用中,由于干扰等原因,导致软件通信或者硬件通信中的数值1变为数值0的情况更为普遍,将第一电平值设置1有利于提高容错率。

还需要说明的是,在通常情况下,用户对于光模块的发送速率的选取,会与其对于光模块的接收速率的选取相同,即用户会同时将发送速率和接收速率选取为高速率,或者同时将发送速率和接收速率选取为低速率。但在少部分场合中,也会存在发送速率选取为高速率,接收速率选取为低速率的情况,或者是发送速率选取为低速率,接收速率选取为高速率,本申请均可以进行支持。

应用本发明实施例所提供的技术方案,应用于光模块的mcu中,包括:自动读取硬件速率选择接收脚以及硬件速率选择发送脚的电平值;其中,硬件速率选择接收脚以及硬件速率选择发送脚均与主机连接;通过与主机连接的通信总线,自动获取主机中的接收速率软件寄存值以及发送速率软件寄存值;当接收速率软件寄存值和硬件速率选择接收脚的电平值这两个数值之中的任意一个等于第一电平值时,自动将光模块的接收速率选取为高速率,否则自动将光模块的接收速率选取为低速率;当发送速率软件寄存值和硬件速率选择发送脚的电平值这两个数值之中的任意一个等于第一电平值时,自动将光模块的发送速率选取为高速率,否则自动将光模块的发送速率选取为低速率。

本申请的方案中,由于mcu会自动读取硬件速率选择接收脚以及硬件速率选择发送脚的电平值,并且会自动获取主机中的接收速率软件寄存值以及发送速率软件寄存值,因此用户需要进行光模块的接收/发送速率的切换时,只需要在主机上进行接收/发送速率的选取即可,mcu会根据硬件速率选择数值以及软件寄存值,自动确定出光模块的接收/发送速率的高低进而自动设置,使得用户可以方便有效地进行光模块速率的切换。同时,由于本申请是结合硬件速率选择接收脚的电平值以及接收速率软件寄存值来确定出光模块的接收速率,结合硬件速率选择发送脚的电平值以及发送速率软件寄存值来确定出光模块的发送速率,并且用户的业务通常是运行在高速率的模式下,仅在客户端使用环境有变化等少部分场合中才需要运行在低速率模式下,因此,该种软硬件结合判断的方式,有利于提高容错率,避免由于干扰等原因导致数据值传递出错而引发的问题。

在本发明的一种具体实施方式中,步骤s103中的自动将光模块的接收速率选取为高速率,包括:

通过自动将光模块中的数据接收模块的cdr打开,将光模块的接收速率选取为高速率。

相应的,步骤s103中的自动将光模块的接收速率选取为低速率,包括:

通过自动将数据接收模块的cdr关闭,将光模块的接收速率选取为低速率。

mcu在进行光模块的接收速率以及发送速率的切换时,可以通过控制光模块内部芯片的cdr的开启以及关闭来实现。mcu将光模块内部芯片中的数据接收模块的cdr打开,便可以将光模块的接收速率选取为高速率,将该数据接收模块的cdr关闭,便可以将光模块的接收速率选取为低速率。

当然,mcu将光模块内部芯片中的数据发送模块的cdr打开,便可以将光模块的发送速率选取为高速率,将该数据发送模块的cdr关闭,便可以将光模块的发送速率选取为低速率。

在本发明的一种具体实施方式中,还包括:

当判断出光模块的接收速率与光模块的发送速率不相同时,向主机发送提示信息。

如前文的描述,在实际应用的过程中,用户通常会同时将光模块的发送速率和接收速率选取为高速率,或者同时将发送速率和接收速率选取为低速率。但在少部分场合中,也会存在用户将发送速率选取为高速率,接收速率选取为低速率的情况,或者是将发送速率选取为低速率,接收速率选取为高速率的情况。

本申请的该种实施方式中,当mcu判断出光模块的接收速率与光模块的发送速率不相同时,会向主机发送提示信息,以使得用户注意到该情况。例如有时用户需要同时将光模块的发送速率和接收速率从高速率切换为低速率,但在操作时,仅点击了将光模块的发送速率设置为低速率的选项,该种实施方式对用户进行提示,有助于用户进行二次确认。

此外,在部分实施方式中,mcu也可以不允许将光模块的发送速率和接收速率设置为不同的速率。具体的,mcu检测出用户进行光模块的速率调整时,如果判断出调整后的光模块的发送速率和接收速率不同,便保持为此前的速率状态不进行更改。这样的实施方式虽然降低了用户对于光模块的使用灵活性,但在一定程度上能够对用户的误操作进行容错,特别是在用户容易出现操作失误,确又没有将光模块的发送速率和接收速率设置为不同的速率的需求的场合中,该种实施方式较为适用。

相应于上面的方法实施例,本发明实施例还提供了一种光模块自动兼容低速率的系统,可与上文相互对应参照。

可参阅图3,为本发明中一种光模块自动兼容低速率的系统的结构示意图,应用于光模块的mcu中,包括:

硬件数值获取模块301,用于自动读取硬件速率选择接收脚以及硬件速率选择发送脚的电平值;其中,硬件速率选择接收脚以及硬件速率选择发送脚均与主机连接;

软件数值获取模块302,用于通过与主机连接的通信总线,自动获取主机中的接收速率软件寄存值以及发送速率软件寄存值;

接收速率选取模块303,用于当接收速率软件寄存值和硬件速率选择接收脚的电平值这两个数值之中的任意一个等于第一电平值时,自动将光模块的接收速率选取为高速率,否则自动将光模块的接收速率选取为低速率;

发送速率选取模块304,用于当发送速率软件寄存值和硬件速率选择发送脚的电平值这两个数值之中的任意一个等于第一电平值时,自动将光模块的发送速率选取为高速率,否则自动将光模块的发送速率选取为低速率。

在本发明的一种具体实施方式中,第一电平值为1。

在本发明的一种具体实施方式中,第一电平值为0。

在本发明的一种具体实施方式中,接收速率选取模块303,具体用于:

当接收速率软件寄存值和硬件速率选择接收脚的电平值这两个数值之中的任意一个等于第一电平值时,通过自动将光模块中的数据接收模块的cdr打开,将光模块的接收速率选取为高速率,否则通过自动将数据接收模块的cdr关闭,将光模块的接收速率选取为低速率。

在本发明的一种具体实施方式中,通信总线为i2c通信总线,硬件速率选择接收脚为光模块的rs0脚,硬件速率选择发送脚为光模块的rs1脚。

在本发明的一种具体实施方式中,还包括:

提示信息输出模块,用于当判断出光模块的接收速率与光模块的发送速率不相同时,向主机发送提示信息。

相应于上面的方法和系统实施例,本发明实施例还提供了一种光模块,被执行时可以实现上述任一实施例中的光模块自动兼容低速率的方法的步骤,此处不重复说明。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1