一种debug端口自动测试的方法及装置
技术领域
本发明属于数据通信领域,具体涉及一种debug端口自动测试的方法及装置。
背景技术
随着通信设备的高端化发展,机架式架构在通信设备上的应用越来越普遍,机架式通信设备为了查看信息方便,会在主控卡上设计一个调试(debug)端口,该端口可切换到任意一张业务卡的串口上,便于设备出问题后对该业务卡进行监控或查看。如图1所示,Debug端口位于整机的主用主控卡上,通过背板上的一条总线连接到其他业务卡的CPU串口,实现和业务卡本地串口相同的功能。
随着带debug端口的通信设备生产数量的增加,对其出厂时硬件质量的自动化测试需求就越来越强烈。Debug端口自动测试的难度在于,控制debug端口切换到哪张业务卡是由主控卡上的CMM系统决定的,切换后,数据的收发却是由业务卡上的CPU执行的,这两个软件模块之间没有通信,即业务卡上的CPU系统无法感知本卡是否连接到了debug端口上,两端信息的不同步,给自动化测试带来了很大的难度。
发明内容
本发明的主要目的在于提供一种debug端口自动测试的方法及装置,以解决现有通信设备的debug端口在出厂时硬件质量的自动化测试时,业务卡上的CPU系统无法感知本卡是否连接到了debug端口上,从而主控卡和业务卡信息不能同步的难题。
本发明的一个目的是,提供一种debug端口自动测试的方法,应用在包括主控卡和至少一个业务卡的设备上,所述方法包括:
在所述主控卡的调试debug端口上插入收发环回模块;
所述主控卡按照一定的频率依次向在位的所述至少一个业务卡发送端口切换命令;
收到所述端口切换命令的业务卡将本卡的串口切换到debug端口上,并按照固定的数据发送频率从串口发出测试数据,并设定接收测试数据的时间阈值,如果在设定的接收测试数据的时间阈值内接收到测试数据,则将接收到的测试数据与发出的测试数据进行比较,若两者一致,则记录本卡测试结果为合格;否则进行错误提示。
进一步地,所述收发环回模块为将接收信号线与发送信号线进行连接的RJ45接头。
进一步地,所述主控卡按照一定的频率依次向在位的所述至少一个业务卡发送端口切换命令,具体包括:
所述主控卡获取设备中当前在位的所有业务卡的槽位号,按照设定的顺序以一定的频率依次向每个业务卡发送将串口切换到debug端口上的端口切换命令。
进一步地,所述收到所述端口切换命令的业务卡将本卡的串口切换到debug端口上具体包括:业务卡收到主控卡发出的端口切换命令后进行解析,根据解析结果判断是否要求本卡进行切换,如是,则将本卡的串口切换到debug端口上;否则将本卡的串口切换到本地CPU。
进一步地,所述设定的接收测试数据的时间阈值大于主控卡对所有在位的业务卡完成一轮端口切换的总时间;所述业务卡发出测试数据的数据发送频率大于主控卡发送端口切换命令的频率。
本发明的另一目的还在于提供一种debug端口自动测试的装置,所述装置包括主控卡和至少一个业务卡,
所述主控卡,用于在调试debug端口上插入收发环回模块;按照一定的频率依次向在位的所述至少一个业务卡发送端口切换命令;
所述至少一个业务卡,用于收到所述主控卡发送的端口切换命令后将本卡的串口切换到debug端口上,并按照固定的数据发送频率从串口发出测试数据,并设定接收测试数据的时间阈值,如果在设定的接收测试数据的时间阈值内接收到测试数据,则将接收到的测试数据与发出的测试数据进行比较,若两者一致,则记录本卡测试结果为合格;否则给出错误提示。
进一步地,所述收发环回模块为将接收信号线与发送信号线进行连接的RJ45接头。
进一步地,所述主控卡包括debug切换控制模块,用于获取装置中当前在位的所有业务卡的槽位号,按照设定的顺序以一定的频率依次向每个业务卡发送将串口切换到debug端口上的端口切换命令。
进一步地,所述业务卡包括debug切换执行模块和debug数据收发模块,所述debug切换执行模块,用于收到主控卡发出的端口切换命令后进行解析,根据解析结果判断是否要求本卡进行切换,如是,则将本卡的串口切换到debug端口上;否则将本卡的串口切换到本地CPU;
所述debug数据收发模块,用于按照固定的数据发送频率从串口发出测试数据,并设定接收测试数据的时间阈值,如果在设定的接收测试数据的时间阈值内接收到测试数据,则将接收到的测试数据与发出的测试数据进行比较,若两者一致,则记录本卡测试结果为合格;否则给出错误提示;
所述收发环回模块,用于在接收到debug数据收发模块发出的测试数据后将所述测试数据返回给所述debug数据收发模块。
进一步地,所述debug数据收发模块发出测试数据的数据发送频率大于debug切换控制模块发送端口切换命令的频率;所述debug数据收发模块设定的接收测试数据的时间阈值大于debug切换控制模块对所有在位的业务卡完成一轮端口切换的总时间。
本发明的有益效果为:本发明采用添加收发环回模块,通过时间差的配合,对业务卡上连接到debug端口的整条硬件线路进行了有效的自动化测试,测试结果呈现清晰。在批量检验时,提高了检验效率。
附图说明
图1是现有技术中debug端口位置示意图;
图2是本发明实施例所述方法流程图;
图3是本发明实施例收发环回模块结构示意图;
图4是本发明实施例所述装置结构图。
具体实施方式
为使本发明的技术方案更加清楚明白,现结合附图对本发明做进一步详细说明:
本发明实施例提供一种debug端口自动测试的方法,该方法应用在包括debug端口的机架式设备上,实现对机架式设备上整个debug硬件线路的自动化测试,提高生产检验的效率。
如图2所示,本发明实施例提供的一种debug端口自动测试的方法,应用在包括主控卡和至少一个业务卡的设备上,所述方法包括:
S201、在所述主控卡的调试debug端口上插入收发环回模块;所述收发环回模块为将接收信号线与发送信号线进行连接的RJ45接头。如图3所示,RJ45接头包括8个管脚,其中3和6管脚为RJ45接头的收发信号管脚,在本发明实施例中为将RJ45接头的3、6管脚连接起来就形成了收发环回模块。
S202、所述主控卡按照一定的频率依次向在位的所述至少一个业务卡发送端口切换命令。具体包括:所述主控卡获取设备中当前在位的所有业务卡的槽位号,按照设定的顺序以一定的频率依次向每个业务卡发送将串口切换到debug端口上的端口切换命令。
S203、收到所述端口切换命令的业务卡将本卡的串口切换到debug端口上,具体包括:业务卡收到主控卡发出的端口切换命令后进行解析,根据解析结果判断是否要求本卡进行切换,如是,则将本卡的串口切换到debug端口上;否则将本卡的串口切换到本地CPU。并按照固定的数据发送频率从串口发出测试数据,并设定接收测试数据的时间阈值,如果在设定的接收测试数据的时间阈值内接收到测试数据,则将接收到的测试数据与发出的测试数据进行比较,若两者一致,则记录本次测试结果为合格;否则给出错误提示。
在本发明实施例中,所述设定的接收测试数据的时间阈值大于主控卡对所有在位的业务卡完成一轮端口切换的总时间。所述业务卡发出测试数据的数据发送频率大于主控卡发送端口切换命令的频率,所述业务卡发出测试数据的数据发送频率和主控卡发送切换命令的频率的取值均为经验值,两个频率值之间最优的情况为相差10倍以上。
为不影响其他测试项的进行,每张业务卡的测试次数是一定的,比如设定500个测试报文的收发,只要完成了,就不再进行测试。
如图4所示,本发明实施例还提供一种debug端口自动测试的装置,所述装置包括主控卡40和至少一个业务卡,由于每张业务卡的功能实现相同,这里仅列出一张业务卡41来说明本发明实施例中至少一张业务卡的功能实现,
所述主控卡40,用于在调试debug端口403上插入收发环回模块402;按照一定的频率依次向在位的所述至少一个业务卡发送端口切换命令;
所述至少一个业务卡,用于收到所述主控卡40发送的端口切换命令后将本卡的串口切换到debug端口上,并按照固定的数据发送频率从串口发出测试数据,并设定接收测试数据的时间阈值,如果在设定的接收测试数据的时间阈值内接收到测试数据,则将接收到的测试数据与发出的测试数据进行比较,若两者一致,则记录本卡测试结果为合格;否则给出错误提示。
所述收发环回模块402为将接收信号线与发送信号线进行连接的RJ45接头。
所述主控卡40包括debug切换控制模块401,用于获取装置中当前在位的所有业务卡的槽位号,按照设定的顺序以一定的频率依次向每个业务卡发送将串口切换到debug端口403上的端口切换命令;
所述业务卡41包括debug切换执行模块411和debug数据收发模块412,所述debug切换执行模块411,用于收到主控卡40发出的端口切换命令后进行解析,根据解析结果判断是否要求本卡进行切换,如是,则将本卡的串口切换到debug端口403上;否则将本卡的串口切换到本地CPU;
所述debug数据收发模块412,用于按照固定的数据发送频率从串口发出测试数据,并设定接收测试数据的时间阈值,如果在设定的接收测试数据的时间阈值内接收到测试数据,则将接收到的测试数据与发出的测试数据进行比较,若两者一致,则记录本卡测试结果为合格;否则给出错误提示。
所述收发环回模块402,用于在接收到debug数据收发模块412发出的测试数据后将所述测试数据返回给所述debug数据收发模块412。
所述debug数据收发模块412发出测试数据的数据发送频率大于debug切换控制模块401发送端口切换命令的频率;所述debug数据收发模块412设定的接收测试数据的时间阈值大于debug切换控制模块401对所有在位的业务卡完成一轮端口切换的总时间。
在本发明实施例中,debug切换控制模块在主控卡的CPU上执行,负责向各个业务卡发送端口切换命令,通知业务卡将其本地串口切换到debug端口上,一次端口切换命令下发只能切换一张业务卡,按照槽位顺序,依次轮询。debug切换执行模块在业务卡的CMM系统中执行,当debug切换执行模块收到debug切换控制模块发出的端口切换命令后,解析判断,若端口切换命令是要求本卡进行切换,则将本卡的串口切换到debug端口上;否则将本卡串口切换到本地CPU,以此保证每次仅有一张业务卡的串口被切换到debug端口上。debug数据收发模块在业务卡的CPU上执行,负责按照固定的数据发送频率发出测试数据,并启动计时程序,如果某一业务卡的串口已经切换到debug端口上,则发出的测试数据会通过收发环回模块返回到该业务卡的debug数据收发模块;其他业务卡由于串口未切换到debug端口上,则其发出的测试数据将不会返回。若在设定的接收测试数据的时间阈值内未接收到测试数据,则给出错误提示,避免一直无测试结果显示;若在设定的接收测试数据的时间阈值内接收到测试数据,则比较接收到的测试数据与发出的测试数据是否一致,若不一致,则给出错误提示;若一致,则记录本卡测试结果为合格。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。