E2E在CAN上的应用

功能介绍

E2E,全称End to End,中文即端到端的通信保护,是一种针对安全相关数据,为防止通信链路中可能存在的故障(HW/SW), 在 通信节点 之间 执行的 一种数据保护协议/机制。其适用于多种网络结构:CAN、 CANFD、FlexRay、Ethernet等。本文根据最近的项目写个关于CAN网络的设计。

功能设计

硬件设计如上图,由SOC通过SPI通讯控制E2E的开关,MCU也可以返回E2E的开关状态给SOC。同时,MCU根据E2E开关状态打开或者关闭处理收发的CAN报文。

在特定报文的特定位置里面规定counter和checksum的位置,counter是每条报文都有自增的,每次加一个步长,如果步长为1就每次+1,步长为2就每次+2。checksum一般在最后面,根据checksum以外的其他内容计算得到,所以会有个指定的算法,由于count每次都变化,所以checksum也会跟着变化。

接收报文实现

实现的只有检查和记录错误,有几个的步骤:

1、检查接收到的报文是否有counter检查配置,如果是NULL则不需检查。配置里面有counter的范围(0-15),在报文当中的起始位、每次自增的步长、检查错误时调用的接口。

2、在接收到的报文当中按照位置提取count的值

3、跟上一次的值进行对比,计算出前后两次的差值,这个差值有两个地方要检查。一个是差值不能过大,过大证明丢帧很多次,这里一般会设置一个容错范围,一般是步长的3-5倍。另一个是差值不能为0,不然也认为是有错误。

4、存储本次的count,作为下一次的参考。

5、如果检查的结果没问题,就执行下一步。如果有错误,就调用检查错误时的接口,这个接口一般是用来记录count错误用的。

6、检查接收到的报文是否有checksum检查配置,如果是NULL则不需检查。配置里面有checksum在报文当中的起始位、检查错误时调用的接口。

7、在接收到的报文当中按照位置提取checksum的值

8、根据报文内容计算出checksum,跟从报文里面提取到的checksum进行对比,如果不一致则认为错误。

9、存储本次的checksum,作为下一次的参考。

10、如果检查的结果没问题,就执行下去。如果有错误,就调用检查错误时的接口,这个接口一般是用来记录checksum错误用的。

发送报文实现

实现的只有装载数据,有几个的步骤:

1、检查发送的报文是否有counter变化的配置,如果是NULL则不需处理。配置里面有counter的范围(0-15),在报文当中的起始位、每次自增的步长。

2、在发送到的报文当中按照位置装载 “上一次count + 步长” 的值

3、检查发送的报文是否有checksum计算配置,如果是NULL则不需处理。配置里面有checksum在报文当中的起始位。

4、根据checksum以外的报文内容计算出checksum的值装载到对应位置。

5、记录下本次发送的count和checksum。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
CANape ji基础培训 PART 1 测量 & 标定 (3-9) PART 2 CANape 简介(10-24) PART 3 数据采集与记录(25-46) PART 4 离线评估与数据挖掘(47-65) PART 5 标定和CDM studio(66-88) --3-- 测量 & 标定 为什么需要测量和标定? ECU内的控制算法,通常有大量的参数需要 设定 软件开发工程师专注于算法的实现,无法设 定确切的参数 参数通常在软件开发完成后,由标定工程师 进行优化 为了设定合适的参数,标定工程师需要反复 修改参数,通过分析参数改变带来的影响, 从而完成对车辆性能的优化。这样的一个反 复交互的过程,就是标定 --4-- 测量 & 标定 测量和标定流程- 举例 测量到ECU中实时运行的真实参数,并分析该参数对控制算法的影 响 (例如PWM 信号) 修改参数并分析这种改变对于控制策略的影响 --5-- 测量 & 标定 如何去测量和改变参数? 控制算法每一个循环均在ECU的RAM中进行计 算和存储 PWM = f(PWM_Level, ..) 测量'PWM'信号: 每个循环从RAM cell 0x1011 中读取数据 标定 (改变) 参数 'PWM_Level': 在RAM cell 0x2052中写入新的参数 测量和标定就意味着对ECU存储器进行数据读 取和写入的过程。 --6-- ASAM: Association for Standardization of Automation and Measuring Systems 测量 & 标定 CANape 遵循ASAM 标准,如CAN 标定协议CCP 和通用标定协议XCP --7-- 测量 & 标定 标准的应用案列 CAN Calibration Protocol (CCP) eXtended Calibration Protocol (XCP) 速率 via: CAN ~10 kB/sec Private CAN ~50 kB/sec FlexRay ~100 kB/sec --8-- 测量 & 标定 两种测量方式: >RAM data copy up to 2 Mbyte/sec >Data Trace up to 30 Mbyte/sec 高速标定 --9-- CANape 简介 --10-- CANape 简介 页面概览 Trace Window Driver Assistance Symbol Explorer Model Explorer Measurement Calibration Algorithm Designer --11-- CANape 简介 工作流程 创建一个新建的工程:[File " New project...] 创建一个新的文件夹,带有 canape.ini 文件 开始 CANape 通过工程连接 --12-- CANape 简介 快速开始 创建新的工程 Start --> -->Creat new project File -->Project-->New --13-- 快速开始 CANape 简介 其他方式 --14-- CANape 简介 Device Wizard 创建一个新设备. Device " New --15-- CANape 简介 快速开始 Device Configuration --16-- CANape 简介 快速开始 Device Configuration/Network --17-- 快速开始 CANape 简介 测量 [Start " Measurement Configuration] or F4 --18-- 快速开始 显示测量/标定窗口 CANape 简介 --19-- CANape 简介 快速开始 --20-- 快速开始 状态报告的Write 窗口 总线信息的Tace 窗口 帮助: <F1> CANape 简介 --21-- CANape 测量数据流 数据采集与记录 --22-- 数据采集与记录 F4 Measurement Configuration --23-- 测量模式 数据采集方式由驱动决定 CANape CCP 和XCP 驱动支持以下测量模式: Polling (问/答) 非同步数据采集 Cyclic event channels (e.g. 10ms, 100ms) 同步数据采集 Event驱动(e.g. crank shaft position) 同步数据采集 On input (虚拟信号) 非同步数据采集,类似polling On device.'signal name' 非同步数据采集,类似polling 数据采集与记录 --24-- Graphic 窗口 数据采集与记录 --25-- 坐标

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不吃鱼的羊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值