一种I2C通信故障恢复方法及系统技术方案

技术编号:32968943 阅读:15 留言:0更新日期:2022-04-09 11:30
本发明专利技术实施例提供一种I2C通信故障恢复方法及系统,在目标主设备和目标从设备通过CPLD进行通信的过程中,CPLD确定后端I2C总线故障,然后控制前端I2C总线断开,并向目标从设备发送修复信号,以对故障的后端I2C总线进行修复,确定故障的后端I2C总线修复成功,控制前端I2C总线导通,其中,前端I2C总线用于连接目标主设备和CPLD,后端I2C总线用于连接目标从设备和CPLD。其中CPLD具有修复功能,通过向目标从设备发送修复信号以对故障的后端I2C总线进行修复,然后控制前端I2C总线和后端I2C总线均导通,提高了I2C通信的可靠性。C通信的可靠性。C通信的可靠性。

【技术实现步骤摘要】
一种I2C通信故障恢复方法及系统


[0001]本专利技术涉及通信
,特别涉及一种I2C通信故障恢复方法及系统。

技术介绍

[0002]交换机(Switch)意为“开关”,是一种用于电(光)信号转发的网络设备,它可以为接入交换机的任意两个网络节点提供独享的电信号通路。
[0003]交换机中一般配备多个电源、风扇、端口等从设备,这些模块或芯片常常通过双向二线制同步串行总线(Inter

Integrated Circuit,I2C)接口接到基板管理控制器(Baseboard Manager Controller,BMC)或中央处理器(Central Processing Unit,CPU)管理芯片等主设备,即这些设备之间是通过I2C总线进行通信的。对于某一种从设备例如电源,一般都是批量生产的,其I2C地址是相同,在通信时容易产生冲突问题,并且通过I2C进行通信时从设备也容易出现故障,故障后通信将不能继续进行,影响通信的可靠性。
[0004]因此,如何提高I2C总线进行通信时的可靠性,是本领域技术人员亟待解决的问题。

技术实现思路

[0005]本专利技术实施例提供了一种I2C通信故障恢复方法及系统,用以解决现有技术中利用I2C总线进行通信时不可靠的问题。
[0006]第一方面,本专利技术实施例提供了一种I2C通信故障恢复方法,所述方法包括:
[0007]在目标主设备和目标从设备通过CPLD进行通信的过程中,所述CPLD确定后端I2C总线故障;
[0008]所述CPLD控制前端I2C总线断开,并向所述目标从设备发送修复信号,以对故障的后端I2C总线进行修复;
[0009]所述CPLD确定所述故障的后端I2C总线修复成功,控制所述前端I2C总线导通;
[0010]其中,所述前端I2C总线用于连接所述目标主设备和所述CPLD,所述后端I2C总线用于连接所述目标从设备和所述CPLD。
[0011]在一种可能的实现方式中,所述CPLD确定后端I2C总线故障,包括:
[0012]所述CPLD确定所述后端I2C总线中的SDA或SCL为低电平的时长超过第一预设时长;或
[0013]所述CPLD确定通过所述后端I2C总线接收到起始符后的第二预设时长内未接收到结束符。
[0014]在一种可能的实现方式中,所述修复信号包括预设数量的SCL脉冲。
[0015]在一种可能的实现方式中,所述CPLD确定所述故障的后端I2C总线修复成功,包括:
[0016]所述CPLD向所述目标从设备发送修复校验信号;
[0017]若所述CPLD接收到所述目标从设备发送的响应信号,则确定所述故障的后端I2C
总线修复成功。
[0018]在一种可能的实现方式中,所述修复校验信号包括I2C地址探测波形。
[0019]在一种可能的实现方式中,通过下列方式使所述目标主设备和所述目标从设备通过所述CPLD进行通信:
[0020]所述CPLD根据至少一个主设备发送的起始符的到达时刻,选择目标主设备;
[0021]所述CPLD根据预设规则,从多个具有相同I2C地址的从设备中选择目标从设备,以使所述目标主设备与所述目标从设备通过CPLD进行通信。
[0022]第二方面,本专利技术实施例还提供一种I2C通信故障恢复系统,所述系统包括目标主设备、CPLD、目标从设备;
[0023]在目标主设备和目标从设备通过CPLD进行通信的过程中,所述CPLD确定后端I2C总线故障;
[0024]所述CPLD控制前端I2C总线断开,并向所述目标从设备发送修复信号,以对故障的后端I2C总线进行修复;
[0025]所述CPLD确定所述故障的后端I2C总线修复成功,控制所述前端I2C总线导通;
[0026]其中,所述前端I2C总线用于连接所述目标主设备和所述CPLD,所述后端I2C总线用于连接所述目标从设备和所述CPLD。
[0027]在一种可能的实现方式中,所述CPLD确定后端I2C总线故障,包括:
[0028]所述CPLD确定所述后端I2C总线中的SDA或SCL为低电平的时长超过第一预设时长;或
[0029]所述CPLD确定通过所述后端I2C总线接收到起始符后的第二预设时长内未接收到结束符。
[0030]在一种可能的实现方式中,所述修复信号包括预设数量的SCL脉冲。
[0031]在一种可能的实现方式中,所述CPLD确定所述故障的后端I2C总线修复成功,包括:
[0032]所述CPLD向所述目标从设备发送修复校验信号;
[0033]若所述CPLD接收到所述目标从设备发送的响应信号,则确定所述故障的后端I2C总线修复成功。
[0034]在一种可能的实现方式中,所述修复校验信号包括I2C地址探测波形。
[0035]在一种可能的实现方式中,通过下列方式使所述目标主设备和所述目标从设备通过所述CPLD进行通信:
[0036]所述CPLD根据至少一个主设备发送的起始符的到达时刻,选择目标主设备;
[0037]所述CPLD根据预设规则,从多个具有相同I2C地址的从设备中选择目标从设备,以使所述目标主设备与所述目标从设备通过CPLD进行通信。
[0038]本专利技术实施例提供的I2C通信故障恢复方法及系统,在目标主设备和目标从设备通过CPLD进行通信的过程中,CPLD确定后端I2C总线故障,然后控制前端I2C总线断开,并向目标从设备发送修复信号,以对故障的后端I2C总线进行修复,确定故障的后端I2C总线修复成功,控制前端I2C总线导通,其中,前端I2C总线用于连接目标主设备和CPLD,后端I2C总线用于连接目标从设备和CPLD。其中CPLD具有修复功能,通过向目标从设备发送修复信号以对故障的后端I2C总线进行修复,然后控制前端I2C总线和后端I2C总线均导通,提高了I2C通
信的可靠性。
附图说明
[0039]为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0040]图1为本专利技术实施例提供的一种I2C通信故障恢复方法的流程示意图;
[0041]图2为本专利技术实施例提供的一种I2C通信故障恢复的场景示意图;
[0042]图3a为本专利技术实施例提供的另一种I2C通信故障恢复的场景示意图;
[0043]图3b为本专利技术实施例提供的另一种I2C通信故障恢复的场景示意图;
[0044]图4为本专利技术实施例提供的一种I2C通信故障恢复系统的示意图;
[0045]图5为本专利技术实施例提供的另一种I2C通信故障恢复系统的示意图;
[0046]图6a为本专利技术实施例提供的一种前端I2C总线选通的示意图;
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内置集成电路I2C通信故障恢复方法,其特征在于,所述方法包括:在目标主设备和目标从设备通过复杂可编程逻辑器件CPLD进行通信的过程中,所述CPLD确定后端I2C总线故障;所述CPLD控制前端I2C总线断开,并向所述目标从设备发送修复信号,以对故障的后端I2C总线进行修复;所述CPLD确定所述故障的后端I2C总线修复成功,控制所述前端I2C总线导通;其中,所述前端I2C总线用于连接所述目标主设备和所述CPLD,所述后端I2C总线用于连接所述目标从设备和所述CPLD。2.如权利要求1所述的方法,其特征在于,所述CPLD确定后端I2C总线故障,包括:所述CPLD确定所述后端I2C总线中的串行数据线SDA或串行时钟线SCL为低电平的时长超过第一预设时长;或所述CPLD确定通过所述后端I2C总线接收到起始符后的第二预设时长内未接收到结束符。3.如权利要求1所述的方法,其特征在于,所述修复信号包括预设数量的SCL脉冲。4.如权利要求1所述的方法,其特征在于,所述CPLD确定所述故障的后端I2C总线修复成功,包括:所述CPLD向所述目标从设备发送修复校验信号;若所述CPLD接收到所述目标从设备发送的响应信号,则确定所述故障的后端I2C总线修复成功。5.如权利要求4所述的方法,其特征在于,所述修复校验信号包括I2C地址探测波形。6.如权利要求1

5任一所述的方法,其特征在于,通过下列方式使所述目标主设备和所述目标从设备通过所述CPLD进行通信:所述CPLD根据至...

【专利技术属性】
技术研发人员:胡守锋赖国洪刘伟
申请(专利权)人:锐捷网络股份有限公司
类型:发明
国别省市:

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

1