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

#传输# #传输数据判断#

数据值判断

  • 初始值:系统启动时,未获取真实数据前发送值

  • 有效值:系统启动后,已获取真实数据值

  • 无效值(SNA):系统启动后,异常时发送值

  • 物理最大值:实际占用bit位值,当规定最大值时,就无实际作用。can dbc中较常见定义

  • 物理最小值:0

  • 最大值:规定实际意义最大值

  • 最小值:规定实际意义最小值

CAN数据WPTC_PDOffsetY为例:

 

  • 初始值:0

  • 有效值:-5000~5000

  • 无效值(SNA):未说明,也可以理解(物理值:0x2711~0x3FFF,实际值:5000+无为无效值)

  • 物理最大值:0x3FFF (解析前,纯bit)

  • 物理最小值:0 (解析前,纯bit)

  • 最大值:5000 解析规则:物理值*Factor+Offset

  • 最小值:5000 解析规则:物理值*Factor+Offset

通常数据brake_report.brake_report_data.driver_work_type示例

 

  • 初始值:未说明

  • 有效值:0~3

  • 无效值(SNA):4~255

  • 物理最大值:0xFF 单位unit_8决定

  • 物理最小值:0

  • 最大值:7 实际上4~7为reserve位,也是无意义的

  • 最小值:0

端对端(e2e chek)

功能安全(Functional Safety)是一项系统特性,由于基于功能安全的设计会影响到系统设计,所以从系统开发初始阶段就要进行考虑。由于软件的复杂度会影响 到功能安全的设计,所以在AUTOSAR规范中,包含了部分与功能安全相关的需求,这些新技术和概念能够帮助降低功能安全相关组件的复杂度。不过需要强调的是,AUTOSAR虽然通过提供安全措施和机制来支持基于功能安全产品开发,但这些独立的安全措施(Safety Measure)并不能形成整体的安全解决方案。

在功能安全标准(ISO 26262 2018, Part 6)中,提到了要避免软件相关元素之间干扰(Freedom from Interference between software elements)。软件之间的相互干扰主要集中在软件的执行时间(Timing),软件间的死锁(Dead locks,Live locks),内存使用(Memory),信息交换(Information Exchange)。

失效模式:在一个分布式的系统中,如果系统的功能安全依赖于数据的完整性,那么发送方(Sender)和接收方(Receiver)之间的数据交换就可以对系统的功能安全造成影响。根据ISO 26262 Part 6的附录D,数据交换过程中,可能存在的失效模式有如下几种:

信息的重复发送 (Repetition of Information)

相同的信息被收到了多次

信息的丢失 (Loss of Information)

整条或者信息的一部分在通信过程中丢失

信息的延迟 (Delay of Information)

接收信息的时间大于期望的时间

信息的插入 (Insertion of Information)

多余或未知附加的内容被插入到信息中

假冒的或者不正确的寻址 (Masquerade or Incorrect Addressing of Information)

假冒的发送者发送未认证的信息被接收方接受,或者正确的信息被错误的接收方接受

信息顺序错误 (Incorrect Sequence of Information)

数据流中的信息顺序错误

信息破损 (Corruption of Information)

信息的内容被篡改

向多个接收方发送非对称信息 (Asymmetric information sent from a sender to multiple receivers)

接收方者收到的数据不一致

仅部分接收方收到发送者的信息 (Information from a sender received by only a subset of receivers)

一些接收方没有收到信息

阻塞通信通道 (Blocking access to communication channel)

通信通道的访问被阻塞。

这些失效可能发生的数据交换的场景包括,与I/O外设的通信,基于数据总线的通信等等。产生失效的原因包括系统性失效与随机失效,在软件方面,如生成代码过程中的错误,手动编码引入的错误,网络协议栈的错误等等;硬件方面,如处理器的故障,网络硬件的故障,电磁辐射等等。

E2E保护的概念是假设安全相关的数据交换,需要在运行时进行保护,以消除通信链路中可能的失效带来的影响。

机制

简介

说明

故障模式

CRC

CRC校验

检测每个数据包,是否传输过程中损坏

损坏、伪装

计数器

连续计数器(Sequence Counter)

每个数据包,连续计数器都会增加,其值会在接收方进行检查是否正确的增加

重复、丢失、不正确的顺序

心跳计数器(Alive Counter)

每个数据包,心跳计数器都会发生改变,接收方会验证数值是否发生变化,但变化的范围不做检查

丢失

数据ID

特定的通信ID

全局唯一,即使系统包括多个ECU的情况下

插入ID,地址故障

超时

超时检测

检查接收方的通信超时(Communication Timeout)和发送方的确认超时(Acknowledgement Timeout)

丢失、延迟

相关文章:

  • 腾讯高工用 4 部分就讲清楚了 Spring 全家桶 + 微服务
  • Linux(WSL)安装CUDA
  • Oracle VM VirtualBox Ubuntu设置共享文件夹
  • 【机器学习】DBSCAN聚类算法的理论/实现与调参
  • 32、Java——迷你图书管理器(对象+JDBC)
  • pycharm联合Anaconda
  • 不知道视频怎么转音频?手把手教你视频转音频
  • 【C++笔试强训】第十五天
  • 应用软件漏洞排名
  • 基于YOLOV7的桥梁基建裂缝检测
  • BH1750 传感器实战教学 —— 驱动移植篇
  • 考研数学——张宇八套卷
  • ARM 汇编基础
  • CyberSploit:1
  • 【云原生 | 从零开始学istio】五、istio灰度发布以及核心资源
  • 自己简单写的 事件订阅机制
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • angular2开源库收集
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • CentOS6 编译安装 redis-3.2.3
  • Django 博客开发教程 16 - 统计文章阅读量
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • JavaScript学习总结——原型
  • Node项目之评分系统(二)- 数据库设计
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • Redis 懒删除(lazy free)简史
  • spring-boot List转Page
  • SQL 难点解决:记录的引用
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 目录与文件属性:编写ls
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 如何学习JavaEE,项目又该如何做?
  • 通信类
  • 网络应用优化——时延与带宽
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (1) caustics\
  • (8)STL算法之替换
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (笔试题)分解质因式
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (离散数学)逻辑连接词
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (一)Neo4j下载安装以及初次使用
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (原創) 未来三学期想要修的课 (日記)
  • (转)C#调用WebService 基础
  • (转)mysql使用Navicat 导出和导入数据库
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • ./configure,make,make install的作用