CN112713938A - 光模块控制方法、装置和设备 - Google Patents
光模块控制方法、装置和设备 Download PDFInfo
- Publication number
- CN112713938A CN112713938A CN202011484198.7A CN202011484198A CN112713938A CN 112713938 A CN112713938 A CN 112713938A CN 202011484198 A CN202011484198 A CN 202011484198A CN 112713938 A CN112713938 A CN 112713938A
- Authority
- CN
- China
- Prior art keywords
- optical module
- optical
- interrupt
- modules
- triggered
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/25—Arrangements specific to fibre transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/03—Arrangements for fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/07—Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems
- H04B10/075—Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems using an in-service signal
- H04B10/079—Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems using an in-service signal using measurements of the data signal
- H04B10/0791—Fault location on the transmission path
Landscapes
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Optical Communication System (AREA)
Abstract
本发明实施例提供一种光模块控制方法、装置和设备。该方法包括:可编程逻辑器件检测到光模块控制系统的多个光模块中的第一光模块的输出电平跳变触发的中断源信号后触发总中断信号,向处理器发送总中断信号,处理器接收总中断信号后检测多个光模块的输出电平,关闭输出电平为高电平的光模块的激光器,并开启输出电平为低电平且激光器处于关闭状态的光模块的激光器;以第一设定周期检测多个光模块的输出电平是否为高电平;若检测到多个光模块中的第二光模块的输出电平为高电平,则以第二设定周期开启第二光模块的激光器来检测对应的通信通路。通过可编程逻辑器件和处理器协作完成光模块的控制过程,优化了处理器的访问性能。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种光模块控制方法、装置和设备。
背景技术
随着通信技术不断发展,对通信产品的性能要求越来越高,目前交换设备逐渐实现全光接口的产品过渡。光接口性能稳定,不易受外界的干扰,在相同条件下,可实现数据的高速远距离传输。
目前,交换设备在光模块的通信通路异常时,光模块会输出高电平信号,从而使中央处理器(Central Processing Unit,简称CPU)识别到该信号后,关闭该光模块对应的激光器,进一步的,CPU以设定周期开启该光模块的激光器来检测通信通路是否修复完成,进而在通信通路恢复正常之后,该光模块输出低电平信号,从而使CPU开启该光模块对应的激光器,以便完成通信。
上述处理通信通路异常的过程占据了CPU的大量访问性能,以致CPU不能正常完成其他工作。
发明内容
本发明实施例提供一种光模块控制方法、装置和设备,用于优化处理器的访问性能。
第一方面,本发明实施例提供一种光模块控制方法,应用于光模块控制系统的可编程逻辑器件中,该方法包括:
检测到所述光模块控制系统的多个光模块中的第一光模块的输出电平跳变触发的中断源信号后触发总中断信号,向所述光模块控制系统的处理器发送所述总中断信号,以使所述处理器接收所述总中断信号后检测所述多个光模块的输出电平,关闭输出电平为高电平的光模块的激光器,并开启输出电平为低电平且激光器处于关闭状态的光模块的激光器;以及,
以第一设定周期检测所述多个光模块的输出电平是否为高电平;
若检测到所述多个光模块中的第二光模块的输出电平为高电平,则以第二设定周期开启所述第二光模块的激光器来检测对应的通信通路。
第二方面,本发明实施例提供一种光模块控制方法,应用于光模块控制系统的处理器中,该方法包括:
接收所述光模块控制系统的可编程逻辑器件发送的总中断信号,所述总中断信号是所述可编程逻辑器件检测到所述光模块控制系统的多个光模块中的第一光模块的输出电平跳变触发的中断源信号后触发并发送的;
检测所述多个光模块的输出电平;
关闭输出电平为高电平的光模块的激光器,以便所述可编程逻辑器件在以第一设定周期检测到所述多个光模块中的第二光模块的输出电平为高电平时以第二设定周期开启所述第二光模块的激光器来检测对应的通信通路;以及,
检测输出电平为低电平的光模块的激光器是否处于关闭状态,开启输出电平为低电平且激光器处于关闭状态的光模块的激光器。
第三方面,本发明实施例提供一种光模块控制装置,应用于光模块控制系统中的可编程逻辑器件中,该装置包括;
发送模块,用于检测到所述光模块控制系统的多个光模块中的第一光模块的输出电平跳变触发的中断源信号后触发总中断信号,向所述光模块控制系统的处理器发送所述总中断信号,以使所述处理器接收所述总中断信号后检测所述多个光模块的输出电平,关闭输出电平为高电平的光模块的激光器,并开启输出电平为低电平且激光器处于关闭状态的光模块的激光器;
检测模块,用于以第一设定周期检测所述多个光模块的输出电平是否为高电平;
开启模块,用于检测到所述多个光模块中的第二光模块的输出电平为高电平,则以第二设定周期开启所述第二光模块的激光器来检测对应的通信通路。
第四方面,本发明实施例提供一种光模块控制装置,应用于光模块控制系统的处理器中,该装置包括:
接收模块,用于接收所述光模块控制系统的可编程逻辑器件发送的总中断信号,所述总中断信号是所述可编程逻辑器件检测到所述光模块控制系统的多个光模块中的第一光模块的输出电平跳变触发的中断源信号后触发并发送的;
检测模块,用于检测所述多个光模块的输出电平;
关闭模块,用于关闭输出电平为高电平的光模块的激光器,以便所述可编程逻辑器件在以第一设定周期检测到所述多个光模块中的第二光模块的输出电平为高电平时以第二设定周期开启所述第二光模块的激光器来检测对应的通信通路;
开启模块,用于检测输出电平为低电平的光模块的激光器是否处于关闭状态,开启输出电平为低电平且激光器处于关闭状态的光模块的激光器。
第五方面,本发明实施例提供一种电子设备,包括:
可编程逻辑器件、处理器和多个光模块;
所述可编程逻辑器件器,用于检测到所述多个光模块中的第一光模块的输出电平跳变触发的中断源信号后触发总中断信号,向所述处理器发送所述总中断信号;以及,以第一设定周期检测所述多个光模块的输出电平是否为高电平;若检测到所述多个光模块中的第二光模块的输出电平为高电平,则以第二设定周期开启所述第二光模块的激光器来检测对应的通信通路;
所述处理器,用于接收所述可编程逻辑器件发送的总中断信号,检测所述多个光模块的输出电平;关闭输出电平为高电平的光模块的激光器,以及,检测输出电平为低电平的光模块的激光器是否处于关闭状态,开启输出电平为低电平且激光器处于关闭状态的光模块的激光器。
第六方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被执行时,至少可以实现第一方面或第二方面中的光模块控制方法。
在本发明实施例中,光模块控制系统的多个光模块中的第一光模块的输出电平在通信通路异常时由低电平跳变到高电平,以及在通信通路恢复正常时由高电平跳变到低电平。在光模块控制系统中部署有与CPU配合工作的可编程逻辑器件(Complex ProgrammingLogic Device,简称CPLD)。CPLD检测到第一光模块的输出电平的跳变之后,触发总中断信号,并向CPU发送总中断信号,以使CPU接收总中断信号后检测多个光模块的输出电平,关闭输出电平为高电平的光模块的激光器,即将通信通路异常的光模块的激光器关闭,并开启输出电平为低电平且激光器处于关闭状态的光模块的激光器。CPLD发送总中断信号之后,以第一设定周期检测所述多个光模块的输出电平,若检测到多个光模块中的第二光模块的输出电平为高电平,则以第二设定周期开启第二光模块的激光器来检测对应的通信通路是否恢复正常。该光模块控制方法,通过CPLD与CPU协作完成光模块的通信通路的异常处理,其中,通信通路是否已经恢复正常的相关检测工作由CPLD来完成,CPU仅基于CPLD触发的总中断信号完成激光器的开关控制即可,从而可以有效减少CPU的占用率,且优化了CPU的访问性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种光模块控制系统的组成示意图;
图2为本发明实施例提供的一种光模块控制方法的流程图;
图3a为本发明实施例提供的一种中断处理方法的流程图;
图3b为本发明实施例提供的一种中断寄存器的组成示意图;
图4为本发明实施例提供的另一种光模块控制方法的流程图;
图5为本发明实施例提供的另一种光模块控制方法的流程图;
图6为本发明实施例提供的一种光模块控制装置的结构示意图;
图7为本发明实施例提供的另一种光模块控制装置的结构示意图;
图8为与图6和图7所示实施例提供的光模块控制装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
在介绍本发明实施例提供的光模块控制系统之前,示例性介绍当前通过光模块进行数据传输的两个通信系统形成的通路在异常时遇到的问题:
目前,互相通信的两个通信系统在通信正常时,比如两个交换机通过光纤进行通信,两个交换机中的多个光模块的输出电平均为低电平信号,假设某一时刻,一条光纤出现了异常(比如光纤损坏、光纤老化等),此时,该光纤对应的两个光模块(一条光纤的两端分别连接的光模块)的输出电平从低电平跳变为高电平,CPU在检测到该跳变信号之后,控制关闭这两个光模块的激光器来为修复通信通路提供时间,以免在修复通信通路时投射的激光对人体造成伤害,同时,在通信通路异常时关闭对应光模块的激光器以有效的节省系统的功耗。在关闭光模块的激光器之后,CPU检测交换机的多个光模块的输出电平,并以设定周期开启输出电平为高电平的光模块的激光器来使光模块检测通信通路是否恢复正常,从而在接收到光模块检测到通信通路正常的低电平信号之后,开启该光模块的激光器来恢复系统间的正常通信。但由于该方案需要CPU完全参与开启和关闭光模块的激光器的过程,会浪费CPU的访问性能,从而在CPU处理其他数据时造成丢包等严重问题。
为此,本发明实施例提供了用以解决该问题的方案,下面结合以下实施例来详细介绍该解决方案的实现过程。
图1为本发明实施例提供的一种光模块控制系统的组成示意图,以图1中所示意的光模块控制系统的组成为例进行说明一下光模块控制系统的总体运行过程。
如图1所示,光模块控制系统包括:CPU、CPLD、多个光模块。可选地,该光模块控制系统中还可以包括扩展器件。其中,多个光模块的各个光模块中包括激光器。
CPU与CPLD电连接,CPLD与多个光模块电连接,CPU与扩展器件电连接,扩展器件与多个光模块电连接。
其中,CPU与CPLD,CPU与扩展器件以及扩展器件与多个光模块之间通过系统总线相连,CPLD通过I/O接口与光模块连接。其中,该系统总线包括以下任意一项:低引脚数总线(Low Pin Count Bus,LPC)、集成电路(Inter-Integrated Circuit,IIC)总线。
实际应用中,可选地,CPLD与多个光模块中的任一光模块之间可以存在两条连接链路,一条链路用于光模块将对应的输出电平传输至CPLD,另一条链路用于CPLD将控制信号传输至CPU。其中,控制信号用于控制光模块的激光器关闭或开启。类似地,CPU与多个光模块中的任一光模块之间可以存在两条链路,一条链路用于光模块将对应的输出电平传输至CPU,另一条链路用于CPU将控制信号传输至光模块,其中,控制信号用于控制光模块的激光器关闭或开启。
之所以设置扩展器件,是因为一般情况下,多个光模块的设备地址都是相同的,CPU访问或者控制多个光模块时,无法区分该多个光模块,因此,通过在多个光模块与CPU之间设置扩展器件,可以为多个光模块扩展多个不同的地址,从而可以使CPU有效访问或控制该多个光模块。
比如,假设某个光模块控制系统包括三个光模块,该三个光模块的设备地址均为OX50,扩展器件将该三个光模块的设备地址分别扩展为OX501,OX502和OX503。从而,CPU可以正常访问或控制该三个光模块。
可选地,如果光模块的数量过多,一个扩展器件的处理能力不够,可以设置多个扩展器件扩展多个光模块的设备地址。
可以理解的是,上述光模块控制系统可以部署在某电子设备中,该电子设备可以是支持光纤通信的电子设备,比如为交换机。
基于上述介绍的光模块控制系统组成,概括来说,为实现对光模块的激光器的准确开关控制,达到设备节能目的,图1所示光模块控制系统中各组成单元的工作过程可以概括为:
CPLD,用于检测到多个光模块中的第一光模块的输出电平跳变触发的中断源信号后触发总中断信号,向CPU发送该总中断信号,以及,以第一设定周期检测多个光模块的输出电平是否为高电平,检测到多个光模块中的第二光模块的输出电平为高电平,则以第二设定周期开启第二光模块的激光器来检测对应的通信通路。
CPU,用于接收总中断信号后检测多个光模块的输出电平,关闭输出电平为高电平的光模块的激光器,并开启输出电平为低电平且激光器处于关闭状态的光模块的激光器。
具体来说,光模块控制系统的多个光模块会实时检测各自对应的通信通路的情况,正常情况下,光模块的输出电平为低电平,当通信通路异常时,光模块的输出电平会变为高电平。
假设某一时刻,有且仅有一个光模块X的通信通路发生异常,且其他光模块的通信通路处于正常状态,该光模块X的输出电平由低电平跳变为高电平,其他光模块的输出电平保持低电平不变,CPLD检测到光模块X的输出电平发生跳变后,触发对应的总中断信号,并向CPU发送该总中断信号。CPU接收到该总中断信号之后,查询多个光模块的输出电平,关闭输出电平为高电平的光模块的激光器,也就是说,会关闭通信通路发生异常的光模块X的激光器,以实现节能。另外,如果此时存在输出电平为低电平但激光器处于关闭状态的光模块,CPU开启输出电平为低电平且激光器处于关闭状态的光模块的激光器,以实现纠错,因为输出电平为低电平的光模块应该保持其激光器处于开启状态。
进一步地,针对通信通路发生异常的光模块X来说,相关工作人员会进行异常修复工作,以修复异常。可以理解的是,当异常修复后,应该开启光模块X的激光器。为了自动检测光模块X是否已经被修复,本发明实施例中,通过CPLD来完成检测光模块X是否已经被修复的工作。具体地,CPLD以第一设定周期检测多个光模块的输出电平,若检测到某一光模块的输出电平为高电平,则以第二设定周期开启该输出电平为高电平的光模块的激光器,以检测其对应的通信通路。在上述举例中,即CPLD发现光模块X的输出电平为高电平时,CPLD以第二设定周期开启该光模块X的激光器,以检测对应的通信通路是否恢复正常。其中,该第一设定周期和该第二设定周期均可以是预先设定的任意时间周期,本发明实施例对此不加以限定。
进一步,假设光模块X检测到通信通路恢复正常,此时,该光模块X的输出电平由高电平跳变为低电平,CPLD检测到该光模块X的输出电平发生跳变之后,触发相应的总中断信号,并将该总中断信号发送至CPU。CPU再次检测多个光模块的输出电平,关闭输出电平为高电平的光模块的激光器,并开启输出电平为低电平且激光器处于关闭状态的光模块的激光器。在上述举例中,光模块X的输出电平为低电平后,CPU若检测到光模块X的激光器此时为关闭状态,则开启光模块X的激光器,恢复该光模块X对应的通信通路。
上述实施例介绍了光模块控制系统的总体执行过程,下面结合以下一些实施例,介绍光模块控制系统中不同组成单元执行光模块控制方法的详细过程。
图2为本发明实施例提供的一种光模块控制方法的流程图,该方法可以由光模块控制系统中的CPLD来执行,该方法包括如下步骤:
201、检测到光模块控制系统的多个光模块中的第一光模块的输出电平跳变触发的中断源信号后触发总中断信号,向光模块控制系统的处理器发送总中断信号,以使处理器接收总中断信号后检测多个光模块的输出电平,关闭输出电平为高电平的光模块的激光器,并开启输出电平为低电平且激光器处于关闭状态的光模块的激光器。
其中,第一光模块包括:输出电平由高电平跳变为低电平的光模块或者输出电平由低电平跳变为高电平的光模块。输出电平由低电平跳变为高电平的光模块对应的通信通路由正常转变为异常;输出电平由高电平跳变为低电平的光模块对应的通信通路由异常转变为正常。
可选地,上述CPLD检测到光模块控制系统的多个光模块中的第一光模块的输出电平跳变触发的中断源信号后触发总中断信号的过程可以实现为:
检测到多个光模块中的第一光模块的输出电平由高电平跳变为低电平或者由低电平跳变为高电平触发的中断源信号后,确定多个光模块的输出电平的二级中断信号是否被触发;
若确定多个光模块的输出电平的二级中断信号未被触发,则触发多个光模块的输出电平的二级中断信号,确定多个光模块的一级中断信号是否被触发;
若确定多个光模块的一级中断信号未被触发,则触发多个光模块的一级中断信号,确定总中断信号是否被触发;
若确定总中断信号未被触发,则触发总中断信号。
具体地,第一光模块的输出电平跳变时,第一光模块触发中断源信号,比如第一光模块的输出电平由低电平跳变为高电平时,触发的中断源信号。实际应用中,可选地,CPLD可以设置有与每个光模块的输出电平跳变这种情形对应的中断寄存器,当比如第一光模块因为输出电平跳变而需触发中断源信号时,可以将对应的中断寄存器置0(这里置0仅为举例),用以表示中断源信号触发。
本发明实施例中,CPLD可以采用“三级中断”的方式来触发上述总中断信号。
先概括来说,“三级中断”的方式下,包括依次产生的如下几种中断信号,分别称为:三级中断信号、二级中断信号、一级中断信号、总中断信号。
其中,一个光模块的输出电平的跳变触发的中断源信号是三级中断信号;汇总多个光模块的输出电平发生跳变的情况,可以触发对应于多个光模块的输出电平的二级中断信号;汇总对应于多个光模块的输出电平的二级中断信号(或多个光模块的输出电平的二级中断信号以及多个光模块中的其他特征跳变对应的二级中断信号),可以触发多个光模块的一级中断信号。汇总多个光模块(或者多个光模块和其他模块)的一级中断信号而触发总中断信号。
为便于理解,简单来说,针对输出电平这种特征来说,中断源信号是与光模块一一对应的,即每个光模块都可以触发与输出电平跳变对应的中断源信号;二级中断信号和一级中断信号是与多个光模块对应的。
基于上述的介绍,下面介绍CPLD触发总中断信号的执行过程:
检测到第一光模块的输出电平跳变而触发的中断源信号,即一种三级中断信号后,CPLD需要汇总多个光模块的输出电平发生跳变的情况,进而触发多个光模块的输出电平的二级中断信号。
简单来说,三级中断信号是对应于单个光模块的输出电平的,而针对输出电平来说,二级中断信号是对应于整体的多个光模块的输出电平的。其中,CPLD中可以设置有与二级中断信号对应的二级中断寄存器,当二级中断信号被触发时,该二级中断寄存器被置0(这里置0仅为举例)。
在实际应用中,当CPLD检测第一光模块因输出电平的跳变而触发的中断源信号后,汇总多个光模块的输出电平发生跳变的情况,包括:CPLD需要确定多个光模块的输出电平的二级中断信号是否已经被触发,比如如果发现上述二级中断寄存器被置0,则确定已经触发过二级中断信号,反之,如果发现上述二级中断寄存器未被置0(如置1),则确定未触发二级中断信号。
若确定多个光模块的输出电平的二级中断信号未被触发,说明在第一光模块的输出电平发生跳变前,可能其他光模块并未发生输出电平的跳变,此时,随即触发多个光模块的输出电平的二级中断信号即可,将二级中断寄存器置0。
之后,CPLD可以汇总多个光模块的输出电平对应的二级中断信号,进而触发多个光模块的一级中断信号。类似地,此时,CPLD需要先确定多个光模块的一级中断信号是否被触发,若未被触发,则触发多个光模块的一级中断信号。
与触发多个光模块的输出电平对应的二级中断信号的过程相似地,CPLD中还可以设置有与一级中断信号对应的一级中断寄存器,当一级中断信号被触发时,该一级中断寄存器被置0,反之,置1(这里置0、1仅为举例)。基于此,在触发多个光模块的一级中断信号前,CPLD在检测到一级中断寄存器置1时,触发多个光模块的一级中断信号,并将该一级中断寄存器置0。
之后,CPLD确定总中断信号是否被触发,若确定总中断信号未被触发,则触发总中断信号。类似地,CPLD中可以设置有总中断信号对应的总中断寄存器,CPLD触发总中断信号时,可以将该总中断寄存器置0,反之置1(这里置0、1仅为举例),用以表示CPLD是否触发了总中断信号。因此,CPLD在触发多个光模块的一级中断信号后,若检测到总中断寄存器置1,则随即触发总中断信号,进而将总中断寄存器置0。
之后,CPLD将触发的总中断信号发送至CPU。CPU设置为仅响应总中断信号。CPU在接收到总中断信号之后,才对相应的多个光模块的输出电平跳变情况进行统一的处理,从而避免了响应全部中断信号时,CPU轮序多个光模块的次数过大,访问性能降低的问题。
具体地,CPU接收到上述CPLD发送的总中断信号之后,检测多个模块的输出电平,关闭输出电平为高电平的光模块的激光器,并开启输出电平为低电平且激光器处于关闭状态的光模块的激光器。
进一步地,CPU在完成上述中断处理后,清除对应的中断源信号,如将置0的中断寄存器置1。
其中,关闭输出电平为高电平的光模块的激光器是因为输出电平跳变为高电平的光模块是异常的光模块,CPU需要关闭异常光模块的激光器。而开启输出电平为低电平且激光器处于关闭状态的光模块的激光器,是因为输出电平为低电平的光模块应该是正常通信的光模块,为保证正常通信,其激光器需要处于开启状态,开启处于关闭状态的激光器可以认为是一种纠错。
以上介绍的是在第一光模块的输出电平跳变前,多个光模块的输出电平的二级中断信号以及多个光模块的一级中断信号都没被触发的情形。实际上,如果CPLD在检测到第一光模块的输出电平跳变而触发的中断源信号后,若检测到多个光模块的输出电平的二级中断信号已经被触发,即此时二级中断寄存器置0,那么保持二级中断寄存器置0的状态即可,同理,若检测到多个光模块的一级中断信号也已经被触发,即此时一级中断寄存器置0,那么保持一级中断寄存器置0的状态即可。
202、以第一设定周期检测多个光模块的输出电平是否为高电平。
203、若检测到多个光模块中的第二光模块的输出电平为高电平,则以第二设定周期开启第二光模块的激光器来检测对应的通信通路。
值得说明的是,这里的第二光模块与上述第一光模块可能是同一光模块,也可能不是同一光模块。
具体来说,假设第一光模块由于对应的通信通路异常而使得输出电平由低电平跳变为高电平,基于该输出电平的跳变,CPLD向CPU触发总中断信号而使得CPU会将第一光模块的激光器关闭。相关工作人员随后会对第一光模块进行修复处理,当修复完成后,第一光模块可以继续正常使用。所以,需要提供能够自动检测出第一光模块什么时候被修复成功以及进行相关控制的方案。该方案即为:CPLD定期检测各个光模块的输出电平,当发现某个光模块的输出电平为高电平时,可以认为该光模块是异常光模块,需要不断对其进行检测以便及时发现是否修复正常。
在上述举例下,第一光模块由于对应的通信通路异常而被CPU关闭激光器后,CPLD在定期检测多个光模块的输出电平的过程中,会检测出第一光模块的输出电平为高电平,此时,上述第二光模块即可以是该第一光模块。
下面假设CPLD检测到第二光模块的输出电平为高电平,此时意味着第二光模块的激光器会处于关闭状态。由于第二光模块的激光器处于关闭状态,第二光模块便无法发送光信号到该第二光模块通信对端的光模块,也就不会接收到通信对端的光模块返回的光信号。为了检测第二光模块的通信通路是否已经恢复正常,CPLD以第二设定周期定期开启第二光模块的激光器,以使第二光模块可以在激光器开启期间将光信号发送到通信对端的光模块,若通信通路已经恢复正常(此时通信对端的光模块也是可以正常工作的),那么第二光模块会可以接收到通信对端的光模块在接收到上述光信号之后反馈的光信号,这时第二光模块在检测到该反馈的光信号之后,可以输出低电平。反之,若通信通路还未恢复正常(如此时通信对端的光模块还因异常而无法正常工作),那么第二光模块便不会接收到通信对端的光模块在接收到上述光信号之后反馈的光信号,这时第二光模块继续保持输出高电平。
进一步地,CPLD在检测到第二光模块的输出电平由高电平跳变为低电平时,会再次触发总中断信号,进而将该总中断信号发送给CPU,以便后续CPU在接收到该总中断信号后,在检测到第二光模块的输出电平为低电平但是其激光器处于关闭状态时,开启该第二光模块的激光器,来恢复第二光模块的通信通路。
其中,CPLD再次触发上述总中断信号的过程,与上文中介绍的触发总中断信号的过程一致,在此不再赘述。
本发明实施例中,上述第一设定周期和第二设定周期可以根据实际需求而设定。
可选地,可以设置CPLD以第二设定周期开启第二光模块的激光器的时间周期大于CPU处理总中断信号的时长的两倍,以保证CPU在处理一条通信通路对应的两个光模块各自对应的总中断信号的过程中,这两个光模块的激光器的状态保持不变。
为便于理解本实施例提供的方案,下面以多个光模块中的任一光模块i为例,简单概括下对光模块i的激光器进行开关控制的整体过程:
首先,光模块i初始工作时,其激光器处于开启状态,并输出低电平信号,此时,光模块i对应的通信通路正常。之后,如果光模块i对应的通信通路异常(比如光模块i的通信对端的光模块j发生异常导致该通信通路异常,或者光模块i发生某种异常导致该通信通路异常),光模块i的输出电平由低电平跳变为高电平,CPLD检测到该输出电平跳变触发的中断源信号后,通过“三级中断”方式触发总中断信号,并将总中断信号发送至CPU。CPU收到该总中断信号后,检测到光模块i的输出电平为高电平,关闭光模块i的激光器。之后,CPLD检测到光模块i的输出电平为高电平,定期开启光模块i的激光器,以检测光模块i对应的通信通路是否恢复正常。当通信通路恢复正常时,光模块i的输出电平会由高电平跳变为低电平,此时,CPLD检测到该输出电平跳变触发的中断源信号,会再次触发总中断信号,并将总中断信号发送至CPU,CPU检测到光模块i的输出电平为低电平,而其激光器却还处于关闭状态,则开启光模块i的激光器,这样,光模块i便可以继续后续的正常通信。
综上,光模块对应的通信通路是否已经恢复正常的相关检测工作由CPLD来完成,CPU仅基于CPLD触发的总中断信号完成激光器的开关控制即可,降低了对CPU的占用。另外,CPLD通过“三级中断”的方式触发总中断信号,CPU在接收到总中断信号之后才检测多个光模块的输出电平,减少了CPU轮询光模块控制系统的多个光模块的次数,进一步地提高了CPU的访问性能。
以上实施例中针对总中断信号的触发过程中,仅着重强调了当发生了光模块的输出电平的跳变情形,总中断信号的触发过程,如上文中所述,光模块除了输出电平跳变这种异常情况外,还会存在其他特征跳变触发中断源信号的情况,另外,除了光模块外,光模块控制系统中还会包含其他模块,其他模块也会存在特征跳变触发中断源信号的情况,此时,总中断信号的触发需要综合考虑这些其他模块触发的中断源信号。下面结合图3a所示实施例具体介绍综合各种模块的总中断信号的一种触发过程。
图3a为本发明实施例提供的一种中断处理方法的流程图,如图3a所示,该过程可以包括如下步骤:
301、检测到其他模块中的第一模块的第一选定特征跳变触发的中断源信号或者第一光模块的输出电平跳变触发的中断源信号被清除或者其他模块中的第二模块的第二选定特征跳变触发的中断源信号被清除后,确定多个光模块的各个选定特征的中断源信号、其他模块的各个选定特征的中断源信号及其对应的二级中断信号是否被触发。
其中,“其”指代的是多个光模块的各个选定特征以及其他模块的各个选定特征。
302、若确定至少一个中断源信号被触发且对应的二级中断信号未被触发,则触发至少一个中断源信号对应的二级中断信号;若确定所有的中断源信号未被触发且至少一个二级中断信号被触发,则清除被触发的二级中断信号。
至少一个中断源信号包括多个光模块的各个选定特征的中断源信号(即对应于每个光模块的每种选定特征的中断源信号),以及其他模块的各个选定特征的中断源信号(即对应于其他模块的每种选定特征的中断源信号)。
303、确定多个光模块的各个选定特征的二级中断信号、其他模块的各个选定特征的二级中断信号及其对应的一级中断信号是否被触发。
其中,“其”指代的是多个光模块、其他模块。
304、若确定至少一个二级中断信号被触发且对应的一级中断信号未被触发,则触发至少一个二级中断信号对应的一级中断信号;若确定所有的二级中断信号未被触发且至少一个一级中断信号被触发,则清除被触发的一级中断信号。
305、确定多个光模块的一级中断信号、其他模块的一级中断信号和总中断信号是否被触发。
306、若确定至少一个一级中断信号被触发且总中断信号未被触发,则触发总中断信号;若确定所有的一级中断信号未被触发且总中断信号被触发,则清除总中断信号。
光模块控制系统中除了光模块外,可能还会包括其他模块,比如电源模块,监控模块、时钟模块,等等。每种模块,包括的数量可能为一个或多个。这些其他模块也会因特征跳变触发中断源信号,也就是说,针对其他模块来说,也会存在由不同选定特征跳变而触发的中断源信号。比如对于电源模块来说,电源模块的各个选定特征可以包括:输出电压、输出电流,等等。对应地,选定特征跳变是指:输出电压从某个取值范围跳变为另一个取值范围,或者,输出电流从某个取值范围跳变为另一个取值范围。此时,针对电源模块来说,其对应的第二选定特征可以是:输出电压或输出电流。
需要说明的,上述步骤中的第一模块和第二模块可以是相同的,比如均为电源模块,也可以是不同的,比如第一模块为电源模块,第二模块是监控模块;对应地,第一选定特征和第二选定特征可以是相同的,比如均为电源模块的输出电压,也可以是不同的,比如第一选定特征为电源模块的输出电压,第二选定特征为电源模块的输出电流。
本实施例中,针对光模块来说,假设会存在由不同选定特征跳变而触发的中断源信号。光模块的各个选定特征可以包括输出电平、在位信号(即光模块是否稳定连接在对应的部署位置处)、供电信号等等。在位信号对应的选定特征跳变可以是:在位信号在1(比如表示连接稳定)和0(比如表示连接不稳定)间跳变,供电信号对应的选定特征跳变可以是:供电信号在第一幅值和第二幅值间跳变,其中,第一幅值比如是对应于正常供电时的供电电压/电流,第二幅值比如是对应于供电异常时的供电电压/电流。
本实施例中,CPLD中可以设置有与每个模块(可以是各个光模块、其他模块)的每种选定特征对应的中断寄存器,CPLD中还可以设置有与每种模块的每种选定特征对应的二级中断寄存器,CPLD中可以设置有与每种模块对应的一级中断寄存器,CPLD中还可以设置有总中断寄存器。
为便于理解,结合图3b来示例性说明上述不同寄存器间的对应关系。在图3b中,假设存在光模块1、光模块2以及电源模块。假设针对光模块来说关注输出电平和在位信号两种选定特征,针对电源模块来说关注输出电压、输出电流两种选定特征。基于此,CPLD中可以设置有与光模块1的输出电平对应的中断寄存器A1以及与光模块1的在位信号对应的中断寄存器A2;CPLD中可以设置有与光模块2的输出电平对应的中断寄存器A3以及与光模块2的在位信号对应的中断寄存器A4;CPLD中可以设置有与电源模块的输出电压对应的中断寄存器A5以及与电源模块的输出电流对应的中断寄存器A6。CPLD中可以设有:与两个光模块的输出电平对应的二级中断寄存器B1,与两个光模块的在位信号对应的二级中断寄存器B2,与电源模块的输出电压对应的二级中断寄存器B3,与电源模块的输出电流对应的二级中断寄存器B4。CPLD中可以设有:与两个光模块对应的一级中断寄存器C1,以及与电源模块对应的一级中断寄存器C2。CPLD中可以设有总中断寄存器D。图3b中示意的连线体现了不同寄存器间的连接关系。
综上,实际应用中,按照模块类型和选定特征类型的不同,可以触发不同的中断源信号。而本发明实施例中,总中断信号可以是汇总了各种模块的各种选定特征所对应的中断源信号的结果。简单来说,当CPLD触发了总中断信号后,CPU对该总中断信号进行响应,在响应过程中,会分别处理产生的中断源信号,并在处理完毕后清除对应的中断源信号,比如置1对应的中断寄存器。除了中断源信号需要被清除外,已经触发的二级中断信号、一级中断信号、总中断信号也需要被逐步清除。
结合光模块、其他模块均可能由于选定特征跳变而触发中断源信号的情形,下面来具体说明总中断信号的一种触发过程。
基于“三级中断”的触发方式,首先,CPLD确定多个光模块的各个选定特征的中断源信号、其他模块的各个选定特征的中断源信号及其对应的二级中断信号是否被触发,以便完成二级中断信号的触发过程。
其中,CPLD执行上述确定步骤的前提可以包括:检测到其他模块中的第一模块的第一选定特征跳变触发的中断源信号,或者第一光模块的输出电平跳变触发的中断源信号被清除,或者其他模块中的第二模块的第二选定特征跳变触发的中断源信号被清除。
值得说明的是,承接于前述实施例中的假设情形,这里假设的是此前第一光模块的输出电平跳变已经触发了中断源信号的情况,第一光模块是多个光模块中的任一个。这里也假设了此前第二模块的第二选定特征跳变已经触发了中断源信号的情况。
简单来说,CPLD在检测到某个中断源信号产生或者某个中断源信号被清除时,执行确定多个光模块的各个选定特征的中断源信号、其他模块的各个选定特征的中断源信号及其对应的二级中断信号是否被触发的步骤。
结合图3b来示例性说明。CPLD可以查询与各个模块的各种选定特征对应的中断寄存器,以确定各个模块的各个选定特征的中断源信号是否被触发。如果某中断寄存器置1,说明其对应的中断源信号未触发,反之,如果某中断寄存器置0,说明其对应的中断源信号触发。类似地,CPLD可以查询各二级中断寄存器以确定各种类模块的各个选定特征对应的二级中断信号是否被触发。如果某二级中断寄存器置1,说明其对应的二级中断信号未触发,反之,如果某中断寄存器置0,说明其对应的二级中断信号触发。
举例来说,假设CPLD检测到中断寄存器A5置0,即电源模块的输出电压跳变触发的中断源信号,此时CPLD遍历各个模块的中断寄存器以及各个二级中断寄存器,以确定各光模块的各个选定特征的中断源信号、其他模块的各个选定特征的中断源信号及其对应的二级中断信号是否被触发。
假设此时除中断寄存器A5置0外,其他中断寄存器都置1,并假设二级中断寄存器B3置1。此时,CPLD可以确定电源模块的输出电压对应的中断源信号被触发,且电源模块的输出电压对应的二级中断信号未被触发,则CPLD触发电源模块的输出电压对应的二级中断信号,将二级中断寄存器B3置0。
可以理解的是,如果CPLD确定所有的中断源信号都未被触发,但是却存在二级中断信号被触发,那么将清除被触发的二级中断信号。
之后,CPLD通过遍历各个二级中断寄存器和一级中断寄存器以确定多个光模块的各个选定特征的二级中断信号、其他模块的各个选定特征的二级中断信号及其对应的一级中断信号是否被触发。若确定至少一个二级中断信号被触发且对应的一级中断信号未被触发,则触发该至少一个被触发的二级中断信号对应的一级中断信号;若确定所有的二级中断信号未被触发且至少一个一级中断信号被触发,则清除被触发的一级中断信号。
结合图3b来示例性说明。假设CPLD检测到二级中断寄存器B1、二级中断寄存器B2、二级中断寄存器B4都置1,二级中断寄存器B3置0,则确定电源模块的输出电压所对应的二级中断信号被触发,两个光模块的输出电平、在位信号各自对应的二级中断信号未被触发,电源模块的输出电流对应的二级中断信号也未被触发。再假设一级中断寄存器C1和一级中断寄存器C2都置1,说明两个光模块对应的一级中断信号未被触发,电源模块对应的一级中断信号也未被触发。基于此假设,由于二级中断寄存器B3置0即电源模块的输出电压所对应的二级中断信号被触发,而电源模块对应的一级中断信号未被触发,则触发电源模块对应的一级中断信号,将一级中断寄存器C2置0。
可以理解的是,若此时所有的二级中断寄存器都置1且一级中断寄存器C1和/或一级中断寄存器C2置0,则将置0的一级中断寄存器置1。
之后,CPLD通过遍历各个一级中断寄存器和总中断寄存器确定多个光模块的一级中断信号、其他模块的一级中断信号和总中断信号是否被触发,若确定至少一个一级中断信号被触发且总中断信号未被触发,则触发总中断信号;若确定所有的一级中断信号未被触发且总中断信号被触发,则清除总中断信号。
结合图3b来示例性说明。假设CPLD检测到一级中断寄存器C1置1,一级中断寄存器C2置0,说明两个光模块对应的一级中断信号未被触发,电源模块对应的一级中断信号被触发。再假设此时总中断寄存器D置1,说明总中断信号未被触发。基于此假设,由于电源模块对应的一级中断信号被触发,而总中断信号未被触发,则触发总中断信号,将总中断寄存器D置0。
通过上述中断触发过程,CPLD完成向CPU触发总中断信号的过程,CPU接收到总中断信号后,遍历各个模块(光模块、其他模块)以确定需要处理的中断源信号,并完成对应的中断处理,在完成中断处理后,可以将对应的中断源信号清除。
图4为本发明实施例提供的另一种光模块控制方法的流程图,如图4所示,该方法可以由光模块控制系统中的CPLD来执行,该方法包括如下步骤:
401、检测到光模块控制系统的多个光模块中的第一光模块的输出电平跳变触发的中断源信号后触发总中断信号。
402、将通路异常标志位置1,向光模块控制系统的处理器发送总中断信号,以使处理器检测到通路异常标志位为1后,检测多个光模块的输出电平以关闭输出电平为高电平的光模块的激光器,并开启输出电平为低电平且激光器处于关闭状态的光模块的激光器。
403、检测通路异常标志位是否被清零,若检测到通路异常标志位被清零,则以第一设定周期检测多个光模块的输出电平是否为高电平。
404、若检测到多个光模块中的第二光模块的输出电平为高电平,则以第二设定周期开启第二光模块的激光器来检测对应的通信通路。
本实施例中,引入通路异常标志位这个概念,通路异常标志位用于表征是否存在某光模块的输出电平发生跳变的现象,假设某光模块的输出电平跳变,则CPLD可以将通路异常标志位置1,这样,CPU通过查询该通路异常标志位可以得知是否存在某光模块的输出电平发生跳变的情形,以便针对性地进行后续处理。
具体地,CPLD在检测到第一光模块的输出电平跳变(如从低电平跳变为高电平)而触发的中断源信号后,触发总中断信号,并将通路异常标志位置1,将总中断信号发送至CPU。CPU接收到该总中断信号后,检测通路异常标志位,发现其处于置1的状态,触发CPU执行检测多个光模块的输出电平以关闭输出电平为高电平的光模块的激光器,并开启输出电平为低电平且激光器处于关闭状态的光模块的激光器的步骤。
实际应用中,当通路异常标志位置1时,后续仅有CPU具有对光模块的激光器进行开关控制的权限,当CPU执行完上述步骤后,将通路异常标志位置0,此时,CPLD才获得对光模块的激光器的开关控制权限。
基于此,当CPU将通路异常标志位置0后,CPLD以第一设定周期检测多个光模块的输出电平是否为高电平,若检测到其中的第二光模块的输出电平为高电平,则以第二设定周期开启第二光模块的激光器来检测对应的通信通路。
假设通过定期开启第二光模块的激光器发现某时刻第二光模块的通信通路恢复正常,此时,第二光模块的输出电平会由高电平跳变为低电平,CPLD基于对该跳变情形的检测会再次触发总中断信号,并再将通路异常标志位置1,将总中断信号发送至CPU。CPU检测到通路异常标志位置1时确定存在某光模块的输出电平跳变的情形,之后再次执行检测多个光模块的输出电平以关闭输出电平为高电平的光模块的激光器,并开启输出电平为低电平且激光器处于关闭状态的光模块的激光器的中断响应步骤,并在完成该步骤之后,清零通路异常标志位。
由此可见,CPLD通过将通路异常标志位置1来告知CPU存在光模块的输出电平跳变的情况,这样可以使得CPU优先处理多个光模块的输出电平触发的中断。
图5为本发明实施例提供的另一种光模块控制方法的流程图,该方法可以由光模块控制系统的CPU来执行,该方法包括如下步骤:
501、接收光模块控制系统的CPLD发送的总中断信号,总中断信号是CPLD检测到光模块控制系统的多个光模块中的第一光模块的输出电平跳变触发的中断源信号后触发并发送的。
502、检测多个光模块的输出电平。
503、关闭输出电平为高电平的光模块的激光器,以便CPLD在以第一设定周期检测到多个光模块中的第二光模块的输出电平为高电平时以第二设定周期开启第二光模块的激光器来检测对应的通信通路。
504、检测输出电平为低电平的光模块的激光器是否处于关闭状态,开启输出电平为低电平且激光器处于关闭状态的光模块的激光器。
CPU执行的过程光模块控制方法的过程在前文均已描述,在此不再赘述。
需要说明的是,若光模块控制系统还包括其他模块,则可选地,在接收CPLD发送的总中断信号之后,还包括:
检测CPLD中的通路异常标志位,若通路异常标志位为1,则执行检测多个光模块的输出电平的步骤;若通路异常标志位置为零,则处理多个光模块的其他选定特征的中断源信号和光模块控制系统的其他模块的各个选定特征的中断源信号。
可选地,CPU在关闭输出电平为高电平的光模块的激光器或者开启输出电平为低电平且激光器处于关闭状态的光模块的激光器之后,还可以将通路异常标志位清零,以使CPLD检测到通路异常标志位被清零后以第一设定周期检测多个光模块的输出电平是否为高电平。
另外,可选地,CPU在处理多个光模块的其他选定特征的中断源信号和光模块控制系统的其他模块的各个选定特征的中断源信号之后,还可以清除多个光模块的其他选定特征的中断源信号和光模块控制系统的其他模块的各个选定特征的中断源信号。
本实施例提供的方案的详细执行过程可以参考前述其他实施例中的相关说明,在此不赘述。
图6为本发明实施例提供的一种光模块控制装置的结构示意图,应用于光模块控制系统中的可编程逻辑器件,如图6所示,该装置包括:发送模块11、检测模块12和开启模块13。
发送模块11,用于检测到所述光模块控制系统的多个光模块中的第一光模块的输出电平跳变触发的中断源信号后触发总中断信号,向所述光模块控制系统的处理器发送所述总中断信号,以使所述处理器接收所述总中断信号后检测所述多个光模块的输出电平,关闭输出电平为高电平的光模块的激光器,并开启输出电平为低电平且激光器处于关闭状态的光模块的激光器。
检测模块12,用于以第一设定周期检测所述多个光模块的输出电平是否为高电平。
开启模块13,用于检测到所述多个光模块中的第二光模块的输出电平为高电平,则以第二设定周期开启所述第二光模块的激光器来使所述第二光模块检测对应的通信通路。
可选地,所述发送模块11,具体用于:检测到多个光模块中的第一光模块的输出电平由高电平跳变为低电平或者由低电平跳变为高电平触发的中断源信号后,确定所述多个光模块的输出电平的二级中断信号是否被触发;若确定所述多个光模块的输出电平的二级中断信号未被触发,则触发所述多个光模块的输出电平的二级中断信号,确定所述多个光模块的一级中断信号是否被触发;若确定所述多个光模块的一级中断信号未被触发,则触发所述多个光模块的一级中断信号,确定总中断信号是否被触发;若确定所述总中断信号未被触发,则触发所述总中断信号。
可选地,若所述光模块控制系统还包括其他模块,所述发送模块11还用于:检测到所述其他模块中的第一模块的第一选定特征跳变触发的中断源信号或者所述第一光模块的输出电平跳变触发的中断源信号被清除或者所述其他模块中的第二模块的第二选定特征跳变触发的中断源信号被清除后,确定所述多个光模块的各个选定特征的中断源信号、所述其他模块的各个选定特征的中断源信号及其对应的二级中断信号是否被触发;若确定至少一个中断源信号被触发且对应的二级中断信号未被触发,则触发所述至少一个中断源信号对应的二级中断信号;若确定所有的中断源信号未被触发且至少一个二级中断信号被触发,则清除被触发的二级中断信号;确定所述多个光模块的各个选定特征的二级中断信号、所述其他模块的各个选定特征的二级中断信号及其对应的一级中断信号是否被触发;若确定至少一个二级中断信号被触发且对应的一级中断信号未被触发,则触发所述至少一个二级中断信号对应的一级中断信号;若确定所有的二级中断信号未被触发且至少一个一级中断信号被触发,则清除被触发的一级中断信号;确定所述多个光模块的一级中断信号、所述其他模块的一级中断信号和所述总中断信号是否被触发;若确定至少一个一级中断信号被触发且所述总中断信号未被触发,则触发所述总中断信号;若确定所有的一级中断信号未被触发且所述总中断信号被触发,则清除所述总中断信号。
可选地,上述装置还包括:
置位模块,用于检测到所述光模块控制系统的多个光模块中的第一光模块的输出电平跳变触发的中断源信号后触发总中断信号之后,将通路异常标志位置1,以使所述处理器检测到所述通路异常标志位为1后,检测所述多个光模块的输出电平。
可选地,检测模块12,还用于检测所述通路异常标志位是否清零,若检测到所述通路异常标志位被清零,则执行所述以第一设定周期检测所述多个光模块的输出电平是否为高电平的步骤。
图6所示装置可以执行前述图1至图4所示实施例中提供的光模块控制方法,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
图7为本发明实施例提供的一种光模块控制装置的结构示意图,应用于光模块控制系统中的处理器中,如图7所示,该装置包括:接收模块21、检测模块22、关闭模块23、开启模块24。
接收模块21,用于接收所述光模块控制系统的可编程逻辑器件发送的总中断信号,所述总中断信号是所述可编程逻辑器件检测到所述光模块控制系统的多个光模块中的第一光模块的输出电平跳变触发的中断源信号后触发并发送的。
检测模块22,用于检测所述多个光模块的输出电平。
关闭模块23,用于关闭输出电平为高电平的光模块的激光器,以便所述可编程逻辑器件在以第一设定周期检测到所述多个光模块中的第二光模块的输出电平为高电平时以第二设定周期开启所述第二光模块的激光器来检测对应的通信通路。
开启模块24,用于检测输出电平为低电平的光模块的激光器是否处于关闭状态,开启输出电平为低电平且激光器处于关闭状态的光模块的激光器。
可选地,若所述光模块控制系统还包括其他模块,上述装置还包括:
处理模块,用于在接收模块21接收所述光模块控制系统的可编程逻辑器件发送的总中断信号之后,检测所述可编程逻辑器件中的通路异常标志位;若所述通路异常标志位为1,则控制所述检测模块22执行所述检测所述多个光模块的输出电平的步骤;若所述通路异常标志位置为零,则处理所述多个光模块的其他选定特征的中断源信号和所述光模块控制系统的其他模块的各个选定特征的中断源信号。
可选地,上述处理模块还用于:将所述通路异常标志位清零,以使所述可编程逻辑器件检测到所述通路异常标志位被清零后以第一设定周期检测所述多个光模块的输出电平是否为高电平;以及,在处理所述多个光模块的其他选定特征的中断源信号和所述光模块控制系统的其他模块的各个选定特征的中断源信号之后,清除所述多个光模块的其他选定特征的中断源信号和所述光模块控制系统的其他模块的各个选定特征的中断源信号。
图7所示装置可以执行前述图5所示实施例中提供的光模块控制方法,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述图6和图7所示光模块控制装置的结构可实现为一电子设备。如图8所示,该电子设备可以包括:可编程逻辑器件31、处理器32、多个光模块33。
可选地,该电子设备中还可以包括电源模块,时钟模块等其他功能部件。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如前述图1至图5所示实施例中提供的光模块控制方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (11)
1.一种光模块控制方法,其特征在于,应用于光模块控制系统的可编程逻辑器件中,所述方法包括:
检测到所述光模块控制系统的多个光模块中的第一光模块的输出电平跳变触发的中断源信号后触发总中断信号,向所述光模块控制系统的处理器发送所述总中断信号,以使所述处理器接收所述总中断信号后检测所述多个光模块的输出电平,关闭输出电平为高电平的光模块的激光器,并开启输出电平为低电平且激光器处于关闭状态的光模块的激光器;以及,
以第一设定周期检测所述多个光模块的输出电平是否为高电平;
若检测到所述多个光模块中的第二光模块的输出电平为高电平,则以第二设定周期开启所述第二光模块的激光器来检测对应的通信通路。
2.根据权利要求1所述的方法,其特征在于,所述检测到所述光模块控制系统的多个光模块中的第一光模块的输出电平跳变触发的中断源信号后触发总中断信号,包括:
检测到多个光模块中的第一光模块的输出电平由高电平跳变为低电平或者由低电平跳变为高电平触发的中断源信号后,确定所述多个光模块的输出电平的二级中断信号是否被触发;
若确定所述多个光模块的输出电平的二级中断信号未被触发,则触发所述多个光模块的输出电平的二级中断信号,确定所述多个光模块的一级中断信号是否被触发;
若确定所述多个光模块的一级中断信号未被触发,则触发所述多个光模块的一级中断信号,确定总中断信号是否被触发;
若确定所述总中断信号未被触发,则触发所述总中断信号。
3.根据权利要求2所述的方法,其特征在于,若所述光模块控制系统还包括其他模块,所述方法还包括:
检测到所述其他模块中的第一模块的第一选定特征跳变触发的中断源信号或者所述第一光模块的输出电平跳变触发的中断源信号被清除或者所述其他模块中的第二模块的第二选定特征跳变触发的中断源信号被清除后,确定所述多个光模块的各个选定特征的中断源信号、所述其他模块的各个选定特征的中断源信号及其对应的二级中断信号是否被触发;
若确定至少一个中断源信号被触发且对应的二级中断信号未被触发,则触发至少一个被触发的中断源信号对应的二级中断信号;若确定所有的中断源信号未被触发且至少一个二级中断信号被触发,则清除被触发的二级中断信号;
确定所述多个光模块的各个选定特征的二级中断信号、所述其他模块的各个选定特征的二级中断信号及其对应的一级中断信号是否被触发;
若确定至少一个二级中断信号被触发且对应的一级中断信号未被触发,则触发至少一个被触发的二级中断信号对应的一级中断信号;若确定所有的二级中断信号未被触发且至少一个一级中断信号被触发,则清除被触发的一级中断信号;
确定所述多个光模块的一级中断信号、所述其他模块的一级中断信号和所述总中断信号是否被触发;
若确定至少一个一级中断信号被触发且所述总中断信号未被触发,则触发所述总中断信号;若确定所有的一级中断信号未被触发且所述总中断信号被触发,则清除所述总中断信号。
4.根据权利要求1-3任一所述的方法,其特征在于,检测到所述光模块控制系统的多个光模块中的第一光模块的输出电平跳变触发的中断源信号后触发总中断信号之后,还包括:
将通路异常标志位置1,以使所述处理器检测到所述通路异常标志位为1后,检测所述多个光模块的输出电平。
5.根据权利要求4所述的方法,其特征在于,所述以第一设定周期检测所述多个光模块的输出电平是否为高电平之前,还包括:
检测所述通路异常标志位是否被清零;
若检测到所述通路异常标志位被清零,则执行所述以第一设定周期检测所述多个光模块的输出电平是否为高电平的步骤。
6.一种光模块控制方法,其特征在于,应用于光模块控制系统的处理器中,所述方法包括:
接收所述光模块控制系统的可编程逻辑器件发送的总中断信号,所述总中断信号是所述可编程逻辑器件检测到所述光模块控制系统的多个光模块中的第一光模块的输出电平跳变触发的中断源信号后触发并发送的;
检测所述多个光模块的输出电平;
关闭输出电平为高电平的光模块的激光器,以便所述可编程逻辑器件在以第一设定周期检测到所述多个光模块中的第二光模块的输出电平为高电平时以第二设定周期开启所述第二光模块的激光器来检测对应的通信通路;以及,
检测输出电平为低电平的光模块的激光器是否处于关闭状态,开启输出电平为低电平且激光器处于关闭状态的光模块的激光器。
7.根据权利要求6所述的方法,其特征在于,若所述光模块控制系统还包括其他模块,在接收所述光模块控制系统的可编程逻辑器件发送的总中断信号之后,还包括:
检测所述可编程逻辑器件中的通路异常标志位;
若所述通路异常标志位为1,则执行所述检测所述多个光模块的输出电平的步骤;若所述通路异常标志位置为零,则处理所述多个光模块的其他选定特征的中断源信号和所述光模块控制系统的其他模块的各个选定特征的中断源信号。
8.根据权利要求7所述的方法,其特征在于,开启输出电平为所述低电平且激光器处于关闭状态的光模块的激光器之后,还包括:
将所述通路异常标志位清零,以使所述可编程逻辑器件检测到所述通路异常标志位被清零后以第一设定周期检测所述多个光模块的输出电平是否为高电平;
处理所述多个光模块的其他选定特征的中断源信号和所述光模块控制系统的其他模块的各个选定特征的中断源信号之后,还包括:
清除所述多个光模块的其他选定特征的中断源信号和所述光模块控制系统的其他模块的各个选定特征的中断源信号。
9.一种光模块控制装置,其特征在于,应用于光模块控制系统中的可编程逻辑器件中,所述装置包括:
发送模块,用于检测到所述光模块控制系统的多个光模块中的第一光模块的输出电平跳变触发的中断源信号后触发总中断信号,向所述光模块控制系统的处理器发送所述总中断信号,以使所述处理器接收所述总中断信号后检测所述多个光模块的输出电平,关闭输出电平为高电平的光模块的激光器,并开启输出电平为低电平且激光器处于关闭状态的光模块的激光器;
检测模块,用于以第一设定周期检测所述多个光模块的输出电平是否为高电平;
开启模块,用于检测到所述多个光模块中的第二光模块的输出电平为高电平,则以第二设定周期开启所述第二光模块的激光器来检测对应的通信通路。
10.一种光模块控制装置,其特征在于,应用于光模块控制系统的处理器中,所述装置包括:
接收模块,用于接收所述光模块控制系统的可编程逻辑器件发送的总中断信号,所述总中断信号是所述可编程逻辑器件检测到所述光模块控制系统的多个光模块中的第一光模块的输出电平跳变触发的中断源信号后触发并发送的;
检测模块,用于检测所述多个光模块的输出电平;
关闭模块,用于关闭输出电平为高电平的光模块的激光器,以便所述可编程逻辑器件在以第一设定周期检测到所述多个光模块中的第二光模块的输出电平为高电平时以第二设定周期开启所述第二光模块的激光器来检测对应的通信通路;
开启模块,用于检测输出电平为低电平的光模块的激光器是否处于关闭状态,开启输出电平为低电平且激光器处于关闭状态的光模块的激光器。
11.一种电子设备,其特征在于,所述电子设备中包括:处理器、可编程逻辑器件和多个光模块;
所述可编程逻辑器件器,用于检测到所述多个光模块中的第一光模块的输出电平跳变触发的中断源信号后触发总中断信号,向所述处理器发送所述总中断信号;以及,以第一设定周期检测所述多个光模块的输出电平是否为高电平;若检测到所述多个光模块中的第二光模块的输出电平为高电平,则以第二设定周期开启所述第二光模块的激光器来检测对应的通信通路;
所述处理器,用于接收所述可编程逻辑器件发送的总中断信号,检测所述多个光模块的输出电平;关闭输出电平为高电平的光模块的激光器,以及,检测输出电平为低电平的光模块的激光器是否处于关闭状态,开启输出电平为低电平且激光器处于关闭状态的光模块的激光器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011484198.7A CN112713938B (zh) | 2020-12-15 | 2020-12-15 | 光模块控制方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011484198.7A CN112713938B (zh) | 2020-12-15 | 2020-12-15 | 光模块控制方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112713938A true CN112713938A (zh) | 2021-04-27 |
CN112713938B CN112713938B (zh) | 2022-05-20 |
Family
ID=75542182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011484198.7A Active CN112713938B (zh) | 2020-12-15 | 2020-12-15 | 光模块控制方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112713938B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113765588A (zh) * | 2021-08-04 | 2021-12-07 | 武汉光迅信息技术有限公司 | 光模块中激光器开关状态的控制方法及控制装置 |
CN117278890A (zh) * | 2023-11-15 | 2023-12-22 | 苏州元脑智能科技有限公司 | 光模块访问方法、装置、系统、电子设备及可读存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0744470A (ja) * | 1993-07-30 | 1995-02-14 | Tec Corp | データバス監視装置 |
CN103281116A (zh) * | 2013-05-06 | 2013-09-04 | 上海斐讯数据通信技术有限公司 | 一种onu长发光检测电路和应用系统及其应用方法 |
WO2014194599A1 (zh) * | 2013-06-03 | 2014-12-11 | 华为技术有限公司 | 抑制PCIe走光纤通信输出噪声的方法、装置及通信节点 |
CN107453818A (zh) * | 2017-08-14 | 2017-12-08 | 青岛海信宽带多媒体技术有限公司 | 一种光模块及光通信系统 |
CN107888294A (zh) * | 2017-11-14 | 2018-04-06 | 青岛海信宽带多媒体技术有限公司 | 一种光发射器及光模块 |
CN108121681A (zh) * | 2017-12-04 | 2018-06-05 | 努比亚技术有限公司 | 一种热插拔实现方法、终端及存储介质 |
CN109582616A (zh) * | 2018-12-05 | 2019-04-05 | 张洋 | 基于串行总线的通信系统和方法 |
CN110708121A (zh) * | 2019-10-16 | 2020-01-17 | 青岛海信宽带多媒体技术有限公司 | 一种光模块及光模块的控制方法 |
CN111740495A (zh) * | 2020-06-30 | 2020-10-02 | 锐捷网络股份有限公司 | 多电源供电控制方法、装置、设备及多电源供电系统 |
-
2020
- 2020-12-15 CN CN202011484198.7A patent/CN112713938B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0744470A (ja) * | 1993-07-30 | 1995-02-14 | Tec Corp | データバス監視装置 |
CN103281116A (zh) * | 2013-05-06 | 2013-09-04 | 上海斐讯数据通信技术有限公司 | 一种onu长发光检测电路和应用系统及其应用方法 |
WO2014194599A1 (zh) * | 2013-06-03 | 2014-12-11 | 华为技术有限公司 | 抑制PCIe走光纤通信输出噪声的方法、装置及通信节点 |
CN107453818A (zh) * | 2017-08-14 | 2017-12-08 | 青岛海信宽带多媒体技术有限公司 | 一种光模块及光通信系统 |
CN107888294A (zh) * | 2017-11-14 | 2018-04-06 | 青岛海信宽带多媒体技术有限公司 | 一种光发射器及光模块 |
CN108121681A (zh) * | 2017-12-04 | 2018-06-05 | 努比亚技术有限公司 | 一种热插拔实现方法、终端及存储介质 |
CN109582616A (zh) * | 2018-12-05 | 2019-04-05 | 张洋 | 基于串行总线的通信系统和方法 |
CN110708121A (zh) * | 2019-10-16 | 2020-01-17 | 青岛海信宽带多媒体技术有限公司 | 一种光模块及光模块的控制方法 |
CN111740495A (zh) * | 2020-06-30 | 2020-10-02 | 锐捷网络股份有限公司 | 多电源供电控制方法、装置、设备及多电源供电系统 |
Non-Patent Citations (2)
Title |
---|
BODHISATTWA GANGOPADHYAY: "《5G-Ready Multi-Failure Resilient and Cost-Effective Transport Networks》", 《JOURNAL OF LIGHTWAVE TECHNOLOGY》 * |
张峻: "《基于AT89C51 单片机中断的封帽机保护系统设计》", 《电焊城》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113765588A (zh) * | 2021-08-04 | 2021-12-07 | 武汉光迅信息技术有限公司 | 光模块中激光器开关状态的控制方法及控制装置 |
CN113765588B (zh) * | 2021-08-04 | 2023-03-07 | 武汉光迅信息技术有限公司 | 光模块中激光器开关状态的控制方法及控制装置 |
CN117278890A (zh) * | 2023-11-15 | 2023-12-22 | 苏州元脑智能科技有限公司 | 光模块访问方法、装置、系统、电子设备及可读存储介质 |
CN117278890B (zh) * | 2023-11-15 | 2024-02-13 | 苏州元脑智能科技有限公司 | 光模块访问方法、装置、系统、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112713938B (zh) | 2022-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112713938B (zh) | 光模块控制方法、装置和设备 | |
US7536584B2 (en) | Fault-isolating SAS expander | |
JP5198568B2 (ja) | リングバスシステムでの信号故障検知するためのシステム及び方法 | |
JP2009540436A (ja) | 障害を分離するsasエクスパンダ | |
US9846625B2 (en) | Method and device for debugging a MIPS-structure CPU with southbridge and northbridge chipsets | |
US10944472B2 (en) | System for reporting optical link failures using intelligent small form-factor pluggable optical time domain reflectometer | |
CN103124225B (zh) | 多节点初始化的检测方法及装置、系统 | |
US20190207413A1 (en) | Information processing system, battery module, control method, and program | |
CN109932891A (zh) | 一种异构冗余的拟态mcu | |
CN110069437B (zh) | 基于响应帧有效性的rs-485总线极性自适应方法 | |
CN103440188A (zh) | 一种pcie硬件故障的检测方法及装置 | |
JP6264155B2 (ja) | 情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラム | |
WO1993023808A1 (en) | Fault-monitoring method for transmitter | |
KR20100086211A (ko) | 차량용 게이트웨이 장치 | |
CN111522757A (zh) | 一种基于i2c总线的中断读取与清除的控制方法 | |
CN115098427B (zh) | 一种链路宽度自适应的实现方法 | |
CN116261067A (zh) | 以太网光链路故障的处理方法及装置 | |
KR20030033340A (ko) | 도킹 시스템과의 버스 연결을 위한 본체 시스템 및 그제어 방법 | |
US10740199B2 (en) | Controlling device, controlling method, and fault tolerant apparatus | |
WO2019011037A1 (zh) | 列车控制器输入电路的故障检测方法及装置 | |
JP6645069B2 (ja) | 通信システム及び通信方法 | |
US20170155546A1 (en) | Duplex control device and duplex system | |
KR100318925B1 (ko) | 교환기의 피-버스 채널 선택장치 | |
CN117951069B (zh) | 一种服务器系统、通信方法和服务器 | |
JP2014164488A (ja) | 制御装置、制御方法、及び制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |