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
+关注
关注
56文章
2470浏览量
459269 -
车载
+关注
关注
17文章
565浏览量
83101 -
总线
+关注
关注
10文章
2706浏览量
87222 -
时钟同步
+关注
关注
0文章
72浏览量
12618
发布评论请先 登录
相关推荐
怎么实现基于TMS320LF2407A的双CAN口同步通讯板设计?
这里提出一种基于TMS320LF2407A的双CAN口同步通讯板设计,从而解决了车载PLC与防空武器TTCAN网络链接问题。
发表于 06-03 06:12
AUTOSAR CAN时钟同步问题
请问有没有AUTOSAR CAN时钟同步的能运行的代码,或者有没有能做这一块的大佬,主要是CanTsyn和STBM这两个模块的。有偿,价格都好商量,急需。
发表于 11-09 00:00
基于FPGA的GPS同步时钟装置的设计
在介绍了GPS 同步时钟基本原理和FPGA 特点的基础上,提出了一种基于FPGA 的GPS同步时钟装置的设计方案,实现了高精度
发表于 07-30 11:51
•45次下载
基于总线同步时钟卡设计与实现(PCI Express)
中各个设备之间时间的一致性和准确性,系统中配备时钟源进行授时,同步时钟卡从时钟源获取高精度的时间,使系统中各个设备与主机时钟源保持高精度的
发表于 10-30 13:25
•0次下载
基于FPGA的高精度同步时钟系统设计
介绍了精密时钟同步协议(PTP)的原理。本文精简了该协议,设计并实现了一种低成本、高精度的时钟同步系统方案。该方案中,本地
发表于 11-17 15:57
•6365次阅读
车载时钟同步can_tsync同步原理
can_tsync同步原理 整体来说,can的时间同步还是比较简单的,如下图所示,整个过程如下(tips:时间戳自1970年1月1日00:00:00经过的时间,是由秒+纳秒组成的。):
车载时间融合与utc同步
时间融合和使用 对于整车来说,Tsync模块需要将整车所有vehicle time和utc同步好,对于用户来说,开发者最好提供获取vehicle time和utc时间的接口,用户无需要关注时钟
时钟同步怎样组网?
的时钟在一开始很可能并不完全一致,这可能是由于硬件差异、通信延迟、时钟漂移或其他因素引起的。因此,时钟同步对于网络中各个节点的协同操作具有重要意义。在网络中
评论