AUTOSAR CanTSyn时间同步模块配置与代码实现(一)

2023-12-20 23:02:31

AUTOSAR CanTSyn模块配置与代码实现

1、CanTSyn模块配置
在这里插入图片描述
2、CanTSyn_RxIndication
在这里插入图片描述
CanTSyn_Config_ptr指向配置的结构体,RxPduId只有一条报文的话,RxPduId=0
在这里插入图片描述
下面是解析接收到的报文的各个参数。
SYNC报文的格式分为两种,一种是带CRC的,一种是不带CRC的。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
temp_domain_id在地2个字节的bit7-bit4
tmp_type在第1个字节
3、同步报文的处理
在这里插入图片描述首先获取收到同步报文的时候的本地时间,并存储下来
然后开始处理SyncMessage
在这里插入图片描述
第一个是判断接收到的sequence是否在合理的范围内,如果超过了我们配置的JumpWidth值,就不接收此次的同步报文。
第二个就是在所有的都成功后,处理接收的同步报文,并存储接收到的全局时间。
在这里插入图片描述
4、在报文处理结束后,如果是正常接收,就会记录当前以接收SYNC报文,并设置标志以及等待接收FUP报文的超时时间。

在这里插入图片描述

文章来源:https://blog.csdn.net/qq_36750998/article/details/135118276
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。