时间同步方法与时间同步系统与流程

文档序号:25898281发布日期:2021-07-16 20:29阅读:84来源:国知局
时间同步方法与时间同步系统与流程

1.本发明是有关于一种时间同步技术,且特别是有关于一种时间同步方法与时间同步系统。


背景技术:

2.控制器区域网路(controller area network,can)是一种总线标准,其可用于车载电子系统或其他产业的电子系统中,以使电子系统中的晶片及/或电子仪器相互通讯。can系统中的节点亦称为can装置(或can总线装置)。多个can装置之间可通过双绞线彼此连接以进行通讯。
3.一般来说,当can装置接收到数据包时,此can装置会根据装置内建的时钟对接收到的数据包加上一个时间戳,并将此数据包暂存于缓存器中。尔后,外接的电脑装置可以经由通用串行总线(universal serial bus,usb)或以太网等通讯协议来从此can装置的缓存器中读取数据包与相关的封包接收时间等信息。但是,在实务上,can装置内建的时钟往往与真实时间存在误差,且不同can装置的时钟可能也彼此不同步,从而造成应用程序对数据包的接收时间发生误判。


技术实现要素:

4.本发明提供一种时间同步方法与时间同步系统,可将can装置所接收的数据包的接收时间与主机装置的时间进行同步。
5.本发明的实施例提供一种时间同步方法,其用于控制器区域网路(controller area network,can)系统,所述时间同步方法包括:在所述can系统中的can装置的测试模式下,建立所述can装置与主机装置之间的时间映射关系;在所述can装置的正常模式下,从所述can装置读取至少一数据包的can时间信息;以及根据所述时间映射关系与所述can时间信息,记录所述至少一数据包的主机时间信息。
6.本发明的实施例另提供一种时间同步系统,其包括主机装置与至少一can装置。所述至少一can装置包括第一can装置并耦接至所述主机装置。所述主机装置用以在所述第一can装置的测试模式下,建立所述第一can装置与所述主机装置之间的时间映射关系。所述主机装置更用以在所述第一can装置的正常模式下,从所述第一can装置读取至少一数据包的can时间信息。所述主机装置更用以根据所述时间映射关系与所述can时间信息,记录所述至少一数据包的主机时间信息。
7.基于上述,在can装置的测试模式下,can装置与主机装置之间的时间映射关系可被建立。此外,在can装置的正常模式下,至少一数据包的can时间信息可从can装置中读取。根据所述时间映射关系与所述can时间信息,所述至少一数据包的主机时间信息可被记录,使得所述至少一数据包的接收时间与主机装置的时间进行同步。
附图说明
8.图1是根据本发明的一实施例所绘示的时间同步系统的示意图。
9.图2是根据本发明的一实施例所绘示的建立第一can装置与主机装置之间的时间映射关系的示意图。
10.图3是根据本发明的一实施例所绘示的根据时间映射关系与can时间信息,记录数据包的主机时间信息的示意图。
11.图4是根据本发明的一实施例所绘示的时间同步方法的流程图。
12.图5是根据本发明的一实施例所绘示的时间同步方法的流程图。
13.图6是根据本发明的一实施例所绘示的时间同步方法的流程图。
14.图7是根据本发明的一实施例所绘示的时间同步方法的流程图。
15.其中:
16.100:时间同步系统;
17.10:控制器区域网路(can)系统;
18.11(1)~11(n):can装置;
19.12:主机装置;
20.21、22、23:时间范围;
21.pt(1)、pt(2):测试封包;
22.pn(k):数据包;
23.tp(1)、tp(2)、tp(k):主机时间信息;
24.tc(1)、tc(2)、tc(k):can时间信息;
25.r(1)、r(2)、r(3)、r(4):差值;
26.s401~s403、s501~s505、s601~s603、s701~s703:步骤。
具体实施方式
27.图1是根据本发明的一实施例所绘示的时间同步系统的示意图。请参照图1,时间同步系统100包括控制器区域网路(controller area network,can)系统10与主机装置12。can系统10包括多个can装置11(1)~11(n)。can装置11(1)~11(n)装置彼此之间可通过双绞线连接以相互通讯。
28.can装置11(1)~11(n)中的每一者可包括can控制器(例如微控制器)与can收发器。can控制器用以控制can装置的运作,而can收发器则可用以从其他can装置接收数据包或发送数据包至其他can装置。
29.can装置11(1)~11(n)中的每一者可连接至一或多个电子控制单元(electronic control unit,ecu)。在一实施例中,是设定时间同步系统100与can系统10设置于车载系统中。因此,所述ecu可以是用以控制此车载系统中特定车用电子组件的控制器。此外,多个ecu可经由can系统10(例如can装置11(1)~11(n))彼此通讯。然而,在另一实施例中,时间同步系统100与can系统10亦可以设置于其他类型的电子系统中,而不限于车载系统。
30.主机装置12耦接至can系统10。主机装置12可经由通用串行总线(universal serial bus,usb)或以太网等通讯协定来连接至can系统10中的第一can装置并与第一can装置通讯。例如,主机装置12可为任意类型的电脑装置或电脑主机。例如,主机装置12可包
括中央处理单元(cpu)、或是其他可编程的一般用途或特殊用途的微处理器、数字信号处理器(digital signal processor,dsp)、可编程控制器、专用集成电路(application specific integrated circuits,asic)、可编程逻辑装置(programmable logic device,pld)或其他类似装置或这些装置的组合。
31.在一实施例中,主机装置12可在第一can装置的测试模式下,建立第一can装置与主机装置12之间在时间上的映射关系(亦称为时间映射关系)。此时间映射关系可用于将主机装置12的时钟与第一can装置的时钟同步。
32.在一实施例中,测试模式亦称为回授(loopback)模式。当第一can装置处于测试模式时,若第一can装置接收到来自主机装置12的数据包(亦称为测试数据包),第一can装置可直接将此测试数据包回传给主机装置12,而不将此测试数据包发送给can系统10中的其余can装置。
33.在一实施例中,主机装置12可在第一can装置的正常模式下,从第一can装置读取至少一数据包(亦称为数据包)的can时间信息。例如,当第一can装置从can系统10中的其余can装置接收到一个数据包时,第一can装置可记录其接收到此数据包的时间(即can时间信息)。换言之,一个数据包的can时间信息可反映第一can装置接收到此数据包的时间。第一can装置可将所接收到的数据包与相关的信息(例如数据包id、数据包内容及can时间信息)储存于其内部的缓存器。当第一can装置处于正常模式时,主机装置12可从第一can装置的缓存器中读取数据包以及与此数据包相关的信息(例如所述can时间信息)。
34.在一实施例中,主机装置12可根据所述时间映射关系与所述数据包的can时间信息,记录所述数据包的主机时间信息。此主机时间信息是指当第一can装置接收到某一数据包时,此时的主机装置12的时钟所指示的时间。换言之,在从第一can装置读取的某一数据包的can时间信息后,主机装置12可根据所述时间映射关系将此数据包的can时间信息转换为当第一can装置接收到此数据包时,此时的主机装置12的时钟所指示的时间(即主机时间信息)。
35.在以下的实施例中,是以can装置11(1)作为第一can装置的范例。然而,在另一实施例中,第一can装置亦可以是指can装置11(2)~11(n)中的一或多者。
36.图2是根据本发明的一实施例所绘示的建立第一can装置与主机装置之间的时间映射关系的示意图。请参照图1与图2,在时间范围21内,主机装置12可将can装置11(1)设定为测试模式(亦称为第一测试模式)。在第一测试模式下(即时间范围21内),主机装置12可发送测试数据包(亦称为第一测试数据包)pt(1)至can装置11(1)。然后,主机装置12可记录测试数据包pt(1)的主机时间信息(亦称为第一主机时间信息)tp(1)与测试数据包pt(1)的can时间信息(亦称为第一can时间信息)tc(1)。
37.在一实施例中,当送出测试数据包pt(1)时,主机装置12可记录送出测试数据包pt(1)时的主机时间信息t1(tx)。例如,主机时间信息t1(tx)可反映主机装置12送出测试数据包pt(1)的时间。当can装置11(1)接收到测试数据包pt(1)时,can装置11(1)可记录测试数据包pt(1)的can时间信息tc(1)。例如,can时间信息tc(1)可反映can装置11(1)接收到测试数据包pt(1)的时间。当主机装置12接收到can装置11(1)回传的测试数据包pt(1)时,主机装置12可记录测试数据包pt(1)的另一主机时间信息t1(rx)。例如,主机时间信息t1(rx)可反映主机装置12接收到测试数据包pt(1)的时间。主机装置12可根据主机时间信息t1(tx)
与t1(rx)决定主机时间信息tp(1)。例如,主机时间信息tp(1)可等于(t1(tx)+t1(rx))/2。在一实施例中,记录主机时间信息tp(1)与can时间信息tc(1)的操作类似于建立主机时间信息tp(1)与can时间信息tc(1)之间的映射关系。
38.在记录主机时间信息tp(1)与can时间信息tc(1)后,在时间范围22内,主机装置12可控制can装置11(1)从第一测试模式切换至正常模式。在can装置11(1)的正常模式下(即时间范围22内),主机装置12可从can装置11(1)读取至少一数据包的can时间信息。
39.须注意的是,在图2的实施例中,是以读取数据包pn(k)的can时间信息tc(k)作为范例。其中,数据包pn(k)是暂存在can装置11(1)的缓存器的数据包,且can时间信息tc(k)可反映can装置11(1)接收到数据包pn(k)的时间。主机装置12可记录数据包pn(k)的can时间信息tc(k)。数据包pn(k)的数目可以是一或多个,本发明不加以限制。
40.在记录数据包pn(k)的can时间信息tc(k)后,在时间范围23内,主机装置12可将can装置11(1)再次设定为测试模式(亦称为第二测试模式)。在第二测试模式下(即时间范围23内),主机装置12可发送测试数据包(亦称为第二测试数据包)pt(2)至can装置11(1)。然后,主机装置12可记录测试数据包pt(2)的主机时间信息(亦称为第二主机时间信息)tp(2)与测试数据包pt(2)的can时间信息(亦称为第二can时间信息)tc(2)。
41.在一实施例中,当送出测试数据包pt(2)时,主机装置12可记录送出测试数据包pt(2)时的主机时间信息t2(tx)。例如,主机时间信息t2(tx)可反映主机装置12送出测试数据包pt(2)的时间。当can装置11(1)接收到测试数据包pt(2)时,can装置11(1)可记录测试数据包pt(2)的can时间信息tc(2)。例如,can时间信息tc(2)可反映can装置11(1)接收到测试数据包pt(2)的时间。当主机装置12接收到can装置11(1)回传的测试数据包pt(2)时,主机装置12可记录测试数据包pt(2)的另一主机时间信息t2(rx)。例如,主机时间信息t2(rx)可反映主机装置12接收到测试数据包pt(2)的时间。主机装置12可根据主机时间信息t2(tx)与t2(rx)决定主机时间信息tp(2)。例如,主机时间信息tp(2)可等于(t2(tx)+t2(rx))/2。在一实施例中,记录主机时间信息tp(2)与can时间信息tc(2)的操作类似于建立主机时间信息tp(2)与can时间信息tc(2)之间的映射关系。
42.图3是根据本发明的一实施例所绘示的根据时间映射关系与can时间信息,记录数据包的主机时间信息的示意图。请参照图1至图3,主机装置12可根据主机时间信息tp(1)、can时间信息tc(1)、主机时间信息tp(2)、can时间信息tc(2)及数据包pn(k)的can时间信息tc(k)决定主机时间信息tp(k)。主机时间信息tp(k)可反映当can装置11(1)接收到数据包pn(k)时,此时的主机装置12的时钟所指示的时间。
43.在一实施例中,主机装置12可根据主机时间信息tp(1)、can时间信息tc(1)、主机时间信息tp(2)及can时间信息tc(2),将can时间信息tc(k)映射至主机时间信息tp(k)。在一实施例中,主机装置12可获得can时间信息tc(k)相较于can时间信息tc(1)与tc(2)的至少其中之一的偏移时间信息。然后,主机装置12可根据主机时间信息tp(1)、主机时间信息tp(2)及此偏移时间信息获得主机时间信息tp(k)。
44.在一实施例中,主机装置12可根据can时间信息tc(1)、tc(2)及tc(k)获得差值r(1)与r(2)。差值r(1)反映can时间信息tc(1)与tc(k)之间的时间差(例如r(1)=tc(k)-tc(1))。差值r(2)反映can时间信息tc(k)与tc(2)之间的时间差(例如r(2)=tc(2)-tc(k))。差值r(1)及/或r(2)可为所述偏移时间信息。主机装置12可根据差值r(1)与r(2)的比值(或
者差值r(1)与(r(1)+r(2))的比值)来在主机时间信息tp(1)与tp(2)之间决定主机时间信息tp(k)。
45.须注意的是,主机时间信息tp(1)与所决定的主机时间信息tp(k)之间具有差值r(3),且主机时间信息tp(2)与所决定的主机时间信息tp(k)之间具有差值r(4)。差值r(3)反映主机时间信息tp(1)与tp(k)之间的时间差(例如r(3)=tp(k)-tp(1))。差值r(4)反映主机时间信息tp(k)与tp(2)之间的时间差(例如r(4)=tp(2)-tp(k))。差值r(3)与r(4)之间的比值可相同(或实质相同)于差值r(1)与r(2)之间的比值。
46.在一实施例中,主机装置12可获得主机时间信息tp(1)与tp(2)之间的时间差td。主机装置12可将时间差td乘上(r(1)/(r(1)+r(2)))获得差值r(3)。然后,主机装置12可将主机时间信息tp(1)加上差值r(3)以获得主机时间信息tp(k)。须注意的是,主机装置12还可藉由其他的逻辑运算方法来获得主机时间信息tp(k),只要符合上述数值比例之规范即可。
47.在一实施例中,主机装置12可将所获得的数据包pn(k)的主机时间信息tp(k)藉由主机装置12的显示器呈现。藉此,主机装置12的操作者可以根据主机装置12的显示器所呈现的信息清楚得知数据包pn(k)是在主机装置12的时钟所指示的时间点tp(k)被can装置11(1)接收。此外,主机装置12的应用程序可根据同步后的主机时间信息tp(k)来对数据包pn(k)进行处理。
48.图4是根据本发明的一实施例所绘示的时间同步方法的流程图。请参照图4,在步骤s401中,在can系统中的can装置的测试模式下,建立所述can装置与主机装置之间的时间映射关系。在步骤s402中,在所述can装置的正常模式下,从所述can装置读取至少一数据包的can时间信息。在步骤s403中,根据所述时间映射关系与所述can时间信息,记录所述至少一数据包的主机时间信息。
49.图5是根据本发明的一实施例所绘示的时间同步方法的流程图。请参照图5,在步骤s501中,将can装置设定为测试模式。在步骤s502中,在所述can装置中建立接收器线程(receiver thread)。在步骤s503中,从主机装置送出测试数据包并记录数据包送出时的时间。在步骤s504中,从主机装置的接收器线程接收从所述can装置返回的测试数据包并记录主机装置与所述can装置分别接收到此测试数据包的时间。在步骤s505中,根据步骤s503与s504所记录的时间记录测试数据包的主机时间信息以及测试数据包的can时间信息。例如,图5的流程与相关操作可于图2中的时间范围21与23内执行。
50.图6是根据本发明的一实施例所绘示的时间同步方法的流程图。请参照图6,在步骤s601中,将can装置设定为正常模式。在步骤s602中,建立一记录档。在步骤s603中,从所述can装置读取至少一数据包以及与所述至少一数据包相关的can信息,并将这些信息记载于所述记录档。例如,图6的流程与相关操作可于图2中的时间范围22内执行。
51.图7是根据本发明的一实施例所绘示的时间同步方法的流程图。请参照图7,在步骤s701中,开启所述记录档。在步骤s702中,从所述记录档中读取所述至少一数据包的can信息,包含can时间信息。在步骤s703中,根据所建立的时间映射关系与所述can信息记录所述至少一数据包的主机时间信息。例如,图7的步骤s703可参照图3的实施例之说明,在此不重复赘述。
52.然而,图4至图7中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图4至
图7中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图4至图7的方法可以搭配以上范例实施例使用,也可以单独使用,本发明不加以限制。
53.综上所述,在can装置的测试模式下,can装置与主机装置之间的时间映射关系可被建立。此外,在can装置的正常模式下,至少一数据包的can时间信息可从can装置中读取。根据所述时间映射关系与所述can时间信息,所述至少一数据包的主机时间信息可被记录,使得所述至少一数据包的接收时间与主机装置的时间进行同步。藉此,可有效改善以往can装置的时钟与主机装置的时钟之间在时间上不同步而衍生的问题(例如主机装置的应用程序对数据包的接收时间及/或顺序发生误判)。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1