一种I2C上拉电阻自调适电路及自调适方法与流程

文档序号:23350252发布日期:2020-12-18 16:55阅读:163来源:国知局
一种I2C上拉电阻自调适电路及自调适方法与流程

本发明实施例涉及服务器系统设计领域,具体来说涉及一种i2c上拉电阻自调适电路及自调适方法。



背景技术:

随着服务器技术的发展,服务器的架构日趋庞大且不断追求高密度的效能。基于此,服务器内部扩展出了许多系统子板,这些系统子板的设置在增进服务器效能的同时也使得服务器内部的系统管理变得更加复杂。服务器主板上的管理晶片必须通过连接器与缆线且利用各种方法来读取系统子板上的资讯与状态,这样的连接方式给高密度服务器的设计造成了很大的负担。服务器与各系统子板的连接比较复杂,不论是在路径还是在信号上都存在很多不足。

目前,服务器与各系统子板的连接架构一般是基板管理控制器作为主控端,基板管理控制器的i2c汇流排连接到各感测器,例如温度感测器、功耗感测器,以及其他芯片,例如电源芯片、cpld等,通过读取各种系统资讯、控制系统风扇及更新固件等管理动作,确保整个系统正常且稳定的运作。由于系统大多的管理动作需要通过i2c汇流排进行,因此i2c汇流排的稳定度是系统运作中非常关键的因素。现有技术中,i2c汇流排存在的缺点在于:一方面,针对不同的i2c速度分别对应不同的上拉电阻阻值区间,需要根据实际应用去调整电阻,导致后期升级困难,必须固件搭配硬件一起升级,因此大幅增加了使用上的弹性限制以及升级的难度;另一方面,现有的服务器通常是共用机壳,其内部配置存在不同,由于不同的配置及不同的部件对应其i2c路径上的负载不同,导致在连接其它部件时必须重新测量调整i2c的上拉阻值,通过不断交叉比对直到找到合适的阻值供给配置使用,因此在调校上非常繁琐复杂。



技术实现要素:

本发明实施例提供了一种i2c上拉电阻自调适电路及自调适方法,通过解析i2c信号的上升时间自动调整i2c链路的上拉电阻,解决不同的i2c速度搭配不同版本硬件的问题,节省开发成本。

为实现上述目的,本发明公开了如下技术方案:

本发明一方面提供一种i2c上拉电阻自调适电路,所述自调适电路包括时间信息获取模块和上拉电阻调整模块:

时间信息获取模块,用于获取i2c信号的上升时间得到对应的时间信息,并将时间信息发送至上拉电阻调整模块;

上拉电阻调整模块,接收时间信息获取模块发送的时间信息,并与预设时间进行比对,根据比对结果动态调整对应i2c链路的上拉电阻。

基于上述方案,本电路做如下优化:

优选的,所述时间信息获取模块包括第一比较器和第二比较器,第一比较器的正相输入端连接i2c的串行时钟线,反相输入端接第一比较电压,第二比较器的正相输入端连接i2c的串行时钟线,反相输入端接第二比较电压,所述第一比较器和第二比较器获取i2c信号的上升时间,并将时间信息发送至上拉电阻调整模块。

作为优选,所述第一比较电压设置为0.7v,第二比较电压设置为0.3v。

进一步的,所述上拉电阻调整模块包括mcu,mcu的输入端与第一比较器和第二比较器的输出端连接,输出端接入多路上拉电阻电路,mcu还与i2c链路的主控端连接,通过主控端设置预设时间,所述mcu接收时间信息并与预设时间进行比对,根据比对结果控制对应上拉电阻电路的打开或闭合。所述主控端可以为bmc等。

作为另一种电路设计方案,所述时间信息获取模块还可采用基本的电路结构进行实现:包括第一比较器、第二比较器及时间数字转换器,第一比较器的正相输入端连接i2c的串行时钟线,反相输入端接第一比较电压,第二比较器的正相输入端连接i2c的串行时钟线,反相输入端接第二比较电压,第一比较器和第二比较器的输出端分别连接时间数字转换器的两个输入端,所述第一比较器和第二比较器获取i2c信号的上升时间并发送至数字转换器,数字转换器将上升时间转换为时间数字信息后发送至上拉电阻调整模块。作为优选,在本电路结构中,第一比较电压可同样设置为0.7v,第二比较电压设置为0.3v。

与上述时间信息获取模块相配合,所述上拉电阻调整模块可采用如下结构设计:包括数字比较器和非同步上下计数器,数字比较器的输入端与数字转换器的输出端连接,输出端与非同步上下计数器的输入端连接,非同步上下计数器的输出端接入多路上拉电阻电路,所述数字比较器接收时间数字信息并与预设时间进行比对,并将比对结果发送至非同步上下计数器,非同步上下计数器根据比对结果控制对应上拉电阻电路的打开或闭合。

本发明另一方面提供一种i2c上拉电阻自调适方法,所述方法包括以下步骤:

获取i2c信号的上升时间得到对应的时间信息;

将i2c的时间信息与预设时间进行比对,根据比对结果动态调整对应i2c链路的上拉电阻。

基于上述方法,进一步的,所述获取i2c信号的上升时间得到对应的时间信息,包括下述步骤:

分别设置第一比较器和第二比较器;

将i2c的串行时钟线分别与第一比较器和第二比较器的正相输入端连接,第一比较器和第二比较器的反相输入端分别接第一比较电压和第二比较电压;

利用第一比较器和第二比较器获取i2c信号的上升时间。

进一步的,所述将i2c的时间信息与预设时间进行比对,根据比对结果动态调整对应i2c链路的上拉电阻,包括下述步骤:

设置mcu,并将mcu的输入端与第一比较器和第二比较器的输出端连接,mcu的输出端接入多路上拉电阻电路;

将mcu与i2c链路的主控端连接,通过主控端设置mcu的预设时间;

mcu接收i2c信号的时间信息并与预设时间进行比对,根据比对结果控制对应上拉电阻电路的打开或闭合。

发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:

本申请实施例提供的一种i2c上拉电阻自调适电路,通过时间信息获取模块获取i2c信号的上升时间得到对应的时间信息,然后将时间信息发送给上拉电阻调整模块,上拉电阻调整模块接收时间信息并与预设时间进行比对,根据比对结果动态调整对应i2c链路的上拉电阻。本实施例方案通过解析i2c信号的特性判断当前信号是否正常,并且基于解析信号自动调整i2c链路的上拉电阻,在不需要更新硬件的情况下,只需更新固件即可改变i2c速度,解决了不同i2c速度搭配不同版本硬件的问题,节省了开发成本,保证了i2c信号传输的质量。

本申请实施例提供的一种i2c上拉电阻自调适方法,可采用所述的i2c上拉电阻自调适电路,并取得上文所述的技术效果。

附图说明

此处的附图被并入说明书中并构成说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1为本申请实施例提供的一种i2c上拉电阻自调适电路的结构框图;

图2为本申请实施例一的时间信息获取模块的电路原理图;

图3为本申请实施例一的上拉电阻调整模块的电路原理图;

图4为本申请实施例二的i2c上拉电阻自调适电路的电路原理图;

图5为本申请实施例提供的一种i2c上拉电阻自调适方法的流程示意图。

具体实施方式

为使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

为了方便对实施例的理解,下面对实施例中涉及的缩略词和关键术语予以解释和说明。

bmc:boardmanagementcontroller,基板管理控制器;

i2c:inter-integratedcircuit,集成电路总线;

mcu:microcontrollerunit,微控制器。

图1示出了本发明实施例一种i2c上拉电阻自调适电路的结构框图。参照图1所示,本实施例的自调适电路包括时间信息获取模块1和上拉电阻调整模块2。所述时间信息获取模块1用于获取i2c信号的上升时间得到对应的时间信息,并将时间信息发送至上拉电阻调整模块2;所述上拉电阻调整模块2接收时间信息获取模块1发送的时间信息,并与预设时间进行比对,根据比对结果动态调整对应i2c链路的上拉电阻。

图2、图3分别示出了本申请实施例一的时间信息获取模块和上拉电阻调整模块的电路原理图。

如图2所示,实施例一的时间信息获取模块1包括两个比较器,分别为第一比较器和第二比较器,还包括一个时间数字转换器。第一比较器的正相输入端连接i2c的串行时钟线,反相输入端接0.7v比较电压,第二比较器的正相输入端连接i2c的串行时钟线,反相输入端接0.3v比较电压,第一比较器和第二比较器的输出端分别连接时间数字转换器的两个输入端。本电路结构通过第一比较器和第二比较器可将i2c的上升时间截取出来,之后将截取的时间信号发送至数字转换器,数字转换器将i2c的上升时间转换为时间数字信息后发送至上拉电阻调整模块2。

如图3所示,实施例一的上拉电阻调整模块2与时间信息获取模块1相配合,用于i2c链路上拉电阻的动态调整。上拉电阻调整模块2包括数字比较器和非同步上下计数器,数字比较器的输入端与信息获取模块1中数字转换器的输出端连接,输出端与非同步上下计数器的输入端连接,非同步上下计数器的输出端接入多路上拉电阻电路。信息获取模块1中的数字转换器将i2c的上升时间转换为时间数字信息后,将时间数字信息发送至上拉电阻调整模块2的数字比较器中,数字比较器接收时间数字信息并与预设时间进行比对,比对结果输出a>b,a<b,a=b三种信号。在本实施例中使用a>b及a<b两种信号,数字比较器将比对结果发送至非同步上下计数器中,当非同步上下计数器接收到a<b的信号时,计数器的输出值加一,同时打开对应的i2c上拉电阻电路,从而实现i2c链路中上拉电阻的自动调整,进而调整i2c链路中的信号,优化信号品质。反之,当非同步上下计数器接收到a>b的信号时,计数器的输出值减一,同时关闭对应的i2c上拉电阻电路,实现i2c链路中上拉电阻的自动调整。

实施例一的方案虽然能够实现i2c拓扑路径的上拉电阻动态调整,但是由于硬件的局限性,预设的上升时间不能调整。若改由mcu实现上述电路功能,既可以减少pcb布局的面积,又能够增加应用上的弹性。

图4示出了本申请实施例二的i2c上拉电阻自调适电路的电路原理图。与实施例一中电路存在区别,实施例二中的上拉电阻动态调整通过mcu进行实现。

参照图4所示,实施例二的时间信息获取模块1包括两个比较器,分别为第一比较器和第二比较器,第一比较器的正相输入端连接i2c的串行时钟线,反相输入端接0.7v比较电压,第二比较器的正相输入端连接i2c的串行时钟线,反相输入端接0.3v比较电压。本电路结构通过第一比较器和第二比较器将i2c的上升时间截取出来,并将时间信息发送至上拉电阻调整模块2。

实施例二的上拉电阻调整模块2主要包括mcu,mcu的输入端与信息获取模块1中第一比较器和第二比较器的输出端连接,输出端直接接入多路上拉电阻电路。mcu还与i2c链路的主控端连接通过主控端设置预设时间,由i2c主控端例如bmc来写入mcu的设定,可以直接变更要设定的预设时间。mcu接收第一比较器和第二比较器输出的时间信息后与预设时间进行比对,根据比对结果控制对应上拉电阻电路的打开或者闭合,从而实现i2c链路中上拉电阻的自动调整,确保正常的数据传输。

图5示出了本申请实施例提供的一种i2c上拉电阻自调适方法的流程示意图,参照图5,本实施例方法包括以下步骤:

s1、获取i2c信号的上升时间得到对应的时间信息;

s2、将i2c的时间信息与预设时间进行比对,根据比对结果动态调整对应i2c链路的上拉电阻。

具体的,所述步骤s1中,获取i2c信号的上升时间得到对应的时间信息,可以包括下述步骤:

分别设置第一比较器和第二比较器;

将i2c的串行时钟线分别与第一比较器和第二比较器的正相输入端连接,第一比较器和第二比较器的反相输入端分别接第一比较电压和第二比较电压;

利用第一比较器和第二比较器获取i2c信号的上升时间。

进一步的,所述步骤s2中,将i2c的时间信息与预设时间进行比对,根据比对结果动态调整对应i2c链路的上拉电阻,可以包括下述步骤:

设置mcu,并将mcu的输入端与第一比较器和第二比较器的输出端连接,mcu的输出端接入多路上拉电阻电路;

将mcu与i2c链路的主控端连接,通过主控端设置mcu的预设时间;

mcu接收i2c信号的时间信息并与预设时间进行比对,根据比对结果控制对应上拉电阻电路的打开或闭合。

需要说明的是,在本实施例方法中,所述步骤s1和步骤s2的具体实现过程,还可采用其它形式的电路结构和流程步骤予以实现。本申请实施例提供的一种i2c上拉电阻自调适方法中未详述的内容,也可参照上述实施例中提供的i2c上拉电阻自调适电路,在此不再赘述。

以上所述仅为本发明的较佳实施例而已,并不用以限定本发明,对于本技术领域的技术人员来说,在不脱离本发明原理的前提下所作的任何修改、改进和等同替换等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1