i2c总线通信方法、装置及可读存储介质制造方法及图纸

技术编号:36553763 阅读:12 留言:0更新日期:2023-02-04 17:07
本申请实施例提供了一种i2c总线通信方法、装置及可读存储介质,其中,该方法包括:发送i2c总线数据至从设备;获取i2c总线数据的发送次数,并确定发送次数是否大于阈值;确定主设备未成功发送i2c总线数据至从设备,并调整i2c总线的寄存器信息;根据调整后的i2c总线的寄存器信息,重新发送i2c总线数据至从设备,直至主设备成功发送i2c总线数据至从设备。通过本申请,解决了BMC与从设备之间通过i2c通信过程中由于i2c时钟信号的频率不适配或者信息质量差导致的通信失败的问题,降低了硬件修改的成本,提高了i2c通信的稳定性。提高了i2c通信的稳定性。提高了i2c通信的稳定性。

【技术实现步骤摘要】
i2c总线通信方法、装置及可读存储介质


[0001]本申请实施例涉及计算机领域,具体而言,涉及一种i2c总线通信方法、装置、计算机可读存储介质与电子设备。

技术介绍

[0002]BMC是服务器上的基板管理系统,负责服务器的资产信息显示、硬件监控、散热调控、系统配置、远程监控、日志收集、故障诊断、系统维护等重要功能。
[0003]i2c总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。
[0004]主设备和从设备进行数据传输时遵循以下协议格式。数据通过一条SDA数据线在主设备和从设备之间传输0和1的串行数据。
[0005]在一些项目或者有些从设备通信时,通信失败通过修正i2c线路解决,此方法是一次性的,弹性较小,并且只能解决特定的问题,不能作为通用化方案。
[0006]因此,亟需一种可以解决BMC与从设备之间通信失败的问题。

技术实现思路

[0007]本申请实施例提供了一种i2c总线通信方法、装置、计算机可读存储介质与电子设备,以至少解决相关技术中BMC与从设备之间通信失败的问题。
[0008]根据本申请的一个实施例,提供了一种i2c总线通信方法,应用在主设备中,所述方法包括:发送i2c总线数据至从设备;获取所述i2c总线数据的发送次数,并确定所述发送次数是否大于阈值;在所述发送次数大于阈值的情况下,确定所述主设备未成功发送所述i2c总线数据至所述从设备,并调整i2c总线的寄存器信息,其中,所述寄存器信息包括i2c总线的时钟信号的频率;根据调整后的所述i2c总线的寄存器信息,重新发送所述i2c总线数据至所述从设备,直至所述主设备成功发送所述i2c总线数据至所述从设备。
[0009]在一个示例性实施例中,获取所述i2c总线数据的发送次数,包括:依次发送所述i2c总线数据的每个字节至所述从设备,并确定所述主设备是否接收到所述从设备反馈的当前字节的有效位;在未接收到所述从设备反馈的当前字节的有效位的情况下,将所述当前字节重新发送,获取所述当前字节的已经发送次数,并确定为所述i2c总线数据的发送次数。
[0010]在一个示例性实施例中,获取所述i2c总线数据的发送次数,包括:依次发送所述i2c总线数据的每个字节至所述从设备,并确定所述主设备是否接收到所述从设备反馈的当前字节的有效位;在接收到所述从设备反馈的所有字节的有效位的情况下,确定所述主设备是否接收到停止信号,在未接收到停止信号的情况下,将所有字节重新发送,获取所述所有字节的已经发送次数,并确定为所述i2c总线数据的发送次数。
[0011]在一个示例性实施例中,根据调整后的所述i2c总线的寄存器信息,重新发送所述i2c总线数据至所述从设备,直至所述主设备成功发送所述i2c总线数据至所述从设备,包
括:根据多个设定值依次调整所述i2c总线的时钟信号的频率,每次调整所述i2c总线的时钟信号的频率后,所述主设备重新发送所述i2c总线数据至所述从设备,直至所述主设备成功发送所述i2c总线数据至所述从设备。
[0012]在一个示例性实施例中,根据多个设定值依次调整所述i2c总线的时钟信号的信息,包括:根据所述设定值调整所述i2c总线的时钟频率。
[0013]在一个示例性实施例中,寄存器信息至少还包括:高电平、低电平以及所述高电平与所述低电平电压的所占时钟周期比例。
[0014]在一个示例性实施例中,根据多个设定值依次调整所述i2c总线的寄存器信息,还包括:根据所述设定值调整所述i2c总线的SCL信号线的高电平、低电平以及所述高电平与所述低电平电压的所占时钟周期比例。
[0015]在一个示例性实施例中,发送所述i2c总线数据至所述从设备之前,包括:对多个启动信号的时钟信号进行采样,将多个所述时钟信号中处于预设电压阈值范围内,且电压阈值持续时间在预设时间范围内的所述启动信号作为目标启动信号,将目标启动信号发送至所述从设备,以激活所述从设备并等待接收所述i2c总线数据。
[0016]根据本申请的另一个实施例,提供了一种i2c总线通信装置,应用在主设备中,该装置包括:数据发送单元,用于主设备发送i2c总线数据至从设备;第一确定单元,用于所述主设备获取发送所述i2c总线数据的发送次数,并确定所述发送次数是否大于阈值,则判定所述主设备未成功发送所述i2c总线数据至所述从设备;第二确定单元,用于在所述发送次数是否大于阈值的情况下,确定所述主设备未成功发送所述i2c总线数据至所述从设备,并调整i2c总线的寄存器信息,其中,所述寄存器信息包括i2c总线的时钟信号的频率;数据重新发送单元,用于所述主设备根据调整后的所述i2c总线的寄存器信息,重新发送所述i2c总线数据至所述从设备,直至所述主设备成功发送所述i2c总线数据至所述从设备。
[0017]根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一种方法实施例中的步骤。
[0018]根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一种方法。
[0019]根据本申请的又一个实施例,还提供了一种i2c总线通信系统,包括电子设备,所述电子设备用于执行上述任一种方法。
[0020]通过本申请,由于主设备发送i2c总线数据至从设备;获取所述i2c总线数据的发送次数,并确定所述发送次数是否大于阈值;在所述发送次数是否大于阈值的情况下,确定所述主设备未成功发送所述i2c总线数据至所述从设备,并调整i2c总线的寄存器信息,通过调整i2c总线的寄存器信息实现i2c通信成功,因此,可以解决BMC与从设备之间通过i2c通信过程中由于i2c时钟信号的频率不适配或者信息质量差导致的通信失败的问题,降低了硬件修改的成本,提高了i2c通信的稳定性。
附图说明
[0021]图1是根据本申请实施例的一种i2c总线通信方法的移动终端的硬件结构框图;
[0022]图2根据本申请实施例的一种i2c总线通信方法的流程图;
[0023]图3是根据本申请实施例1的一种i2c总线通信方案的流程图;
[0024]图4是根据本申请实施例2的一种i2c总线通信方案的流程图;
[0025]图5是根据本申请实施例的一种i2c总线通信装置的结构框图。
具体实施方式
[0026]下文中将参考附图并结合实施例来详细说明本申请的实施例。
[0027]需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0028]本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本申请实施例的一种i2c总线通信方法的移动终端的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种i2c总线通信方法,其特征在于,应用在主设备中,所述方法包括:发送i2c总线数据至从设备;获取所述i2c总线数据的发送次数,并确定所述发送次数是否大于阈值;在所述发送次数大于阈值的情况下,确定所述主设备未成功发送所述i2c总线数据至所述从设备,并调整i2c总线的寄存器信息,其中,所述寄存器信息至少包括i2c总线的时钟信号的频率;根据调整后的所述i2c总线的寄存器信息,重新发送所述i2c总线数据至所述从设备,直至所述主设备成功发送所述i2c总线数据至所述从设备。2.根据权利要求1所述的方法,其特征在于,获取所述i2c总线数据的发送次数,包括:依次发送所述i2c总线数据的每个字节至所述从设备,并确定所述主设备是否接收到所述从设备反馈的当前字节的有效位;在未接收到所述从设备反馈的当前字节的有效位的情况下,将所述当前字节重新发送,获取所述当前字节的已经发送次数,并确定为所述i2c总线数据的发送次数。3.根据权利要求1所述的方法,其特征在于,获取所述i2c总线数据的发送次数,包括:依次发送所述i2c总线数据的每个字节至所述从设备,并确定所述主设备是否接收到所述从设备反馈的当前字节的有效位;在接收到所述从设备反馈的所有字节的有效位的情况下,确定所述主设备是否接收到停止信号,在未接收到停止信号的情况下,将所有字节重新发送,获取所述所有字节的已经发送次数,并确定为所述i2c总线数据的发送次数。4.根据权利要求1所述的方法,其特征在于,根据调整后的所述i2c总线的寄存器信息,重新发送所述i2c总线数据至所述从设备,直至所述主设备成功发送所述i2c总线数据至所述从设备,包括:根据多个设定值依次调整所述i2c总线的时钟信号的频率,每次调整所述i2c总线的时钟信号的频率后,所述主设备重新发送所述i2c总线数据至所述从设备,直至所述主设备成功发送所述i2c总线数据至所述从设备。5.根据权利要求1所述的方法,其...

【专利技术属性】
技术研发人员:王学龙
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1