【技术领域】
本发明有关一种从系统硬件故障中执行自动恢复的方法及使用该方法的光通信模组,尤指一种当系统硬件故障发生时光通信模组的控制器中执行自动恢复的方法。
背景技术:
在光通信网络中,光通信模组(例如光收发器、发射器和接收器模组)通常用于通过光波导发射和接收光信号,光波导通常为光纤。光收发器模组包括发射端和接收端。在发射端,由光源产生光束,光源通常为激光光源。光耦合系统接收光束,并将光束光耦合至光纤的端面上。所述光耦合系统通常包括一个或多个反射、折射和/或衍射元件,其将已调制的光束耦合至光纤的端面上。
发射端的光源驱动器电路输出电驱动信号来驱动所述光源。在接收端,从光纤端面穿出的光信号由光耦合系统耦合至光通信模组的光检测器上,比如正本负二极管(pin二极管)。所述光检测器将光信号转换成电信号。接收端的接收电路处理这些电信号以恢复数据。
光通信模组的操作通常由执行软件和/或固件计算机指令的控制器来控制。所述控制器通常控制所述光源驱动电路及所述接收电路,并且也可以控制用于与模块外部设备通信的接口。举个例子,所述控制器可以产生控制信号使得光源驱动电路基于指示测量光源产生的光信号强度的反馈信号来调整输出到光源的电驱动信号。另一个例子,所述控制器可以产生传递至接收电路的自动增益控制(automaticgaincontrol,下文称agc)电路的控制信号,以基于由控制器接收的反馈信号来调整agc的增益。
所述控制器通常为微型控制器包括固态储存设备,例如静态随机存取存储器(staticrandomaccessmemory,下文称sram),其用于储存数据及计算机指令,所述微型控制器包括固件来控制微型控制器的各项操作。在光通信模组中使用的一些微型控制器通过奇偶校验位对数据进行编码,并执行sram奇偶校验检查以确认是否发生了损害数据完整性的奇偶校验错误。当微型控制器检测到了sram奇偶校验错误时,微型控制器通常会执行系统硬件故障。出于安全性的原因,当发生了系统硬件故障,通常会禁用sram,以防止执行微型控制器的固件例行程序。微型控制器将会一直保持在这种禁用状态中,导致光通信模组性能下降。此外,在这种禁用状态下,由于系统硬件故障而导致微型控制器无法通知用户。用户唯一的选择就是执行外部模组复位。
因此存在一种需求,使得在发生sram奇偶校验错误后,光通信模组的控制器能够执行自动恢复。
技术实现要素:
本发明的主要目的在于提供一种从系统硬件故障中执行自动恢复的方法及使用该方法的光通信模组,其可靠性好。
为实现上述目的,本发明可以采用以下技术方案:
一种光通信模组,其可从系统硬件故障中自动恢复,所述光通信模组包括第一控制器及自动恢复逻辑,其特征在于:所述第一控制器包括第一端口、第二端口及芯片复位电路,所述第一控制器可执行错误检查操作来确定是否已经发生了错误,所述第一控制器产生具有预设属性的心音信号,并且如果错误检查操作确定没有发生错误,所述第一控制器从所述第一端口输出所述心音信号,所述第二端口接收处于第一或第二状态的芯片复位信号,其中如果所述第二端口接收的芯片复位信号处于第二状态,所述第一控制器的芯片复位电路就会执行芯片复位操作,所述自动恢复逻辑位于所述第一控制器的外部,其包括分别与所述第一控制器的第一端口及第二端口通信的第一端口及第二端口,所述自动恢复逻辑监控所述自动恢复逻辑的第一端口以确定具有预设属性的所述心音信号在所述自动恢复逻辑的第一端口处存在或者不存在,并且输出所述芯片复位信号从所述自动恢复逻辑的第二端口至所述第一控制器的第二端口,从所述自动恢复逻辑的第二端口输出的芯片复位信号处于第一状态或者第二状态分别取决于具有预设属性的心音信号在所述自动恢复逻辑的第一端口上存在或者不存在。
为实现上述目的,本发明可以采用以下技术方案:
一种在光通信模组中用以从系统硬件故障中执行自动恢复的方法,其包括:
在光通信模组的第一控制器中,执行错误检查操作以确认是否发生了错误;
所述第一控制器包括第一及第二端口,当执行所述错误检查操作时,如果所述第一控制器确认没有发生错误,则产生具有预设属性的心音信号并从所述第一控制器的第一端口输出所述心音信号;
光通信模组的自动恢复逻辑,位于所述第一控制器外部并且包括第一端口,所述自动回复逻辑的第一端口和所述第一控制器的第一端口通信,在所述自动恢复逻辑中,监控所述自动恢复逻辑的第一端口,以确认具有预设属性的心音信号在所述自动恢复逻辑的第一端口是否存在;
所述自动恢复逻辑包括第二端口,在所述自动恢复逻辑中,从所述自动恢复逻辑的第二端口输出芯片复位信号至所述第一控制器的第二端口,其中,所述芯片复位信号处于第一或者第二状态分别取决于所述心音信号在所述自动恢复逻辑的第一端口存在或者不存在;以及
如果所述第一控制器的第二端口接收到的芯片复位信号处于第二状态,则通过第一控制器的芯片复位电路执行芯片复位操作。
为实现上述目的,本发明可以采用以下技术方案:
一种使用计算机程序在光通信模组的控制器执行错误检查操作,以确认已经发生了错误,并执行了系统硬件故障后,从系统硬件故障中执行自动恢复的方法,所述计算机程序的计算机代码储存在非暂时性计算机可读介质中,所述方法包括以下步骤:
在所述控制器的第一逻辑中执行第一代码段,导致产生具有预设属性的心音信号,并且当执行错误检查操作时,如果所述控制器确认没有发生错误,则从所述控制器的第一端口输出具有预设属性的心音信号,其中,光通信模组的自动恢复逻辑位于所述控制器的外部,所述自动恢复逻辑包括第一端口,用于和控制器的第一端口通信,所述自动恢复逻辑监控所述自动恢复逻辑的第一端口,以确认具有预设属性的心音信号在所述自动恢复逻辑的第一端口是否存在,所述自动恢复逻辑从所述自动恢复逻辑的第二端口输出芯片复位信号至所述控制器的第二端口,所述芯片复位信号处于第一或者第二状态分别取决于具有预设属性的心音信号在所述自动恢复逻辑的第一端口处存在或者不存在,如果在所述控制器的第二端口处接收到的芯片复位信号处于第二状态,则所述控制器的芯片复位电路执行芯片复位操作。
为实现上述目的,本发明还可以采用以下技术方案:
一种使用计算机程序在光通信模组的控制器的系统硬件故障中执行自动恢复的方法,所述控制器执行错误检查操作以确认是否发生了错误,如果没有发生错误,则从所述控制器的第一端口输出具有预设属性的心音信号,所述计算机程序的计算机代码储存在非暂时性计算机可读介质中,所述方法包括以下步骤:
在所述光通信模组的自动恢复逻辑中执行第一代码段,所述自动恢复逻辑位于所述控制器的外部并且包括和所述控制器的第一端口通信的第一端口,所述第一代码段监控自动恢复逻辑的第一端口以确认具有预设属性的心音信号在所述自动恢复逻辑的第一端口处是否存在;以及
在所述自动恢复逻辑中执行第二代码段,导致从自动恢复逻辑的第二端口输出芯片复位信号至控制器的第二端口,其中,所述芯片复位信号处于第一或者第二状态分别取决于具有预设属性的心音信号在自动恢复逻辑的第一端口存在或者不存在,如果控制器的第二端口接收到的芯片复位信号处于第二状态,所述控制器的芯片复位电路则执行芯片复位操作。
本发明的光通信模组及方法可以使得在发生sram奇偶校验错误后,光通信模组的控制器能够执行自动恢复。
【附图说明】
图1显示的是根据本发明代表实施例的光通信模组的框图,其包括自动恢复逻辑,使得当光通信模组的控制器确认检测到奇偶校验错误后进行自动复位。
图2为图1显示的根据本发明代表实施例的控制器和自动恢复逻辑的框图,其中与产生具有预设波形信号相关联的任务,在储存于控制器的sram设备中的固件上执行。
图3显示的是由图1所示的控制器产生的心音信号的预设波形的示例及由图1所示的自动恢复逻辑产生的复位信号的示例的时序图。
图4显示的是代表根据本发明代表实施例的方法的流程图。
【具体实施方式】
本文描述的代表实施例指具有控制器的光通信模组,当控制器检测到特定的错误时,所述控制器从发生的系统硬件故障中执行自动恢复。根据代表实施例,所述光通信模组包括控制器及位于控制器外部的自动恢复逻辑。所述控制器的第一及第二端口分别与所述自动恢复逻辑的第一及第二端口通信。所述控制器执行错误检查操作以确认是否发生了错误。如果错误检查操作确认没有发生错误,则所述控制器产生并且从控制器的第一端口输出具有预设属性的心音信号。控制器的第二端口接收来自所述自动恢复逻辑的第二端口的芯片复位信号,所述芯片复位信号处于第一或第二状态。如果所述芯片复位信号处于第二状态,所述控制器的芯片复位电路则会执行芯片复位操作。所述自动恢复逻辑监控自动恢复逻辑的第一端口以确认具有预设属性的心音信号在所述自动逻辑的第一端口是否存在,如果不存在所述心音信号,则将所述芯片复位信号置于第二状态。
参考图1至图4,将会描述提供早期解决方案的系统和方法的一些代表实施例,相同的附图标记表示相同的部件、元件或特征。应当注意的是,图中的特征、元件或部件并非旨在按照比例绘制,而是将重点放在展示发明原理和概念上。应当注意的是,正如本领域普通技术人员可以理解的那样,本发明的原理和概念不限于在此描述的代表实施例。
在接下来的细节描述中,出于解释而非限制性的目的,阐述了公开具体细节的示例实施例,以便提供对根据本说明的实施例的透彻理解。然而得益于本领域普通技术人员可以显而易见的是根据本说明的脱离本文公开的具体细节的其他实施例仍然在所附权利要求的范围内。此外,可以省略对公知设备和方法的描述,以免模糊对代表实施例的描述。这些方法和装置显然在本说明的范围内。还应该理解的是,这里使用的词语“示例”,应为非排他性和非限制性的。
这里使用的术语仅是用来描述而不在于限制特定的实施例。所定义的术语除了在相关背景中通常理解和接受的技术、科技或普通含义。
除非上下文另有明确规定,否则术语“一”,“一个”和“该”包括单数和复数指示物。因此,例如,“一个设备”包括一个设备和多个设备。术语“实质的”或“基本上”意指在本领域技术人员可接受的限度或程度内。术语“大约”意指在本领域普通技术人员可接受的限度或量内。
这里使用的术语“存储器”或“存储器设备”旨在表示能够存储计算机指令或计算机代码的非暂时性计算机可读存储介质,用于由一个或多个处理器执行。这里对“存储器”或“存储器设备”的引用应该被解释为一个或多个存储器或存储器设备。例如,存储器可以是同一计算机系统内的多个存储器。存储器还可以是分布在多个计算机系统或计算设备之间的多个存储器。
这里使用的术语“处理器”,“处理设备”或“处理逻辑”是可互换的,并且包含至少一个电子设备,该电子设备被配置为执行处理信号的一个或多个处理算法。电子设备可以以硬件,软件或固件或其组合来执行算法。这里对包括“处理器”或“处理设备”或“处理逻辑”的系统的引用应该被解释为一个或多个处理器或处理核。例如,处理器可以是多核处理器。处理器还可以指在单个计算机系统内的处理器集合或分布在多个计算机系统中的处理器集合。计算机程序的指令可以由单个处理器或多个处理器执行,这些处理器可以在同一设备内或者可以分布在多个设备上。这里使用的术语“控制器”表示如这里定义的那些术语包括处理器,处理设备或处理逻辑的电子设备。
图1显示的是根据代表实施例的光通信模组1的框图,其包括自动恢复逻辑10,在光通信模组1的控制器20已经确认探测到奇偶校验错误后,所述自动恢复逻辑10会自动复位所述控制器20。所述光通信模组1可以是光收发器模组、光发射器模组或者光接收器模组。光通信模组1可以包括各种配置,但通常包括比如控制器20、光源驱动电路2、光源阵列3、接收电路4及光探测器阵列5。光源阵列3具有m个光源,m为大于或等于1的正整数。光探测器阵列5具有n个光探测器,n为大于或等于1的正整数。m个光源可以是例如m个相应的激光二极管(例如垂直腔面激光发射器(verticalcavitysurfaceemittinglaser,下称vcsel),边缘发射激光二极管等)。n个光探测器可以是例如n个相应的正本负光电二极管(例如pin二极管)。
光源驱动电路2可以具有多个配置,但通常配置为将一个或多个驱动信号6传递至所述光源阵列3。比如,如果光源为vcsel,那么光源驱动电路2通常将调制和偏置电流信号传递至各vcsel。在光通信模组中通常使用监控光电二极管监控来监控激光二极管产生的光的强度,并且通常使用控制器接收来自监控光电二极管的反馈信号,使得光源驱动电路2基于监控值来调整传递至激光二极管的调制及/或偏置电流信号。尽管监控光电二极管并未在图1中显示,但是它们可以包含在光通信模组1中,并且由控制器20监控以控制光源驱动电路2。
接收电路4可以具有各种配置和部件,但通常包括接收器集成电路(integratedcircuit,下文称ic),时钟和数据恢复(clockanddatarecovery,下文称cdr)电路,跨阻放大器(transimpedanceamplifier,下文称tia),直流(directcurrent,下文称dc)偏置消除电路及自动增益控制(automaticgaincontrol,下文称agc)电路。一些或者所有这些部件通常至少部分地由控制器20控制。例如,控制器20可以设置dc偏移消除电路和agc电路的放大器级的初始增益值。
控制器20包括固态储存器设备30,用以储存由控制器20执行的计算机指令(例如,固件),并可以储存各种类型的数据。根据代表实施例,固态储存器设备30为sram设备。根据代表实施例,控制器20通过奇偶校验位对储存在sram设备30中的比特进行编码。这里使用的各种奇偶校验位编码技术都是已知的,正如本领域普通技术人员可以理解的那样。本发明的原理和概念不限于使用的奇偶校验位编码技术。正如本领域所公知的,光通信模组中使用的控制器使用各种位错误探测技术,以为了保持储存在控制器的sram设备中的比特的高完整性而检查位错误。根据代表实施例,控制器使用一个或多个类似的位错误探测技术以探测储存在sram设备30中的比特的错误。因此,控制器20配置为执行奇偶校验位编码技术以通过奇偶校验位对储存在sram设备30中的比特进行编码,并执行错误探测技术以确认是否发生了奇偶校验错误。
如上所述,当一些在已知光通信模组中使用的已知控制器确认已经探测到奇偶校验错误,它们会发出系统硬件故障,防止它们执行任何额外任务。这里使用的术语“系统硬件故障”,指发生在光通信模组的控制器中的故障,其会阻止控制器执行额外操作,包括执行固件指令。这样的控制器会保持这种禁用状态直到它们在控制器ic芯片集的特定端子上接收到额外的复位信号。为了演示根据本发明原理和概念的代表性实施例,在图1中,假定控制器20为类似的控制器,其被配置为在端口31接收复位信号。因此,如果控制器20没有包括自动恢复逻辑10,并探测到发生了sram奇偶校验错误,用户将不得不在光通信模组1上制动手动部分以使得复位信号应用于端口31。用自动恢复逻辑10装备控制器20可以确保当控制器20确认发生了sram奇偶校验错误后,通过复位信号35自动应用于端口31,从而控制器20从系统硬件故障中自动恢复。复位信号35使得控制器20的芯片复位硬件37执行芯片复位操作。
应当注意的是虽然参考探测奇偶校验错来使致控制器20执行系统硬件故障来描述本发明的原理和概念,本发明的原理和概念同样适用于当探测到其他错误时控制器从系统硬件故障中自动恢复。出于描述的目的,将会参考探测到奇偶校验错误来描述代表实施例。
控制器20被配置为当控制器20没有探测到奇偶校验错误,从主控制器20的输出端子32上输出具有预设属性的信号36至自动恢复逻辑10。自动恢复逻辑10监控信号36以确认其是否具有预设属性。只要自动恢复逻辑10探测到预设属性,复位信号35就会保持解除断言。如果自动恢复逻辑10没有探测到预设属性,自动恢复逻辑10就会断言复位信号35,其使得控制器20的芯片复位硬件37执行立即芯片复位。
这里使用的术语“预设属性”,代表可以归因于生成信号36并且可以由自动恢复逻辑10识别的方法的特性。例如,预设属性可以为在预设阈值时间段pth内出现的信号36的上升沿的q个事件,其中q为大于或等于1的正整数。在该示例中,如果自动恢复逻辑10没有探测到pth内至少q个上升沿,自动恢复逻辑10就会确认信号36为不存在。作为另一个示例,预设属性可以为信号36的预设忙闲度(例如,信号36接通时间和关闭时间的相对持续时间)。例如,信号36可以具有至少10%的忙闲度,周期对应包含在sram设备30的工作队列中的一系列工作任务。在该示例中,如果自动恢复逻辑10在控制器20执行包含在工作队列中的任务的至少10%的时间内没有探测到逻辑1电平,则自动恢复逻辑10确认信号36不存在。
控制器20探测到奇偶校验错误的事件中,控制器20执行上述系统硬件故障,如本领域中已知的。如上所述,当控制器20执行系统硬件故障,其会停止执行所有任务,包括执行储存在sram设备30中的固件指令。根据优选实施例,储存在sram设备30中的固件指令包括一个或多个指令,或代码段,使得具有预设属性的信号36从输出端子32输出。因此,当探测到奇偶校验错误,导致控制器20停止执行储存在sram设备30中的固件指令,具有预设属性的信号36就不会从输出端口32输出。自动恢复逻辑10监控从端口32输出的信号,并探测具有预设属性的信号36何时消失。如果自动恢复逻辑10确认从端口32输出的信号36不存在,例如,在预设时间段没有探测到预设属性,自动恢复逻辑10就会发送复位信号35至输入端口31,使得芯片复位硬件37执行控制器20的芯片复位。执行芯片复位操作的方式、操作的结果及用于执行操作的硬件都是公知的,因此,为了简洁起见,在这里将不再描述。
图2为图1中根据代表实施例的控制器20和自动恢复逻辑10的框图,其中与产生具有预设属性的信号36相关联的任务,在储存于控制器的sram设备中的固件上执行。sram设备30包括固件工作任务队列40,其在预设序列中保持固件指令,以由控制器20在预设序列中执行。控制器20包括一个或多个处理器,其被配置为执行多种处理任务,包括执行储存在固件工作任务队列40中的任务。出于示例性目的,固件工作任务队列40显示为保持工作任务0至n i,n和i都是正整数。固件工作任务0至n的示例分别显示为vcc监控任务41、心音信号发生器任务42、温度监控任务43、激光偏置监控任务44及数模转换器(digital-to-analogconverter,下文称dac)偏置控制任务45。心音信号发生器任务42为用以产生具有预设属性的信号36的固件,其在下文中称为心音信号36。
图3显示的是控制器20产生的心音信号36的示例及自动恢复逻辑10产生的复位信号35的示例的时序图。根据代表实施例,心音信号36具有可变频率和可变周期,因为其可能不总是花费相同的时间来执行所有包含在固件工作任务队列40中的任务。根据代表实施例,心音信号36的预设属性为从最小幅度值amp_min至最大幅度值amp_max的上升沿,其分别对应在预设阈值时间段tth内的逻辑0电平和逻辑1电平,根据代表实施例,其是比一个固件工作任务队列40的周期时间t周期略大的时间段。因此,tth的值略大于控制器20执行所有包含在工作任务队列40中的任务的时间t周期的值。
图3显示的示例中,时间段t1,t2及t3对应小于tth的时间段,并且因此导致自动恢复逻辑10确认信号36存在。只要自动恢复逻辑10探测到存在信号36,它就会将芯片复位信号35保持在解除断言状态,如图3所示。如果自动恢复逻辑10探测到在预设时间段tth内心音信号36不存在,其就会产生由控制器20的端口31接收的芯片复位信号35,然后使得芯片复位硬件37执行芯片复位操作。预设时间段tth至少略大于t周期,正如图3所示,并且可以为r乘t周期,r大于1。在一些情况下,r可以远大于1,例如2×,10×,100×tth。如果自动恢复逻辑10在预设阈值时间段tth内没有探测到上升沿,自动恢复逻辑10就会断言传送到控制器20的端口31的复位信号35。根据代表实施例,芯片复位信号35会保持解除断言状态(逻辑1电平)直要自动恢复逻辑10探测到存在心音信号36,但是当自动恢复逻辑10探测到在时间段tth内不存在心音信号36时,其就会断言(逻辑0电平)一段时间t4。
示例中使用术语“断言”和“解除断言”来分别表示芯片复位信号35的逻辑0电平和逻辑1电平,但是它们也可以使用本文提供的描述如本领域普通技术人员可以理解的那样来表示芯片复位信号35的逻辑1电平和逻辑0电平。
再次参考图2,根据代表实施例,自动恢复逻辑10包括计时器逻辑51,其被配置为当计时器逻辑51没有探测到心音信号36的存在时递增计数。每次自动恢复逻辑10接收到或探测到心音信号36,计时器逻辑51的计数就会归零,然后计数再次开始递增。自动恢复逻辑10包括计时器到期逻辑52,其被配置为确认计时器逻辑51的计时器是否已经到期。由计时器逻辑51及计时器到期逻辑52执行的任务可以通过多种方式实现。例如,计时器逻辑51可以被配置为当计数达到对应tth(即,计时器到期)的值时,将sram设备30中的特定寄存器位设定为1,而当计数归零时将寄存器位设定为0,即当自动恢复逻辑10接收到心音信号36时。在这种情况下,对应计时器到期逻辑52的判定框52每次框51代表的操作被执行时(例如,每次计数递增时)就会检查寄存器位的值,并确认寄存器位为1还是为0。如果计时器到期逻辑52确认寄存器位为1,意味着计时器已经到期,自动恢复逻辑10则会输出断言复位信号35至端口31,从而使得芯片复位硬件37执行芯片复位操作。
一旦执行了芯片复位操作,控制器20就会恢复执行包含在固件工作任务队列40中的任务,包括产生心音信号36的心音信号发生器任务42。如上所述,每次计时器逻辑51接收到心音信号36,即,探测到存在心音信号的预设属性,其就会通过将计数归零并重新开始计数递增来重启计时器。
如上所述,已知在光通信模组中使用的一些控制器包括逻辑以执行sram奇偶校验检查来确认是否已经发生了奇偶校验错误,并且如果发生,就会导致系统硬件故障。图2中框54-56代表确认是否发生了sram奇偶校验错误的过程,并且如果发生了,则会导致系统硬件故障。由于这些过程都是已知的并且在公开范围之外,出于简洁,在这将不提供对其执行方式的详细讨论。
在框54和55中,控制器20执行sram奇偶校验分别检查并确认是否探测到sram奇偶校验错误。如果框55中确认奇偶校验没有问题,即没有探测到奇偶校验错误,包含在固件工作任务队列40中的任务则会被继续执行,这意味着计时器逻辑51继续会重置并重启计时器。如果框55中确认奇偶校验有问题,即探测到奇偶校验错误,控制器20则会执行框56代表的系统硬件故障。当发生了这样的情况,包含在固件工作任务队列40的任务则会停止执行,这意味着计时器逻辑51将会继续递增计数,从而导致计时器到期,并且计时器到期逻辑52使得自动恢复逻辑10断言发送到端口31的复位信号35,从而使得芯片复位硬件37执行芯片复位操作。
实现用于在控制器20的固件中产生心音信号36的任务的优点之一是相对于硬件,其允许通过固件来对任务做出修改,通过硬件修改则需要重新设计控制器20及需要大量生产新控制器。例如,如果修改信号36的占空比是必要的,相关的修改可以通过增加或者修改储存在固件工作任务队列40中的任务而相对容易地实现。然而应当注意的是,可以在固件、软件、硬件或者其组合中执行产生心音信号36的任务。实现这种任务的方式可以取决于各种因素,正如本领域普通技术人员根据描述的内容可以理解的那样。
本系统和方法的另一个优点是其可以记录奇偶校验事件。根据代表实施例,自动恢复逻辑10包括可选事件记录逻辑60,其被配置为记录奇偶校验事件的时序的信息。根据代表实施例,每次计时器到期逻辑52确认计时器已经到期,即自动恢复逻辑10无法再探测到心音信号36,事件记录逻辑60记录代表奇偶校验错误的时序的条目。这提供了奇偶校验错误何时发生及芯片复位操作何时发生的诊断信息。这些信息在确认奇偶校验错误原因时十分有用。根据上述讨论的已知控制器,当探测到奇偶校验事件用户需要手动复位控制器,并且用户只能猜测奇偶校验错误发生的原因和时间。光通信模组1的自动恢复逻辑10包括所述事件记录逻辑60可以使得这些信息用于诊断或者其他目的。
例如,在已知的光通信模组中使用的已知的控制器已经确认正在探测奇偶校验错误,但是错误的来源不容易被识别。经过调查发现,这个特定的奇偶校验错误是由于质子或中字攻击后,导致在控制器的sram设备中的单个比特改变了状态。尽管探测到了所述奇偶校验错误,但仍然需要大量的调查来确认该错误的原因。此外,所述奇偶校验错误导致系统硬件故障,并且控制器无法从其中自动恢复。本系统和方法对于这些问题提供一些解决方案。
优选的,自动恢复逻辑10是位于控制器20外部的设备。自动恢复逻辑10可以是例如微型控制器。用于这种目的的微型控制器可以是相对简单的微型控制器,其只需要有一根端子用于监控心音信号36及一根端子用于输出复位信号35,尽管其也可以包括其他端子用于执行额外的操作。与框51、52及60的操作相关联的功能并不太复杂,因此,用于这种目的的微型控制器可以相对便宜,这对于满足光通信模组工业中的预算约束十分重要。其他类型的处理设备也可以用于这种目的,包括例如专用集成电路(applicationspecificintegratedcircuit,下文称asic)、数字信号处理器(digitalsignalprocessor,下文称dsp)、微型处理器、可编程逻辑阵列(programmablelogicarray,下文称pla)、可编程门阵列(programmablegatearray,下文称pga)。自动恢复逻辑10可以通过硬件、软件和/或固件、或其组合实现。
可选事件记录逻辑60可以将信息记录在作为自动恢复逻辑10的组成部分的存储元件中,或者其可以将信息从自动恢复逻辑10中输出至外部设备中以储存在一些其他外部储存设备中。例如,这些信息可以记录在控制器20内的储存器中。
尽管自动恢复逻辑10在控制器20的外部,所述自动恢复逻辑10和控制器20也可以是同一个ic芯片的一部分。自动恢复逻辑10与控制器20通常以分开的ic芯片来实现,它们之间通过各芯片的一些输入/输出端子来实现电性连接。
图4是代表根据代表实施例的方法的流程图,其用于当错误检查操作确认发生错误后,从系统硬件故障中执行自动恢复。出于说明的目的,参考图1和图2来描述本方法,然而应当理解的是,本方法不限于使用图1和图2中的控制器20和自动恢复逻辑10的配置来执行。换句话说,与图1和图2中的控制器和自动恢复逻辑不同的配置也可以用于执行本方法。出于说明的目的,图4中的流程图代表的方法将会通过参考当奇偶校验检查操作确认发生了奇偶校验错误后从系统硬件故障中执行自动恢复来描述。应当注意的是,本发明的原理和概念也可以适用于其他类型的可导致系统硬件故障的错误和错误检查操作。
框61代表光通信模组的控制器(例如,控制器20)执行奇偶校验错误检查操作已确认是否发生了奇偶校验错误的过程。框62代表控制器产生具有预设属性的信号,并且如果奇偶校验检查操作确认没有发生奇偶校验错误则从控制器的第一端口(例如,端口32)输出该信号的过程。奇偶校验检查操作通常在控制器的硬件中执行,而与产生并输出具有预设属性的信号相关联的操作通常在控制器的固件中执行(例如,固件工作任务队列40的框42)。框63代表位于控制器外部的自动恢复逻辑(例如,自动恢复逻辑10)监控自动恢复逻辑的第一端口,以确认具有预设属性的信号在自动恢复逻辑的第一端口处是否存在的过程。框64代表自动恢复逻辑从自动恢复逻辑的第二端口输出芯片复位信号的过程,所述芯片复位信号处于第一状态或者第二状态分别取决于具有预设属性的信号在自动恢复逻辑的第一端口存在或者不存在。
如上所述,如果控制器探测到奇偶校验错误,其会停止输出具有预设属性的信号,并且自动恢复逻辑将会探测到预设属性的消失,从而使得其断言芯片复位信号。如框65所示,所述芯片复位硬件接收芯片复位信号,并当芯片复位信号从第一状态(解除断言)改变至第二状态(断言)时,执行芯片复位操作。
图4的流程图还包括当计时器到期也就是已经在控制器中探测到奇偶校验错误时,通过事件记录逻辑(例如,逻辑60)执行事件记录的可选过程66。根据代表实施例,将芯片复位信号置于第二状态(例如,断言)会触发事件记录逻辑记录事件信息。
有许多方法可以配置自动恢复逻辑10及控制器20来执行上述任务。如上所述,可以产生具有各种预设属性的信号36,所以与产生信号36及探测信号36相关的过程也可以变化。正如本领域普通技术人员可以理解的那样,鉴于本发明提供的描述,可以对上述系统和方法进行许多修改,这些修改在本发明原理和概念的范围内。
应该注意的是为了说明本发明的原理和概念,已经参考一些说明性或代表性的实施例描述了本发明。例如虽然参考了控制器20和自动恢复逻辑10的特定的配置和实现方式来描述了代表实施例,其他配置和实现方式也是可能的,正如本领域普通技术人员理解的那样。所以正如本领域普通技术人员理解的那样,本发明的原理和概念在这方面不受限制。本领域普通技术人员可以理解,对于本文描述的代表实施例可以进行一些修改,修改的内容也在本发明的范围之内。
1.一种光通信模组,其可从系统硬件故障中自动恢复,所述光通信模组包括第一控制器及自动恢复逻辑,其特征在于:所述第一控制器包括第一端口、第二端口及芯片复位电路,所述第一控制器可执行错误检查操作来确定是否已经发生了错误,所述第一控制器产生具有预设属性的心音信号,并且如果错误检查操作确定没有发生错误,所述第一控制器从所述第一端口输出所述心音信号,所述第二端口接收处于第一或第二状态的芯片复位信号,其中如果所述第二端口接收的芯片复位信号处于第二状态,所述第一控制器的芯片复位电路就会执行芯片复位操作,所述自动恢复逻辑位于所述第一控制器的外部,其包括分别与所述第一控制器的第一端口及第二端口通信的第一端口及第二端口,所述自动恢复逻辑监控所述自动恢复逻辑的第一端口以确定具有预设属性的所述心音信号在所述自动恢复逻辑的第一端口处存在或者不存在,并且输出所述芯片复位信号从所述自动恢复逻辑的第二端口至所述第一控制器的第二端口,从所述自动恢复逻辑的第二端口输出的芯片复位信号处于第一状态或者第二状态分别取决于具有预设属性的心音信号在所述自动恢复逻辑的第一端口上存在或者不存在。
2.如权利要求1所述的光通信模组,其特征在于:所述第一控制器执行的错误检查操作为奇偶校验错误检查操作以确定奇偶校验错误是否已经发生。
3.如权利要求2所述的光通信模组,其特征在于:所述第一控制器包括第一处理逻辑及存储设备,所述第一处理逻辑设置成执行多个任务,其中至少一个任务正在执行生成具有预设的属性的心音信号的算法,并且如果所述第一控制器确定没有发生奇偶校验错误,则从所述第一控制器的第一端口输出所述心音信号。
4.如权利要求3所述的光通信模组,其特征在于:所述自动恢复逻辑包括第二处理逻辑,其被设置为监控所述自动恢复逻辑的第一端口以确认具有预设属性的心音信号在所述自动恢复逻辑的第一端口处是否存在,并且从所述自动恢复逻辑的第二端口输出芯片复位信号。
5.如权利要求4所述的光通信模组,其特征在于:所述第一控制器的存储设备为静态随机存取存储器。
6.如权利要求5所述的光通信模组,其特征在于:所述光通信模组包括第一芯片,所述第一控制器是在所述第一芯片上与静态随机存取存储器集成的第一微型控制器。
7.如权利要求6所述的光通信模组,其特征在于:所述光通信模组包括第二微型控制器,所述自动恢复逻辑为所述第二微型控制器的逻辑,所述第一微型控制器的第一和第二端口分别对应第一微型控制器的第一和第二端子,所述自动恢复逻辑的第一和第二端口分别对应所述第二微型控制器的第一和第二端子,所述第一微型控制器的第二端子为第一微型控制器的复位端子。
8.如权利要求4所述的光通信模组,其特征在于:所述第一逻辑包括固件作业任务队列,并且其中所述一个任务包括队列中包含的固件计算机代码段。
9.如权利要求8所述的光通信模组,其特征在于:如果所述第一控制器确认发生了奇偶校验错误,所述第一处理逻辑停止执行任何包含在固件工作任务队列中的任务,包括所述至少一个任务,并且所述至少一个任务的停止执行会导致具有预设的心音信号从所述自动恢复逻辑的第一端口处消失。
10.如权利要求4所述的光通信模组,其特征在于:所述第二逻辑包括计时器逻辑及计时器到期逻辑,所述计时器逻辑监控所述自动恢复逻辑的第一端口并且如果具有预设属性的心音信号从所述自动恢复逻辑的第一端口消失则启动计时器,所述计时器到期逻辑确定所述计时器何时到期,并且当所述计时器到期后所述计时器到期逻辑将所述芯片复位信号从第一状态改为第二状态。
11.如权利要求10所述的光通信模组,其特征在于:所述第二逻辑进一步包括事件记录逻辑,其记录计时器何时到期的指示。
12.如权利要求1所述的光通信模组,其特征在于:所述自动恢复逻辑包括事件记录逻辑,其记录所述自动逻辑何时确认具有预设属性的心音信号从所述自动恢复逻辑的第一端口处消失的指示。
13.一种在光通信模组中用以从系统硬件故障中执行自动恢复的方法,其包括:
在光通信模组的第一控制器中,执行错误检查操作以确认是否发生了错误;
所述第一控制器包括第一及第二端口,当执行所述错误检查操作时,如果所述第一控制器确认没有发生错误,则产生具有预设属性的心音信号并从所述第一控制器的第一端口输出所述心音信号;
光通信模组的自动恢复逻辑,位于所述第一控制器外部并且包括第一端口,所述自动回复逻辑的第一端口和所述第一控制器的第一端口通信,在所述自动恢复逻辑中,监控所述自动恢复逻辑的第一端口,以确认具有预设属性的心音信号在所述自动恢复逻辑的第一端口是否存在;
所述自动恢复逻辑包括第二端口,在所述自动恢复逻辑中,从所述自动恢复逻辑的第二端口输出芯片复位信号至所述第一控制器的第二端口,其中,所述芯片复位信号处于第一或者第二状态分别取决于所述心音信号在所述自动恢复逻辑的第一端口存在或者不存在;以及
如果所述第一控制器的第二端口接收到的芯片复位信号处于第二状态,则通过第一控制器的芯片复位电路执行芯片复位操作。
14.如权利要求13所述的方法,其特征在于:由所述第一控制器执行的错误检查操作为奇偶校验错误检查操作,其可用来确认是否发生了奇偶校验错误。
15.如权利要求14所述的方法,其特征在于:所述第一控制器包括第一处理逻辑,所述第一处理逻辑包括固件工作任务队列,并且其中如果没有发生奇偶校验错误,则从所述第一控制器的第一端口产生并输出具有预设属性的心音信号的步骤由包含在队列中的固件计算机代码实施,并由所述第一处理逻辑执行。
16.如权利要求15所述的方法,其特征在于:如果第一控制器确认已经发生了奇偶校验错误,则所述第一处理逻辑停止执行包含在所述固件工作任务队列中的任何任务,包括从所述第一控制器的第一端口产生和输出具有预设属性的心音信号,从而导致具有预设属性的心音信号从所述自动恢复逻辑的第一端口处消失。
17.如权利要求16所述的方法,其特征在于:所述自动恢复逻辑包括计时器逻辑及计时器到期逻辑,所述计时器逻辑监控所述自动恢复逻辑的第一端口,并且如果具有预设属性的心音信号从所述自动恢复逻辑的第一端口处消失则启动计时器,所述计时器到期逻辑确定计时器何时到期并当所述计时器到期时将所述芯片复位信号从第一状态改为第二状态。
18.如权利要求17所述的方法,进一步包括:
通过自动恢复逻辑的事件记录逻辑,记录计时器何时到期的指示。
19.如权利要求14所述的方法,进一步包括:
通过自动恢复逻辑的时间记录逻辑,记录所述自动恢复逻辑何时确认具有预设属性的心音信号从所述自动恢复逻辑的第一端口消失的指示。
20.一种使用计算机程序在光通信模组的控制器执行错误检查操作,以确认已经发生了错误,并执行了系统硬件故障后,从系统硬件故障中执行自动恢复的方法,所述计算机程序包括储存在非暂时性计算机可读介质中的计算机代码,所述方法包括以下步骤:
在所述控制器的第一逻辑中执行第一代码段,导致产生具有预设属性的心音信号,并且当执行错误检查操作时,如果所述控制器确认没有发生错误,则从所述控制器的第一端口输出具有预设属性的心音信号,其中,光通信模组的自动恢复逻辑位于所述控制器的外部,所述自动恢复逻辑包括第一端口,用于和控制器的第一端口通信,所述自动恢复逻辑监控所述自动恢复逻辑的第一端口,以确认具有预设属性的心音信号在所述自动恢复逻辑的第一端口是否存在,所述自动恢复逻辑从所述自动恢复逻辑的第二端口输出芯片复位信号至所述控制器的第二端口,所述芯片复位信号处于第一或者第二状态分别取决于具有预设属性的心音信号在所述自动恢复逻辑的第一端口处存在或者不存在,如果在所述控制器的第二端口处接收到的芯片复位信号处于第二状态,则所述控制器的芯片复位电路执行芯片复位操作。
21.如权利要求20所述的方法,其特征在于:所述错误检查操作为奇偶校验错误检查操作,用以确认是否发生了奇偶校验错误。
22.一种使用计算机程序在光通信模组的控制器的系统硬件故障中执行自动恢复的方法,所述控制器执行错误检查操作以确认是否发生了错误,如果没有发生错误,则从所述控制器的第一端口输出具有预设属性的心音信号,所述计算机程序的计算机代码储存在非暂时性计算机可读介质中,所述方法包括以下步骤:
在所述光通信模组的自动恢复逻辑中执行第一代码段,所述自动恢复逻辑位于所述控制器的外部并且包括和所述控制器的第一端口通信的第一端口,所述第一代码段监控自动恢复逻辑的第一端口以确认具有预设属性的心音信号在所述自动恢复逻辑的第一端口处是否存在;以及
在所述自动恢复逻辑中执行第二代码段,导致从自动恢复逻辑的第二端口输出芯片复位信号至控制器的第二端口,其中,所述芯片复位信号处于第一或者第二状态分别取决于具有预设属性的心音信号在自动恢复逻辑的第一端口存在或者不存在,如果控制器的第二端口接收到的芯片复位信号处于第二状态,所述控制器的芯片复位电路则执行芯片复位操作。
23.如权利要求22所述的方法,其特征在于:所述错误检查操作为奇偶校验错误检查操作,以检测奇偶校验错误。
技术总结