CN113849355B - I2c速率自适应调整方法、系统、终端及存储介质 - Google Patents
I2c速率自适应调整方法、系统、终端及存储介质 Download PDFInfo
- Publication number
- CN113849355B CN113849355B CN202111005412.0A CN202111005412A CN113849355B CN 113849355 B CN113849355 B CN 113849355B CN 202111005412 A CN202111005412 A CN 202111005412A CN 113849355 B CN113849355 B CN 113849355B
- Authority
- CN
- China
- Prior art keywords
- rate
- detection
- data
- detection result
- equipment
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000001514 detection method Methods 0.000 claims abstract description 206
- 230000005540 biological transmission Effects 0.000 claims abstract description 60
- 230000003044 adaptive effect Effects 0.000 claims description 9
- 230000001105 regulatory effect Effects 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 239000000758 substrate Substances 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 9
- 238000013461 design Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003828 downregulation Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明提供一种I2C速率自适应调整方法、系统、终端及存储介质,包括:基于定期发送的检测数据对I2C设备进行传输数据完整性检测,得到传输数据完整性检测结果;利用速率检测单元采集I2C设备的实际I2C速率,并通过比对实际I2C速率与设定的I2C速率的一致性得到速率检测结果;若传输数据完整性检测结果或速率检测结果为未通过检测,则调节设定的I2C速率值。本发明实现了BMC对设定的I2C速率的自适应调整,可解决因服务器板卡电路错综复杂可解决通过逐一量测电压和信号排查硬件链路故障的困难。
Description
技术领域
本发明涉及服务器技术领域,具体涉及一种I2C速率自适应调整方法、系统、终端及存储介质。
背景技术
近年来,在云计算、大数据、物联网等技术的推动下,我国数据中心产业迎来高速增长时期。有着高速度的运算能力、长时间的可靠运行、强大的外部数据吞吐能力的服务器作为BAT等大型互联网企业的专属形态得到了大规模部署,在其他体量极大、拥有自建数据中心的传统企业也广为使用,被各行各业所大量需求。I2C(Inter-Integrated Circuit)总线(也称IIC)是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及外围设备,是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少、控制方式简单、器件封装形式小、通信速率较高等优点。在服务器领域中,I2C使用非常广泛,BMC作为带外管理器对Temperature sensor,PSU,ME,Power,CPLD,RAID,NVME等设备都可以通过I2C进行管理。I2C总线数据传输速率在标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下可达3.4Mbit/s,在服务器中,常用的速率为标准模式的100kbit/s,在使用时也不要求一定要达到这个速率,只要满足I2C的时序就可以,而快速模式的400kbit/s常用于IPMB接口,高速模式速率高达3.4Mbit/s则不常用。现有的服务器设计中,I2C的速率都是由BMC设定的,在写BMC代码时可以通过软件对每一路I2C通道的速率进行相应设置,设置后只要硬件链路是没问题的就可以进行通信。这种设定I2C速率的方法不适用于现在的高密度电路,服务器主板设计复杂,有很多需要监控的外围设备,不合适的I2C速率可能会造成通信异常导致数据有误,从而影响BMC的带外管理,而且链路上设备很多,很多设备对速率要求也不一样,现有设计对I2C通信造成了困难并增加了维护成本。
发明内容
针对现有技术存在的的技术问题,本发明提供一种I2C速率自适应调整方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种I2C速率自适应调整方法,包括:
基于定期发送的检测数据对I2C设备进行传输数据完整性检测,得到传输数据完整性检测结果;
利用速率检测单元采集I2C设备的实际I2C速率,并通过比对实际I2C速率与设定的I2C速率的一致性得到速率检测结果;
若传输数据完整性检测结果或速率检测结果为未通过检测,则调节设定的I2C速率值。
进一步的,基于定期发送的检测数据对I2C设备进行传输数据完整性检测,得到传输数据完整性检测结果,包括:
基板管理控制器定期向I2C设备发送检测数据,所述检测数据增设时间戳后存储至I2C设备的指定寄存器;
从所述I2C设备读取时间戳最近的的检测数据,并比对读取检测数据与本地存储的检测数据的一致性,若两者一致则判定通过传输数据完整性检测;
定期清除所述I2C设备的指定寄存器的历史检测数据。
进一步的,利用速率检测单元采集I2C设备的实际I2C速率,并通过比对实际I2C速率与设定的I2C速率的一致性得到速率检测结果,包括:
通过通用输入输出接口连接基于复杂可编程逻辑器件的速率检测单元,
采集由所述速率检测单元利用I2C速率读取指令获取的I2C设备的实际I2C速率;
比对实际I2C速率与设定的I2C速率的一致性,若两者一致则判定通过速率检测。
进一步的,若传输数据完整性检测结果或速率检测结果为未通过检测,则调节设定的I2C速率值,包括:
获取所述I2C设备对应的I2C速率下限值;
按照设定的步距将设定的I2C速率值在所述I2C速率下限值范围内,多次向下调节,且在每次调节设定的I2C速率值之后重新采集传输数据完整性检测结果或速率检测结果,直至传输数据完整性检测结果或速率检测结果均为通过检测。
第二方面,本发明提供一种I2C速率自适应调整系统,包括:
第一检测单元,用于基于定期发送的检测数据对I2C设备进行传输数据完整性检测,得到传输数据完整性检测结果;
第二检测单元,用于利用速率检测单元采集I2C设备的实际I2C速率,并通过比对实际I2C速率与设定的I2C速率的一致性得到速率检测结果;
速率调整单元,用于若传输数据完整性检测结果或速率检测结果为未通过检测,则调节设定的I2C速率值。
进一步的,所述第一检测单元包括:
数据发送模块,用于基板管理控制器定期向I2C设备发送检测数据,所述检测数据增设时间戳后存储至I2C设备的指定寄存器;
数据读取模块,用于从所述I2C设备读取时间戳最近的的检测数据,并比对读取检测数据与本地存储的检测数据的一致性,若两者一致则判定通过传输数据完整性检测;
数据清除模块,用于定期清除所述I2C设备的指定寄存器的历史检测数据。
进一步的,所述第二检测单元包括:
连接建立模块,用于通过通用输入输出接口连接基于复杂可编程逻辑器件的速率检测单元,
速率采集模块,用于采集由所述速率检测单元利用I2C速率读取指令获取的I2C设备的实际I2C速率;
速率比对模块,用于比对实际I2C速率与设定的I2C速率的一致性,若两者一致则判定通过速率检测。
进一步的,所述速率调整单元包括:
限制获取模块,用于获取所述I2C设备对应的I2C速率下限值;
速率调整模块,用于按照设定的步距将设定的I2C速率值在所述I2C速率下限值范围内,多次向下调节,且在每次调节设定的I2C速率值之后重新采集传输数据完整性检测结果或速率检测结果,直至传输数据完整性检测结果或速率检测结果均为通过检测。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,
本发明提供的I2C速率自适应调整方法、系统、终端及存储介质,通过基于定期发送的检测数据而对I2C设备进行的传输数据完整性检测和基于速率检测单元的I2C设备实际I2C速率检测,实现对I2C设备的I2C速率实际情况的双重监控,从两个维度对I2C速率的监控能够有效标准I2C速率的适应情况。然后根据监控结果对设定的I2C速率进行适应性调整,从而实现设定最佳的I2C速率参数。本发明实现了BMC对设定的I2C速率的自适应调整,可解决因服务器板卡电路错综复杂可解决通过逐一量测电压和信号排查硬件链路故障的困难。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的系统的示意性框图。
图3为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
BMC基板管理控制器(Baseboard Manager Controller,简称BMC)是一个独立的系统,它不依赖与系统上的其它硬件(比如CPU、内存等),也不依赖与BIOS、OS等(但是BMC可以与BIOS和OS交互,这样可以起到更好的平台管理作用,OS下有系统管理软件可以与BMC协同工作以达到更好的管理效果)。一般我们的电脑不会带BMC,因为用处不大,一些温度、电源等的管理,CPU(或者EC,这就是另外一个话题了)来控制就够了。但是对于系统要求高的设备,比如服务器,就会用到BMC。当然因为BMC是一个独立的系统,对于某些嵌入式设备,可能不需要其它处理器,光一个BMC就能完成工作。说到底BMC本身也是一个带外处理器(一般都是ARM处理器)的小系统,单独用来处理某些工作也完全是可以的。
I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件.在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据,首先由主器件寻址从器件.然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下.主机负责产生定时时钟和终止数据传送。
GPIO(英语:General-purpose input/output),通用型之输入输出的简称,功能类似8051的P0—P3,其接脚可以供使用者由程控自由使用,PIN脚依现实考量可作为通用输入(GPI)或通用输出(GPO)或通用输入与输出(GPIO),如当clk generator,chip select等。既然一个引脚可以用于输入、输出或其他特殊功能,那么一定有寄存器用来选择这些功能。对于输入,一定可以通过读取某个寄存器来确定引脚电位的高低;对于输出,一定可以通过写入某个寄存器来让这个引脚输出高电位或者低电位;对于其他特殊功能,则有另外的寄存器来控制它们。
CPLD采用CMOS EPROM、EEPROM、快闪存储器和SRAM等编程技术,从而构成了高密度、高速度和低功耗的可编程逻辑器件。CPLD中的逻辑块类似于一个小规模PLD,通常一个逻辑块包含4~20个宏单元,每个宏单元一般由乘积项阵列、乘积项分配和可编程寄存器构成。每个宏单元有多种配置方式,各宏单元也可级联使用,因此可实现较复杂组合逻辑和时序逻辑功能。对集成度较高的CPLD,通常还提供了带片内RAM/ROM的嵌入阵列块。可编程互连通道主要提供逻辑块、宏单元、输入/输出引脚间的互连网络。输入/输出块(I/O块)提供内部逻辑到器件I/O引脚之间的接口。逻辑规模较大的CPLD一般还内带JTAG边界扫描测试电路,可对已编程的高密度可编程逻辑器件做全面彻底的系统测试,此外也可通过JTAG接口进行在系统编程。由于集成工艺、集成规模和制造厂家的不同,各种CPLD分区结构、逻辑单元等也有较大的差别。
现有的服务器设计中,I2C的速率都是由BMC设定的,在写BMC代码时可以通过软件对每一路I2C通道的速率进行相应设置,大部分device的都有自己推荐的通信速率,因此可以在BMC源端设置做相应设置。例如,在与CPLD通信时像ALTERA、XILINX、Lattice等一些大公司有专用的基于CPLD器件的I2C总线IP核,但这些IP核的通用性不强,需要的外围控制信号较多,占用系统很大的资源,因此一般不会直接采用这种IP核。而是依照I2C总线协议的时序要求,在有CPLD的系统中开发自己的I2C总线IP核。对于一些带有I2C总线接口的外围器件较少、对I2C总线功能要求较简单的CPLD系统,自主开发IP核显得既经济又方便,在此不做赘述,此方面的设计已经相当成熟。
现有的BMC对I2C速率设置比较单一,无法根据链路进行自适应调整,因为I2C从设备一般都是MOS工艺,所以I2C总线都有上拉电阻,而传输线是有电容效应的,接的设备越多电容越大,在上升的时候就会造成延时。当外围从设备I2C的速度太慢或太快,用主设备的I2C去通讯会出错,从而导致BMC带外管理出现问题。
本发明提供一种I2C速率自适应调整方法,让BMC对每一路I2C进行动态调整,从而提高I2C链路通信质量,减少维护成本,此方法同样适用于其他通信协议及信号参数。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种I2C速率自适应调整系统。
如图1所示,该方法包括:
步骤110,基于定期发送的检测数据对I2C设备进行传输数据完整性检测,得到传输数据完整性检测结果;
步骤120,利用速率检测单元采集I2C设备的实际I2C速率,并通过比对实际I2C速率与设定的I2C速率的一致性得到速率检测结果;
步骤130,若传输数据完整性检测结果或速率检测结果为未通过检测,则调节设定的I2C速率值。
为了便于对本发明的理解,下面以本发明I2C速率自适应调整方法的原理,结合实施例中对I2C速率进行自适应调整的过程,对本发明提供的I2C速率自适应调整方法做进一步的描述。
具体的,所述I2C速率自适应调整方法包括:
S1、基于定期发送的检测数据对I2C设备进行传输数据完整性检测,得到传输数据完整性检测结果。
基板管理控制器定期向I2C设备发送检测数据,检测数据增设时间戳后存储至I2C设备的指定寄存器;基板管理控制器在本地预先设置一段字符串作为检测数据,并保存至本地。定期调取检测数据发送至I2C设备,由I2C设备将接收的检测数据保存至指定的寄存器。为了区分寄存器中的历次检测数据,将每次发送的检测数据打上时间戳。从所述I2C设备读取时间戳最近的的检测数据,并比对读取检测数据与本地存储的检测数据的一致性,若两者一致则判定通过传输数据完整性检测。定期清除所述I2C设备的指定寄存器的历史检测数据,避免历史检测数据占用过多存储资源。
服务器上电,对检测单元做上电和reset处理,BMC给I2C Device发送一段数据,写入到设备的某个寄存器中,写入后再进行读取相应寄存器数值,检测读到的数据和写入的数据是否一致,重复上述步骤。
S2、利用速率检测单元采集I2C设备的实际I2C速率,并通过比对实际I2C速率与设定的I2C速率的一致性得到速率检测结果。
通过通用输入输出接口连接基于复杂可编程逻辑器件的速率检测单元,采集由所述速率检测单元利用I2C速率读取指令获取的I2C设备的实际I2C速率;比对实际I2C速率与设定的I2C速率的一致性,若两者一致则判定通过速率检测。
本实施例中速率检测单元的运行硬件采用CPLD,CPLD与BMC之间通过GPIO接口通信。CPLD与I2C设备连接。速率检测单元定期调用I2C速率读取指令获取I2C设备的实际I2C速率。I2C速率读取指令例如,sudocat/sys/module/i2c_bcm2708/parameters/baudrate.
S3、若传输数据完整性检测结果或速率检测结果为未通过检测,则调节设定的I2C速率值。
获取所述I2C设备对应的I2C速率下限值;按照设定的步距将设定的I2C速率值在所述I2C速率下限值范围内,多次向下调节,且在每次调节设定的I2C速率值之后重新采集传输数据完整性检测结果或速率检测结果,直至传输数据完整性检测结果或速率检测结果均为通过检测。
例如,设定步距为常数k,第一调整时,BMC将当前设定的I2C速率下调k,然后重新获取传输数据完整性检测结果或速率检测结果,若仍存在未通过检测的情况,则在下调后的I2C速率的基础上继续下调k,直至传输数据完整性检测结果或速率检测结果均为通过检测。但是下调后的I2C速率不可低于I2C速率下限值。这种调整方法能够快速将I2C速率调制最有值。
本实施例提供的I2C速率自适应调整方法,通过增加了数据完整性检测和速率检测,基于两种检测的反馈,通知BMC切换I2C速率来完成I2C速率的自适应调整,提高I2C通信质量,节省维护成本,提高通信效率。
如图2所示,该系统200包括:
第一检测单元210,用于基于定期发送的检测数据对I2C设备进行传输数据完整性检测,得到传输数据完整性检测结果;
第二检测单元220,用于利用速率检测单元采集I2C设备的实际I2C速率,并通过比对实际I2C速率与设定的I2C速率的一致性得到速率检测结果;
速率调整单元230,用于若传输数据完整性检测结果或速率检测结果为未通过检测,则调节设定的I2C速率值。
可选地,作为本发明一个实施例,第一检测单元包括:
数据发送模块,用于基板管理控制器定期向I2C设备发送检测数据,所述检测数据增设时间戳后存储至I2C设备的指定寄存器;
数据读取模块,用于从所述I2C设备读取时间戳最近的的检测数据,并比对读取检测数据与本地存储的检测数据的一致性,若两者一致则判定通过传输数据完整性检测;
数据清除模块,用于定期清除所述I2C设备的指定寄存器的历史检测数据。
可选地,作为本发明一个实施例,第二检测单元包括:
连接建立模块,用于通过通用输入输出接口连接基于复杂可编程逻辑器件的速率检测单元,
速率采集模块,用于采集由所述速率检测单元利用I2C速率读取指令获取的I2C设备的实际I2C速率;
速率比对模块,用于比对实际I2C速率与设定的I2C速率的一致性,若两者一致则判定通过速率检测。
可选地,作为本发明一个实施例,速率调整单元包括:
限制获取模块,用于获取所述I2C设备对应的I2C速率下限值;
速率调整模块,用于按照设定的步距将设定的I2C速率值在所述I2C速率下限值范围内,多次向下调节,且在每次调节设定的I2C速率值之后重新采集传输数据完整性检测结果或速率检测结果,直至传输数据完整性检测结果或速率检测结果均为通过检测。
图3为本发明实施例提供的一种终端300的结构示意图,该终端300可以用于执行本发明实施例提供的I2C速率自适应调整方法。
其中,该终端300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。
处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明通过基于定期发送的检测数据而对I2C设备进行的传输数据完整性检测和基于速率检测单元的I2C设备实际I2C速率检测,实现对I2C设备的I2C速率实际情况的双重监控,从两个维度对I2C速率的监控能够有效标准I2C速率的适应情况。然后根据监控结果对设定的I2C速率进行适应性调整,从而实现设定最佳的I2C速率参数。本发明实现了BMC对设定的I2C速率的自适应调整,可解决因服务器板卡电路错综复杂可解决通过逐一量测电压和信号排查硬件链路故障的困难,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (6)
1.一种I2C速率自适应调整方法,其特征在于,包括:
基于定期发送的检测数据对I2C设备进行传输数据完整性检测,得到传输数据完整性检测结果;
利用速率检测单元采集I2C设备的实际I2C速率,并通过比对实际I2C速率与设定的I2C速率的一致性得到速率检测结果;
若传输数据完整性检测结果或速率检测结果为未通过检测,则调节设定的I2C速率值;
基于定期发送的检测数据对I2C设备进行传输数据完整性检测,得到传输数据完整性检测结果,包括:
基板管理控制器定期向I2C设备发送检测数据,所述检测数据增设时间戳后存储至I2C设备的指定寄存器;
从所述I2C设备读取时间戳最近的的检测数据,并比对读取检测数据与本地存储的检测数据的一致性,若两者一致则判定通过传输数据完整性检测;
定期清除所述I2C设备的指定寄存器的历史检测数据;
利用速率检测单元采集I2C设备的实际I2C速率,并通过比对实际I2C速率与设定的I2C速率的一致性得到速率检测结果,包括:
通过通用输入输出接口连接基于复杂可编程逻辑器件的速率检测单元,
采集由所述速率检测单元利用I2C速率读取指令获取的I2C设备的实际I2C速率;
比对实际I2C速率与设定的I2C速率的一致性,若两者一致则判定通过速率检测。
2.根据权利要求1所述的方法,其特征在于,若传输数据完整性检测结果或速率检测结果为未通过检测,则调节设定的I2C速率值,包括:
获取所述I2C设备对应的I2C速率下限值;
按照设定的步距将设定的I2C速率值在所述I2C速率下限值范围内,多次向下调节,且在每次调节设定的I2C速率值之后重新采集传输数据完整性检测结果或速率检测结果,直至传输数据完整性检测结果或速率检测结果均为通过检测。
3.一种I2C速率自适应调整系统,其特征在于,包括:
第一检测单元,用于基于定期发送的检测数据对I2C设备进行传输数据完整性检测,得到传输数据完整性检测结果;
第二检测单元,用于利用速率检测单元采集I2C设备的实际I2C速率,并通过比对实际I2C速率与设定的I2C速率的一致性得到速率检测结果;
速率调整单元,用于若传输数据完整性检测结果或速率检测结果为未通过检测,则调节设定的I2C速率值;
所述第一检测单元包括:
数据发送模块,用于基板管理控制器定期向I2C设备发送检测数据,所述检测数据增设时间戳后存储至I2C设备的指定寄存器;
数据读取模块,用于从所述I2C设备读取时间戳最近的的检测数据,并比对读取检测数据与本地存储的检测数据的一致性,若两者一致则判定通过传输数据完整性检测;
数据清除模块,用于定期清除所述I2C设备的指定寄存器的历史检测数据;
所述第二检测单元包括:
连接建立模块,用于通过通用输入输出接口连接基于复杂可编程逻辑器件的速率检测单元,
速率采集模块,用于采集由所述速率检测单元利用I2C速率读取指令获取的I2C设备的实际I2C速率;
速率比对模块,用于比对实际I2C速率与设定的I2C速率的一致性,若两者一致则判定通过速率检测。
4.根据权利要求3所述的系统,其特征在于,所述速率调整单元包括:
限制获取模块,用于获取所述I2C设备对应的I2C速率下限值;
速率调整模块,用于按照设定的步距将设定的I2C速率值在所述I2C速率下限值范围内,多次向下调节,且在每次调节设定的I2C速率值之后重新采集传输数据完整性检测结果或速率检测结果,直至传输数据完整性检测结果或速率检测结果均为通过检测。
5.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-2任一项所述的方法。
6.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-2中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111005412.0A CN113849355B (zh) | 2021-08-30 | 2021-08-30 | I2c速率自适应调整方法、系统、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111005412.0A CN113849355B (zh) | 2021-08-30 | 2021-08-30 | I2c速率自适应调整方法、系统、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113849355A CN113849355A (zh) | 2021-12-28 |
CN113849355B true CN113849355B (zh) | 2023-08-08 |
Family
ID=78976557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111005412.0A Active CN113849355B (zh) | 2021-08-30 | 2021-08-30 | I2c速率自适应调整方法、系统、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113849355B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114756496B (zh) * | 2022-03-11 | 2024-06-04 | Tcl空调器(中山)有限公司 | Eeprom芯片的数据读取方法、系统、空调器及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102215605A (zh) * | 2011-05-27 | 2011-10-12 | 上海华为技术有限公司 | 一种接口速率调整方法、装置及基站 |
WO2018229526A1 (en) * | 2017-06-12 | 2018-12-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Adaptive scheduling |
CN109412879A (zh) * | 2017-08-16 | 2019-03-01 | 中兴通讯股份有限公司 | 端口状态参数获取方法、装置及传输设备、存储介质 |
CN112653591A (zh) * | 2020-11-24 | 2021-04-13 | 苏州浪潮智能科技有限公司 | 一种集线线缆速率平衡方法、系统、终端及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11068038B2 (en) * | 2019-09-20 | 2021-07-20 | Dell Products L.P. | System and method for using current slew-rate telemetry in an information handling system |
-
2021
- 2021-08-30 CN CN202111005412.0A patent/CN113849355B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102215605A (zh) * | 2011-05-27 | 2011-10-12 | 上海华为技术有限公司 | 一种接口速率调整方法、装置及基站 |
WO2018229526A1 (en) * | 2017-06-12 | 2018-12-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Adaptive scheduling |
CN109412879A (zh) * | 2017-08-16 | 2019-03-01 | 中兴通讯股份有限公司 | 端口状态参数获取方法、装置及传输设备、存储介质 |
CN112653591A (zh) * | 2020-11-24 | 2021-04-13 | 苏州浪潮智能科技有限公司 | 一种集线线缆速率平衡方法、系统、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113849355A (zh) | 2021-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10846160B2 (en) | System and method for remote system recovery | |
US7447831B2 (en) | Memory systems for automated computing machinery | |
JP6074052B2 (ja) | 仮想gpio | |
CN111966189B (zh) | 一种灵活配置的多计算节点服务器主板结构和程序 | |
US10101764B2 (en) | Automatic clock configuration system | |
CN100383544C (zh) | 一种电平信号的实时监测方法及装置 | |
CN110554943A (zh) | 一种基于i3c的多节点服务器cmc管理系统及方法 | |
CN110968352B (zh) | 一种pcie设备的复位系统及服务器系统 | |
CN114116378A (zh) | 获取PCIe设备温度的方法、系统、终端及存储介质 | |
CN113849355B (zh) | I2c速率自适应调整方法、系统、终端及存储介质 | |
CN106951352A (zh) | 一种服务器日志存储管理方法 | |
CN114003445B (zh) | Bmc的i2c监控功能测试方法、系统、终端及存储介质 | |
CN117312067A (zh) | 网卡调试系统、方法、设备及存储介质 | |
CN116226008A (zh) | 端口地址配置器、配置方法及终端 | |
CN213122967U (zh) | 一种rs485信号共享装置 | |
CN114116337A (zh) | 基于pcie链路配置的硬盘测试方法、系统、终端及存储介质 | |
CN112579507A (zh) | 宿主机与bmc通信的方法、bios、操作系统、bmc和服务器 | |
CN111290988A (zh) | 基于国产mcu的bmc子卡模块 | |
CN215264784U (zh) | 一种基于飞腾s2500服务器的远程调试系统 | |
CN112599179B (zh) | 一种并行的flash寿命测试装置 | |
TWI782305B (zh) | 伺服系統 | |
TWI781849B (zh) | 電路板中PCIe CEM連接介面的檢測系統及其方法 | |
CN115422110B (zh) | 电子设备和PCIE Switch芯片的端口配置方法 | |
CN116185508A (zh) | 基板管理控制器及服务器 | |
CN118316837A (zh) | 高速串行通信互联标准链路状态的测试方法及外插卡模组 |
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 |