光模块I2C电路的异常处理方法、装置、设备和介质制造方法及图纸

技术编号:38591968 阅读:9 留言:0更新日期:2023-08-26 23:30
本申请涉及一种光模块I2C电路的异常处理方法,其特征在于,光模块I2C电路包括CPU以及至少一个光模块,CPU通过I2C总线与各所述光模块连接,方法包括:CPU向当前光模块发送访问指令;当访问失败时,CPU获取I2C总线的信号状态;当I2C总线的信号状态中SCL为锁死状态时,CPU跳过当前光模块访问下一个光模块,并对当前光模块进行告警提示。采用本方法能够更精准地定位光模块I2C电路的异常问题,并基于定位的问题进行处理。题进行处理。题进行处理。

【技术实现步骤摘要】
光模块I2C电路的异常处理方法、装置、设备和介质


[0001]本申请涉及通信
,特别是涉及一种光模块I2C电路的异常处理方法、装置、设备和介质。

技术介绍

[0002]随着通信技术的发展,出现了交换机设备。交换机设备广泛应用于企业网络、大型园区网络和数据中心,在这些大型网络环境中像桥梁一样连接各个网络设备。其本身是否稳定可靠决定了整个网络的性能和稳定性。
[0003]光模块是交换机重要部件,因其支持热插拔的特性,常常有插入不到位、金手指氧化等各种问题。特别是客户线上设备问题,常常需要到客户现场进行排查,严重影响响应速度,带来很不好的客户体验。
[0004]在低成本设计方案中常常使用多个光模块连接到一条I2C总线的设计,目前光模块I2C异常故障常用的是CPU软件处理。当I2C访问异常出现锁死时,发送9个连续clock尝试解锁,如果不能解锁成功则将一直复位整个I2C Switch进行隔离。这种方式,不能确定是哪个环节的问题,异常定位不精确。

技术实现思路

[0005]基于此,有必要针对上述技术问题,提供一种光模块I2C电路的异常处理方法、装置、设备和介质。
[0006]一种光模块I2C电路的异常处理方法,光模块I2C电路包括CPU以及至少一个光模块,上述的CPU通过I2C总线与各所述光模块连接,上述的方法包括:
[0007]CPU向当前光模块发送访问指令;
[0008]当访问失败时,CPU获取I2C总线的信号状态;
[0009]当I2C总线的信号状态中SCL为锁死状态时,CPU跳过当前光模块访问下一个光模块,并对当前光模块进行告警提示。
[0010]在其中一个实施例中,上述的光模块I2C电路还包括与CPU连接的CPLD,CPLD还与I2C总线连接,CPU获取I2C总线的信号状态,包括:
[0011]CPLD实时监控I2C总线的信号状态,并将I2C总线的信号状态存入I2C状态寄存器;
[0012]CPU读取I2C状态寄存器,以获取I2C总线的信号状态;或者
[0013]CPLD在监控到I2C总线的信号状态为锁死状态时,向CPU上报异常信息。
[0014]在其中一个实施例中,上述的I2C总线的信号状态中还包括SDA的信号状态,上述的方法还包括:
[0015]当SDA的信号状态为锁死状态时,CPU执行解锁,当解锁不成功时,CPU执行跳过当前光模块访问下一个光模块的步骤。
[0016]在其中一个实施例中,上述的方法还包括:
[0017]当访问失败且I2C总线的信号状态无锁死时,CPU重新向当前光模块发送访问指
令;
[0018]当访问失败且访问次数达到预设次数时,CPU执行跳过当前光模块访问下一个光模块的步骤。
[0019]在其中一个实施例中,上述的光模块I2C电路还包括与各光模块连接的Switch,Switch通过I2C总线连接CPU,CPU跳过当前光模块访问下一个光模块,并对当前光模块进行告警提示之前,上述的方法还包括:
[0020]CPU控制Switch复位以及解复位,以释放Switch和CPU之间的I2C总线;
[0021]CPU对当前光模块创建异常标记,并根据异常标记跳过当前光模块访问下一个光模块。
[0022]在其中一个实施例中,上述的方法还包括:
[0023]CPU控制与当前光模块对应的指示灯点亮;和/或
[0024]CPU根据异常标记以及I2C总线的信号状态中SCL状态为锁死状态,生成提示信息,通过串口打印提示信息;和/或
[0025]CPU将提示信息以日志的形式存储于本地。
[0026]在其中一个实施例中,上述的Switch包括多个,各Switch分别连接隔离电路、电源以及多个光模块,上述的方法还包括:
[0027]当其中一个目标Switch以及对应的各光模块所属电源域出现短路时,通过目标Switch所连的隔离电路隔离目标Switch所属电源域与其他Switch所属电源域,以便CPU跳过目标Switch所属电源域内的各光模块,访问其他Switch所连接的各光模块。
[0028]一种光模块I2C电路的异常处理装置,上述的光模块I2C电路包括CPU以及至少一个光模块,CPU通过I2C总线与各所述光模块连接,上述的装置包括:
[0029]发送模块,用于CPU向当前光模块发送访问指令;
[0030]获取模块,用于当访问失败时,CPU获取所述I2C总线的信号状态;
[0031]处理模块,用于当I2C总线的信号状态中SCL为锁死状态时,CPU跳过当前光模块访问下一个光模块,并对当前光模块进行告警提示。
[0032]一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
[0033]CPU向当前光模块发送访问指令;
[0034]当访问失败时,CPU获取I2C总线的信号状态;
[0035]当I2C总线的信号状态中SCL为锁死状态时,CPU跳过当前光模块访问下一个光模块,并对当前光模块进行告警提示。
[0036]一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0037]CPU向当前光模块发送访问指令;
[0038]当访问失败时,CPU获取I2C总线的信号状态;
[0039]当I2C总线的信号状态中SCL为锁死状态时,CPU跳过当前光模块访问下一个光模块,并对当前光模块进行告警提示。
[0040]上述光模块I2C电路的异常处理方法、装置、设备和介质,通过CPU向当前光模块发送访问指令;当访问失败时,CPU获取I2C总线的信号状态;当I2C总线的信号状态中SCL为锁
死状态时,CPU跳过当前光模块访问下一个光模块,并对当前光模块进行告警提示。采用本申请的方案可以精准定位访问失败的问题所在,根据定位的问题采取对应跳过当前光模块访问下一个光模块的处理措施,实现了精准定位异常并跳过异常的光模块,不影响其他光模块的正常访问。
附图说明
[0041]图1为一个实施例中光模块I2C电路的异常处理方法的流程示意图;
[0042]图2为一个实施例中CPU获取I2C总线的信号状态的流程示意图;
[0043]图3为一个实施例中光模块I2C电路图;
[0044]图4为一个实施例中光模块I2C电路的异常处理方法的流程示意图;
[0045]图5为一个实施例中光模块I2C电路的异常处理装置的结构框图;
[0046]图6为一个实施例中计算机设备的内部结构图。
具体实施方式
[0047]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0048]在一个实施例中,如图1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种光模块I2C电路的异常处理方法,其特征在于,所述光模块I2C电路包括CPU以及至少一个光模块,所述CPU通过I2C总线与各所述光模块连接,所述方法包括:所述CPU向当前光模块发送访问指令;当访问失败时,所述CPU获取所述I2C总线的信号状态;当所述I2C总线的信号状态中SCL为锁死状态时,所述CPU跳过所述当前光模块访问下一个光模块,并对所述当前光模块进行告警提示。2.根据权利要求1所述的方法,其特征在于,所述光模块I2C电路还包括与所述CPU连接的CPLD,所述CPLD还与所述I2C总线连接,所述CPU获取所述I2C总线的信号状态,包括:所述CPLD实时监控所述I2C总线的信号状态,并将所述I2C总线的信号状态存入I2C状态寄存器;所述CPU读取所述I2C状态寄存器,以获取所述I2C总线的信号状态;或者所述CPLD在监控到I2C总线的信号状态为锁死状态时,向所述CPU上报异常信息。3.根据权利要求1所述的方法,其特征在于,所述I2C总线的信号状态中还包括SDA的信号状态,所述方法还包括:当所述SDA的信号状态为锁死状态时,所述CPU执行解锁,当解锁不成功时,所述CPU执行所述跳过所述当前光模块访问下一个光模块的步骤。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:当访问失败且所述I2C总线的信号状态无锁死时,所述CPU重新向所述当前光模块发送访问指令;当访问失败且访问次数达到预设次数时,所述CPU执行所述跳过所述当前光模块访问下一个光模块的步骤。5.根据权利要求1所述的方法,其特征在于,所述光模块I2C电路还包括与各所述光模块连接的Switch,所述Switch通过所述I2C总线连接所述CPU,所述CPU跳过所述当前光模块访问下一个光模块之前,所述方法还包括:所述CPU控制所述Switch复位以及解复位,以释放Switch和CPU之间的I2C总线;...

【专利技术属性】
技术研发人员:陈占魁韩威薛广营
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1