CN118210296A - 被测控制器的时钟同步功能测试方法、系统、设备及介质 - Google Patents
被测控制器的时钟同步功能测试方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN118210296A CN118210296A CN202410337221.1A CN202410337221A CN118210296A CN 118210296 A CN118210296 A CN 118210296A CN 202410337221 A CN202410337221 A CN 202410337221A CN 118210296 A CN118210296 A CN 118210296A
- Authority
- CN
- China
- Prior art keywords
- clock
- time
- message
- controller
- upper computer
- 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
- 238000010998 test method Methods 0.000 title claims abstract description 13
- 238000012360 testing method Methods 0.000 claims abstract description 209
- 238000004891 communication Methods 0.000 claims abstract description 64
- 238000000034 method Methods 0.000 claims abstract description 64
- 230000003993 interaction Effects 0.000 claims abstract description 13
- 238000012544 monitoring process Methods 0.000 claims abstract description 8
- 230000001360 synchronised effect Effects 0.000 claims description 96
- 230000005540 biological transmission Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004088 simulation Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 abstract description 32
- 230000006870 function Effects 0.000 description 100
- 238000010586 diagram Methods 0.000 description 13
- 238000005259 measurement Methods 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 7
- 108700009949 PTP protocol Proteins 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000007639 printing Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000007488 abnormal function Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明提供一种被测控制器的时钟同步功能测试方法、系统、设备及介质,该方法包括建立上位机与至少一个被测控制器之间的通信通道,以供上位机通过通信通道与被测控制器进行数据交互,上位机基于上位机时钟优先级模拟被测控制器的主时钟节点,并向被测控制器发送时钟同步指令,触发被测控制器对被测控制器内的从时钟进行时钟同步,上位机对被测控制器的目标报文进行监测,以根据监测到目标报文时的主时钟时间、监测到的目标报文中的从时钟时间,确定被测控制器的时钟同步功能的测试结果;能够自动实现被测控制器的时钟同步功能测试,减少人为干预,且测试过程简单方便,能够有效提高测试的效率和准确性,确保测试精度,降低人工成本和时间成本。
Description
技术领域
本申请涉及控制器测试技术领域,具体涉及一种被测控制器的时钟同步功能测试方法、系统、设备及介质。
背景技术
随着汽车智能化的发展,控制器在汽车中扮演着愈来愈重要的角色。作为汽车的“大脑”,控制器负责管理和协调汽车各个部件的工作,以确保汽车能够安全、高效地行驶。可见,控制器的功能的正常与否关乎人身安全和车辆安全,尤其是控制器的时钟同步功能,其在智能汽车中发挥着至关重要的作用,通过时钟同步,可以确保各控制器之间的数据时序一致,保证数据的准确性和实时性,以及各个系统的行为的一致性,从而提高汽车的安全性。因此,对控制器的时钟同步功能的测试就显得尤为重要。
目前,时钟同步功能的测试主要依赖于手动测试,一般会在软件代码端预埋打印信息,然后基于对手件对被测件进行时钟同步报文交互以实现被测件的时钟同步,再通过读取串口打印信息确认被测件的时钟同步情况。该测试方法存在自动化程度低、效率低、准确性差、过程复杂等诸多缺陷,也难以确保测试精度。
发明内容
鉴于以上所述现有技术的缺点,本申请提供一种被测控制器的时钟同步功能测试方法、系统、设备及介质,以解决上述手动时钟同步功能测试方法存在自动化程度低、效率低、准确性差、过程复杂等诸多缺陷,也难以确保测试精度的技术问题。
本申请提供了一种被测控制器的时钟同步功能测试方法,所述方法包括:建立上位机与至少一个被测控制器之间的通信通道,以供所述上位机通过所述通信通道与所述被测控制器进行数据交互;所述上位机基于上位机时钟优先级模拟所述被测控制器的主时钟节点,并向所述被测控制器发送时钟同步指令,触发所述被测控制器对所述被测控制器内的从时钟进行时钟同步;所述上位机对所述被测控制器的目标报文进行监测,以根据监测到目标报文时的主时钟时间、监测到的目标报文中的从时钟时间,确定所述被测控制器的时钟同步功能的测试结果。
于本申请的一实施例中,所述上位机基于上位机时钟优先级模拟所述被测控制器的主时钟节点,包括:所述上位机基于所述上位机时钟优先级,生成声明报文并发送至所述被测控制器,以使所述被测控制器接收所述声明报文,并在判断被测控制器时钟优先级低于所述声明报文中的所述上位机时钟优先级后,将所述上位机作为所述被测控制器的主时钟节点,以完成主时钟节点的模拟。
于本申请的一实施例中,向所述被测控制器发送时钟同步指令,触发所述被测控制器对所述被测控制器内的从时钟进行时钟同步,包括:所述上位机生成所述同步报文,将所述同步报文发送至所述被测控制器,以使所述被测控制器在接收到所述同步报文时,获取接收所述同步报文时的同步报文接收时间,所述时钟同步指令包括所述同步报文;所述上位机获取发送所述同步报文时的同步报文发送时间,根据所述同步报文发送时间,生成同步跟随报文并发送至所述被测控制器,以使所述被测控制器在接收到所述同步跟随报文时,获取接收所述同步跟随报文时的同步跟随报文接收时间,并基于所述同步报文接收时间、所述同步跟随报文接收时间,以及所述同步跟随报文中的所述同步报文发送时间,对所述被测控制器内的从时钟进行时钟同步,所述时钟同步指令还包括所述同步跟随报文。
于本申请的一实施例中,所述上位机获取发送所述同步报文时的同步报文发送时间,包括:获取发送所述同步报文时的上位机系统时间,并对所述上位机系统时间进行划分,得到第一部分时间和第二部分时间,所述第一部分时间中的最小时间单位大于所述第二部分时间中的最大时间单位;计算所述第一部分时间与基准时间之差,并按照所述同步跟随报文的时间格式,将所述第一部分时间与所述基准时间之差,转换为第一单位级的报文时间差,以及将所述第二部分时间,转换为所述第二部分时间对应的第二单位级的报文时间;根据所述第一单位级的报文时间差、所述基准时间对应的第一单位级的基准报文时间,确定所述第一部分时间对应的第一单位级的报文时间;对所述第一单位级的报文时间、所述第二单位级的报文时间进行合并,得到所述上位机系统时间对应的报文时间,作为所述同步报文发送时间。
于本申请的一实施例中,根据监测到目标报文时的主时钟时间、监测到的目标报文中的从时钟时间,确定所述被测控制器的时钟同步功能的测试结果,包括:对监测到目标报文时的主时钟时间、监测到的目标报文中的从时钟时间,计算主从时钟时间差;若在预设时长内,存在小于或等于预设阈值的主从时钟时间差,判定所述被测控制器的时钟同步功能的测试结果为测试通过;若在所述预设时长内,主从时钟时间差均大于所述预设阈值,判定所述被测控制器的时钟同步功能的测试结果为测试不通过。
于本申请的一实施例中,判定所述被测控制器的时钟同步功能的测试结果为测试不通过之后,所述方法包括:所述上位机增加所述上位机时钟优先级,基于增加后的上位机时钟优先级重新模拟所述被测控制器的主时钟节点,并向所述被测控制器重新发送时钟同步指令,触发所述被测控制器对所述被测控制器内的从时钟进行时钟同步;所述上位机对所述被测控制器的目标报文重新进行监测,以根据监测到目标报文时的主时钟时间、监测到的目标报文中的从时钟时间,重新确定所述被测控制器的时钟同步功能的测试结果。
于本申请的一实施例中,建立上位机与至少一个被测控制器之间的通信通道,包括:将所述上位机与网络测试硬件设备进行连接,并将所述网络测试硬件设备与所述被测控制器进行连接,以通过所述网络测试硬件设备建立所述通信通道。
于本申请的一实施例中,将所述网络测试硬件设备与所述被测控制器进行连接,包括:将所述网络测试硬件设备的第一接口与所述被测控制器的目标时钟总线进行连接,以供所述上位机通过所述网络测试硬件设备,发送所述时钟同步指令到所述目标时钟总线上,致使所述被测控制器接收所述时钟同步指令;将所述网络测试硬件设备的第二接口与所述被测控制器的目标报文传输总线进行连接,以供所述上位机通过所述网络测试硬件设备,对所述被测控制器发送在所述目标报文传输总线上的所述目标报文进行监测。
于本申请的一实施例中,还提供一种被测控制器的时钟同步功能测试系统,所述系统包括上位机、网络测试硬件设备和至少一个被测控制器;所述上位机与所述网络测试硬件设备连接,所述网络测试硬件设备与所述被测控制器连接;所述上位机用于基于上位机时钟优先级模拟所述被测控制器的主时钟节点,通过所述网络测试硬件设备,向所述被测控制器发送时钟同步指令,触发所述被测控制器对所述被测控制器内的从时钟进行时钟同步;以及通过所述网络测试硬件设备,对所述被测控制器的目标报文进行监测,以根据监测到目标报文时的主时钟时间、监测到的目标报文中的从时钟时间,确定所述被测控制器的时钟同步功能的测试结果;所述被测控制器用于接收所述时钟同步指令,以对所述被测控制器内的从时钟进行时钟同步;以及发送目标报文;所述网络测试硬件设备用于建立所述上位机与所述被测控制器之间的通信通道,以供所述上位机通过所述通信通道与所述被测控制器进行数据交互。
于本申请的一实施例中,还提供一种电子设备,所述电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如上所述的被测控制器的时钟同步功能测试方法。
于本申请的一实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行如上所述的被测控制器的时钟同步功能测试方法。
本发明的有益效果:本发明提供一种被测控制器的时钟同步功能测试方法、系统、设备及介质,该方法通过上位机模拟被测控制器的主时钟节点,向被测控制器发送时钟同步指令,触发被测控制器进行时钟同步,能够自动、快速地完成时钟同步过程。同时,通过上位机对被测控制器的目标报文进行监测,以根据监测到目标报文时的主时钟时间、监测到的目标报文中的从时钟时间,确定被测控制器的时钟同步功能的测试结果,能够缩短测试时间。整个测试过程自动化进行,减少人为干预,且测试过程简单方便,通过自动化的方式实现时钟同步及时钟同步偏差测量,能够有效提高测试的效率和准确性,确保测试精度,并且能有效降低人工成本和时间成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
图1是本申请的一示例性实施例示出的一种被测控制器的时钟同步功能测试方法的实施环境示意图;
图2是本申请的一示例性实施例示出的一种被测控制器的时钟同步功能测试方法的流程图;
图3是本申请的一示例性实施例示出的一种被测控制器的时钟同步功能测试系统的框图;
图4是本申请的一具体实施例示出的ECU的时钟同步功能测试系统的结构示意图;
图5是本申请的一具体实施例示出的时钟同步过程的流程图;
图6是本申请的一具体实施例示出的时钟同步偏差测量过程的流程图;
图7示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,遂图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
需要说明的是,本申请中,“第一”、“第二”等仅为对相似对象的区分,并非是对相似对象的顺序限定或先后次序限定。所描述的“包括”、“具有”等变形,表示该词语的主语所涵盖的范围除该词语所示出的示例外,并不排他。
可以理解的是,在本申请中记载的各种数字编号、步序编号等标号为描述方便进行的区分,并不用来限制本申请的范围。本申请标号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。
在下文描述中,探讨了大量细节,以提供对本申请实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本申请的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本申请的实施例难以理解。
需要说明的是,传统的时钟同步校验方式为手工校验,即采用一个真实的具备主时钟性能的对手件来完成对被测件的授时,也即时钟同步,在测试时,需要将对手件与被测件的时钟同步以太网通道进行连接,通过对手件的上下电,控制被测件授时过程的启闭,并通过通信实现时钟同步,再在串口端读取授时过程的打印结果输出,获取具体时间,从而确认被测件的时钟同步功能的测试结果。该测试方法存在自动化程度低、效率低、准确性差、过程复杂等诸多缺陷,也难以确保测试精度。此外,由于对手件的时钟优先级是固定的,在测试之初,若选择的对手件的时钟优先级低于被测件的时钟优先级,还需要更换对手件,以确保对手件的时钟优先级高于被测件的时钟优先级,才能有效进行时钟同步,造成测试成本的增加、测试时间的延长,测试过程也更为复杂,也导致测试的灵活性受限。
为解决这些问题,本申请的实施例分别提出一种被测控制器的时钟同步功能测试方法、一种被测控制器的时钟同步功能测试系统、一种电子设备、一种计算机可读存储介质以及一种计算机程序产品,以下将对这些实施例进行详细描述。
请参阅图1,图1是本申请的一示例性实施例示出的一种被测控制器的时钟同步功能测试方法的实施环境示意图。
如图1所示,实施环境可以包括上位机110和被测控制器120,其中,上位机110可以是台式电脑、笔记本电脑、服务器等任何具有软件运行功能的计算机设备,被测控制器120可以是区域控制器、整车控制器、车身控制器、ECU(Electronic Control Unit,电子控制单元)等任何具有时钟同步功能的设备,被测控制器120的数量可以是一个,也可以是多个,此处均不进行限制。可以使用上位机110完成对被测控制器120的授时,并对被测控制器120发送的目标报文进行监测,从而确定被测控制器120的时钟同步功能的测试结果。
示意性的,首先,建立上位机110与至少一个被测控制器120之间的通信通道,以使上位机110通过通信通道与被测控制器120进行数据交互;在通信通道建立完成之后,上位机110基于上位机时钟优先级模拟被测控制器120的主时钟节点,并向被测控制器120发送时钟同步指令,触发被测控制器120对被测控制器120内的从时钟进行时钟同步;上位机110对被测控制器120的目标报文进行监测,以根据监测到目标报文时的主时钟时间、监测到的目标报文中的从时钟时间,确定被测控制器120的时钟同步功能的测试结果。可见,本申请实施例的技术方案能够自动化进行整个测试过程,减少人为干预,且测试过程简单方便,通过自动化的方式实现时钟同步及时钟同步偏差测量,能够有效提高测试的效率和准确性,确保测试精度,并且能有效降低人工成本和时间成本。
请参阅图2,图2是本申请的一示例性实施例示出的一种被测控制器的时钟同步功能测试方法的流程图。该被测控制器的时钟同步功能测试方法可以应用于图1所示的实施环境,并由该实施环境中的上位机110和被测控制器120具体执行。应理解的是,该被测控制器的时钟同步功能测试方法也可以适用于其它的示例性实施环境,并由其他实施环境中的设备具体执行,本实施例不对该被测控制器的时钟同步功能测试方法所适用的实施环境进行限制。
如图2所示,在一示例性的实施例中,被测控制器的时钟同步功能测试方法至少包括步骤S210至步骤S230,详细介绍如下:
步骤S210,建立上位机与至少一个被测控制器之间的通信通道,以供上位机通过通信通道与被测控制器进行数据交互。
在本申请的一个实施例中,被测控制器可以是整车控制器、车身控制器、区域控制器、ECU、单片机、嵌入式系统等具有时钟同步功能且具有以太网、CAN总线或FlexRay总线等时钟通信总线的设备,可以对一个被测控制器的时钟同步功能进行测试,或者对多个被测控制器的时钟同步功能进行测试。可以选择台式电脑、笔记本电脑等计算机设备作为上位机,运行上位机软件,根据被测控制器的时钟总线和目标报文的接口类型,选择合适的通信接口,如以太网接口、CAN总线接口等,并根据被测控制器的时钟总线和目标报文的通信协议,选择合适的通信协议,如以太网协议、CAN协议、TCP/IP通信协议、UDP通信协议等,基于选择的通信接口,连接上位机与被测控制器,以建立上位机与被测控制器的通信通道,并按照选择的通信协议,实现上位机与被测控制器之间的数据交互。
步骤S220,上位机基于上位机时钟优先级模拟被测控制器的主时钟节点,并向被测控制器发送时钟同步指令,触发被测控制器对被测控制器内的从时钟进行时钟同步。
在本申请的一个实施例中,上位机时钟优先级是指上位机的时钟优先级,而时钟优先级是指在网络或通信系统中,用于决定哪个时钟源应该被选作主时钟的一种机制,一时钟源的时钟优先级值越高,表示该时钟源越适合被选作主时钟。因此,可以预设较高的时钟优先级,作为上位机时钟优先级,上位机将上位机时钟优先级通过通信通道发送给被测控制器,以使被测控制器对上位机时钟优先级与被测控制器自身的被测控制器时钟优先级进行比较,当被测控制器判断上位机时钟优先级高于被测控制器时钟优先级时,将上位机作为被测控制器的主时钟节点,相应的,被测控制器为上位机的从时钟节点,基于此,当上位机通过通信通道将时钟同步指令发送至被测控制器后,被测控制器才会响应作为主时钟节点的上位机的时钟同步指令,进行时钟同步。
由于被测控制器的时钟优先级无法直接确定,为确保上位机时钟优先级高于被测控制器时钟优先级,可以预设最高数值的时钟优先级作为上位机时钟优先级。当然,还可以在测试过程中调整上位机时钟优先级,例如:当被测控制器判断上位机时钟优先级低于自身的被测控制器时钟优先级时,不会将上位机作为主时钟节点,进而不会响应上位机的时钟同步指令进行时钟同步。可以通过监测被测控制器中的目标报文,如果在预设时长内,目标报文中的从时钟时间一直未与上位机的主时钟时间同步,则可能是主时钟节点未模拟成功,此时上位机可以增加上位机时钟优先级,并基于增加后的上位机时钟优先级模拟被测控制器的主时钟节点。
步骤S230,上位机对被测控制器的目标报文进行监测,以根据监测到目标报文时的主时钟时间、监测到的目标报文中的从时钟时间,确定被测控制器的时钟同步功能的测试结果。
在本申请的一个实施例中,被测控制器由于系统需要,会定期发送包含时间戳的目标报文,该时间戳基于被测控制器内的从时钟确定,因此,可以将目标报文内的时间戳作为从时钟时间,示意性的,目标报文可以是时钟报文等任何包含时间戳的报文。上位机可以在每次监测到被测控制器的目标报文时,记录当前的上位机时间,作为监测到目标报文时的主时钟时间,然后提取目标报文中的从时钟时间钟,并对该主时钟时间和该从时钟时间进行比对,以确定被测控制器的时钟同步功能的测试结果。
在本申请的一个实施例中,建立上位机与至少一个被测控制器之间的通信通道,包括:将上位机与网络测试硬件设备进行连接,并将网络测试硬件设备与被测控制器进行连接,以通过网络测试硬件设备建立通信通道。
在该实施例中,前面提到,上位机与被测控制器之间采用选择的通信协议进行数据交互,这些通信协议可能需要特定的硬件设备来支持。因此,可以根据被测控制器的时钟总线的类型和目标报文选择合适的网络测试硬件设备,用以支持选择的通信协议。
连接选择的网络测试硬件设备与被测控制器时,需要明确被测控制器的时钟通信总线,以根据被测控制器的时钟通信总线确定目标接口,将该网络测试硬件设备的目标接口与被测控制器进行连接,以确保被测控制器的时钟通信总线连接于该网络测试硬件设备的对应通道。将上位机与该网络测试硬件设备通过USB接口进行连接,并在测试工程代码中匹配对应的时钟通信总线进而实现上位机与被测控制器的通道连接,完成通信通道的建立。
在本申请的一个实施例中,将网络测试硬件设备与被测控制器进行连接,包括:将网络测试硬件设备的第一接口与被测控制器的目标时钟总线进行连接,以供上位机通过网络测试硬件设备,发送时钟同步指令到目标时钟总线上,致使被测控制器接收时钟同步指令;将网络测试硬件设备的第二接口与被测控制器的目标报文传输总线进行连接,以供上位机通过网络测试硬件设备,对被测控制器发送在目标报文传输总线上的目标报文进行监测。
在该实施例中,第一接口与目标时钟总线对应的通信协议相同,第二接口与目标报文传输总线对应的通信协议相同,第一接口与第二接口的接口类型可以相同,也可以不同,目标时钟总线与目标报文传输总线对应的通信协议可以相同也可以不同。在授时阶段,上位机模拟被测控制器的主时钟节点,并发送时钟同步指令到目标时钟总线上,以使被测控制器通过目标时钟总线接收时钟同步指令,进行时钟同步。在测试结果确定阶段,由于被测控制器会定时发送包含有时间戳的目标报文在目标报文传输总线上,因此上位机可以监测目标报文传输总线上传输的目标报文,以确定被测控制器的时钟同步功能的测试结果。
在本申请的一个具体实施例中,当被测控制器为ECU时,ECU中包括以太网时钟总线和CAN时钟总线,且ECU会在CAN时钟总线上定时发送时钟报文,时钟报文中包含时间戳,因而可以通过上位机对ECU中的以太网时钟总线进行授时,并将CAN时钟总线上的时钟报文作为目标报文,根据目标报文获取从时钟时间以确定被测控制器的时钟同步功能的测试结果。因此,可以将以太网时钟总线作为目标时钟总线,并将CAN时钟总线作为目标报文传输总线,选择按照以太网通信协议和CAN通信协议进行上位机与被测控制器之间的数据交互,相应的,可以选择诸如5620、5650或者1640等具备CAN通信或者以太网通信的一个或多个相关设备,或等效的能实现CAN和以太网通信的硬件设备,作为网络测试硬件设备。然后将该网络测试硬件设备的USB接口与上位机进行连接,并将该网络测试硬件设备的以太网接口作为第一接口与目标时钟总线进行连接,以及将该网络测试硬件设备的CAN接口作为第二接口与目标报文传输总线进行连接,以完成上位机与被测控制器之间的通信通道的建立。
在本申请的另一个具体实施例中,当被测控制器为ECU时,ECU中包括CAN时钟总线,且ECU会在CAN时钟总线上定时发送时钟报文,时钟报文中包含时间戳,因而可以通过上位机对ECU中的CAN时钟总线进行授时,并将CAN时钟总线上的时钟报文作为目标报文,根据目标报文获取从时钟时间以确定被测控制器的时钟同步功能的测试结果。因此,可以将CAN时钟总线既作为目标时钟总线,又作为目标报文传输总线,选择按照CAN通信协议进行上位机与被测控制器之间的数据交互,相应的,可以选择支持CAN通信协议的CAN测试硬件设备作为网络测试硬件设备。然后将该网络测试硬件设备的USB接口与上位机进行连接,并将该网络测试硬件设备的CAN接口既作为第一接口又作为第二接口,与既作为目标时钟总线又作为目标报文传输总线的CAN时钟总线进行连接,以完成上位机与被测控制器之间的通信通道的建立。
在本申请的一个实施例中,上位机基于上位机时钟优先级模拟被测控制器的主时钟节点,包括:上位机基于上位机时钟优先级,生成声明报文并发送至被测控制器,以使被测控制器接收声明报文,并在判断被测控制器时钟优先级低于声明报文中的上位机时钟优先级后,将上位机作为被测控制器的主时钟节点,以完成主时钟节点的模拟。
在该实施例中,上位机可以按照目标时钟同步协议,生成声明报文,并将上位机时钟优先级设置在声明报文中,然后通过通信通道将声明报文发送给被测控制器。当被测控制器接收到声明报文后,将声明报文中的上位机时钟优先级与自身的被测控制器时钟优先级进行比较,当上位机时钟优先级高于被测控制器时钟优先级时,将上位机作为自身的主时钟节点,从而按照上位机的时间进行时钟同步。需要说明的是,目标时钟同步协议需要匹配被测控制器中的时钟总线。以ECU为被测控制器举例,如果ECU中的以太网时钟总线为目标时钟总线,对应的,目标时钟同步协议为gPTP(Generalized Precision Time Protocol,通用精确时间协议)协议,因此,上位机可以生成gPTP协议的声明报文。
在本申请的一个实施例中,向被测控制器发送时钟同步指令,触发被测控制器对被测控制器内的从时钟进行时钟同步,包括:上位机生成同步报文,将同步报文发送至被测控制器,以使被测控制器在接收到同步报文时,获取接收同步报文时的同步报文接收时间,时钟同步指令包括同步报文;上位机获取发送同步报文时的同步报文发送时间,根据同步报文发送时间,生成同步跟随报文并发送至被测控制器,以使被测控制器在接收到同步跟随报文时,获取接收同步跟随报文时的同步跟随报文接收时间,并基于同步报文接收时间、同步跟随报文接收时间,以及同步跟随报文中的同步报文发送时间,对被测控制器内的从时钟进行时钟同步,时钟同步指令还包括同步跟随报文。
在该实施例中,上位机发送声明报文后,向被测控制器发送时钟同步指令,其中,时钟同步指令包括同步报文以及同步报文相应的同步跟随报文。具体的,上位机可以按照目标时钟同步协议,生成同步报文,通过通信通道将同步报文发送至被测控制器,并按照上位机的主时钟时间,记录发送同步报文时的时间,得到同步报文发送时间。然后,按照目标时钟同步协议,生成同步跟随报文,将同步报文发送时间添加至同步跟随报文,并通过通信通道将同步跟随报文发送至被测控制器。被测控制器在接收到同步报文时,按照被测控制器的从时钟时间,记录接收同步报文时的时间,作为同步报文接收时间;被测控制器在接收到同步跟随报文时,按照被测控制器的从时钟时间,记录接收同步跟随报文时的时间,作为同步跟随报文接收时间,并从同步跟随报文中读取同步报文发送时间,以基于同步报文发送时间、同步报文接收时间和同步跟随报文接收时间,对自身的从时钟进行时钟同步。
需要说明的是,声明报文、同步报文以及同步跟随报文可以只发送一次,或者是重复或循环发送,此处不进行限制。
在本申请的一个实施例中,上位机获取发送同步报文时的同步报文发送时间,包括:获取发送同步报文时的上位机系统时间,并对上位机系统时间进行划分,得到第一部分时间和第二部分时间,第一部分时间中的最小时间单位大于第二部分时间中的最大时间单位;计算第一部分时间与基准时间之差,并按照同步跟随报文的时间格式,将第一部分时间与基准时间之差,转换为第一单位级的报文时间差,以及将第二部分时间,转换为第二部分时间对应的第二单位级的报文时间;根据第一单位级的报文时间差、基准时间对应的第一单位级的基准报文时间,确定第一部分时间对应的第一单位级的报文时间;对第一单位级的报文时间、第二单位级的报文时间进行合并,得到上位机系统时间对应的报文时间,作为同步报文发送时间。
在该实施例中,上位机在发送同步报文时,同时记录发送同步报文时的上位机系统时间,然后按照同步跟随报文的时间格式,也就是目标时钟同步协议的时间格式,将上位机系统时间转化为符合目标时钟同步协议的时间格式的时间,作为同步报文发送时间。具体的,可以在上位机中设置时间获取模块,用于将上位机系统时间的“年/月/日/时/分/秒/毫秒/微秒……”格式的时间数值,转化为符合目标时钟同步协议的时间格式的报文时间,时间获取模块的具体执行过程为,将上位机系统时间划分为两部分,其中,第一部分时间中的最小时间单位要大于第二部分时间中的最大时间单位,例如:第一部分时间可以是秒及秒以上部分时间,如年、月、日、时、分、秒部分时间,第二部分时间可以是毫秒及毫秒以下部分时间,如毫秒、微秒、纳秒部分时间。然后,先将第一部分时间与基准时间之差,转换为符合目标时钟同步协议的时间格式的第一单位级的报文时间差,再将其与基准时间对应的第一单位级的基准报文时间相加,得到第一单位级的报文时间,能够有效缩短转换的时间,并减少计算量。此外,将第二部分时间,转换为符合目标时钟同步协议的时间格式的第二单位级的报文时间,再将第一单位级的报文时间和第二单位级的报文时间进行组合,得到同步报文发送时间,完成上位机系统时间到同步报文发送时间的格式转换。
示意性的,第一单位级可以是秒级,第二单位级可以是纳秒级,以gPTP协议的时间格式为例,gPTP协议的时间数值由8个byte(字节)组成,包括4个byte的秒级数值和4个byte的纳秒级数值,因此,在划分上位机系统时间时,可以先将秒及秒以上部分时间作为第一部分时间,并将第一部分时间与基准时间之差,换算为秒级的时间差,再将该秒级的时间差转换为符合gPTP协议的时间格式的4个byte的秒级数值,作为秒级的报文时间差,以将秒级的报文时间差与基准时间对应的秒级的基准报文时间相加,得到秒级的报文时间,并且,将毫秒及毫秒以下部分时间作为第二部分时间,并将第二部分时间换算为纳秒级时间,再将该纳秒级时间转换为符合gPTP协议的时间格式的4个byte的纳秒级数值,作为纳秒级的报文时间,将4个byte秒级的报文时间和4个byte的纳秒级的报文时间进行组合,形成完整的符合gPTP协议的时间格式的8个byte的同步报文发送时间。
由于当前的世界时间是以1970年1月1日0时0分作为0时间基准进行组织的,且世界时间数值的组织精度为纳秒,考虑到计算过往几十年的总计纳秒计量的时间较为复杂,因此,可以在测试前,选用当前的某一个具体时间作为基准时间,用于后续精准的报文发送时间的确定基准,并将计算基准时间对应的符合目标时钟同步协议的时间格式的第一单位级的基准报文时间,能够进一步减小时间转换的计算量,提高时间转换效率。
当目标时钟同步协议为gPTP协议时,时间获取模块提供的符合gPTP协议的报文时间能够实现纳秒级的精度。
在本申请的一个实施例中,根据监测到目标报文时的主时钟时间、监测到的目标报文中的从时钟时间,确定被测控制器的时钟同步功能的测试结果,包括:对监测到目标报文时的主时钟时间、监测到的目标报文中的从时钟时间,计算主从时钟时间差;若在预设时长内,存在小于或等于预设阈值的主从时钟时间差,判定被测控制器的时钟同步功能的测试结果为测试通过;若在预设时长内,主从时钟时间差均大于预设阈值,判定被测控制器的时钟同步功能的测试结果为测试不通过。
在该实施例中,若被测控制器的时钟同步功能正常,在接收到主时钟节点的时钟同步指令后,被测控制器会按照主时钟时间,在一定时间内对被测控制器内部的所有网段的从时钟进行同步更新,相应的,在一定时间内,目标报文中的从时钟时间也会得到更新。因此,可以在上位机中预先设置一个时间,作为预设时长,并考虑目标报文传输时间、以及时钟同步误差等因素预先确定一个阈值,作为预设阈值。上位机在发送时钟同步指令后,可以通过计时器开始计时,并通过通信通道监听被测控制器发送在目标报文时钟总线上的目标报文,每当监听到一个目标报文,便获取监听到该目标报文时的主时钟时间,并读取目标报文中的时间戳,作为从时钟时间,计算该主时钟时间与该从时钟时间之间的差值,作为主从时钟时间差,将主从时钟时间差与预设阈值进行比较,若主从时钟时间差小于或等于预设阈值,且,当前计时器的时间未超过预设时长,则认为被测控制器的时钟同步功能正常,相应的,被测控制器的时钟同步功能的测试结果为测试通过。若主从时钟时间差大于预设阈值,且,当前计时器的时间未超过预设时长,则继续监听下一个目标报文,并重复上述步骤。由于被测控制器对内部所有时钟进行同步需要一定的时间,因此,只要在预设时长内出现小于或等于预设阈值的主从时钟时间差,便可以认为被测控制器的时钟同步功能正常,相应的,被测控制器的时钟同步功能的测试结果为测试通过。若主从时钟时间差大于预设阈值,且,当前计时器的时间已经超过预设时长,则判定被测控制器的时钟同步功能的测试结果为测试不通过。
需要说明的是,被测控制器的时钟同步功能的测试结果为测试不通过,不一定是被测控制器的时钟同步功能异常,也可能是上位机时钟优先级低于被测控制器时钟优先级,导致上位机模拟主时钟节点失败。
在本申请的一个实施例中,判定被测控制器的时钟同步功能的测试结果为测试不通过之后,该方法包括:上位机增加上位机时钟优先级,基于增加后的上位机时钟优先级重新模拟被测控制器的主时钟节点,并向被测控制器重新发送时钟同步指令,触发被测控制器对被测控制器内的从时钟进行时钟同步;上位机对被测控制器的目标报文重新进行监测,以根据监测到目标报文时的主时钟时间、监测到的目标报文中的从时钟时间,重新确定被测控制器的时钟同步功能的测试结果。
在该实施例中,当判定被测控制器的时钟同步功能的测试结果为测试不通过时,为排除是由于上位机模拟主时钟节点失败进而导致被测控制器时钟同步失败的情况,可以提高上位机时钟优先级,可以按照预设增量或者随机增量增加上位机时钟优先级,然后基于增加后的上位机时钟优先级生成新的声明报文,并发送至被测控制器,以重新模拟被测控制器的主时钟节点。当被测控制器接收到新的声明报文,并在判断被测控制器时钟优先级低于新的声明报文中的增加后的上位机时钟优先级后,才会将上位机作为主时钟节点。上位机在重新完成主时钟模拟,并且重新发送时钟同步指令后,重复执行步骤S230,若在预设时长内,出现主从时钟时间差小于或等于预设阈值,则认为被测控制器的时钟同步功能是正常的,判定被测控制器的时钟同步功能的测试结果为测试通过。
若在预设时长内,主从时钟时间差仍然均大于预设阈值,则继续判定被测控制器的时钟同步功能的测试结果为测试不通过。然后,上位机重复执行增加上位机时钟优先级,基于增加后的上位机时钟优先级重新模拟被测控制器的主时钟节点,并向被测控制器重新发送时钟同步指令,触发被测控制器对被测控制器内的从时钟进行时钟同步;上位机对被测控制器的目标报文重新进行监测,以根据监测到目标报文时的主时钟时间、监测到的目标报文中的从时钟时间,重新确定被测控制器的时钟同步功能的测试结果的步骤。
为避免是由于被测控制器的时钟同步功能异常导致测试不通过,而非上位机模拟主时钟节点失败的情况,在上述过程中,可以统计上位机时钟优先级的增加次数,若增加次数达到预设增加次数,但被测控制器的时钟同步功能的测试结果仍为测试不通过,则可以认为被测控制器的时钟同步功能异常,停止测试。或者预设优先级阈值,在增加后的上位机时钟优先级已经达到预设优先级阈值,但被测控制器的时钟同步功能的测试结果仍为测试不通过,则可以认为被测控制器的时钟同步功能异常,停止测试。
请参阅图3,图3是本申请的一示例性实施例示出的一种被测控制器的时钟同步功能测试系统的框图。该系统可以应用于图1所示的实施环境,该系统也可以适用于其它的示例性实施环境,本实施例不对该装置所适用的实施环境进行限制。
如图3所示,该示例性的被测控制器的时钟同步功能测试系统包括上位机310、网络测试硬件设备330和至少一个被测控制器320;上位机310与网络测试硬件设备330连接,网络测试硬件设备330与被测控制器连接320;上位机310用于基于上位机时钟优先级模拟被测控制器320的主时钟节点,通过网络测试硬件设备330,向被测控制器320发送时钟同步指令,触发被测控制器320对被测控制器320内的从时钟进行时钟同步;以及通过网络测试硬件设备330,对被测控制器320的目标报文进行监测,以根据监测到目标报文时的主时钟时间、监测到的目标报文中的从时钟时间,确定被测控制器320的时钟同步功能的测试结果;被测控制器320用于接收时钟同步指令,以对被测控制器320内的从时钟进行时钟同步;以及发送目标报文;网络测试硬件设备330用于建立上位机310与被测控制器320之间的通信通道,以供上位机310通过通信通道与被测控制器320进行数据交互。
请参阅图4,图4是本申请的一具体实施例示出的ECU的时钟同步功能测试系统的结构示意图。如4所示,该ECU的时钟同步功能测试系统包括上位机、ECU、以太网及CAN测试硬件设备,其中,上位机与以太网及CAN测试硬件设备的USB接口连接,以太网及CAN测试硬件设备的以太网接口与ECU的以太网时钟总线连接,以太网及CAN测试硬件设备的CAN接口与ECU的CAN时钟总线连接,上位机中配置有上位机软件。在该系统中,通过上位机模拟或仿真gPTP协议的时钟同步报文,完成对ECU的授时,以使ECU对其内部的从时钟进行时钟同步,通过gPTP协议完成时钟同步的过程交互,并采用自动化脚本的过程组织,以实现微秒级甚至纳秒级的时钟同步精度测量。
gPTP协议是一种用于实现局域网时钟同步的协议,它是IEEE(Institute ofElectrical and Electronics Engineers,电气与电子工程师协会)802.1AS-2011标准中的一部分,也称为802.1AS-Rev。gPTP协议是一种分布式的时钟同步协议,它可以在局域网中实现微秒级别的时钟同步。gPTP协议采用了主从模式,其中一个节点被选为主时钟,其他节点都是从时钟,主时钟向从时钟发送时间戳信息,从时钟通过计算延迟和偏差来调整自己的时钟,随着汽车电子的深入发展,尤其是高级应用功能的不断扩充,对于时间灵敏性及准确度的要求也越来越高。gPTP协议可以实现微秒级别的时钟同步,比传统的NTP(NetworkTime Protocol,网络时间协议)协议精度更高,能够满足实时应用的需求,成为当今实现时钟同步的主要技术。因此,本申请通过采用gPTP协议对ECU的时钟同步功能进行测试,通过精度更高的时钟同步,进而提高偏差测量的精度。
可以明白的是,该ECU的时钟同步功能测试系统是被测控制器的时钟同步功能测试系统的一种示例,其中,该ECU的时钟同步功能测试系统中的ECU是被测控制器的时钟同步功能测试系统中的被测控制器的一种示例,该ECU的时钟同步功能测试系统中的以太网及CAN测试硬件设备是被测控制器的时钟同步功能测试系统中的网络测试硬件设备的一种示例。
为了达到上述目的,针对ECU的时钟通信实现,需要在以太网时钟总线上仿真一个主时钟节点,用以完成对ECU的时钟授时,因此,可以通过上位机虚拟仿真主时钟节点,灵活地实现主时钟的过程控制及行为控制。
在本申请的一个具体实施例中,上位机包括:时间获取模块,用于获取上位机系统时间,并对上位机系统时间进行转换,得到符合gPTP协议的时间格式的报文时间;时钟同步报文生成模块,用于生成gPTP协议的时钟同步报文,包括声明报文、同步报文和同步跟随报文。报文发送模块,用于发送声明报文、同步报文和同步跟随报文。
在上位机的测试工程中,首先进行主时钟仿真节点的搭建,用以控制ECU进行时钟同步,在主时钟仿真节点中,可以封装时间获取模块,以便在调用时间数值时为即时时间,时间获取模块首先获取本上位机系统的世界时钟时间,即上位机系统时间,由于gPTP协议的报文时间在数值上组织为8个byte的数据,而上位机系统时间往往以年月日时分秒以及低于秒级部分的组合组成的,因此需要完成上位机系统时间到gPTP协议的报文时间的转换。此外,时间获取模块还用于在测试开始前,通过获取本地当前精密时钟数值也即当前的上位机系统时间,并将当前精密时钟数值分为秒及秒以上部分时间、毫秒及毫秒以下部分时间进行整理与存储,具体的,可以将该秒及秒以上部分时间作为基准时间,并按照gPTP协议的时间格式,将该秒及秒以上部分时间转换为4个byte的秒级数值,作为基准时间对应的秒级的基准报文时间。
在本申请的一个具体实施例中,时间获取模块包括:时间划分单元,用于获取上位机系统时间,并对上位机系统时间进行划分,得到秒及秒以上部分时间和毫秒及毫秒以下部分时间;时间格式转换单元,用于按照gPTP协议的时间格式,将秒及秒以上部分时间与基准时间之差,转换为秒级的报文时间差,以及将毫秒及毫秒以下部分时间,转换为纳秒级的报文时间;时间组合单元,用于根据秒级的报文时间差、基准时间对应的秒级的基准报文时间,确定秒级的报文时间,并秒级的报文时间、纳秒级的报文时间进行合并,得到上位机系统时间对应的报文时间。通过调用时间获取模块,完成了对上位机系统时间的转化,得到一个标准的8byte的gPTP报文时间,其中秒级的报文时间为4个byte,纳秒级的报文时间为4个byte。每次调用该时间获取模块都可以获取上位机准确的系统gPTP协议时间,即上位机系统时间对应的gPTP协议的报文时间。
基于gPTP协议,主时钟节点对被测节点的时间更新需要包含主时钟的Announce(声明)报文、Sync(同步)报文以及FollowUp(同步跟随)报文。因此,在主时钟仿真节点中需要封装时钟同步报文生成模块,用于完成gPTP协议的时钟同步过程的报文函数的搭建,包含:Announce报文、Sync报文、FollowUp报文。
对于Announce报文,需要在Announce报文中设置对应的PTP报文负载内容字段,包含:源MAC地址、目的MAC地址、PTP报文类型如0x0B、PTP协议版本如0x02、PTP报文长度、PTP的flags位如0x0008、设置源时钟ID、源端口号、Sequence数值,其中,Sequence数值须累加,还需要设置Announce报文的额外信息如主时钟优先级即上位机时钟优先级以及Announce报文的UTC偏差,示意性的,可以设置主时钟优先级为6,还可以设置主时钟优先级1字段与主时钟优先级2字段均为128,可以设置Announce报文的UTC偏差为0。Announce报文组包可以作为一个模块,在完成上述所有字段的设置后,可以通过报文发送模块将Announce报文发送到对应的以太网总线通道。
对于Sync报文,需要在Sync报文中设置对应的PTP报文负载内容字段,包含:源MAC地址、目的MAC地址、PTP报文类型如0x00、PTP协议版本如0x02、PTP报文长度、PTP的flags位如0x0200、设置源时钟ID、源端口号、Sequence数值。Sync报文组包可以作为一个模块,在完成上述所有字段的设置后,可以通过报文发送模块将Sync报文发送到对应的以太网总线通道。
在每次完成Sync报文的发送瞬间,需要立即通过时间获取模块抓取Sync报文发送出的精准时间戳,并将该gPTP时间协议数据即Sync报文发送时间,存储于指定空间以备后续FollowUp报文发送时使用,将上位机系统时间作为主时钟的精准时间。
对于FollowUp报文,需要在FollowUp报文中设置对应的PTP报文负载内容字段,包含:源MAC地址、目的MAC地址、PTP报文类型如0x08、PTP协议版本如0x02、PTP报文长度、PTP的flags位如0x0000、设置源时钟ID、源端口号、Sequence数值、PTP协议control位,其中,PTP协议control位可以设置为8,此外,还将Sync报文发送时间作为时间戳放置于FollowUp报文中。FollowUp报文组包可以作为一个模块,在完成上述所有字段的设置后,可以通过报文发送模块将FollowUp报文发送到对应的以太网总线通道。
在完成所有gPTP协议的时钟同步报文的模块的创建后,根据gPTP协议的具体要求,通过报文发送模块发送Announce报文、Sync报文、FollowUp报文到对应的以太网总线通道,ECU在收到对应报文后会执行内部的时钟同步流程。
基于该ECU的时钟同步功能测试系统实施的测试过程包括两部分,时钟同步过程和时钟同步偏差测量过程。请参阅图5,图5是本申请的一具体实施例示出的时钟同步过程的流程图。如图5所示,上位机软件包含了若干实现时钟同步的自动化实现模块及gPTP报文的发送模块,用以完成基于gPTP协议的时钟同步过程。在进行被测节点即被测控制器的时钟同步时,上位机软件会通过内部的时间获取模块获取上位机的主时钟时间用来作为对被测节点的时钟同步基准。在时钟同步过程中,所有gPTP协议的报文都通过上位机软件基于USB端口进入到以太网及CAN测试硬件设备中,并进一步发送到被测节点的以太网时钟总线。当上位机将Announce报文发送至被测节点,被测节点在收到Announce报文后会检查报文内部的时钟报文参数,由于Announce报文设置为较高的主时钟优先级,被测节点的系统将上位机作为本节点的主时钟节点。上位机将Sync报文发送至被测节点,被测节点在收到上位机发送的Sync报文后会记录接收到Sync报文的时间,作为Sync报文接收时间。上位机发送Sync报文时,上位机也会同步记录下发送出Sync报文的具体时间戳即Sync报文发送时间。上位机将包含Sync报文发送时间的FollowUp报文且发送至被测节点。被测节点在收到FollowUp报文时再一次截取当前本地时间戳,作为FollowUp报文接收时间,并与Sync报文接收时间进行计算获取两个报文的时间差。被测节点的gPTP时钟同步模块将获取到的所有时间进行处理并同步被测节点内部时间,实现时钟同步。整个时间同步过程中,上位机可以重复发送多次Announce报文、Sync报文和FollowUp报文。
在本申请的一个具体实施例中,上位机还包括:报文监测模块,用于对被ECU的CAN时钟总线上的时钟报文进行监测;测试结果确定模块,用于根据监测到时钟报文时的主时钟时间、监测到的时钟报文中的从时钟时间,确定ECU的时钟同步功能的测试结果。
由于ECU会定时发送包含时间戳的时钟报文到具备时钟信号的CAN网段即CAN时钟总线上,该时间戳基于ECU的从时钟得到,因此,上位机通过监测ECU的CAN时钟总线上的时钟报文,以将时钟报文中的时间戳作为从时钟时间,并在监测到时钟报文的瞬间,通过调用时间获取模块获取当前的上位机系统时间,并转换为主时钟时间,然后将主时钟时间与读取的时钟报文中的从时钟时间进行比对,获取主从时钟时间差,将主从时钟时间差与预设阈值进行比较,确定ECU的时钟同步功能的测试结果。
请参阅图6,图6是本申请的一具体实施例示出的时钟同步偏差测量过程的流程图。如图6所示,在被测节点实现了时钟同步之后,在CAN时钟总线的时钟报文也即CAN时钟报文中的时间戳也会得到更新。上位机从CAN时钟总线端通过CAN时钟报文读取被测节点已经被同步的内部系统时间,即从时钟时间。上位机在抓取CAN时钟总线端的CAN时钟报文时,还需要同步记录抓取到CAN时钟报文的主时钟时间,该抓取CAN时钟报文的主时钟时间基于上位机系统时间,由于CAN时钟总线上的CAN时钟报文内包含4个byte数据的秒级时间部分以及4byte数据的纳秒级时间部分,而时间获取模块转换后的时间也包括4个byte数据的秒级时间部分以及4byte数据的纳秒级时间部分,因此为了便于计算,可以通过调用时间获取模块获取上位机系统时间,并对其进行转换,得到与CAN时钟报文格式相同的主时钟时间。将CAN时钟报文内部存储的从时钟时间与当前抓取CAN时钟报文时的主时钟时间进行比对,得到当前的主从时钟时间差,以对当前的主从时钟时间差和预设阈值进行比较,确定测试结果。
图5和图6所示实施例的详细过程请参见前述各个实施例中的记载,本处不再对此进行赘述。基于该方式,可以使具备时钟同步功能的被测节点以自动化的方式实现时钟同步及时钟同步偏差测量,大幅提高gPTP协议的时钟同步测试效率,过程简单且可自动化测试,并具备较高的准确性和测量精度,并且,由于CAN时钟总线上的CAN时钟报文内包含4个byte数据的秒级时间部分以及4byte数据的纳秒时间部分,通过调用时间获取模块获取当前的上位机系统时间,并转换为同样包含4个byte数据的秒级时间部分以及4byte数据的纳秒时间部分的主时钟时间,能够实现微秒级别甚至纳秒级别的偏差测量。
需要说明的是,上述实施例所提供的被测控制器的时钟同步功能测试系统与上述实施例所提供的被测控制器的时钟同步功能测试方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的被测控制器的时钟同步功能测试系统在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
本实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各个实施例中提供的被测控制器的时钟同步功能测试方法。
请参阅图7,图7示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。需要说明的是,图7示出的电子设备的计算机系统700仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(Central Processing Unit,CPU)701,其可以根据存储在只读存储器(Read-Only Memory,ROM)702中的程序或者从储存部分708加载到随机访问存储器(Random Access Memory,RAM)703中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 703中,还存储有系统操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(Input/Output,I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分707;包括硬盘等的储存部分708;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入储存部分708。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机的处理器执行时,使计算机执行如前所述的被测控制器的时钟同步功能测试方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的被测控制器的时钟同步功能测试方法。
上述实施例仅示例性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (11)
1.一种被测控制器的时钟同步功能测试方法,其特征在于,所述方法包括:
建立上位机与至少一个被测控制器之间的通信通道,以供所述上位机通过所述通信通道与所述被测控制器进行数据交互;
所述上位机基于上位机时钟优先级模拟所述被测控制器的主时钟节点,并向所述被测控制器发送时钟同步指令,触发所述被测控制器对所述被测控制器内的从时钟进行时钟同步;
所述上位机对所述被测控制器的目标报文进行监测,以根据监测到目标报文时的主时钟时间、监测到的目标报文中的从时钟时间,确定所述被测控制器的时钟同步功能的测试结果。
2.根据权利要求1所述的被测控制器的时钟同步功能测试方法,其特征在于,所述上位机基于上位机时钟优先级模拟所述被测控制器的主时钟节点,包括:
所述上位机基于所述上位机时钟优先级,生成声明报文并发送至所述被测控制器,以使所述被测控制器接收所述声明报文,并在判断被测控制器时钟优先级低于所述声明报文中的所述上位机时钟优先级后,将所述上位机作为所述被测控制器的主时钟节点,以完成主时钟节点的模拟。
3.根据权利要求1所述的被测控制器的时钟同步功能测试方法,其特征在于,向所述被测控制器发送时钟同步指令,触发所述被测控制器对所述被测控制器内的从时钟进行时钟同步,包括:
所述上位机生成所述同步报文,将所述同步报文发送至所述被测控制器,以使所述被测控制器在接收到所述同步报文时,获取接收所述同步报文时的同步报文接收时间,所述时钟同步指令包括所述同步报文;
所述上位机获取发送所述同步报文时的同步报文发送时间,根据所述同步报文发送时间,生成同步跟随报文并发送至所述被测控制器,以使所述被测控制器在接收到所述同步跟随报文时,获取接收所述同步跟随报文时的同步跟随报文接收时间,并基于所述同步报文接收时间、所述同步跟随报文接收时间,以及所述同步跟随报文中的所述同步报文发送时间,对所述被测控制器内的从时钟进行时钟同步,所述时钟同步指令还包括所述同步跟随报文。
4.根据权利要求3所述的被测控制器的时钟同步功能测试方法,其特征在于,所述上位机获取发送所述同步报文时的同步报文发送时间,包括:
获取发送所述同步报文时的上位机系统时间,并对所述上位机系统时间进行划分,得到第一部分时间和第二部分时间,所述第一部分时间中的最小时间单位大于所述第二部分时间中的最大时间单位;
计算所述第一部分时间与基准时间之差,并按照所述同步跟随报文的时间格式,将所述第一部分时间与所述基准时间之差,转换为第一单位级的报文时间差,以及将所述第二部分时间,转换为所述第二部分时间对应的第二单位级的报文时间;
根据所述第一单位级的报文时间差、所述基准时间对应的第一单位级的基准报文时间,确定所述第一部分时间对应的第一单位级的报文时间;
对所述第一单位级的报文时间、所述第二单位级的报文时间进行合并,得到所述上位机系统时间对应的报文时间,作为所述同步报文发送时间。
5.根据权利要求1所述的被测控制器的时钟同步功能测试方法,其特征在于,根据监测到目标报文时的主时钟时间、监测到的目标报文中的从时钟时间,确定所述被测控制器的时钟同步功能的测试结果,包括:
对监测到目标报文时的主时钟时间、监测到的目标报文中的从时钟时间,计算主从时钟时间差;
若在预设时长内,存在小于或等于预设阈值的主从时钟时间差,判定所述被测控制器的时钟同步功能的测试结果为测试通过;
若在所述预设时长内,主从时钟时间差均大于所述预设阈值,判定所述被测控制器的时钟同步功能的测试结果为测试不通过。
6.根据权利要求5所述的被测控制器的时钟同步功能测试方法,其特征在于,判定所述被测控制器的时钟同步功能的测试结果为测试不通过之后,所述方法包括:
所述上位机增加所述上位机时钟优先级,基于增加后的上位机时钟优先级重新模拟所述被测控制器的主时钟节点,并向所述被测控制器重新发送时钟同步指令,触发所述被测控制器对所述被测控制器内的从时钟进行时钟同步;
所述上位机对所述被测控制器的目标报文重新进行监测,以根据监测到目标报文时的主时钟时间、监测到的目标报文中的从时钟时间,重新确定所述被测控制器的时钟同步功能的测试结果。
7.根据权利要求1-6中任一项所述的被测控制器的时钟同步功能测试方法,其特征在于,建立上位机与至少一个被测控制器之间的通信通道,包括:
将所述上位机与网络测试硬件设备进行连接,并将所述网络测试硬件设备与所述被测控制器进行连接,以通过所述网络测试硬件设备建立所述通信通道。
8.根据权利要求7所述的被测控制器的时钟同步功能测试方法,其特征在于,将所述网络测试硬件设备与所述被测控制器进行连接,包括:
将所述网络测试硬件设备的第一接口与所述被测控制器的目标时钟总线进行连接,以供所述上位机通过所述网络测试硬件设备,发送所述时钟同步指令到所述目标时钟总线上,致使所述被测控制器接收所述时钟同步指令;
将所述网络测试硬件设备的第二接口与所述被测控制器的目标报文传输总线进行连接,以供所述上位机通过所述网络测试硬件设备,对所述被测控制器发送在所述目标报文传输总线上的所述目标报文进行监测。
9.一种被测控制器的时钟同步功能测试系统,其特征在于,所述系统包括上位机、网络测试硬件设备和至少一个被测控制器;
所述上位机与所述网络测试硬件设备连接,所述网络测试硬件设备与所述被测控制器连接;
所述上位机用于基于上位机时钟优先级模拟所述被测控制器的主时钟节点,通过所述网络测试硬件设备,向所述被测控制器发送时钟同步指令,触发所述被测控制器对所述被测控制器内的从时钟进行时钟同步;以及通过所述网络测试硬件设备,对所述被测控制器的目标报文进行监测,以根据监测到目标报文时的主时钟时间、监测到的目标报文中的从时钟时间,确定所述被测控制器的时钟同步功能的测试结果;
所述被测控制器用于接收所述时钟同步指令,以对所述被测控制器内的从时钟进行时钟同步;以及发送目标报文;
所述网络测试硬件设备用于建立所述上位机与所述被测控制器之间的通信通道,以供所述上位机通过所述通信通道与所述被测控制器进行数据交互。
10.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1-8中任一项所述的被测控制器的时钟同步功能测试方法。
11.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行如权利要求1-8中任一项所述的被测控制器的时钟同步功能测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410337221.1A CN118210296A (zh) | 2024-03-23 | 2024-03-23 | 被测控制器的时钟同步功能测试方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410337221.1A CN118210296A (zh) | 2024-03-23 | 2024-03-23 | 被测控制器的时钟同步功能测试方法、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118210296A true CN118210296A (zh) | 2024-06-18 |
Family
ID=91454077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410337221.1A Pending CN118210296A (zh) | 2024-03-23 | 2024-03-23 | 被测控制器的时钟同步功能测试方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118210296A (zh) |
-
2024
- 2024-03-23 CN CN202410337221.1A patent/CN118210296A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180039557A1 (en) | Data processing system | |
EP3284244B1 (en) | Methods, systems, and computer readable media for emulating network devices with different clocks | |
CN106850372B (zh) | 一种控制器can信号的测试方法及系统 | |
US20090109797A1 (en) | Method, a device and a system for executing an action at a predetermined time | |
CN115694704B (zh) | 一种时间同步方法、装置、设备及存储介质 | |
CN105281978A (zh) | 一种性能测试的方法、装置和系统 | |
CN105468817B (zh) | 一种多模型实时仿真系统 | |
US5107450A (en) | Method of testing a network setup | |
US20190265668A1 (en) | Simulation device and simulation method | |
CN112769517B (zh) | 一种t-box时间同步方法和装置 | |
CN109471588B (zh) | 一种同步方法及设备 | |
CN115941106A (zh) | 一种时间同步精度的测试方法、系统、设备及介质 | |
US20180288636A1 (en) | A method for automatic measurement of App load power consumption on mobile devices based on physical measurement | |
CN118210296A (zh) | 被测控制器的时钟同步功能测试方法、系统、设备及介质 | |
CN112650815B (zh) | 环境数据的同步方法及装置、存储介质及电子装置 | |
CN114167829B (zh) | 一种时钟同步测试方法以及装置 | |
CN116074228A (zh) | 网卡测试方法、装置、存储介质及电子设备 | |
CN114996033A (zh) | 工程数据管理方法、系统、终端及存储介质 | |
JP2917939B2 (ja) | サーバ性能測定方式 | |
CN114296900A (zh) | 一种基于uvm的多进程之间的进程控制方法及装置 | |
CN111638749A (zh) | 一种仿真系统同步方法、仿真设备及系统 | |
CN114091170A (zh) | 一种仿真信息模拟方法、装置、设备及存储介质 | |
CN107769933B (zh) | 基于物联网定时任务的自动化测试方法及系统 | |
CN114089258B (zh) | 一种智能电能表时钟加速模拟运行方法及系统 | |
US20220222394A1 (en) | Root cause analysis in the synchronization of partial simulations with and without real-time capability |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |