一种设备芯片间连通性检测方法与流程

文档序号:21638370发布日期:2020-07-29 02:49阅读:372来源:国知局
一种设备芯片间连通性检测方法与流程

本发明涉及设备连通性检测技术领域,具体涉及一种设备芯片间连通性检测方法。



背景技术:

在通过软件的方式检测器件联通性时,往往是直接检测某个器件是否工作正常,当检测到这个器件不正常,并不知道其上一级连接的器件,从而不能判断是上一级连接器件的问题还是自身的问题。

在申请号为201811314561.3,名为设备内部器件间的逻辑连接关系分析方法的发明专利中,提到了自动生成设备间器件连接关系,并自动生成相关器件的中间节点代码的方法。并且生成的连接关系中,可以从任意节点出发,追溯到完整的从cpu出发的路径。但仅有设备间连接关系,还不足以实现对设备芯片间连通性的准确检测。



技术实现要素:

本发明针对现有技术中的上述不足,提供了一种能够解决现有技术中设备芯片间连通性检测不准确的问题的设备芯片间连通性检测方法。

为解决上述技术问题,本发明采用了下列技术方案:

提供了一种设备芯片间连通性检测方法,其包括如下步骤:

s1、生成设备内部各器件间的逻辑连接关系描述文件;

s2、根据逻辑连接关系描述文件,设置每个器件的总线节点的检测函数;

s3、根据检测函数,进行任意节点出发的连通性检测;

s4、当全部检测完成时,输出检测结果。

通过逻辑连接关系描述文件获取所有设备间的连接关系,从而有利于检测到从设备任意节点出发一条完整通路的连通性情况;通过对不同总线节点分别设置检测函数,有利于可以实现对设备的所有器件的所有总线进行检测,保证检测的全面性,从而有效确认工作不正常的元器件所在位置,提高检测效率。

进一步地,生成设备内部各器件间的逻辑连接关系描述文件的方法为:

s1-1、绘制设备内部连接关系简图,并生成其对应的图形标记语言文件;

s1-2、根据连接关系简图和图形标记语言文件,生成包含了总线及器件间连接关系的设备描述文件;

s1-3、根据设备描述文件生成设备内部连接关系描述的程序文件。

生成逻辑连接关系描述文件为现有专利中的方法,能够有效获取各器件间的连接关系,并能方便的以图像形式表现出来。还能将工作不正常的元器件标注在设备内部连接关系简图上,提高可视化效果。

进一步地,当器件总线节点为控制总线节点时,所述检测函数用于检测访问是否成功;当器件总线节点为数据总线节点时,所述检测函数用于获取信息并实现回还配置;当器件总线节点为cpu数据总线节点时,所述检测函数用于发送和接收报文处理。

对不同类型的器件总线采用不同的检测函数,从而适应不同类型器件总线的特点,保证检测可靠性;通过设置检测函数,能够通过返回的函数值直观地判断检测结果。

进一步地,实现回还配置为能够通过配置芯片的近端回还功能localloopback,所述近端回还是指要求数据从cpu出发,到达数据总线节点后,通过设置的近端回还配置,数据能够回到cpu。

当数据总线上存在总线节点不支持本地回还功能时,数据总线对应的芯片本身即处于不正常状态。

进一步地,获取信息包括获取统计信息和状态信息。

通过分别获取统计信息和状态信息,保证获取信息的全面性,进而保证检测的可靠性。

进一步地,统计信息包括报文接收和发送的报文格式、字节数统计和错误与丢失情况统计;状态信息包括连接状态、速率和双工状态。

通过统计报文相关信息,以从数据传输上判断数据总线节点间的连通性;通过统计状态信息,以从状态上直观判断数据总线节点的连通性;通过两者结合,保证信息获取的全面性。

进一步地,发送和接收报文通过套接字socket方式或根据实际情况自定义的报文收发函数进行处理。

通过现有的套接字方式进行,简单方便;在实际操作中,也可以根据实际情况自定义的报文收发函数进行处理。

进一步地,当器件总线节点为控制总线节点时,所述连通性检测的方法包括如下步骤:

s3-a-1、对cpu控制总线节点至最低一级的控制总线节点x0发送完整路径,在控制总线节点x0上执行检测函数;

s3-a-2、当控制总线节点x0上检测函数检测通过时,结束检测;检测不通过,则在控制总线节点x0的上一级连线,总线节点x1上执行检测函数;

s3-a-3、当总线节点x1上检测通过时,则输出控制总线节点x0访问存在问题的信息;否则继续在控制总线节点x1的上一级连线,总线节点x2上执行检测函数;

s3-a-4、当总线节点x2上检测通过时,输出控制总线节点x1访问存在问题的信息;否则重复向上一级连线进行检测,直到到达最开始的总线节点。

通过对逐级控制总线节点进行连通性检测,从而有效确保能定位出现问题的控制总线节点及其对应器件。

进一步地,当器件总线节点为数据总线节点时,所述连通性检测的方法包括如下步骤:

s3-b-1、当最低一级的数据总线节点y0通过检测函数中实现回还配置的检测后,启动报文接收处理功能;

s3-b-2、从cpu数据总线节点发送m个报文数据,并开始计时;

s3-b-3、经过设定时间后,开始获取cpu数据总线节点至数据总线节点y0的通路上所有的数据节点总线的统计和状态信息,以判断连通性。

通过先进行回还配置检测,保证数据总线节点内部的正常工作状态;通过定时后再统计报文数据在不同数据节点上的统计和状态信息,避免数据传输滞后的影响。

进一步地,根据数据节点总线的统计和状态判断连通性的方法包括如下步骤:

1)查看所有节点上的状态信息,当存在节点未连接时,返回并输出未连接的节点所在器件,并结束检测;当所有节点全部连接时,执行下一步检测;

2)获取从cpu数据总线节点开始直至数据总线节点y0的通路上的所有节点发出的报文数量的统计信息;

3)对统计信息进行判断,当有某个数据节点出现错误报文或者丢包时或者发送报文个数不为m时,则本次检测结束,否则继续获取统计信息,直到完成这一方向的检测;

4)获取从数据总线节点y0至cpu数据总线节点的通路上的所有节点接收的报文数量的统计信息;

5)对统计信息进行判断,当某个数据节点出现错误报文或者丢包时或者接收报文个数不为m时,则本次检测结束,否则继续获取统计信息,直到完成这一方向的检测,则本次检测成功。

通过先通过状态信息直观判断连通性,以提高检测速率;再从正反两个方向根据统计信息判断连通性,最大限度保证检测的准确性。

本发明提供的上述设备芯片间连通性检测方法的主要有益效果在于:

本发明通过逻辑连接关系描述文件获取所有设备间的连接关系,从而有利于检测到从设备任意节点出发一条完整通路的连通性情况;通过对不同总线节点分别设置检测函数,有利于可以实现对设备的所有器件的所有总线进行检测,保证检测的全面性,从而有效确认工作不正常的元器件所在位置,提高检测效率。

附图说明

图1是本发明的方法流程图。

图2是本发明控制总线节点的检测流程图。

图3是本发明数据总线节点的检测流程图。

图4是本发明实施例中的主板各器件间的连接关系示意图。

图5是本发明实施例中的网卡各器件间的连接关系示意图。

图6是本发明实施例中的数据总线节点phy_mdi至数据总线节点cpu_pci的完整通路图。

具体实施方式

下面结合附图对本发明作进一步说明:

如图1所示,其为设备芯片间连通性检测方法的流程图。

本发明的设备芯片间连通性检测方法,其包括如下步骤:

s1、生成设备内部各器件间的逻辑连接关系描述文件。

其具体生成方法为:

s1-1、绘制设备内部连接关系简图,并生成其对应的图形标记语言文件。

s1-2、根据连接关系简图和图形标记语言文件,生成包含了总线及器件间连接关系的设备描述文件。

s1-3、根据设备描述文件生成设备内部连接关系描述的程序文件。

生成逻辑连接关系描述文件为申请号201811314561.3的现有专利中的方法,这一方法能够有效获取各器件间的连接关系,并能方便的以图像形式表现出来。还能将工作不正常的元器件标注在设备内部连接关系简图上,提高可视化效果。

s2、根据逻辑连接关系描述文件,设置每个器件的总线节点的检测函数。

具体的,当器件总线节点为控制总线节点时,所述检测函数用于检测访问是否成功。例如,对于元器件eeprom上的i2c总线,检测函数的目标是判断是否可以成功读写eeprom。

当器件总线节点为数据总线节点时,所述检测函数用于获取信息并实现回还配置。

进一步地,实现回还配置的要求为能够成功设置本地回还配置localloopback,所述本地回还配置localloopback要求数据从cpu出发,到达数据总线节点后,根据设置的近端回还配置,数据能够回到cpu。

获取信息包括获取统计信息和状态信息。统计信息包括报文接收和发送的报文格式、字节数统计和错误与丢失情况统计;状态信息包括连接状态、速率和双工状态。

通过统计报文相关信息,以从数据传输上判断数据总线节点间的连通性;通过统计状态信息,以从状态上直观判断数据总线节点的连通性。通过分别获取统计信息和状态信息,保证获取信息的全面性,进而保证检测的可靠性。

当器件总线节点为cpu数据总线节点时,所述检测函数用于发送和接收报文处理。可选的,发送和接收报文处理通过套接字socket方式进行。在实际操作中,也可以根据实际情况自定义的报文收发函数进行处理。

对不同类型的器件总线采用不同的检测函数,从而适应不同类型器件总线的特点,保证检测可靠性;通过设置检测函数,能够通过返回的函数值直观地判断检测结果。

s3、根据检测函数,进行任意节点出发的连通性检测,如图2和图3所示。

具体的,当器件总线节点为控制总线节点时,所述连通性检测的方法包括如下步骤:

s3-a-1、对cpu控制总线节点至最低一级的控制总线节点x0的完整发送路径上,在控制总线节点x0上执行检测函数;

s3-a-2、当控制总线节点x0上检测函数能够检测通过时,结束检测;检测不通过,则在控制总线节点x0的上一级连线,总线节点x1上执行检测函数;

s3-a-3、当总线节点x1上检测通过时,则输出控制总线节点x0访问存在问题的信息;否则继续在控制总线节点x1的上一级连线,总线节点x2上执行检测函数;

s3-a-4、当总线节点x2上检测通过时,输出控制总线节点x1访问存在问题的信息;否则重复向上一级连线进行检测,直到到达最开始的总线节点。

通过对逐级控制总线节点进行连通性检测,从而有效确保能定位出现问题的控制总线节点及其对应器件。

当器件总线节点为数据总线节点时,所述连通性检测的方法包括如下步骤:

s3-b-1、当最低一级的数据总线节点y0通过检测函数中实现回还配置后,启动报文接收处理功能;

s3-b-2、从cpu数据总线节点发送m个报文数据,并开始计时;

s3-b-3、经过设定时间后,开始获取cpu数据总线节点至数据总线节点y0的通路上所有的数据节点总线的统计和状态信息,以判断连通性。

进一步地,根据数据节点总线的统计和状态判断连通性的方法包括如下步骤:

1)查看所有节点上的状态信息,当存在节点未连接时,返回并输出未连接的节点所在器件,并结束检测;当所有节点全部连接时,执行下一步检测;

2)获取从cpu数据总线节点开始直至数据总线节点y0的通路上的所有节点发出的报文数量的统计信息;

3)对统计信息进行判断,当有某个数据节点出现错误报文或者丢包时或者发送报文个数不为m时,则本次检测结束,否则继续获取统计信息,直到完成这一方向的检测;

4)获取从数据总线节点y0至cpu数据总线节点的通路上的所有节点接收的报文数量的统计信息;

5)对统计信息进行判断,当某个数据节点出现错误报文或者丢包时或者接收报文个数不为m时,则本次检测结束,否则继续获取统计信息,直到完成这一方向的检测,则本次检测成功。

通过先通过状态信息直观判断连通性,以提高检测速率;再从正反两个方向根据统计信息判断连通性,最大限度保证检测的准确性。

通过先进行回还配置功能的设置,保证数据总线节点内部的正常工作状态;通过定时后再统计报文数据在不同数据节点上的统计和状态信息,避免数据传输滞后的影响。

s4、当全部检测完成时,输出检测结果。

通过逻辑连接关系描述文件获取所有设备间的连接关系,从而有利于检测到从设备任意节点出发一条完整通路的连通性情况;通过对不同总线节点分别设置检测函数,有利于可以实现对设备的所有器件的所有总线进行检测,保证检测的全面性,从而有效确认工作不正常的元器件所在位置,提高检测效率。

下面是利用上述方法进行实际应用的一个实施例:

对包含有一个主板主板monterboard和一个网卡network_card的测试设备,

s1、首先绘制设备内部连接关系简图,如图3和图4所示,然后生成对应设备描述文件,及对应程序文件。其中,cpu总线与其他总线的路径如图5所示。

s2、然后分别建立其对应的检测函数,其中,在本实施例中,cpu_pci总线需要实现报文收发处理,其它的数据总线节点都不需要实现。

各数据总线节点对检测函数的实现情况如下:

·cpu_pci:支持用于检测访问是否成功的函数、报文收发函数和统计与状态获取函数,不支持回还配置。

·network_chippci:支持用于检测访问是否成功的函数和统计与状态获取函数,不支持回还配置。

·network_chipserdes:支持统计与状态获取函数和回还配置。

·physerdes:支持统计与状态获取函数和回还配置loopback设置。

·phymdi:支持统计与状态获取函数和回还配置loopback设置。

·externalcopper:不支持回还配置l,不进行这个总线的检测,因其为外部网线。

s3、下面分别对控制总线节点和数据总线节点进行连通性检测:

对于控制总线节点,以检测phy器件的mdio控制总线节点为例:

s3-a-1、当执行其检测函数成功后,可以确定从cpupci→network_chippci→network_chipmdio→phymdio的整条完整通路连通性没有问题。

s3-a-2、如果检测失败,则需要确定network_chipmdio总线节点是否可以执行成功,如果成功,则表示phymdio访问有问题,此次检测结束。

s3-a-3、当执行失败时,继续执行network_chippci总线的控制检测函数,成功则表示network_chipmdio总线存在问题,此次检测结束。

s3-a-4、执行失败则继续检测cpupci总线节点控制检测函数,成功则表示network_chippci存在问题,此次检测结束。

s3-a-5、执行失败则表示cpupci总线存在问题,此次检测结束。

对于数据总线节点,以检测cpupci←→phymdi整条通路是否存在问题为例:

s3-b-1、先设置network_chipserdes的localloopback功能,启动报文接收线程。

s3-b-2、通过cpupci总线的发送函数发送一定数目的报文m个,等待一段时间;

s3-b-3、获取cpupci←→network_chippci←→network_chipserdes←→physerdes←→phymdi完整通路的统计与状态。

具体的,其包括如下步骤:

1)先确定cpupci、network_chippci、network_chipserdes这几个节点的link状态,如果有出现不link的节点,则告知,本次检测结束。

2)否则继续查看整条通路的统计,先查cpupci上的发送统计,是否存在丢包与错误报文,存在告知后本次检测结束;

3)否则继续查看network_chippci的发送统计,是否存在丢包与错误报文,存在告知后本次检测结束;

4)否则继续查看节点,直到phymdi总线节点;

5)如果phymdi总线节点发送统计正确,则继续查看phymdi的接收统计,其是否出现丢包与错误报文,出现则本次检测结束,否则继续,直到查到cpupci上的接收统计,否出现丢包与错误报文,没有则整条通路检测通过,否则告知后本次检测结束。

s4、将检测结果汇总输出,即完成本次检测。

上面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

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