用于无缝精确时间协议的控制方法以及时间感知桥接装置与流程

专利检索2022-05-10  8



1.本发明是关于精确时间协议(precision time protocol),尤指一种用于无缝(seamless)精确时间协议的控制方法以及时间感知桥接装置。
技术背景
2.在许多被广泛使用的系统中(例如车用电子或是工程控制系统诸如机械手臂),其内的多个组件(例如车用喇叭、屏幕及刹车、或是机械手臂的各个组件等)的间需要同步地执行自身的工作,而这仰赖单一的信号源提供时间信息给大多数/全部的组件以使各个组件能在相同的时域下操作。然而,这个信号源可能因为某些问题而无法持续地提供正确的时间信息,例如这个信号源的传输可能故障而导致无法在预定的时间点提供时间信息、或者这个信号源本身可能故障而导致其提供的时间信息不正确。因此,需要一种新颖的方法,以确保上述系统内的各个组件在各种情况下均能持续地取得正确的时间信息。


技术实现要素:

3.本发明的一目的在于提供一种用于无缝(seamless)精确时间协议(precision time protocol,ptp)的控制方法以及时间感知桥接装置,以在各种情况下确保时间同步的操作能妥善地进行。
4.本发明一实施例提供一种用于无缝精确时间协议的控制方法,其中该控制方法可包含:利用一时间感知桥接装置将一第一控制信号源预配置(pre

configure)为一主要控制信号源,并且将一第二控制信号源预配置为一备用控制信号源;利用该时间感知桥接装置判断来自该主要控制信号源的一或多个封包是否符合至少一预定规则,以产生一判断结果;以及依据该判断结果选择性地将该第二控制信号源配置为该主要控制信号源。
5.除了上述控制方法外,本发明另一实施例提供一种用于无缝精确时间协议的时间感知桥接装置。该时间感知桥接装置可包含一储存装置以及耦接至该储存装置的一处理电路,其中该储存装置可储存一程序代码,而该处理电路可依据该程序代码控制该时间感知桥接装置的操作。上述操作可包含:该处理电路将一第一控制信号源预配置为一主要控制信号源,并且将该第二控制信号源预配置为一备用控制信号源;该处理电路判断来自该主要控制信号源的一或多个封包是否符合至少一预定规则,以产生一判断结果;以及该处理电路依据该判断结果选择性地将该第二控制信号源配置为该主要控制信号源。
6.本发明所提供的控制方法以及时间感知桥接装置预先定义了一开始的主要控制信号源及其备用控制信号源,使得在这个主要控制信号源操作异常时能在不进行额外的运算或是不进行复杂的运算的情况下直接切换至备用控制信号源,以在较低或无副作用的情况下确保整体系统妥善地进行时间同步操作。
附图说明
7.图1为依据本发明一实施例的一时间感知桥接装置应用于一时间感知系
1588协议的内容大致相同,两者之间的主要差异可参照ieee802.1as规格说明书的章节7.5,而由于这些信息为本发明所属领域具通常知识者所熟知,为简明起见在此不赘述。
10.在某些实施例中,当原来被使用的控制信号源故障时(例如传输中断或异常、或是自这个控制信号源取得的信息异常时),该时间感知系统可藉助于最佳主时钟算法(best master clock algorithm,bmca)自该多个控制信号源中选择此时能提供最佳质量的控制信号的控制信号源以取代上述故障的控制信号源。为了进一步提升效率(例如减少额外需要的软件或硬件成本、或是减少信号源切换所需的时间),时间感知桥接装置100可预先将某个控制信号源设定为上述一开始被使用的控制信号源的备案,以使得上述一开始被使用的控制信号源故障时,能在不需执行最佳主时钟算法的情况下直接切换至备用的信号源。例如主时钟gmb可被预配置(pre

configure)为主时钟gma的备用信号源,而当自主时钟gma接收到的控制信号异常时,时间感知桥接装置100可直接以主时钟gmb取代主时钟gma的工作,避免该一或多个终端装置的同步操作受到主时钟gma的故障影响。
11.图2为依据本发明一实施例的时间感知桥接装置200的示意图,其中时间感知桥接装置200可为图1所示的时间感知桥接装置100的例子,尤其时间感知桥接装置200可视为时间感知桥接装置100的固件实施方式的例子。如图2所示,时间感知桥接装置200可包含一储存装置诸如一只读存储器(read only memory,rom)210以及耦接至只读存储器210的一处理电路220,其中只读存储器210可用来储存一程序代码210p,而处理电路220可用来依据程序代码210p控制时间感知桥接装置200的操作。
12.图3为依据本发明一实施例的时间感知桥接装置300的示意图,其中时间感知桥接装置300可为图1的时间感知桥接装置100的例子,尤其时间感知桥接装置300可视为以硬件方式实施时间感知桥接装置100的的例子。如图3所示,时间感知桥接装置300可包含一选择电路310以及一剖析器(parser)320,其中选择电路310可包含一精确时间协议控制电路(简称ptp控制电路)311、以及多任务器312及313,而剖析器320可包含一无缝(seamless)判断电路321。在本实施例中,ptp控制电路311可通过有线/无线通信自该多个控制信号源接收控制信号(例如控制信号slave0、slave1及slave2),并且将这些控制信号中的至少一控制信号(例如控制信号slave0、slave1及slave2的其中一者、其中一部分、或全部)传送至剖析器320。假设控制信号syncframe所载有的时间信息可用来指出剖析器320在执行各种操作的时间点,其中剖析器320可对控制信号syncframe进行相关运算(在图3中以云状区块作为简明示意)以取得控制信号syncframe所载有的时间信息(标示为「同步时间」),并且可对自ptp控制电路311接收到的控制信号的其中一者(例如控制信号slave0、slave1及slave2的其中一者)进行相关运算(在图3中以云状区块作为简明示意)以取得这个控制信号所载有的时间信息(标示为「从(slave)时间」),以供无缝判断电路321依据该同步时间以及该从时间产生至少一判断结果诸如信号sm_hit1及sm_hit2所载有的判断结果至ptp控制电路311。ptp控制电路311可对信号sm_hit1及sm_hit2进行相关运算(在图3中以云状区块作为简明示意)以产生一自动选择信号至多任务器312。在本实施例中,多任务器312可依据一模式控制信号auto_sw_clk来决定是否开启时间感知桥接装置300的自动切换功能,例如,当模式控制信号auto_sw_clk的逻辑值为0,多任务器312会输出手动控制信号reg,而多任务器313会依据手动控制信号reg选择控制信号slave0、slave1及slave2的其中一者以输出至终端装置330供进行时间同步(即自动切换功能被禁用(disable));而当模式控制信号auto_sw_
clk的逻辑值为1,多任务器312会输出来自ptp控制电路311的该自动选择信号,而多任务器313会依据该自动选择信号选择控制信号slave0、slave1及slave2的其中一者以输出至终端装置330供进行时间同步(即自动切换功能被启用(enable));但本发明不限于此。在本实施例中,终端装置330可作为图1所示的终端装置120的例子。
13.在本实施例中,提供控制信号slave0的信号源(图中未示)可被预配置为初始的主要控制信号源,提供控制信号slave1的信号源(图中未示)可被预配置为提供控制信号slave0的信号源的备用信号源,以及提供控制信号slave2的信号源(图中未示)可被预配置为提供控制信号slave1的信号源的备用信号源,但本发明不限于此。
14.图4为依据本发明一实施例的一种用于无缝精确时间协议的控制方法,其中该控制方法系可应用于(applicable to)图1所示的时间感知桥接装置100、图2所示的时间感知桥接装置200以及图3所示的时间感知桥接装置300。
15.在步骤410中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300中的选择电路310)可将一第一控制信号源(例如主时钟gma、或控制信号slave0的信号源)预配置(pre

configure)为一主要控制信号源,并且将一第二控制信号源(例如主时钟gmb、或控制信号slave1或slave2的信号源)预配置为一备用控制信号源。
16.在步骤420中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300中的剖析器310(尤指其内的无缝判断电路321))可判断来自该主要控制信号源(例如,经预配置为主时钟gma或控制信号slave0的信号源)的一或多个封包是否符合至少一预定规则,以产生一判断结果(例如图3所示的sm_hit1及/或sm_hit2),其中该主要控制信号源提供的该一或多个封包载有(carry)时间信息以供耦接至该时间感知桥接装置100的一或多个终端装置120进行时间同步之用。
17.在步骤430中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300中的选择电路310)可依据该判断结果(例如图3所示的sm_hit1及/或sm_hit2)选择性地将该第二控制信号源配置为该主要控制信号源。举例来说,当该判断结果指出该第一控制信号(即前述来自主要控制信号源的一或多个封包)不符合该至少一预定规则,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300中的选择电路310)可继续将该第一控制信号源配置为该主要控制信号源;而当该判断结果指出该第一控制信号符合该至少一预定规则,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300中的选择电路310)可在不进行最佳主时钟算法(best master clock algorithm,bmca)的情况下将该第二控制信号源配置为该主要控制信号源,以避免因为执行最佳主时钟算法而耗费额外的时间成本。
18.在一实施例中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300中的剖析器320)可判断时间感知桥接装置100记录的时间信息(例如图3所示的控制信号syncframe所载有的时间信息)所指出的时间点与自主时钟gma取得的时间信息(例如图3所示的控制信号slave0、slave1及slave2的其中一者诸如slavex)所指出的时间点之间的时间差是否大于一临界值。具体来说,当剖析器320于同步时间点sync
x
收到载有从时间点slave_time
x
的控制信号slavex,时间感知桥接装置100(例
如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300中的剖析器320)可判断「|(sync
x
t
prop
)

slave_time
x
|>threshold_delta」的条件是否成立,其中t
prop
可表示信号传递时间,而threshold_delta可表示预定的一临界值。若此条件成立,表示提供控制信号slavex的控制信号源发生异常。
19.在另一实施例中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300中的剖析器320)可于一第一时间点诸如同步时间点sync
i
‑1自该主要控制信号源(例如主时钟gma)取得该一或多个封包中的一第一封包并且于一第二时间点诸如同步时间点sync
i
自该主要控制信号源(例如主时钟gma)取得该一或多个封包中的一第二封包,其中i可代表一正整数。时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300中的剖析器320)可计算该第一时间点与该第二时间点之间的时间差以作为一接收时间差(例如计算「sync
i

sync
i
‑1」),并且计算该第一封包所载有的时间信息所指出的时间点(例如从时间点slave_time
i
‑1)与该第二封包所载有的时间信息所指出的时间点(例如从时间点slave_time
i
)之间的时间差以作为一时间信息差(例如计算「slave_time
i

slave_time
i
‑1」)。因此,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300中的剖析器320)可判断该接收时间差与该时间信息差之间的差值是否大于一临界值,例如判断「|(sync
i

sync
i
‑1)

(slave_time
i

slave_time
i
‑1)|>threshold_interval」的条件是否成立。若此条件成立,表示提供控制信号slavex的控制信号源发生异常。
20.图5为依据本发明一实施例的一种用于无缝精确时间协议的控制方法的例示性工作流程,其中只要大致上不妨碍整体结果,一或多个步骤可在图5所示的流程中被新增、修改或删除,且这些步骤并非必须完全依照图5所示的顺序执行。
21.在步骤s510中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可判断当时被配置为该主要控制信号源的控制信号源的参数seamlessed是否为真。若判断结果为「是」,表示这个控制信号源已被使用过(例如曾经被判断为异常),流程结束;若判断结果为「否」,则进入步骤s520。
22.在步骤s520中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可判断实体连接是否有问题。若判断结果为「否」(表示实体连接正常),流程进入步骤s530;若判断结果为「是」(表示实体连接异常),流程进入步骤s540。
23.在步骤s530中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可确认同步与跟进(follow

up)程序(例如确认前述的「|(sync
x
t
prop
)

slave_time
x
|>threshold_delta」及/或「|(sync
i

sync
i
‑1)

(slave_time
i

slave_time
i
‑1)|>threshold_interval」的条件是否成立),接着流程结束。
24.在步骤s540中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可切换至备用主时钟(例如自主时钟gma切换至主时钟gmb)。
25.在步骤s550中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可将被取代的控制信号源(例如主时钟gma)所对应的参数seamlessed设为真,并且流程结束。
26.图6为依据本发明一实施例的图5所示的步骤530中的确认同步程序的例示性工作
流程,其中只要大致上不妨碍整体结果,一或多个步骤可在图6所示的工作流程中被新增、修改或删除,且这些步骤并非必须完全依照图6所示的顺序执行。
27.在步骤s601中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可锁存控制信号sync(例如图3所示的控制信号syncframe)的进入时间(ingress time)syncingress
i

28.在步骤s602中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可判断此工作流程是否为单步骤同步(1

step sync)。若判断结果为「是」,流程进入步骤s604;若判断结果为「否」,流程进入步骤s603。
29.在步骤s603中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可记录序列辨识码组(sequence identification set)。
30.在步骤s604中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可自控制信号sync所载有封包的字段correctionfield取得更正值correctionvalue。
31.在步骤s605中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可计算参数time
i
=time
sync
correctionvalue,其中time
sync
可为来自主要控制信号源的封包所载的时间信息。
32.在步骤s606中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可判断「|time
i

syncingress
i
|>threshold_delta」的条件是否成立。若判断结果为「是」,流程进入步骤s607;若判断结果为「否」,流程进入步骤s612。
33.在步骤s607中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可判断是否触发中断。若判断结果为「是」,流程进入步骤s608;若判断结果为「否」,流程进入步骤s609。
34.在步骤s608中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可向外部/内部中央处理单元(central processing unit,cpu)传输中断要求(可为强制或警示性的要求,外部/内部中央处理单元可判断是否执行中断程序,而中断后再恢复的操作亦不包含于本发明实施例当中)。
35.在步骤s609中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可判断自动切换功能是否开启(例如判断「autoswitchclk=enable」的条件是否成立,其中autoswitchclk可为图3所示的auto_sw_clk的例子)。若判断结果为「是」,流程进入步骤s610;若判断结果为「否」,流程结束。
36.在步骤s610中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可改变参考时钟至备用时钟switch_clockid。
37.在步骤s611中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可更新(例如「增加」)计数值switchcnt(标示为「switchcnt#=switchcnt 1」)。此步骤可用于计算时间感知桥接装置100所执行的切换次数。
38.在步骤s612中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可判断是否有收到第(i

1)个数据(例如,进入时间syncingress
i
‑1对应的控制信号sync i
‑1)。若判断结果为“是”,流程进入步骤s614;若判断结果为“否”,流程进入步骤s613。
39.在步骤s613中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可设定参数wasswitched=0(即重置参数wasswitched的值,可视为放下旗标(flag)),其中参数wasswitched可为图5的实施例中的参数seamlessed的例子。
40.在步骤s614中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可计算参数syncdiff=sync
i

sync
i
‑1。此步骤系用以计算第i个数据封包与第i

1个数据封包实际的时间信息的差值。
41.在步骤s615中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可计算参数mytimediff=syncingress
i

syncingress
i
‑1。此步骤系用以计算时间感知桥接装置100所锁存的当前进入时间syncingress
i
与上一个进入时间syncingress
i
‑1的时间差,反映了时间感知桥接装置100自身的时间差。
42.在步骤s616中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可判断「|syncdiff

mytimediff|>threshold_interval」是否成立。若判断结果为“是”,流程进入步骤s617;若判断结果为“否”,流程结束。此步骤系用以判断时间感知桥接装置100自身的时间差与数据封包实际的时间差的间的差值是否超出一临界区间。
43.在步骤s617中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可判断参数wasswitched是否等于1。若判断结果为“是”,流程进入步骤s613;若判断结果为“否”,流程进入步骤s618。
44.在步骤s618中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可设定参数wasswitched=1(可视为拉起旗标),并且流程进入步骤s607(若s609判断为“是”,时间感知桥接装置100将会确实切换至新的控制信号源)。可依此类推,在下一轮的判断时,步骤s617接续至步骤s613(因旗标未放下)会导致参数wasswitched重置,而在又一轮的判断时,步骤s617接续至步骤s618又会导致旗标被拉起并开关信号源。
45.图7为依据本发明一实施例的图5所示的步骤s530中的确认跟进程序的例示性工作流程,其中只要大致上不妨碍整体结果,一或多个步骤可在图7所示的工作流程中被新增、修改或删除,且这些步骤并非必须完全依照图7所示的顺序执行。
46.在步骤s701中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可判断参数spid及sport是否匹配控制信号sync。若判断结果为“是”,流程进入步骤s702;若判断结果为“否”,流程结束。
47.在步骤s702中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可自控制信号sync所载有的封包的字段correctionfield取得更正值correctionvalue。
48.在步骤s703中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可计算参数time
i
=time
sync
correctionvalue。
49.在步骤s704中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可判断「|time
i

syncingress
i
|>threshold_delta」的条件是否成立。若判断结果为「是」,流程进入步骤s705;若判断结果为「否」,流程结束。
50.在步骤s705中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可判断参数wasswitched是否等于1。若判断结果为“是”,流程进入步骤s706;若判断结果为“否”,流程进入步骤s707。
51.在步骤s706中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可设定wasswitched=0(即重置参数wasswitched的值,可视为放下旗标)。
52.在步骤s707中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可设定wasswitched=1(可视为拉起旗标)。可依此类推,在下一轮的判断时,步骤s705接续至步骤s706(因旗标未放下)会导致参数wasswitched重置,而在又一轮的判断时,步骤s705接续至步骤s707又会导致旗标被拉起并开关信号源。
53.在步骤s708中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可判断是否触发中断。若判断结果为“是”,流程进入步骤s709;若判断结果为“否”,流程进入步骤s710。
54.在步骤s709中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可对外部/内部中央处理单元实施中断程序(中断后再恢复的操作可不包含于本发明实施例当中,可采另外的操作方式)。
55.在步骤s710中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可判断自动切换功能是否开启(例如判断「autoswitchclk=enable」的条件是否成立。若判断结果为“是”,流程进入步骤s711;若判断结果为“否”,流程结束。
56.在步骤s711中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可改变参考时钟至另一者(例如自主时钟gma切换至主时钟gmb)。
57.在步骤s712中,时间感知桥接装置100(例如时间感知桥接装置200中的处理电路220、或时间感知桥接装置300)可更新(例如「增加」)计数值switchcnt(标示为「switchcnt#=switchcnt 1」),以计算时间感知桥接装置100所执行的切换次数。
58.总结来说,本发明的实施例提供了一种用于无缝精确时间协议的控制方法以及相关时间感知桥接装置,能将多个控制信号源的其中一者预配置为主要控制信号源,并且将其中的另一者预配置为这个主要控制信号源的备用控制信号源。当某些条件满足时,本发明的时间感知桥接装置即可利用该备用控制信号源取代原来的主要控制信号源,以确保在各种情况下均能妥善地进行时间同步操作。
59.以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
转载请注明原文地址:https://win.8miu.com/read-150257.html

最新回复(0)