一种针对AS6802协议一致性的测试方法
文献发布时间:2024-01-17 01:14:25
技术领域
本发明属于通信技术领域,具体涉及一种针对AS6802协议一致性的测试方法。
背景技术
随着分布式系统的快速发展,传统以太网采用尽力而为、事件触发的传输机制已无法满足系统实时确定、安全容错的通信要求。时间触发以太网技术既包含时间触发技术,使网络具有实时和容错的特性,又拥有以太网高带宽和组网灵活的特点,被广泛应用于航空航天、无人驾驶、电信通信等领域。
时间触发以太网技术实现的关键是AS6802时间同步协议。AS6802时间同步协议确立了新的高精度且容错的同步技术,能够实现低延迟、低抖动、高精度的时钟同步。AS6802时间同步为网络中设备引入全局时间基准,并且通过容错技术保证了时间触发以太网的确定性、可靠性和安全性。
时间触发以太网技术在航空、航天、军工领域有广泛的应用前景,国内也有诸多研究所已经研制出自家的时间触发以太网设备。AS6802协议作为时间触发以太网的关键技术,网络能否正常同步是时间触发以太网工作的前提。在实际应用时,一个网络可能包含多个厂家提供的时间触发以太网设备,各厂家在开发时并不能完全按照AS6802协议所规定的标准,造成网络不能实现同步。由于AS6802协议的状态机比较复杂,并且网络设备众多,拓扑结构复杂,排查异常非常困难。
可见,如何在组网之前对时间触发以太网设备是否符合AS6802协议进行测试,是本领域技术人员亟待解决的问题。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种针对AS6802协议一致性的测试方法。本发明要解决的技术问题通过以下技术方案实现:
本发明提供一种针对AS6802协议一致性的测试方法,应用于测试仪,所述方法包括:
通过数据接口获取测试表,所述测试表包括多个协议控制帧对应的测试内容,所述测试内容至少包括各个PCF帧的操作类型、操作窗口和操作时间点,所述操作类型包括发送或接收;
接收到启动测试指令时,本地时间计数器开始计时并读取所述测试表中当前PCF帧对应的当前测试内容;
基于所述当前测试内容,若当前PCF帧的操作类型为接收,则在所述当前PCF帧对应的操作时间点开启PCF帧接收窗口;
接收到被测设备发送的待测PCF帧后,解析所述待测PCF帧并将解析的内容与所述当前PCF帧的测试内容进行比较,得到测试结果。
在本发明的一个实施例中,接收到启动测试指令的步骤之前,还包括:
将所述测试表写入随机存取存储器RAM;
接收到启动测试指令时,本地时间计数器开始计时并读取所述测试表中当前PCF帧对应的当前测试内容的步骤,包括:
接收到启动测试指令时,本地时间计数器开始计时并从RAM中读取所述测试表中当前PCF帧对应的当前测试内容。
在本发明的一个实施例中,基于所述当前测试内容,若当前PCF帧的操作类型为接收,则在所述当前PCF帧对应的操作时间点开启PCF帧接收窗口的步骤,包括:
基于所述当前测试内容,确定当前PCF帧的操作类型、操作窗口和操作时间点;
若当前PCF帧的操作类型为接收,则在所述时间计数器的计数值等于所述当前PCF帧的操作时间点时,开启PCF帧接收窗口。
在本发明的一个实施例中,所述PCF帧接收窗口以所述当前PCF帧的操作时间点为中心、以所述当前PCF帧的操作窗口为宽度。
在本发明的一个实施例中,接收到启动测试指令时,本地时间计数器开始计时并读取所述测试表中当前PCF帧对应的当前测试内容的步骤之后,还包括:
基于所述当前测试内容,确定当前PCF帧的操作类型、操作窗口和操作时间点;
若当前PCF帧的操作类型为发送,则在所述时间计数器的计数值等于所述当前PCF帧的操作时间点时,发送所述当前PCF帧至被测设备。
在本发明的一个实施例中,所述测试内容还包括各个PCF帧的目的MAC地址、源MAC地址、以太网帧类型、集成周期、成员向量、同步优先级、同步域、同步帧类型、透明时钟、帧顺序、是否为最后一帧以及比较使能字段。
在本发明的一个实施例中,接收到被测设备发送的待测PCF帧后,解析所述待测PCF帧并将解析的内容与所述当前PCF帧的测试内容进行比较,得到测试结果的步骤,包括:
接收被测设备发送的待测PCF帧;
解析所述待测PCF帧,得到所述待测PCF帧的目的MAC地址、源MAC地址、以太网帧类型、集成周期、成员向量、同步优先级、同步域、同步帧类型和透明时钟;
从当前测试内容中获取所述当前PCF帧的目的MAC地址、源MAC地址、以太网帧类型、集成周期、成员向量、同步优先级、同步域、同步帧类型和透明时钟;
按照所述当前PCF帧的比较使能字段,将所述待测PCF帧的目的MAC地址、源MAC地址、以太网帧类型、集成周期、成员向量、同步优先级、同步域、同步帧类型和透明时钟中的至少一项与所述当前PCF帧的目的MAC地址、源MAC地址、以太网帧类型、集成周期、成员向量、同步优先级、同步域、同步帧类型和透明时钟中的对应项进行比较,获得检测一致性测试结果。
在本发明的一个实施例中,若所述一致性测试结果为正确且所述当前PCF帧不是最后一帧,则将下一个PCF帧作为当前帧后,返回读取所述测试表中当前PCF帧对应的当前测试内容的步骤。
与现有技术相比,本发明的有益效果在于:
(1)本发明提供了一种针对AS6802协议一致性的测试方法,测试过程中的操作由测试表决定,可以无需改变硬件电路的情况下完成各种测试,由于AS6802协议状态机跳转复杂,本发明还可以测试时间触发以太网设备在非正常情况下的状态机跳转。
(2)本发明既可以模拟SM(Synchronous Master,同步主机)对CM(CompressionMaster,压缩主机)进行测试,也可以模拟CM完成对SM的测试。
(3)本发明可以通过比较使能位灵活调整是否对PCF帧字段进行测试,例如:目的MAC地址有对应的比较使能位时,若该比较使能位为1,就需要判断目的mac地址是否相同,反之若该比较使能位为0,那么不再需要判断目的mac地址是否相同,即使目的mac不相同也没有影响,利用上述方式可以忽略PCF帧的目的MAC地址、源MAC地址、测试PCF帧的同步域和同步优先级,具有极强的灵活性。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的针对AS6802协议一致性的测试方法的一种示意图;
图2是本发明实施例提供的针对AS6802协议一致性的测试方法的一种流程图;
图3是本发明实施例提供的针对AS6802协议一致性的测试方法的另一种示意图;
图4是本发明实施例提供的测试表的一种示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
图1是本发明实施例提供的针对AS6802协议一致性的测试方法的一种示意图,图2是本发明实施例提供的针对AS6802协议一致性的测试方法的一种流程图。本发明提供一种针对AS6802协议一致性的测试方法,应用于测试仪,上述方法包括:
S1、通过数据接口获取测试表,测试表包括多个协议控制帧对应的测试内容,测试内容至少包括各个PCF帧的操作类型、操作窗口和操作时间点,操作类型包括发送或接收;
S2、接收到启动测试指令时,本地时间计数器开始计时并读取测试表中当前PCF帧对应的当前测试内容;
S3、基于当前测试内容,若当前PCF帧的操作类型为接收,则在当前PCF帧对应的操作时间点开启PCF帧接收窗口;
S4、接收到被测设备发送的待测PCF帧后,解析待测PCF帧并将解析的内容与当前PCF帧的测试内容进行比较,得到测试结果。
具体地,本实施例在对时间触发以太网设备进行AS6802协议一致性测试时,通过测试表的内容模拟同步组件发送和接收PCF帧的行为,并且接收PCF帧和发送PCF帧的时间点均由本地时间计数器来决定,进而比较接收的待测PCF帧的内容和和时间点来对时间触发以太网设备是否符合AS6802协议所规定的内容进行判断。
可选地,接收到启动测试指令的步骤之前,还包括:
将测试表写入随机存取存储器RAM。
本实施例中测试仪通过数据接口接收测试表,示例性地,测试表中包括AS6802协议冷启动过程中交互的PCF帧如cs(Coldstart,冷启动)帧、ca(Coldstart Acknowledge,冷启动响应)帧、IN(Integration,整合)帧的内容。
上述步骤S2中,接收到启动测试指令时,本地时间计数器开始计时并读取测试表中当前PCF帧对应的当前测试内容的步骤,包括:
接收到启动测试指令时,本地时间计数器开始计时并从RAM中读取测试表中当前PCF帧对应的当前测试内容。
图3是本发明实施例提供的针对AS6802协议一致性的测试方法的另一种示意图。如图3所示,上述步骤S3中,基于当前测试内容,若当前PCF帧的操作类型为接收,则在当前PCF帧对应的操作时间点开启PCF帧接收窗口的步骤,包括:
基于当前测试内容,确定当前PCF帧的操作类型、操作窗口和操作时间点;
若当前PCF帧的操作类型为接收,则在时间计数器的计数值等于当前PCF帧的操作时间点时,开启PCF帧接收窗口。
本实施例中,PCF帧接收窗口以当前PCF帧的操作时间点为中心、以当前PCF帧的操作窗口为宽度。
请继续参见图3,接收到启动测试指令时,本地时间计数器开始计时并读取测试表中当前PCF帧对应的当前测试内容的步骤之后,还包括:
基于当前测试内容,确定当前PCF帧的操作类型、操作窗口和操作时间点;
若当前PCF帧的操作类型为发送,则在时间计数器的计数值等于当前PCF帧的操作时间点时,发送当前PCF帧至被测设备。
本实施例中,测试内容还包括各个PCF帧的目的MAC地址、源MAC地址、以太网帧类型、集成周期、成员向量、同步优先级、同步域、同步帧类型、透明时钟、帧顺序、是否为最后一帧以及比较使能字段。
进一步地,测试仪接收到待测PCF帧后,先将该待测PCF帧缓存到FIFO中,再读出FIFO中缓存的待测PCF帧数据,解析帧的内容并且完成固化功能。
上述步骤S4中,接收到被测设备发送的待测PCF帧后,解析待测PCF帧并将解析的内容与当前PCF帧的测试内容进行比较,得到测试结果的步骤,包括:
接收被测设备发送的待测PCF帧;
解析待测PCF帧,得到待测PCF帧的目的MAC地址、源MAC地址、以太网帧类型、集成周期、成员向量、同步优先级、同步域、同步帧类型和透明时钟;
从当前测试内容中获取当前PCF帧的目的MAC地址、源MAC地址、以太网帧类型、集成周期、成员向量、同步优先级、同步域、同步帧类型和透明时钟;
按照当前PCF帧的比较使能字段,将待测PCF帧的目的MAC地址、源MAC地址、以太网帧类型、集成周期、成员向量、同步优先级、同步域、同步帧类型和透明时钟中的至少一项与所述当前PCF帧的目的MAC地址、源MAC地址、以太网帧类型、集成周期、成员向量、同步优先级、同步域、同步帧类型和透明时钟中的对应项进行比较,获得检测一致性测试结果。
本实施例中,若一致性测试结果为正确且当前PCF帧不是最后一帧,则将下一个PCF帧作为当前帧后,返回读取上述测试表中当前PCF帧对应的当前测试内容的步骤。
下面以测试表中包含cs帧、ca帧和IN帧的测试内容为例,对本发明提供的针对AS6802协议一致性的测试方法做进一步说明。
具体而言,在测试仪启动测试后,本地时间计数器开始计时,测试表中第一个测试内容为发送cs帧,则在规定时间点发送cs帧;测试表中第二个测试内容为接收cs帧,则在规定时间点开启接收窗口,对接收到的PCF帧固化之后,将接收到的PCF帧内容与测试表规定的内容进行比较,若测试结果正确且不是最后一个帧,则继续对下一帧进行测试操作;进一步地,测试表中第三个测试内容为发送ca帧,则测试仪在规定时间点发送ca帧;测试表中第四个测试内容为接收ca帧,则测试仪在规定时间点开启接收窗口,并对接收到的PCF帧固化之后,将接收到的PCF帧内容与测试表规定的内容进行比较,同样地,若测试结果正确且不是最后一帧,则继续进行测试操作;测试表第五个测试内容为发送IN帧,则测试仪在规定时间点发送IN帧;测试表第六个测试内容为接收IN帧,则测试仪在规定时间点开启接收窗口,对接收到的PCF帧固化之后,将接收到的PCF帧内容与测试表规定的内容进行比较,测试结果正确,为最后一个帧,上报测试成功结果,测试结束。
通过上述各实施例可知,本发明的有益效果在于:
(1)本发明提供了一种针对AS6802协议一致性的测试方法,测试过程中的操作由测试表决定,可以无需改变硬件电路的情况下完成各种测试,由于AS6802协议状态机跳转复杂,本发明还可以测试时间触发以太网设备在非正常情况下的状态机跳转。
(2)本发明既可以模拟SM对CM进行测试,也可以模拟CM完成对SM的测试。
(3)本发明可以通过比较使能位灵活调整是否对PCF帧字段进行测试,例如:目的MAC地址有对应的比较使能位时,若该比较使能位为1,就需要判断目的mac地址是否相同,反之若该比较使能位为0,那么不再需要判断目的mac地址是否相同,即使目的mac不相同也没有影响,利用上述方式可以忽略PCF帧的目的MAC地址、源MAC地址、测试PCF帧的同步域和同步优先级,具有极强的灵活性。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
- 一种车载以太网TAS协议一致性自动化测试方法及系统
- 一种面向车辆DDS中间件的协议一致性测试方法及系统