一种串行背板总线节点间RTC时钟同步方法与流程

文档序号:11807320阅读:343来源:国知局

本发明属于实时计算技术,涉及一种串行背板总线节点间RTC时钟同步方法。



背景技术:

通过ARINC659串行背板总线连接的节点上,各个节点中央处理单元通过背板总线中断触发执行周期任务。RTC时钟电路能够使得系统提高时钟自主性和可维护性,但如果在每个节点上设置RTC时钟电路,不仅成本高而且时钟一致性不易保证。本发明提出一种方法,仅在一个节点上设置RTC电路,依靠节点之间的串行背板总线链路,实现各个节点RTC时钟的同步。特别地,对于系统中的自监控节点,也能够实现自监控节点的同步。



技术实现要素:

本发明的目的是:为ARINC659串行背板总线互联的节点(其中包括自监控节点)间提供一种RTC时钟同步方法。

本发明的技术方案是:一种串行背板总线的节点间RTC时钟同步方法,其特征在于,所述方法包括以下步骤:

步骤一:主节点的X支路读取RTC电路中的RTC时间值RTCx,同时读取总线时间TB,生成时间基准对;

步骤二:主节点的X支路将时间基准对通过双口RAM发送给主节点上的Y支路;

步骤三:主节点的Y支路从双口RAM接收X支路的时间基准对;

步骤四:主节点的X支路和Y支路向总线输出时间基准对,在指定的时间内T1内等待总线比较器返回发送成功,1ms<=T1<=100ms;

步骤五:总线比较器循环比较X和Y支路发送的时间对,如果都收到且一致,向总线上的所有节点广播该时间基准对;

步骤六:总线上各个节点收到该时间基准对;

步骤七:总线向各个节点中的各个支路发送一致的周期中断信号,触发支路 的周期执行,同时更新各个支路的总线时间Tb,Tb的分辨率为1ms;

步骤八:总线上各节点,包括主节点,收到周期中断信号后,读取该支路的总线时间Tb,计算总线时间差值ΔT=Tb-TB,然后计算本节点的RTC=RTCx+ΔT。

本发明的方法有如下有益效果:同步一致性好,总线上的各个节点的各个支路在每一个帧周期都有一致的RTC时钟,精确度为1毫秒,而且RTC电路少,仅主节点上的X支路需要设计RTC电路。当系统接受外部RTC授时的时候,在更新RTC电路中存储的时间同时,由主节点广播时间基准对即可。

附图说明

图1是总线和节点的示意图。其中,支路X和支路Y对总线的写操作需要经过总线比较器,比较结果一致才能进行总线写操作;对总线的读操作无此限制。总线对各节点中各支路的心跳是微秒级同步的,给各个支路的总线时间寄存器的值是相同的。

具体实施方式

下面以一个主节点和两个节点为例,结合说明书附图对本发明做详细说明。

1)主节点的X支路读取RTC电路中的RTC值,例如2016-01-01 12:00:00,同时读取总线时间寄存器的值,例如1234ms,形成时间基准对为<2016-01-01 12:00:00,1234>。

2)主节点的X支路通过双口RAM将上述时间基准对发送给Y支路。

3)主节点的Y支路也收到同样的时间基准对<2016-01-01 12:00:00,1234>。

4)主节点的X支路和Y支路向总线输出时间基准对,由于输出时刻有差异,当有一个支路已输出而另一个未输出时,总线比较器向支路返回失败,直到两个支路同时输出相同值时返回成功。

5)时间基准对通过总线到达两个从节点的4个支路。

6)总线触发各个支路(包括主节点的2个支路)的中断,为各个支路产生一致的心跳,同时更新各个支路的总线时间寄存器,假设为20000ms;

7)各个支路计算毫秒时间差值ΔT=20000ms-1234=18766ms,本地节点 的RTC值为2016-01-01 12:00:00+18766/1000,即2016-01-01 12:00:18766ms,完毕。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1