关于车载 时间同步 的理解 外汇保险机制原理图解图片高清图
目录
1. 时间同步的应用场景
2.时间同步协议的理解
2.1 请求应答机制同步原理
2.2 端延时机制同步原理
3.基于Autosar CAN时间同步
3.1 同步流程
3.2 CAN同步消息结构
3.3 基于CAN消息的实际用法
4.基于Autosar 以太网时间同步
4.1 Autosar 以太网时间同步说明
4.2 Autosar 以太网时间同步原理
4.3 Autosar 以太网时间同步消息格式
1. 时间同步的应用场景考虑自动驾驶/ADAS领域,这类控制器,一般包含各类的传感器,如ODO,GPS,地图,摄像头,毫米波雷达,超声波雷达等,因此这些传感器数据精确的采集时间显得尤为重要,因为直接关系到最后做传感器融合以及决策规划,因此必须保证精确使用哪一个时刻的数据。
2.IEEE1588 时间同步协议的理解车载里面,常用的时间同步协议是 IEEE 1588 即所谓的PTP( precise time protocol,精确时间协议),下面就针对PTP进行详细解释说明。
IEEE 1588 是精确时间同步协议,精度可以达到微秒级,以下针对其时间同步原理说明。
2.1 请求应答机制同步原理 如图所示,包含主时钟和从时钟,主时钟是发送时钟的节点,所有节点和它对比,进行时间同步。
主要过程分为四步:
(1)Sync,主时钟发出 sync 报文,并记录下 sync 报文离开主时钟的精确发送时间 T1;
(2)Follow_up,主时钟将精确发送时间 T1 封装到 Follow_up 报文中,发送给从时钟;
(3)Delay_Req,从时钟向主时钟,发送Delay_Req报文,用于方向传输延时计算,并记录发送时刻T3,主时钟收到该报文后,记录接收时刻T4;
(4)Delay_Resp,主时钟收到Delay_Req后,回复一个Delay_Resp的报文,将T4告诉从时钟。
从第二张图,我们可以清晰的看到,从时钟已经精确知道T1 ,T2,T3,T4四个时刻。
主-->从,发送传输延时 T2-T1;
从-->主,发送传输延时 T4-T3;
但是以上的计算是基于主时钟和从时钟同步的场景,真实情况是主时钟和从时钟存在偏差,我们假设这个偏差为offset,即 T主-T从 = offset。
在网络中,一般主-->从,从-->主 网络延时是一样;
T4 - T3 = delay - offset;
T2 - T 1 = delay+ offset;
因此传递的延时 :
delay = [(T2-T1) + (T4-T3)] / 2
由于offset存在,映射到从时钟 时间轴上计算offset:
offset = [(T2-T1) - (T4-T3)] / 2
这里offset 很好理解的一点是,T2 - T1 = offset+delay 记住这一点就好理解。
考虑到是否需要Follow_up报文,这里有分为单步模式和双步模式;
所谓的单步模式,是没有Follow_up报文,T1的时间戳,直接由sync 报文发出;
所谓的双步模式,即有Follow_up报文,T1的时间戳,由Follow_up报文携带。
2.2 端延时机制同步原理 所谓的端延时机制,是在请求响应延时的基础上,增加pdelay_resp和Pdelay_resp_follow_up的计算,主要是为了进一步考虑上游链路的延时;
进而得到delay:
delay = [(T4-T3) + (T6-T5)] / 2
进而得到offset:
offset = (T2-T1) - {[(T4-T3) + (T6-T5)] / 2}
这里offset 很好理解的一点是,T2 - T1 = offset+delay
当然这里根据是否需要follow_up 报文,也可以分为单步模式或双步模式,不进一步说明。
3.基于Autosar CAN时间同步CAN的时间同步和上文提到的IEEE1588 区别较大,请注意区分。
3.1 同步流程Autosar中专门用于CAN 时间同步的模块是CanTSyn,同步的流程如下图
第一步. Master在t1r时刻先发送一个SYNC信号,但这个信号写的是之前要发送SYNC时的时间点(t0r),然后在t2r时刻Slave接收到了这个SYNC信号。
第二步. Master再次发送一个FUP信号,这个信号的内容就是他t1r-t0r的值。
第三步. 最后在Slave方,我们就可以计算出本地当下的同步时间值=(t3r-t2r)+t1r
3.2 CAN同步消息结构以不带CRC的为例说明
SYNC报文,这里Byte4~7放入我们需要同步的时间
FUP报文 ,这里Byte4~7放入我们需要同步的时间
这里需要特别注意的是,SYNC和FUP共用一个CAN ID,他们只是type不一样。
3.3 基于CAN消息的实际用法首先,在SYNC报文中,塞入基于秒的时间,即所谓的t0r;
然后,在FUP报文中,塞入基于纳秒的时间,即所谓的t4r = t1r - t0r,此时从节点知道,发送方真实的发送时刻为 t1r ,即t0r秒t4r纳秒
这样 从节点就可以得到当前真实的时间,current_time = t0r + t4r + t3r-t2r
这里t3r,表示计算时刻,从节点本地的时间。
下文是原文,意思同上面提到的表述是一个意思,有兴趣的可以仔细查看。
4.基于Autosar 以太网时间同步 4.1 Autosar 以太网时间同步说明Autosar中,以太网同步模块是EthTSyn,Autosar以太网的时间同步,与IEEE 1588 / IEEE802.1AS稍有不同,主要不同点是,Autosar时间同步:
定义ECU的优先级只考虑静态配置情况整体架构如下图
4.2 Autosar 以太网时间同步原理计算过程参考IEEE 1588/IEEE 802.1AS;
4.3 Autosar 以太网时间同步消息格式参考Autosar标准即可,此处不做展开。
版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。