CN107315666A - 一种测试i2c通信稳定性的方法、装置及系统 - Google Patents
一种测试i2c通信稳定性的方法、装置及系统 Download PDFInfo
- Publication number
- CN107315666A CN107315666A CN201710485290.7A CN201710485290A CN107315666A CN 107315666 A CN107315666 A CN 107315666A CN 201710485290 A CN201710485290 A CN 201710485290A CN 107315666 A CN107315666 A CN 107315666A
- Authority
- CN
- China
- Prior art keywords
- measured
- bmc
- smc
- communication
- current
- 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.)
- Pending
Links
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Quality & Reliability (AREA)
- Monitoring And Testing Of Exchanges (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供了一种验证I2C通信稳定性的方法、装置及系统,该方法包括:确定测试次数;向待测SMC发送对应所述测试次数的测试指令,以使所述待测SMC在每一次接收到所述测试指令时,通过相应的I2C总线对相应的至少一个待测BMC中的I2C互连信息进行采集;获取所述待测SMC每一次通过所述相应的I2C总线对每一个所述待测BMC采集的采集结果;针对每一个所述待测BMC对应的每一次的所述采集结果,判断当前待测BMC对应的当前采集结果中是否存在相应的所述I2C互连信息;根据判断结果,确定所述待测SMC与所述当前待测BMC之间的I2C通信是否稳定。本方案能够确定出SMC与BMC之间的I2C通信稳定性。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种测试I2C通信稳定性的方法、装置及系统。
背景技术
SMC(System Management Controller,系统管理控制器)作为机柜的管理模块,负责整个机柜的监控和管理。SMC通过与BMC(Baseboard Management Controller,基板管理控制器)进行通信,可实现对相应节点的监控和管理。其中,SMC可通过I2C总线与BMC进行通信。
SMC通过I2C总线与BMC进行通信的前提是:SMC与BMC之间的I2C通信稳定。但是目前,并未存在针对SMC与BMC之间的I2C通信稳定性进行测试的方案,因此一旦SMC与BMC之间的I2C通信不稳定,则将直接影响到SMC对于节点的监控和管理,从而可能影响到整个机柜的运行。
可见,如何测试SMC与BMC之间的I2C通信稳定性则成为当今亟待解决的问题。
发明内容
本发明实施例提供了一种测试I2C通信稳定性的方法、装置及系统,能够确定出SMC与BMC之间的I2C通信稳定性。
第一方面,本发明实施例提供了一种测试I2C通信稳定性的方法,包括:
确定测试次数;
向待测系统管理控制器SMC发送对应所述测试次数的测试指令,以使所述待测SMC在每一次接收到所述测试指令时,通过相应的I2C总线对相应的至少一个待测基板管理控制器BMC中的I2C互连信息进行采集;
获取所述待测SMC每一次通过所述相应的I2C总线对每一个所述待测BMC采集的采集结果;
针对每一个所述待测BMC对应的每一次的所述采集结果,判断当前待测BMC对应的当前采集结果中是否存在相应的所述I2C互连信息;根据判断结果,确定所述待测SMC与所述当前待测BMC之间的I2C通信是否稳定。
优选地,
进一步包括:预先设置I2C通信稳定阈值;
所述根据判断结果,确定所述待测SMC与所述当前待测BMC之间的I2C通信是否稳定,包括:
根据判断结果,确定存在相应的所述I2C互连信息的所述采集结果的个数;利用如下计算公式(1),计算所述待测SMC与所述当前待测BMC之间的I2C通信稳定值;
其中,λ表征所述待测SMC与所述当前待测BMC之间的I2C通信稳定值;m表征存在相应的所述I2C互连信息的所述采集结果的个数;n表征所述测试次数;
判断所述I2C通信稳定值是否不小于所述I2C通信稳定阈值,如果是,确定所述待测SMC与所述当前待测BMC之间的I2C通信稳定,否则,确定所述待测SMC与所述当前待测BMC之间的I2C通信不稳定。
优选地,
所述I2C互连信息,包括:待测BMC的IP地址、版本信息中的任意一种或多种;
优选地,
所述向待测系统管理控制器SMC发送对应所述测试次数的测试指令,包括:利用预先确定的I2C通信测试脚本向待测系统管理控制器SMC发送对应所述测试次数的测试指令;
优选地,
在所述判断当前待测BMC对应的当前采集结果中是否存在相应的所述I2C互连信息之后,进一步包括:
如果是,则向所述当前待测BMC发送提醒指令,以使所述当前待测BMC接收到所述连通信息时,提醒外部用户当前与所述待测SMC之间的I2C通信连通;否则,则向所述当前待测BMC发送报警指令,以使所述当前待测BMC接收到所述报警指令时,提醒外部用户当前与所述待测SMC之间的I2C通信中断。
第二方面,本发明实施例提供了一种测试I2C通信稳定性的装置,包括:测试次数确定单元、发送单元、获取单元和I2C通信稳定性确定单元;其中,
所述测试次数确定单元,用于确定测试次数;
所述发送单元,用于向待测系统管理控制器SMC发送对应所述测试次数的测试指令,以使所述待测SMC在每一次接收到所述测试指令时,通过相应的I2C总线对相应的至少一个待测基板管理控制器BMC中的I2C互连信息进行采集;
所述获取单元,用于获取所述待测SMC每一次通过所述相应的I2C总线对每一个所述待测BMC采集的采集结果;
所述I2C通信稳定性确定单元,用于针对每一个所述待测BMC对应的每一次的所述采集结果,判断当前待测BMC对应的当前采集结果中是否存在相应的所述I2C互连信息;根据判断结果,确定所述待测SMC与所述当前待测BMC之间的I2C通信是否稳定。
优选地,
进一步包括:设置单元,用于预先设置I2C通信稳定阈值;
所述I2C通信稳定性确定单元,包括:计算子单元和判断子单元;
所述计算子单元,用于确定存在相应的所述I2C互连信息的所述采集结果的个数;利用如下计算公式(1),计算所述待测SMC与所述当前待测BMC之间的I2C通信稳定值;
其中,λ表征所述待测SMC与所述当前待测BMC之间的I2C通信稳定值;m表征存在相应的所述I2C互连信息的所述采集结果的个数;n表征所述测试次数;
所述判断子单元,用于判断所述I2C通信稳定值是否不小于所述I2C通信稳定阈值,如果是,确定所述待测SMC与所述当前待测BMC之间的I2C通信稳定,否则,确定所述待测SMC与所述当前待测BMC之间的I2C通信不稳定。
优选地,
所述I2C互连信息,包括:待测BMC的IP地址、版本信息中的任意一种或多种;
优选地,
所述发送单元,具体用于利用预先确定的I2C通信测试脚本向待测系统管理控制器SMC发送对应所述测试次数的测试指令;
进一步包括:提醒单元,用于当判断出当前待测BMC对应的当前采集结果中存在相应的所述I2C互连信息时,向所述当前待测BMC发送提醒指令,以使所述当前待测BMC接收到所述连通信息时,提醒外部用户当前与所述待测SMC之间的I2C通信连通;当判断出当前待测BMC对应的当前采集结果中不存在相应的所述I2C互连信息时,向所述当前待测BMC发送报警指令,以使所述当前待测BMC接收到所述报警指令时,提醒外部用户当前与所述待测SMC之间的I2C通信中断。
第三方面,本发明实施例提供了一种测试I2C通信稳定性的系统,包括:待测SMC、与所述待测SMC通过I2C总线相连的至少一个待测BMC,以及上述任一实施例所述的测试I2C通信稳定性的装置,其中,
所述待测SMC,用于接收所述测试I2C通信稳定性的装置发送的测试指令;根据所述测试指令,通过所述I2C总线对所述至少一个待测BMC中的I2C互连信息进行采集;以及将每一次通过所述I2C总线对每一个所述待测BMC采集的采集结果发送给所述测试I2C通信稳定性的装置;
每一个所述待测BMC,用于通过所述I2C总线将所述待测SMC进行采集的采集结果发送给所述待测SMC。
优选地,
进一步包括:与每一个所述待测BMC分别相连的定位灯;
所述测试I2C通信稳定性的装置,进一步用于当判断出当前待测BMC对应的当前采集结果中存在相应的所述I2C互连信息时,向所述当前待测BMC发送提醒指令;否则,向所述当前待测BMC发送报警指令;
所述当前待测BMC,进一步用于当接收到所述提醒指令时,向对应的所述定位灯输出第一电平,以点亮所述定位灯,并在达到预设的时间阈值时,向所述定位灯输出第二电平,以熄灭所述定位灯,提醒外部用户当前与所述待测SMC之间的I2C通信连通;以及当接收到所述报警指令时,向对应的所述定位灯输出第一电平,以点亮所述定位灯,提醒外部用户当前与所述待测SMC之间的I2C通信中断;
每一个所述定位灯,用于当接收到所述第一电平时,点亮;当接收到所述第二电平时,熄灭。
第四方面,本发明实施例提供了一种计算机可读介质,包括计算机执行指令,当存储控制器的处理器执行所述计算机执行指令时,所述存储控制器执行上述任一实施例所述的测试I2C通信稳定性的方法。
第五方面,本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述存储控制器执行上述任一实施例所述的测试I2C通信稳定性的方法。
本发明实施例提供了一种测试I2C通信稳定性的方法、装置及系统,在对SMC与BMC之间的I2C通信稳定性进行测试时,首先确定好测试次数,然后按照测试次数,向待测SMC发送测试指令,以使得待测SMC在每一次接收到测试指令时,通过I2C总线对相连的至少一个待测BMC中的I2C互连信息进行采集,并获取采集结果,针对每一个待测BMC的每一次采集,若待测SMC与待测BMC之间的I2C通信连接,则待测SMC可采集到I2C互连信息,若待测SMC与待测BMC之间的I2C通信中断,则待测SMC将无法采集到I2C互连信息,因此之后可通过判断采集结果中是否存在I2C互连信息,确定出针对每一个待测BMC在进行了确定的测试次数采集后,共有多少次的采集结果中不含有I2C互连信息,从而最后能够根据判断的结果,确定出待测SMC与每一个待测BMC之间的I2C通信是否稳定。因此本方案能够确定出SMC与BMC之间的I2C通信稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种测试I2C通信稳定性的方法流程图;
图2是本发明一个实施例提供的一种测试I2C通信稳定性的装置的结构示意图;
图3是本发明另一个实施例提供的一种测试I2C通信稳定性的装置的结构示意图;
图4是本发明又一个实施例提供的一种测试I2C通信稳定性的装置的结构示意图;
图5是本发明一个实施例提供的一种测试I2C通信稳定性的系统的结构示意图;
图6是本发明另一个实施例提供的一种测试I2C通信稳定性的系统的结构示意图;
图7是本发明另一个实施例提供的一种测试I2C通信稳定性的方法流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种测试I2C通信稳定性的方法,该方法可以包括以下步骤:
步骤101:确定测试次数。
步骤102:向待测系统管理控制器SMC发送对应所述测试次数的测试指令,以使所述待测SMC在每一次接收到所述测试指令时,通过相应的I2C总线对相应的至少一个待测基板管理控制器BMC中的I2C互连信息进行采集。
步骤103:获取所述待测SMC每一次通过所述相应的I2C总线对每一个所述待测BMC采集的采集结果。
步骤104:针对每一个所述待测BMC对应的每一次的所述采集结果,判断当前待测BMC对应的当前采集结果中是否存在相应的所述I2C互连信息;根据判断结果,确定所述待测SMC与所述当前待测BMC之间的I2C通信是否稳定。
上述实施例中,在对SMC与BMC之间的I2C通信稳定性进行测试时,首先确定好测试次数,然后按照测试次数,向待测SMC发送测试指令,以使得待测SMC在每一次接收到测试指令时,通过I2C总线对相连的至少一个待测BMC中的I2C互连信息进行采集,并获取采集结果,针对每一个待测BMC的每一次采集,若待测SMC与待测BMC之间的I2C通信连接,则待测SMC可采集到I2C互连信息,若待测SMC与待测BMC之间的I2C通信中断,则待测SMC将无法采集到I2C互连信息,因此之后可通过判断采集结果中是否存在I2C互连信息,确定出针对每一个待测BMC在进行了确定的测试次数采集后,共有多少次的采集结果中不含有I2C互连信息,从而最后能够根据判断的结果,确定出待测SMC与每一个待测BMC之间的I2C通信是否稳定。因此本方案能够确定出SMC与BMC之间的I2C通信稳定性。
为了确定待测SMC与待测BMC之间的I2C通信是否稳定,本发明一个实施例中,进一步包括:预先设置I2C通信稳定阈值;所述步骤104的具体实施方式,可包括:根据判断结果,确定存在相应的所述I2C互连信息的所述采集结果的个数;利用如下计算公式(1),计算所述待测SMC与所述当前待测BMC之间的I2C通信稳定值;
其中,λ表征所述待测SMC与所述当前待测BMC之间的I2C通信稳定值;m表征存在相应的所述I2C互连信息的所述采集结果的个数;n表征所述测试次数;
判断所述I2C通信稳定值是否不小于所述I2C通信稳定阈值,如果是,确定所述待测SMC与所述当前待测BMC之间的I2C通信稳定,否则,确定所述待测SMC与所述当前待测BMC之间的I2C通信不稳定。
其中,I2C通信稳定阈值可根据实际需求进行设定。
例如,预先设置I2C通信稳定阈值为95%,确定的测试次数为500次,假设待测SMC对相应的一个待测BMC x进行的500次采集中,共有498个采集结果存在待测BMC x的I2C互连信息,此时可利用公式(1),计算出待测SMC和待测BMC x之间的I2C通信稳定值由于99.6%>95%,因此可确定出待测SMC与待测BMC x之间的I2C通信稳定。
为较准确地测试待测SMC与待测BMC之间的I2C通信稳定性,确定的测试次数不宜过小。
本发明一个实施例中,所述I2C互连信息,包括:待测BMC的IP地址、版本信息中的任意一种或多种。
其中,本发明中的I2C互连信息并不局限于上述实施例给出的两种,还可包括其他多种可能信息。
本发明一个实施例中,所述步骤102的具体实施方式,可包括:利用预先确定的I2C通信测试脚本向待测系统管理控制器SMC发送对应所述测试次数的测试指令。
为了便于实现测试I2C通信稳定性,可通过确定I2C通信测试脚本,运行该脚本,并利用该脚本执行上述实施例中的步骤102至步骤104。通过脚本的形式便于进行测试SMC和BMC之间的I2C通信稳定性。
为了使测试用户及时且准确的知晓待测SMC与待测BMC之间的I2C通信是否连通,本发明一个实施例中,在所述判断当前待测BMC对应的当前采集结果中是否存在相应的所述I2C互连信息之后,进一步包括:
如果是,则向所述当前待测BMC发送提醒指令,以使所述当前待测BMC接收到所述连通信息时,提醒外部用户当前与所述待测SMC之间的I2C通信连通;否则,则向所述当前待测BMC发送报警指令,以使所述当前待测BMC接收到所述报警指令时,提醒外部用户当前与所述待测SMC之间的I2C通信中断。
例如,待测SMC对待测BMC y共进行了200次采集,假设第11次的采集结果中存在待测BMC y的I2C互连信息,由于待测SMC能够通过I2C总线采集到该I2C互连信息,则说明此时待测SMC与待测BMC y之间的I2C通信是连通的,为使测试用户知晓,可通过向待测BMC y发送提醒指令,使得待测BMC y能够通过某种方式,如使得相连的定位灯点亮5秒,从而测试用户在观察到相应定位灯在点亮5秒熄灭时,说明该定位灯对应的待测BMC y与待测SMC之间的I2C通信连通;假设第30次的采集结果中并未存在待测BMC y的I2C互连信息,由于待测SMC通过I2C总线并未采集到该I2C互连信息,则说明此时待测SMC与待测BMC y之间的I2C通信是中断的,为使测试用户能够知晓此种情况,可通过向待测BMC y发送报警指令,使得待测BMC y能够另外的某种形式,如控制相应的定位灯常亮,从而测试用户在观察到相应定位灯在常亮时,说明该定位灯对应的待测BMC y与待测SMC之间的I2C通信中断;若在第31次采集时,待测BMC y与待测SMC之间的I2C通信恢复连通,则相应的定位灯会出现如第11次时的现象。这样,通过这种形式可以使得测试用户清楚的了解到具体的I2C通信情况。
本发明实施例提供了一种测试I2C通信稳定性的装置,如图2所示,该装置可以包括:测试次数确定单元201、发送单元202、获取单元203和I2C通信稳定性确定单元204;其中,
所述测试次数确定单元201,用于确定测试次数;
所述发送单元202,用于向待测系统管理控制器SMC发送对应所述测试次数的测试指令,以使所述待测SMC在每一次接收到所述测试指令时,通过相应的I2C总线对相应的至少一个待测基板管理控制器BMC中的I2C互连信息进行采集;
所述获取单元203,用于获取所述待测SMC每一次通过所述相应的I2C总线对每一个所述待测BMC采集的采集结果;
所述I2C通信稳定性确定单元204,用于针对每一个所述待测BMC对应的每一次的所述采集结果,判断当前待测BMC对应的当前采集结果中是否存在相应的所述I2C互连信息;根据判断结果,确定所述待测SMC与所述当前待测BMC之间的I2C通信是否稳定。
为了确定待测SMC与待测BMC之间的I2C通信是否稳定,本发明一个实施例中,如图3所示,进一步包括:设置单元301,用于预先设置I2C通信稳定阈值;
所述I2C通信稳定性确定单元204,包括:计算子单元2041和判断子单元2042;
所述计算子单元2041,用于确定存在相应的所述I2C互连信息的所述采集结果的个数;利用如下计算公式(1),计算所述待测SMC与所述当前待测BMC之间的I2C通信稳定值;
其中,λ表征所述待测SMC与所述当前待测BMC之间的I2C通信稳定值;m表征存在相应的所述I2C互连信息的所述采集结果的个数;n表征所述测试次数;
所述判断子单元2042,用于判断所述I2C通信稳定值是否不小于所述I2C通信稳定阈值,如果是,确定所述待测SMC与所述当前待测BMC之间的I2C通信稳定,否则,确定所述待测SMC与所述当前待测BMC之间的I2C通信不稳定。
本发明一个实施例中,所述I2C互连信息,包括:待测BMC的IP地址、版本信息中的任意一种或多种。
本发明一个实施例中,所述发送单元402,具体用于利用预先确定的I2C通信测试脚本向待测系统管理控制器SMC发送对应所述测试次数的测试指令。
为了及时且准确的通知测试用户待测SMC与各个待测BMC之间的I2C通信是否连通,本发明一个实施例中,如图4所示,进一步包括:提醒单元401,用于当判断出当前待测BMC对应的当前采集结果中存在相应的所述I2C互连信息时,向所述当前待测BMC发送提醒指令,以使所述当前待测BMC接收到所述连通信息时,提醒外部用户当前与所述待测SMC之间的I2C通信连通;当判断出当前待测BMC对应的当前采集结果中不存在相应的所述I2C互连信息时,向所述当前待测BMC发送报警指令,以使所述当前待测BMC接收到所述报警指令时,提醒外部用户当前与所述待测SMC之间的I2C通信中断。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例提供了一种测试I2C通信稳定性的系统,包括:待测SMC、与所述待测SMC通过I2C总线相连的至少一个待测BMC,以及上述任一实施例所述的测试I2C通信稳定性的装置,其中,
所述待测SMC,用于接收所述测试I2C通信稳定性的装置发送的测试指令;根据所述测试指令,通过所述I2C总线对所述至少一个待测BMC中的I2C互连信息进行采集;以及将每一次通过所述I2C总线对每一个所述待测BMC采集的采集结果发送给所述测试I2C通信稳定性的装置;
每一个所述待测BMC,用于通过所述I2C总线将所述待测SMC进行采集的采集结果发送给所述待测SMC。
具体的,如图5所示,为一种测试I2C通信稳定性的系统,包括:测试I2C通信稳定性的装置501、待测SMC502,以及通过I2C总线与待测SMC502相连的8个待测BMC503,其中,待测SMC在接收到测试I2C通信稳定性的装置501发送的测试指令后,就可按照从上至下或者是从下至上的顺序依次对待测BMC503的I2C互连信息进行采集,若待测SMC502和各个待测BMC503之间的I2C通信连通,则可从各个待测BMC503中均采集到相应的I2C互连信息,若I2C通信中断,则无法从相应的待测BMC503中采集到相应的I2C互连信息,最终测试I2C通信稳定性的装置501可根据待测BMC502采集的采集结果,确定出待测SMC502与每一个待测BMC503之间的I2C通信是否稳定。
为了及时且准确的通知测试用户待测SMC与各个待测BMC之间的I2C是否连通,本发明一个实施例中,进一步包括:与每一个所述待测BMC分别相连的定位灯;
所述测试I2C通信稳定性的装置,进一步用于当判断出当前待测BMC对应的当前采集结果中存在相应的所述I2C互连信息时,向所述当前待测BMC发送提醒指令;否则,向所述当前待测BMC发送报警指令;
所述当前待测BMC,进一步用于当接收到所述提醒指令时,向对应的所述定位灯输出第一电平,以点亮所述定位灯,并在达到预设的时间阈值时,向所述定位灯输出第二电平,以熄灭所述定位灯,提醒外部用户当前与所述待测SMC之间的I2C通信连通;以及当接收到所述报警指令时,向对应的所述定位灯输出第一电平,以点亮所述定位灯,提醒外部用户当前与所述待测SMC之间的I2C通信中断;
每一个所述定位灯,用于当接收到所述第一电平时,点亮;当接收到所述第二电平时,熄灭。
具体的,如图6所示,为一种测试I2C通信稳定性的系统,包括:测试I2C通信稳定性的装置601、待测SMC602、通过I2C总线与待测SMC602相连的8个待测BMC a、b、c、d、e、f、g、h,以及与每一个待测BMC603分别相连的定位灯604。以其中的待测BMC f为例,针对待测BMC f的某次采集结果,当判断出不存在相应的I2C互连信息时,测试I2C通信稳定性的装置601可向该待测BMC f604发送报警指令,从而使得BMC f控制定位灯6常亮,以此来通知测试的用户,待测SMC与待测BMC f之间的I2C通信出现了中断;若某次采集结果中存在相应的I2C互连信息时,测试I2C通信稳定性的装置601可向该待测BMC f604发送I2C互连信息,从而使得BMC f控制定位灯6点亮预设的时间阈值,如5秒,以此来通知测试的用户,待测SMC与待测BMC f之间的I2C通信正常连通。
下面将以图6所示的测试I2C通信稳定性的系统为例,详细说明本发明实施例提供的一种测试I2C通信稳定性的方法,如图7所示,该方法可以包括如下步骤:
步骤701:预先确定测试次数100次。
本发明实施例,可通过图6中的待测SMC对每一个待测BMC中的I2C互连信息进行持续的采集。
步骤702:预先设置I2C通信稳定阈值95%。
步骤703:预先设置时间阈值5秒。
步骤704:向待测SMC发送100次测试指令,以使待测SMC在每一次接收到测试指令时,通过相应的I2C总线对相应的8个待测BMC的IP地址进行采集。
具体的,第一次向待测SMC发送测试指令之后,待测SMC可按照从上至下的顺序,通过I2C总线依次对8个待测BMC:a、b、c、d、e、f、g、h的IP地址进行采集,当待测SMC本次对待测BMC h的IP地址进行采集之后,再向待测SMC发送第二次的测试指令,使得待测SMC再次对每一个待测BMC的IP地址进行采集,直至完成100次采集。
另外,为便于实现该过程,还可预先设置一个时间周期,如30秒,这样,可以每隔30秒向待测SMC发送测试指令,而不用再确定本次是否对最后一个待测BMC h的IP地址进行了采集。不过设置的时间周期应满足待测SMC可以在这段时间内对8个待测BMC的IP地址均进行了采集,同时为了能够提高测试的准确性,使得SMC持续的进行采集,因此时间周期应无限接近于待测SMC对8个待测BMC的IP地址进行采集所用的时间。
步骤705:获取待测SMC每一次通过相应的I2C总线对每一个待测BMC采集的采集结果。
例如,以图6中的待测BMC f为例,如:
待测SMC第1次通过I2C总线对待测BMC f的采集结果为c0 a8 00 6c**;第9次的采集结果为00 00 00 00 00**;第31次的采集结果为00 00 00 00 00**;第98次的采集结果为c0 a8 00 6c**。
步骤706:针对每一个待测BMC对应的每一次的采集结果,判断当前待测BMC对应的当前采集结果中是否存在相应的IP地址,如果是,则执行步骤707,否则,执行步骤708。
以待测BMC f对应的第1次的采集结果c0 a8 00 6c**为例,进行十进制转换后,可以得到192.168.0.108,可见,当前的待测BMC f对应的第1次的采集结果中存在其IP地址。
步骤707:向当前待测BMC发送提醒指令,以使当前待测BMC向对应的定位灯输出高电平,点亮定位灯,并在达到5秒时,向定位灯输出低电平,熄灭定位灯,提醒外部用户当前与待测SMC之间的I2C通信连通,并执行步骤709。
例如,针对待测BMC f,在第1次的采集结果中存在f的IP地址,那么可通过向f发送提醒指令(如点亮定位灯5秒),使得f控制与其相连的定位灯6点亮5秒,5秒后熄灭,从而使得测试员根据该定位灯的亮灯情况,及时且准确的知晓待测BMC f与待测SMC之间的I2C通信连通。
本发明实施例中的定位灯是针对每一个节点设置了一个,通过定位灯的状态可以知晓当前是哪一个节点处出现了I2C连通问题。
步骤708:向当前待测BMC发送报警指令,以使当前待测BMC向对应的定位灯输出高电平,点亮定位灯,提醒外部用户当前与待测SMC之间的I2C通信中断。
若针对待测BMC f,在第31次的采集结果中不存在192.168.0.108时,可通过向待测BMC f发送报警指令,使得定位灯常亮,当待测BMC f与待测BMC之间的I2C通信恢复后,再进行第32次采集时,可能就会出现上述步骤707中的现象,如也是亮灯5秒。
步骤709:确定存在相应的IP地址的采集结果的个数。
例如,待测SMC针对待测BMC f的100次采集过程中,共有96个采集结果中存在待测BMC f的IP地址192.168.0.108。
步骤710:根据当前待测BMC对应的每一次判断的结果,计算待测SMC与当前待测BMC之间的I2C通信稳定值。
根据上述步骤709,以及利用计算公式(1),可以计算出待测SMC与当前待测BMC f之间的I2C通信稳定值
步骤711:判断I2C通信稳定值是否不小于95%,如果是,则执行步骤712,否则,执行步骤713。
由于I2C通信稳定值96%>预设的I2C通信稳定阈值95%,因此可以确定出待测SMC与当前待测BMC f之间的I2C通信稳定。
针对其它各个待测BMC,与上述针对待测BMC f的原理相同,此处不再赘述。
步骤712:确定待测SMC与当前待测BMC之间的I2C通信稳定,并结束当前流程。
步骤713:确定待测SMC与当前待测BMC之间的I2C通信不稳定。
本发明实施例提供了一种计算机可读介质,包括计算机执行指令,当存储控制器的处理器执行所述计算机执行指令时,所述存储控制器执行上述任一实施例所述的测试I2C通信稳定性的方法。
本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述存储控制器执行上述任一实施例所述的测试I2C通信稳定性的方法。
综上,本发明各个实施例至少具有如下有益效果:
1、在本发明实施例中,在对SMC与BMC之间的I2C通信稳定性进行测试时,首先确定好测试次数,然后按照测试次数,向待测SMC发送测试指令,以使得待测SMC在每一次接收到测试指令时,通过I2C总线对相连的至少一个待测BMC中的I2C互连信息进行采集,并获取采集结果,针对每一个待测BMC的每一次采集,若待测SMC与待测BMC之间的I2C通信连接,则待测SMC可采集到I2C互连信息,若待测SMC与待测BMC之间的I2C通信中断,则待测SMC将无法采集到I2C互连信息,因此之后可通过判断采集结果中是否存在I2C互连信息,确定出针对每一个待测BMC在进行了确定的测试次数采集后,共有多少次的采集结果中不含有I2C互连信息,从而最后能够根据判断的结果,确定出待测SMC与每一个待测BMC之间的I2C通信是否稳定。因此本方案能够确定出SMC与BMC之间的I2C通信稳定性。
2、在本发明实施例中,通过利用确定的I2C测试脚本来向待测SMC发送测试指令等,可以实现对SMC与BMC之间的I2C通信稳定性进行自动化的测试,从而能够提高测试SMC与BMC之间的I2C通信稳定性的效率。
3、在本发明实施例中,针对当前待测BMC的当前采集结果,若判断出当前采集结果中存在I2C互连信息,则可向当前待测BMC发送提醒指令,以及当判断出当前采集结果中不存在I2C互连信息时,则可向当前待测BMC发送报警指令,从而能够通过当前待测BMC,使得外部用户能够及时且准确地了解到待测SMC与各个待测BMC之间的实时的I2C通信情况。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种测试I2C通信稳定性的方法,其特征在于,包括:
确定测试次数;
向待测系统管理控制器SMC发送对应所述测试次数的测试指令,以使所述待测SMC在每一次接收到所述测试指令时,通过相应的I2C总线对相应的至少一个待测基板管理控制器BMC中的I2C互连信息进行采集;
获取所述待测SMC每一次通过所述相应的I2C总线对每一个所述待测BMC采集的采集结果;
针对每一个所述待测BMC对应的每一次的所述采集结果,判断当前待测BMC对应的当前采集结果中是否存在相应的所述I2C互连信息;根据判断结果,确定所述待测SMC与所述当前待测BMC之间的I2C通信是否稳定。
2.根据权利要求1所述的测试I2C通信稳定性的方法,其特征在于,
进一步包括:预先设置I2C通信稳定阈值;
所述根据判断结果,确定所述待测SMC与所述当前待测BMC之间的I2C通信是否稳定,包括:
根据判断结果,确定存在相应的所述I2C互连信息的所述采集结果的个数;利用如下计算公式,计算所述待测SMC与所述当前待测BMC之间的I2C通信稳定值;
<mrow>
<mi>&lambda;</mi>
<mo>=</mo>
<mfrac>
<mi>m</mi>
<mi>n</mi>
</mfrac>
<mo>&times;</mo>
<mn>100</mn>
<mi>%</mi>
</mrow>
其中,λ表征所述待测SMC与所述当前待测BMC之间的I2C通信稳定值;m表征存在相应的所述I2C互连信息的所述采集结果的个数;n表征所述测试次数;
判断所述I2C通信稳定值是否不小于所述I2C通信稳定阈值,如果是,确定所述待测SMC与所述当前待测BMC之间的I2C通信稳定,否则,确定所述待测SMC与所述当前待测BMC之间的I2C通信不稳定。
3.根据权利要求1或2任一所述的测试I2C通信稳定性的方法,其特征在于,
所述I2C互连信息,包括:待测BMC的IP地址、版本信息中的任意一种或多种;
和/或,
所述向待测系统管理控制器SMC发送对应所述测试次数的测试指令,包括:利用预先确定的I2C通信测试脚本向待测系统管理控制器SMC发送对应所述测试次数的测试指令;
和/或,
在所述判断当前待测BMC对应的当前采集结果中是否存在相应的所述I2C互连信息之后,进一步包括:
如果是,则向所述当前待测BMC发送提醒指令,以使所述当前待测BMC接收到所述连通信息时,提醒外部用户当前与所述待测SMC之间的I2C通信连通;否则,则向所述当前待测BMC发送报警指令,以使所述当前待测BMC接收到所述报警指令时,提醒外部用户当前与所述待测SMC之间的I2C通信中断。
4.一种测试I2C通信稳定性的装置,其特征在于,包括:测试次数确定单元、发送单元、获取单元和I2C通信稳定性确定单元;其中,
所述测试次数确定单元,用于确定测试次数;
所述发送单元,用于向待测系统管理控制器SMC发送对应所述测试次数的测试指令,以使所述待测SMC在每一次接收到所述测试指令时,通过相应的I2C总线对相应的至少一个待测基板管理控制器BMC中的I2C互连信息进行采集;
所述获取单元,用于获取所述待测SMC每一次通过所述相应的I2C总线对每一个所述待测BMC采集的采集结果;
所述I2C通信稳定性确定单元,用于针对每一个所述待测BMC对应的每一次的所述采集结果,判断当前待测BMC对应的当前采集结果中是否存在相应的所述I2C互连信息;根据判断结果,确定所述待测SMC与所述当前待测BMC之间的I2C通信是否稳定。
5.根据权利要求4所述的测试I2C通信稳定性的装置,其特征在于,
进一步包括:设置单元,用于预先设置I2C通信稳定阈值;
所述I2C通信稳定性确定单元,包括:计算子单元和判断子单元;
所述计算子单元,用于确定存在相应的所述I2C互连信息的所述采集结果的个数;利用如下计算公式,计算所述待测SMC与所述当前待测BMC之间的I2C通信稳定值;
<mrow>
<mi>&lambda;</mi>
<mo>=</mo>
<mfrac>
<mi>m</mi>
<mi>n</mi>
</mfrac>
<mo>&times;</mo>
<mn>100</mn>
<mi>%</mi>
</mrow>
其中,λ表征所述待测SMC与所述当前待测BMC之间的I2C通信稳定值;m表征存在相应的所述I2C互连信息的所述采集结果的个数;n表征所述测试次数;
所述判断子单元,用于判断所述I2C通信稳定值是否不小于所述I2C通信稳定阈值,如果是,确定所述待测SMC与所述当前待测BMC之间的I2C通信稳定,否则,确定所述待测SMC与所述当前待测BMC之间的I2C通信不稳定。
6.根据权利要求4或5任一所述的测试I2C通信稳定性的装置,其特征在于,
所述I2C互连信息,包括:待测BMC的IP地址、版本信息中的任意一种或多种;
和/或,
所述发送单元,具体用于利用预先确定的I2C通信测试脚本向待测系统管理控制器SMC发送对应所述测试次数的测试指令;
和/或,
进一步包括:提醒单元,用于当判断出当前待测BMC对应的当前采集结果中存在相应的所述I2C互连信息时,向所述当前待测BMC发送提醒指令,以使所述当前待测BMC接收到所述连通信息时,提醒外部用户当前与所述待测SMC之间的I2C通信连通;当判断出当前待测BMC对应的当前采集结果中不存在相应的所述I2C互连信息时,向所述当前待测BMC发送报警指令,以使所述当前待测BMC接收到所述报警指令时,提醒外部用户当前与所述待测SMC之间的I2C通信中断。
7.一种测试I2C通信稳定性的系统,其特征在于,包括:待测SMC、与所述待测SMC通过I2C总线相连的至少一个待测BMC,以及权利要求4至6任一所述的测试I2C通信稳定性的装置,其中,
所述待测SMC,用于接收所述测试I2C通信稳定性的装置发送的测试指令;根据所述测试指令,通过所述I2C总线对所述至少一个待测BMC中的I2C互连信息进行采集;以及将每一次通过所述I2C总线对每一个所述待测BMC采集的采集结果发送给所述测试I2C通信稳定性的装置;
每一个所述待测BMC,用于通过所述I2C总线将所述待测SMC进行采集的采集结果发送给所述待测SMC。
8.根据权利要求7所述的测试I2C通信稳定性的系统,其特征在于,
进一步包括:与每一个所述待测BMC分别相连的定位灯;
所述测试I2C通信稳定性的装置,进一步用于当判断出当前待测BMC对应的当前采集结果中存在相应的所述I2C互连信息时,向所述当前待测BMC发送提醒指令;否则,向所述当前待测BMC发送报警指令;
所述当前待测BMC,进一步用于当接收到所述提醒指令时,向对应的所述定位灯输出第一电平,以点亮所述定位灯,并在达到预设的时间阈值时,向所述定位灯输出第二电平,以熄灭所述定位灯,提醒外部用户当前与所述待测SMC之间的I2C通信连通;以及当接收到所述报警指令时,向对应的所述定位灯输出第一电平,以点亮所述定位灯,提醒外部用户当前与所述待测SMC之间的I2C通信中断;
每一个所述定位灯,用于当接收到所述第一电平时,点亮;当接收到所述第二电平时,熄灭。
9.一种计算机可读介质,其特征在于,包括计算机执行指令,当存储控制器的处理器执行所述计算机执行指令时,所述存储控制器执行权利要求1至3任一项所述的方法。
10.一种存储控制器,其特征在于,包括:处理器、存储器和总线;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述存储控制器执行权利要求1至3任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710485290.7A CN107315666A (zh) | 2017-06-23 | 2017-06-23 | 一种测试i2c通信稳定性的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710485290.7A CN107315666A (zh) | 2017-06-23 | 2017-06-23 | 一种测试i2c通信稳定性的方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107315666A true CN107315666A (zh) | 2017-11-03 |
Family
ID=60179619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710485290.7A Pending CN107315666A (zh) | 2017-06-23 | 2017-06-23 | 一种测试i2c通信稳定性的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107315666A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136081A (zh) * | 2011-12-05 | 2013-06-05 | 鸿富锦精密工业(深圳)有限公司 | 数据中心服务器稳定性测试装置及测试方法 |
CN103186439A (zh) * | 2011-12-27 | 2013-07-03 | 鸿富锦精密工业(深圳)有限公司 | 服务器测试系统及服务器稳定性测试方法 |
US20150193336A1 (en) * | 2014-01-06 | 2015-07-09 | Hon Hai Precision Industry Co., Ltd. | Computing device and method for recording system event logs of computing device |
CN106201804A (zh) * | 2016-07-28 | 2016-12-07 | 浪潮电子信息产业股份有限公司 | 一种测试计算机主板的装置、方法及系统 |
-
2017
- 2017-06-23 CN CN201710485290.7A patent/CN107315666A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136081A (zh) * | 2011-12-05 | 2013-06-05 | 鸿富锦精密工业(深圳)有限公司 | 数据中心服务器稳定性测试装置及测试方法 |
CN103186439A (zh) * | 2011-12-27 | 2013-07-03 | 鸿富锦精密工业(深圳)有限公司 | 服务器测试系统及服务器稳定性测试方法 |
US20150193336A1 (en) * | 2014-01-06 | 2015-07-09 | Hon Hai Precision Industry Co., Ltd. | Computing device and method for recording system event logs of computing device |
CN106201804A (zh) * | 2016-07-28 | 2016-12-07 | 浪潮电子信息产业股份有限公司 | 一种测试计算机主板的装置、方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105203980B (zh) | 一种电能质量自检系统及其自检方法 | |
CN104965147A (zh) | 低压用户电能表串户检测系统及检测方法 | |
CN105355021B (zh) | 基于ZigBee的远程无线抄表系统及其性能检测方法 | |
CN103713215B (zh) | X射线管运行状态检测系统及方法 | |
CN110658400B (zh) | 基于嵌入式的测试方法、微控制器和系统 | |
CN104391244A (zh) | 继电保护设备闭环检验方法和系统 | |
CN115792364B (zh) | 一种基于待机状态分析的功耗计算方法 | |
CN109001579A (zh) | 计量数据采集设备、方法和装置 | |
US20230152389A1 (en) | Method for Detecting Storage Battery of Vehicle and Battery Detection Device | |
CN105140152B (zh) | 晶圆片级封装单片机引脚焊接检测方法 | |
CN206818778U (zh) | 智能型高可靠性电动汽车缆上控制与保护装置 | |
CN108920373A (zh) | 嵌入式软件调试系统及其方法 | |
CN115061079A (zh) | 一种电能表计量误差在线测量方法及批量测试系统 | |
CN112180764A (zh) | 一种多种故障诊断及显示功能的控制器 | |
CN105652137B (zh) | 一种变电站在线监测诊断模型识别方法及装置 | |
CN106941434A (zh) | 一种通信报文的检测系统及方法 | |
CN109412902A (zh) | 一种电力调度数据网系统的智能监测方法、存储设备、终端和系统 | |
CN111537793B (zh) | 一种移动终端的功耗测试方法及其系统 | |
CN211148838U (zh) | 一种空调内机测试装置 | |
CN203480800U (zh) | 显示器画面切换响应时间测试系统 | |
CN107315666A (zh) | 一种测试i2c通信稳定性的方法、装置及系统 | |
CN104198879A (zh) | 极性测试仪 | |
CN107645387A (zh) | 一种物联网故障设备检测系统 | |
CN106771440A (zh) | 一种杜绝偷电的单相液晶电表及其控制方法 | |
CN213149201U (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171103 |
|
RJ01 | Rejection of invention patent application after publication |