0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

车载时钟同步can_tsync实现原理

麦辣鸡腿堡 来源:UndefinedReference 作者:jinbao.tang 2023-10-27 14:39 次阅读

CAN时钟同步来源,AUTOSAR cp的规范,AUTOSAR定义的基于CAN总线时间同步的CanTSyn模块处理CAN总线上的时间信息分发,它以广播的形式将时间信息从master节点(TM) 传输到各slave节点(TS),还可通过时间网关(TW)将时间同步到其他子网,以解决因各ECU节点的硬件时钟信号偏差、CAN总线传输延时如协议仲裁以及各ECU节点内的软件处理等原因导致的时间延迟。网络拓扑如下:

图片
can_tsync实现原理

有了上述基础之后,我们会理解到can timesync实现起来也不会太难,在autosar cp的框架下,所有的时间都是从StdmM(Synchronized Time-Base Manager)获取的。所以,我们可以如下伪代码:

C                  
// can time master                  
TimeRaw_t t0r;                  
StbM_GetCurrentTimeRaw(&t0r);                  
CanTsync_SetT0r(t0r);                  
CanIf_Transmit(sync_message);                  
CanTsync_TxComfirmation()                  
{                  
    TimeRaw_t t1r;                  
    StbM_GetCurrentTimeRaw(&t1r);                  
    uint32_t t4r = CanTsync_GetT4r(t0r, t1r);                  
    CanTsync_SetT4r(t4r);                  
    CanIf_Transmit(fup_message)                  
}
C                  
// can time slave                  
TimeRaw_t t2r, t3r, t4r, t0r;                  
CanSync_RxIndication(sync_msg)                  
{                  
    StbM_GetCurrentTimeRaw(&t2r);                  
    t0r = CanTsync_GetT0r(sync_msg);                  
}                  
CanSync_RxIndication(fup_msg)                  
{                  
    StbM_GetCurrentTimeRaw(&t3r);                  
    t4r = CanTsync_GetT0r(fup_msg);                  
    TimeRaw_t real_time = CanTsync_CalcuTimeOffset(t0r, t2r, t3r, t4r);                  
    StbM_SetGlobalTime(real_time);                  
}

can tsync来源于autosar cp,所以上述实现风格也是仿照autosar cp的风格。StbM是整个cp的时间基础管理,负责抽象底层不同的时间同步协议,为上层提供统一的时间戳接口以及当前的时间同步状态的接口。整体框架如下:

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN
    CAN
    +关注

    关注

    57

    文章

    2775

    浏览量

    464566
  • 车载
    +关注

    关注

    18

    文章

    617

    浏览量

    83502
  • 总线
    +关注

    关注

    10

    文章

    2908

    浏览量

    88489
  • 时钟同步
    +关注

    关注

    0

    文章

    89

    浏览量

    12813
收藏 人收藏

    评论

    相关推荐

    同星多设备间的时间戳同步机制TSync功能与使用

    随着汽车网络测试的通道数量不断增加,时常需要多个同星设备同时连接在同一台电脑的同一个TSMaster应用程序,并进行多设备同时执行CAN报文收发和记录等功能,必然有多设备之间的时间戳同步以及设备
    的头像 发表于 10-12 08:05 2955次阅读
    同星多设备间的时间戳<b class='flag-5'>同步</b>机制<b class='flag-5'>TSync</b>功能与使用

    AUTOSAR CAN时钟同步问题

    请问有没有AUTOSAR CAN时钟同步的能运行的代码,或者有没有能做这一块的大佬,主要是CanTsyn和STBM这两个模块的。有偿,价格都好商量,急需。
    发表于 11-09 00:00

    分析PTN时钟同步技术及应用

    时钟同步是分组传送网(PTN)需要考虑的重要问题之一。可以采用同步以太网、IEEE 1588v2、网络时间协议(NTP)等多种技术实现时钟同步
    发表于 12-16 12:01 5622次阅读
    分析PTN<b class='flag-5'>时钟</b><b class='flag-5'>同步</b>技术及应用

    基于总线同步时钟卡设计与实现(PCI Express)

    各个设备之间时间的一致性和准确性,系统中配备时钟源进行授时,同步时钟卡从时钟源获取高精度的时间,使系统中各个设备与主机时钟源保持高精度的
    发表于 10-30 13:25 1次下载
    基于总线<b class='flag-5'>同步</b><b class='flag-5'>时钟</b>卡设计与<b class='flag-5'>实现</b>(PCI Express)

    基于FPGA的高精度同步时钟系统设计

    介绍了精密时钟同步协议(PTP)的原理。本文精简了该协议,设计并实现了一种低成本、高精度的时钟同步系统方案。该方案中,本地
    发表于 11-17 15:57 7676次阅读
    基于FPGA的高精度<b class='flag-5'>同步</b><b class='flag-5'>时钟</b>系统设计

    微波时钟同步设计方案

    v2,SyncEth,ToP,TDM时钟同步等,以满足无线设备和传输设备的时钟同步和传输需求。 微波时钟
    发表于 12-07 20:51 767次阅读

    车载以太网和CAN的区别

    车载以太网和CAN的网络扑拓结构不同,车载以太网采用的是点对点的星型拓扑结构,而CAN总线采用的是总线型结构。
    的头像 发表于 02-05 15:41 1.1w次阅读

    IEEE1588时钟同步在PTN网中的实现

    电子发烧友网站提供《IEEE1588时钟同步在PTN网中的实现.pdf》资料免费下载
    发表于 10-24 09:39 0次下载
    IEEE1588<b class='flag-5'>时钟</b><b class='flag-5'>同步</b>在PTN网中的<b class='flag-5'>实现</b>

    车载时钟同步can_tsync同步原理

    can_tsync同步原理 整体来说,can的时间同步还是比较简单的,如下图所示,整个过程如下(tips:时间戳自1970年1月1日00:00:00经过的时间,是由秒+纳秒组成的。):
    的头像 发表于 10-27 14:32 2708次阅读
    <b class='flag-5'>车载</b><b class='flag-5'>时钟</b><b class='flag-5'>同步</b><b class='flag-5'>can_tsync</b><b class='flag-5'>同步</b>原理

    车载gptp同步原理介绍

    不通的ptp版本和gptp的对比如下: gptp同步原理 针对gptp,所有slave节点,都与master(grandmaster)的时钟保持同步;在车载领域,master节点都是静
    的头像 发表于 10-27 14:44 2871次阅读
    <b class='flag-5'>车载</b>gptp<b class='flag-5'>同步</b>原理介绍

    车载时间融合与utc同步

    时间融合和使用 对于整车来说,Tsync模块需要将整车所有vehicle time和utc同步好,对于用户来说,开发者最好提供获取vehicle time和utc时间的接口,用户无需要关注时钟
    的头像 发表于 10-27 14:47 1350次阅读
    <b class='flag-5'>车载</b>时间融合与utc<b class='flag-5'>同步</b>

    控制系统之间如何实现时钟同步

    控制系统之间如何实现时钟同步? 控制系统之间的时钟同步是确保不同系统之间的时钟保持一致的过程。它在许多实时应用中非常重要,如分布式系统、通信
    的头像 发表于 01-16 14:37 1332次阅读

    时钟同步怎样组网?

    时钟在一开始很可能并不完全一致,这可能是由于硬件差异、通信延迟、时钟漂移或其他因素引起的。因此,时钟同步对于网络中各个节点的协同操作具有重要意义。在网络中
    的头像 发表于 01-16 15:10 731次阅读

    网络时钟同步有哪些要求?如何在5G网络中测试时间与时钟同步

    实现数据的正确传输和协调。 网络时钟同步的要求主要包括以下几个方面: 1. 精度要求:根据不同的应用场景和需求,对网络时钟同步的精度要求也有
    的头像 发表于 01-16 16:03 1536次阅读

    RobustRIO-E模块 时钟同步&分发,实现声音与振动板卡间及跨机箱时钟同步

    同步时钟发生器 + 同步时钟分发器
    的头像 发表于 09-14 15:00 336次阅读
    RobustRIO-E模块 <b class='flag-5'>时钟</b><b class='flag-5'>同步</b>&分发,<b class='flag-5'>实现</b>声音与振动板卡间及跨机箱<b class='flag-5'>时钟</b><b class='flag-5'>同步</b>