一种用于汽车can网络的时钟同步方法

文档序号:7683639阅读:224来源:国知局
专利名称:一种用于汽车can网络的时钟同步方法
技术领域
本发明涉及时钟同步领域,具体为一种用于汽车CAN网络的时钟同步方法。
背景技术
随着汽车上电控系统(ECU)数目不断增多,汽车网络化成为了汽车电子发展的趋势。由于汽车电子是典型的安全关键实时系统,精确的时钟基准是汽车网络系统高可靠运行关键因素之一。因此,研究目前汽车中应用最广泛CAN总线及其时钟同问题,建立低成本、高精度与高可靠的时钟同步方法具有重要的现实意义。目前,国内外在时钟同步方面取得了大量的成果,主要提出了基于主从配置的CAN 总线时钟同步算法和协商时钟同步方法等方法。基于主从配置的CAN总线时钟同步算法的最大优点在于可以节省带宽资源,每个重同步周期中时钟主节点只要发送一条同步消息即可保证网络中所有节点的时钟同步,而其缺点在于不能容纳时钟主节点的单点失效。协商时钟同步方法可以有效避免单点失效,实现分布式容错,但是网络中所有工作正常的节点都必须周期性的参与协商,为下一次重同步选择时钟同步主节点,增加了网络同步开销,降低了带宽利用率。

发明内容
本发明的目的是提供一种用于汽车CAN网络的时钟同步方法,以解决现有的CAN 总线时钟同步方法的单点失效和网络冗余负载过大的问题。为了达到上述目的,本发明所采用的技术方案为一种用于汽车CAN网络的时钟同步方法,其特征在于是一种前期协商算法,所述前期协商算法包括以下步骤(1)初始化CAN控制器和寄存器,CAN网络中原主节点在某个预置启动时间点向各个从节点周期性发送同步消息,成功接收到所述同步消息的各个从节点重新启动时钟, 并各自记录接收时刻;当原主节点自接收到所述同步信息后,原主节点向各个从节点发送 Follow_up报文,各个从节点根据原主节点发送的R)llow_Up报文分别计算各自的本地时钟%与原主节点的主时钟乜之间的即时偏差ts-tj ;(2)当网络出现错误,导致部分同步消息不能被所有从节点成功接收,此时若某个从节点的即时偏差|ts-tm| > P (Δ rtight+Cf+Jg)+S,则该从节点启动错误计数器,式中 Δ Γ tight是发送成功的同步消息被两个不同从节点接收的最大时间差,P是从节点的时钟漂移率,δ为不确定干扰造成的误差,&是^)110 _11 报文最坏传输时间,Jg为原主节点自接收到同步信息到原主节点发出FolloW_Up报文的时间间隔;当该从节点错误计数器计数达到设定值时,该从节点判断原主节点时效,并同步扫描主节点优先级表,该从节点在所述主节点优先级表中选择原主节点下一顺序优先级的从节点作为候选主节点,并广播选择信息通知其他从节点,其他从节点收到所述选择消息后,分别各自扫描主节点优先级表,判断所述候选主节点是否为原主节点下一顺序优先级的从节点,如是则分别承认所述候选主节点,随后各个从节点分别向所述候选主节点发送确认信息;(3)所述候选主节点判定是否收到各个从节点的确认消息,若收到确认消息,则判断确认信息中是否包含原主节点发送的消息,如果包含原主节点发送的消息,则证明原主节点正常,候选主节点被放弃,原主节点继续运行,如果不包含原主节点发送的消息,则证明原主节点失效,启动候选主节点。所述的一种用于汽车CAN网络的时钟同步方法,其特征在于所述步骤(3)中,如果规定时间内,候选主节点没有收到确认消息,判定候选主节点故障,自行关闭,原主节点继续运行。所述的一种用于汽车CAN网络的时钟同步方法,其特征在于所述前期协商算法必须满足以下假设(1)帧到达各个节点的延时是定值,即CAN网络必须是广播型网络,延迟时间可以接近于0,或是一个常值;(2)从发送或接收数据帧到接收方的中断服务程序处理该帧的延迟时间是一个定值;(3)连续两个有效同步消息的时间间隔必须小于两个有效同步消息的最大时间间隔;所述的一种用于汽车CAN网络的时钟同步方法,其特征在于所述主节点优先级表由CAN网络中每个节点根据其他节点提供的信息建立或者自身更新的,其用来反映各个节点优先级顺序。所述的一种用于汽车CAN网络的时钟同步方法,其特征在于所述步骤(1)中同步消息为原主节点周期性发送,用于同步各从节点与原主节点时钟的消息。本发明在分析从同步、协商同步等方法存在问题及CAN网络时钟同步特点基础上,提出了基于状态信息表的“前期协商”时钟同步方法,给出了相应的同步算法。“前期协商”时钟同步方法可靠性高,能够防止单点失效,所需传输消息数目少,带宽利用率高,能达到较高的同步精确度,为实现汽车CAN网络高精度时钟同步提供了很好的解决思路。


图1为本发明方法原理示意图。图2为本发明方法流程图。图3为本发明方法原理流程图。
具体实施例方式如图1、图2、图3所示。本发明按如下步骤进行(1)初始化CAN控制器和寄存器,原主节点在某个预置启动时间点周期性传送同步消息。在这一阶段CAN控制寄存器可能被设置或者消息自动重发被禁止(2)成功接收到同步消息的所有从节点,重新启动时钟,并记录接收时刻。原主节点自接收同步信息后,发送你110 _叩报文至各个从节点,各个从节点根据原主节点发送的F0ll0W_up报文分别计算各自从节点的ts与主节点的tm之间的即时偏差I ts-tm|。
如果某一从节点I ts_tm I彡P ( Δ Γ tight+Cf+Jg) + δ,,则t=t+《,错误计数器不启动,
否则启动该从节点的错误计数器M = M+l,t = t+Δ j,Ai =1-±θ。
n k=l(3)由于网络可能出现错误,造成部分同步消息不能被所有从节点成功接收,对于在规定时间内没有收到同步消息的从节点,启动错误计数器M = M+1,同时本地时钟t = t+Δ JO若某从节点错误计数器计数M > 3,则判定原主节点失效。该从节点扫描主节点优先级表,选择原主节点下一顺序优先级的从节点为候选主节点,广播选择消息 (vote消息)。各节点收到vote消息后,扫描主节点优先级表,判断候选主节点选择是否正确,即候选主节点是否为原主节点下一顺序优先级的从节点,如正确则向候选主节点发送确认消息。(4)候选主节点判定是否收到确认消息。若收到确认消息,判定是否包含原主节点发送的消息,如果包含,则原主节点正常,原主节点继续运行,否则原主节点失效,启动候选主节点。(5)如果规定时间内,候选主节点没有收到确认消息,判定从节点故障,自行关闭, 原主节点继续正常运行。上述步骤中 < 是从节点i第k次接收到同步消息的时间乂是原主节点第k次自接收到同步信息的时间,从节点i与主节点间第k次即时偏差为《=<_<,Δ Γ tight是发送成功的同步消息被两个不同从节点接收的最大时间差,P是从节点的时钟漂移率,S为不确定干扰造成的误差,报文最坏传输时间,Jg为主节点自接收到同步信息到发出R)lloW_up报文的时间间隔,t是各节点实时时刻,ts是从节点在t时刻的时间戳, tm是主节点在t时刻的时间戳,M是从节点错误计数。具体实施例以混合动力汽车中CAN网络的7个E⑶网络节点为例,其中V⑶(整车电控单元)作为初始时钟同步主节点负责提供全局时钟,EMS(发动机管理系统),TCU(自动变速箱控制单元),ABS (刹车防抱死单元),TCS (牵引力控制单元),BMS(电池管理单元) 和DB(仪表单元)等作为从节点。在2. 193112s时,主节点(V⑶)发送sync报文(即同步信息),同步各从节点与主节点时钟的报文。各从节点EMS(发动机管理系统),TCU(自动变速箱控制单元),ABS(刹车防抱死单元),TCS (牵弓丨力控制单元),BMS (电池管理单元)和DB (仪表单元)分别在以下时间接收到消息:2. 193115s,2. 193113s,2. 193113s,2. 193113s,2. 193115s,2. 193114s。 主节点(VCU)接收到同步sync消息并发送R)lloW_up消息的时间为2. 193118s, Follow, up消息包含主节点(VCU)接收到sync消息的时间2. 193116s,各从节点接收到R)llow_up 消息的时间分别为:2. 193120s,2. 193121s,2. 193119s,2. 193120s,2. 193119s,2. 193120s。取主节点VCU和从节点EMS为例说明该同步算法。| ts_tm | = 3 X 10_6s, P (Δ Γ tight+Cf+Jg) + δ 中 ρ = 1X10—5,Δ Γ tight,= 2X KT6S,Cf = 2X lO—s,Jg = 2X lO—s, 取δ = lX10_5s,经过比较可得|ts_tm|彡P (Δ rtight+cf+jg)+s,则原主节点工作正常。在2. 421226s时,主节点VCU发送sync消息,从节点EMS在2. 421238s时刻接收到消息,那么ts-tj = 1·2Χ10_5> ρ (Δ 1\_+(^+1)+3,就会启动错误计数器11 = 11+1。 在2. 510331时M > 2时,则判定主节点失效,扫描同步主节点优先级表选择下一顺序节点 EMS为候选主节点。在2. 511231s时,节点EMS作为候选主节点发送sync消息,各从节点TCU, ABS, TCS, BMS 禾口 DB 分别在以下时间接收到消息2. 510333s, 2. 510332s, 2. 510334s, 2. 510336s, 2. 510333s。候选主节点EMS接收到同步sync消息并发送R)lloW_up消息的时间为2. 510335s,Follow_up消息包含候选主节点EMS接收到sync消息的时间2. 510331s, 节点接收到 Follow_up 消息的时间分别为2. 510336s, 2. 510336s, 2. 510338s, 2. 510337s, 2.510336s。经过比较可得|ts-tm|彡P (Δ Γ tight+Cf+Jg) + δ,则候选主节点EMS成为主节点ο 综上分析可以看出“前期协商”同步方法在同步精度与现有的主从同步与“后期协商”同步方法相近,但是在相同条件下具有更小的网络冗余负载,能够有效防止单点失效,能够较好满足汽车CAN网络实时的要求。
权利要求
1.一种用于汽车CAN网络的时钟同步方法,其特征在于是一种前期协商算法,所述前期协商算法包括以下步骤(1)初始化CAN控制器和寄存器,CAN网络中原主节点在某个预置启动时间点向各个从节点周期性发送同步消息,成功接收到所述同步消息的各个从节点重新启动时钟,并各自记录接收时刻;当原主节点自接收到所述同步信息后,原主节点向各个从节点发送 Follow_up报文,各个从节点根据原主节点发送的R)llow_Up报文分别计算各自从节点的Ji与主节点的&之间的即时偏差1 ;(2)当网络出现错误,导致部分同步消息不能被所有从节点成功接收,此时若某个从节点的即时偏差‘|>p (江雄+Cf+Jg)+δ,则该从节点启动错误计数器,式中Artight是发送成功的同步消息被两个不同从节点接收的最大时间差,P是从节点的时钟漂移率,δ为不确定干扰造成的误差,(^是^)110 _叩报文最坏传输时间,Jg为原主节点自接收到同步信息到原主节点发出FolloW_Up报文的时间间隔;当该从节点错误计数器计数达到设定值时,该从节点判断原主节点时效,并同步扫描主节点优先级表,该从节点在所述主节点优先级表中选择原主节点下一顺序优先级的从节点作为候选主节点,并广播选择信息通知其他从节点,其他从节点收到所述选择消息后,分别各自扫描主节点优先级表,判断所述候选主节点是否为原主节点下一顺序优先级的从节点,如是则分别承认所述候选主节点,随后各个从节点分别向所述候选主节点发送确认信息;(3)所述候选主节点判定是否收到各个从节点的确认消息,若收到确认消息,则判断确认信息中是否包含原主节点发送的消息,如果包含原主节点发送的消息,则证明原主节点正常,候选主节点被放弃,原主节点继续运行,如果不包含原主节点发送的消息,则证明原主节点失效,启动候选主节点。
2.根据权利要求1所述的一种用于汽车CAN网络的时钟同步方法,其特征在于所述步骤(3)中,如果规定时间内,候选主节点没有收到确认消息,判定候选主节点故障,自行关闭,原主节点继续运行。
3.根据权利要求1所述的一种用于汽车CAN网络的时钟同步方法,其特征在于所述前期协商算法必须满足以下假设(1)帧到达各个节点的延时是定值,即CAN网络必须是广播型网络,延迟时间可以接近于0,或是一个常值;(2)从发送或接收数据帧到接收方的中断服务程序处理该帧的延迟时间是一个定值;(3)连续两个有效同步消息的时间间隔必须小于两个有效同步消息的最大时间间隔。
4.根据权利要求1所述的一种用于汽车CAN网络的时钟同步方法,其特征在于所述主节点优先级表由CAN网络中每个节点根据其他节点提供的信息建立或者自身更新的,其用来反映各个节点优先级顺序。
5.根据权利要求1所述的一种用于汽车CAN网络的时钟同步方法,其特征在于所述步骤(1)中同步消息为原主节点周期性发送,用于同步各从节点与原主节点时钟的消息。
全文摘要
本发明提供一种用于汽车CAN网络的时钟同步方法,给出了相应的“前期协商”同步算法。本发明方法可以在当前同步主节点失效时,根据自身的主节点优先级表的优先级与其他节点协商决定同步主节点,从而有效避免周期协商带来的冗余负载问题。本方法可靠性高,能够防止单点失效,所需传输消息数目少,带宽利用率高,能达到较高的同步精确度,为实现汽车CAN网络高精度时钟同步提供了很好的解决思路。
文档编号H04L7/00GK102195769SQ20111014683
公开日2011年9月21日 申请日期2011年6月2日 优先权日2011年6月2日
发明者刘小平, 刘征宇, 季霆, 张利, 张建军, 张本宏, 李县军, 王跃飞, 石雷, 韩江洪 申请人:合肥工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1