当前位置: 首页 > news >正文

E2E_P01Check 函数笔记

1. 函数作用

E2E Profile 1 接收端检查函数
验证单个报文的完整性(CRC)新鲜性(Counter序列),并返回相应的状态。

2. 每次调用都会执行的动作

c

State->MaxDeltaCounter = min(State->MaxDeltaCounter + 1, 14);
  • 每次调用,允许的 Counter 跳变上限+1(最大 14)。

  • 目的:在同步阶段动态扩大“锁定窗口”,帮助接收方捕获发送方的 Counter。

3. 主流程 & 分支

简化版

📌 分支编号及说明

分支号判断点TRUE 走的路FALSE 走的路
分支1NewDataAvailable是否有新报文?进入分支2(读取 Counter)返回NONEWDATA(总线静默)
分支2读取 Counter 是否合法(≤15)?进入分支3(CRC 校验)返回E2E_E_INPUTERR_WRONG(配置错误)
分支3dataValid(CRC+DataID)是否正确?进入分支4(首帧判断)返回WRONGCRC(校验失败)
分支4WaitForFirstData是否为 TRUE(是否是接收到的第一帧有效数据)?清标志,记录 Counter,返回NONEWDATA进入分支5(已有历史数据,走正常计数器处理)
分支5已有历史数据(WaitForFirstData == FALSE调用两个子函数之一处理重复/丢失/正常序列E2E_P01_process_counter()

4. 关键状态一览

状态含义
NONEWDATA无新数据(总线静默 或 收到重复 Counter 的旧报文)
WRONGCRCCRC 校验失败
OKCounter 正常递增 +1,CRC 正确
OKSOMELOSTCounter 跳跃(丢失少量报文),但在容忍范围内
WRONGSEQUENCECounter 跳跃过大或回退,超出容忍
REPEATEDCounter 重复(与上一次相同)
SYNC正在同步过程中(尚未完成连续正确接收)
INITIAL未收到过任何有效报文

5. 调用位置(谁调用了这个函数?)

调用模块适用场景
COM Callout最小改动,最常用方式。在 COM Rx PDU 的 Callout 中直接调用。
E2E Transformer高 AUTOSAR 标准化的项目,工具链自动生成。
E2E Protection Wrapper保护复杂数据(非完整 PDU)时使用。

6. 记忆口诀

  • 每次调用扩窗口(MaxDeltaCounter 递增)

  • 无报文 NONEW(分支1)

  • CRC 错 WRONGCRC(分支3)

  • 首帧仍报 NONEW(分支4,图中特殊处理)

  • 后续正常走子函数(分支5)

http://www.jsqmd.com/news/620285/

相关文章:

  • 终极宝可梦随机化器ZX:重新定义七代游戏的个性化冒险体验
  • 一条命令搞定OpenClaw部署?PPClaw的便利背后,你得先看清这些代价
  • python学习笔记2
  • OpenClaw 横向评测|对比 AutoGPT、CoPaw、NanoClaw 等主流 AI Agent,谁更适合你?
  • Keyviz:终极免费工具!实时可视化你的键盘鼠标操作,让教学录制更轻松
  • Hyperf方案 API签名验证
  • 第15届省赛蓝桥杯大赛C/C++大学B组
  • C++跨平台性能监控实战:构建CPU、GPU、磁盘与网络一体化探针
  • nav标签适用场景是什么_导航栏语义化写法【方法】
  • 部署成本降60%,响应提速10倍:镜像视界AI视频孪生的工程化价值
  • mysql事务隔离级别切换注意事项_如何保证系统平滑过渡
  • 【传统图像分割算法】- 图像分割之自适应阈值(Adaptive Thresholding)完全解析
  • 嵌入式Linux实战:手把手教你为EC20 4G模块编译GobiNet驱动(附完整Makefile配置)
  • HY-Motion 1.0开源大模型部署教程:支持企业级3D数字人动作生成生产环境
  • 2279 上市公司跨国供应链【存续力】(Sustainability) 指标(2004.07-2026.02)
  • C++ vs .NET 数组原地反转实测:小数组 C++ 碾压,大数组 .NET 反杀?好
  • 蛋白靶点CD49e(整合素α5):细胞黏附机制与抗体药物研发技术解析
  • 《算法题讲解指南:动态规划算法--回文串问题》--35.回文子串,36. 最长回文子串,37.分割回文串 IV,38.分割回文串 II,39.最长回文子序列,40.让字符串成为回文串的最少插入次数
  • 一个拉胯的分库分表方案有多绝望?整个部门都在救火!
  • 茉莉花插件:5步掌握Zotero中文文献管理终极技巧
  • 【GUI-Agent】阶跃星辰 GUI-MCP 解读---()---GUI-MCP 整体架构炔
  • 【web服务】web服务之nginx详细配置上
  • IPD实战指南:如何运用SPAN工具精准定位高潜力市场并优化产品战略布局
  • 从“记录监控”到“空间决策”:镜像视界AI重新定义视频孪生
  • LLM推理微服务基准测试全链路指南,从Prompt扰动控制到P99延迟归因分析
  • Java项目Loom迁移避坑手册(2024生产环境血泪总结)
  • 从“虚短虚断”到闭环增益:深度解析理想运放负反馈放大电路
  • ruoyi前后端分离版本
  • ESP8266智能配网实践:从SmartConfig到密码持久化存储
  • Cadence 17.2 实战指南:从零开始创建电阻、电容与LED的原理图Symbol库