控制器局域网CAN经典版

控制器局域网经典版(CAN CC)数据链路层在ISO 11898-1中得到了国际标准化。它是乘用车嵌入式控制系统中占主导地位的串行网络,但不限于此应用领域。它的特点是:

多点能力,允许设计分布式和冗余通信系统。 广播通信,减少了带宽需求,并有利于设计灵活性。 复杂的错误检测功能和自动重传错误帧,这导致高可靠的通信。 独特的故障限制,保证网络范围内的数据一致性。 CAN CC数据链路层的一致性测试计划在ISO 16845-1中指定。它允许测试CAN CC数据链路层实现的兼容性。对于CAN CC,有不同物理介质访问(PMA)子层标准化,以满足不同的应用需求。最常用和通用的是所谓的CAN高速PMA,它在ISO 11898-2中标准化。自2016年以来,此标准还包括低功耗和选择性唤醒选项。

数据交换原理

CAN CC基于“广播通信机制”。每个CAN CC数据帧都提供一个标识符,该标识符应在整个网络中是唯一的。它指示内容并定义网络访问优先级。当几个网络参与者竞争网络访问(网络仲裁)时,这很重要。这种方法实现了基于内容的寻址以及基于节点的寻址,具体取决于所选的网络层。因此,实现了高度的系统和配置灵活性。

只要新的CAN CC节点仅作为接收器,就可以轻松地将CAN CC节点添加到现有网络中,而无需对现有的CAN CC节点进行任何硬件或软件修改。这允许模块化概念,允许接收多种数据,并同步分布式过程。此外,数据传输不基于特定类型的网络参与者的可用性。因此,维护和升级网络相对简单。

实时数据传输

在实时处理中,要在网络上交换的数据的紧急程度可能大不相同:例如,快速变化的维度,如发动机负荷,传输更频繁,因此比其他维度,如发动机温度,延迟更少。

通过分配的CAN标识符确定数据帧与其他较不紧急的数据帧相比的优先级。优先级在系统设计期间分配。CAN标识符由11位或29位二进制值组成。值越低,优先级越高;标识符的值越高,优先级越低。

如果几个数据帧或远程帧同时竞争网络访问,通过比较竞争数据帧或远程帧的CAN标识符的逐位比较来协商网络访问。这种机制称为逐位仲裁。参与的网络参与者(节点)在配置的采样点逐位观察信号电平。这是根据有线和机制进行的,其中主导状态覆盖了隐性状态。所有具有隐性传输和主导观察的节点都失去了网络访问的竞争。所有这些“失败者”自动成为当前传输的CAN数据帧的接收器,优先级最高。它们在当前传输完成并且网络再次可用后尝试传输其CAN数据帧。

因此,传输请求的处理顺序是它们对整个系统的重要性。这在过载情况下特别有利。由于网络访问是基于CAN数据帧标识符的优先级,因此可以保证实时系统中的低个体延迟时间。

CAN CC数据帧格式

CAN CC协议支持两种CAN数据帧格式。基本上,它们只在CAN标识符的长度上有所不同。“CAN CC基本帧格式(CBFF)”支持CAN标识符长度为11位,“CAN CC扩展帧格式(CEFF)”支持CAN标识符长度为29位。

CAN CC基本帧格式 一个CAN数据帧以“帧开始”(SOF)位开始。通过这个位,所有连接到网络的节点在CAN数据帧传输期间同步。它后面是“仲裁场”,提供CAN标识符和“远程传输请求(RTR)”位。RTR位用于区分CAN数据帧和CAN远程帧。接下来的“控制场”包含“标识符扩展(IDE)”位和“数据长度代码(DLC)”。IDE位允许区分CAN基本帧格式和CAN扩展帧格式。它也是仲裁过程的主题。这意味着使用相同的前11位CAN-ID值的CBFF中的数据帧将赢得与CEFF中的数据帧的仲裁。

DLC指示随后的“数据场”的大小,以一字节的倍数表示。在远程帧中,DLC包含请求的数据字节数。“数据场”提供应用程序数据,可以在零到最多八个数据字节之间变化。数据和远程帧的完整性由“循环冗余校验(CRC)”和保证。如果数据帧到目前为止已经正确传输,所有接收节点在“确认(ACK)场”中通过在ACK位传输主导位来确认正确的接收。数据和远程帧的结束由“帧结束(EOF)”字段指示。3位间歇场是连续数据或远程帧之间最小的位数。除非另一个连接的节点开始传输,否则在此之后网络保持空闲状态。间歇场是帧间空间(IFS)的一部分,其中还可能包含总线空闲时间和错误被动节点情况下的8位暂停传输。

CAN CC扩展帧格式 扩展帧格式和基本帧格式之间的区别是使用的CAN标识符的长度。29位标识符由11位标识符(“基本标识符”)和18位扩展(“标识符扩展”)组成。通过使用IDE位来区分基本帧格式和扩展帧格式。在扩展帧格式(29位CAN ID)中,IDE位以隐性方式传输;在基本帧格式(11位CAN ID)中以主导方式。与CBFF中的数据帧相比,CAN CC扩展帧格式有一些权衡。网络延迟时间更长(至少20位时间),扩展格式的数据帧需要更多的带宽(约20%),错误检测性能较低(因为为15位CRC选择的多项式针对最多112位的帧长度进行了优化)。

自2003年以来,所有CAN CC实现都必须能够处理两种CAN CC数据帧格式。旧的实现可能只接受CA CC基本帧格式,或者可能只是容忍CAN CC扩展帧格式。

检测和信号错误 CAN数据链路层实现了五种错误检测机制,以实现最高可靠性:

循环冗余校验(CRC):CRC通过在CRC字段中添加帧校验序列(FCS)来保护CAN帧。在接收器中,这个FCS被重新计算并与接收到的FCS进行比较。如果它们不匹配,就会发生CRC错误。 帧检查:这种机制通过检查比特字段与固定格式和帧大小来验证传输帧的结构。通过帧检查检测到的错误被称为“格式错误”。 ACK错误:CAN帧的接收器确认接收到的帧。如果发射器没有收到确认,则指示ACK错误。 位监控:发射机检测错误的能力基于网络信号的监控。每个传输的节点也观察信号电平,从而检测发送的位和接收到的位之间的差异。这允许可靠地检测全局错误和发射器局部错误。 位填充:在位级别测试单个位的编码。CAN CC使用的位表示是“非归零(NRZ)”编码。同步边缘是通过位填充产生的。这意味着在五个连续相同逻辑值的位之后,发射机在比特流中插入一个填充位。这个填充位具有补充值,由接收节点移除。 如果至少有一个上述错误被至少一个节点检测到,目前正在进行的传输将通过发送“错误帧”来中止。这使本地检测到的错误全球化,迫使所有其他节点自己检测错误,从而确保整个网络的数据一致性。在传输错误帧之后,接收器期望重新传输中止的数据帧。为了避免错误的节点永久干扰CAN通信,一个复杂的故障限制会导致那些有故障的节点关闭它们的CAN接口(CAN错误状态;总线关闭状态)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/764103.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何用matplotlib绘制图像分类任务的类别特征空间分布

import matplotlib.pyplot as plt import numpy as np from sklearn.decomposition import PCA from sklearn.datasets import load_iris from mpl_toolkits.mplot3d import Axes3D# 加载示例数据(Iris 数据集) data load_iris() X data.data y data.…

SQLyog脚本无限试用重置脚本

文章目录 引言脚本(win)必要操作、说明 引言 SQLyog 需要po jie,但是网上的没看到很好使的,直接下的官方。能处理14天试用也是很ok的。 脚本(win) echo offREM SQLyog注册表key,可能跟你的不一样,如果不一样,请替换…

聊聊gitlab ci如何构建以时间为版本号的docker镜像

前言 最近朋友他们部门有部分内部项目,打算用gitlab ci来做项目持续集成部署,他们有个需求,构建docker镜像的时候,版本需要是以当前时间作为版本。其格式为yyyymmddhhmm 一开始朋友翻阅官方文档,发现gitlab ci有个变…

uniapp实现可拖动悬浮按钮(最新版2024-7月)

此章主要介绍如何使用uniapp跨平台开发,实现悬浮按钮,移动端经常会有所这样的需求,那么功能如下: 1.圆圈悬浮球,上下左右靠边显示 2.可以界面任何拖动,不会超出界面 3.单击悬浮球的点击事件 效果&#xf…

JAVA-Redis数据结构—跳跃表(Skiplist)【包含Java实现详情代码】

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…

分析:地产行业使用短信群发平台营销引流效果如何?

地产行业使用短信群发平台营销引流的效果可以从以下几个方面进行分析和归纳: 一、营销效果显著提升 1.精准定位目标客户:通过短信群发平台,地产企业可以根据客户的年龄、职业、地域、购房需求等信息,进行精准筛选和定位&#xf…

ElementUI样式优化:el-input修改样式、el-table 修改表头样式、斑马格样式、修改滚动条样式、

效果图: 1、改变日期时间组件的字体颜色背景 .form-class ::v-deep .el-date-editor { border: 1px solid #326AFF; background: #04308D !important; } .form-class ::v-deep .el-date-editor.el-input__wrapper { box-shadow: 0 0 0 0px #326AFF inset; } // 输入…

喜讯|华院计算认知智能引擎算法平台荣登BPAA大赛创新组TOP50

6月25日,备受瞩目的BPAA第四届全球应用算法模型典范大赛(以下简称“BPAA大赛”)正式揭晓了《第四届全球应用算法模型典范大赛创业组TOP50榜单》和《第四届全球应用算法模型典范大赛创新组TOP50榜单》。其中,华院计算技术&#xff…

智能技术【机器学习】总结

文章目录 第一部分 优化第二部分 模型第一章 神经网络(MLP, BP, CNN, GNN, and Attention)1.1 神经网络基础1.1.1 高次非线性函数1.1.2 感知器与神经网络1.1.3 联结主义模型1.1.4 动机——为什么每个人都在谈论深度学习?1.1.5 背景1.1.6 神经…

Keysight 是德 EXR104A 实时示波器

Keysight 是德 EXR104A 实时示波器 全部 4 个通道均可提供 1 GHz 的带宽,强大的 8 合 1 仪器,出色的硬件加速绘图功能,可以全面升级到 2.5 GHz 带宽和 8 个通道 全部 4 个模拟通道上均可提供 1 GHz 带宽通过 ASIC 技术实现更快的测试速度有…

项目范围管理(信息系统项目管理师)

需求管理计划是对项目的需求进行定义、确定、记载、核实管理和控制的行动指南。制定需求管理计划,规划如何分析、记录和管理需求,这样才是较为稳妥的方法在信息系统集成项目中,需求管理贯穿于整个过程,他的最基本的任务就是明确需…

破解电脑卡顿难题,将数据优化,5分钟提升运行速度

当电脑变得缓慢且反应迟钝时,工作效率和娱乐体验都会大打折扣。而电脑卡顿是由于系统资源占用过多、磁盘空间不足等原因引起的。因此,我们经常需要寻找优化措施,提升电脑的运行速度。文章整理了4个优化方法,帮助你破解卡顿难题&am…

Linux下编程之内存检查

前言 我们在进行编程时,有时不免会无意中写出一些容易导致内存问题(可能一时表象上正常)的代码,导致的后果肯定是不好的,就像一颗颗“哑弹”,令人心慌。网上推荐的辅助工具很多,此篇文章…

机器学习——强化学习中的“策略π”的个人思考

这两天回顾了《西瓜书》中的最后一章——“强化学习”,但是忽然发现之前对于本章中的“策略π”的理解有些偏差,导致我在看值函数公式时有些看不明白。对此,我在网上查了一些资料,但是大部分人都是一笔带过,或者是照本…

Day8: 232.用栈实现队列 225. 用队列实现栈 20. 有效的括号 1047. 删除字符串中的所有相邻重复项

题目232. 用栈实现队列 - 力扣(LeetCode) class MyQueue { public:MyQueue() {}void push(int x) { // 出栈input.push(x);}int pop() {// 如果出栈为空,把入栈元素全都转移到出栈if (output.empty()) {while (!input.empty()) {int itop i…

基于小波同步压缩变换与集成深度学习的情绪识别

摘要 本研究设计了一种基于小波同步压缩变换(WSST)驱动优化集成深度学习(DL)的自动多类情绪识别(AMER)系统,用于识别样本依赖(subject-dependent)和样本独立(subject-independent)两种模式下的人类情感。使用WSST方法将1-D脑电(EEG)信号转换为2-D时频表征(TFR)&…

2024年6月总结及随笔之打卡网红点

1. 回头看 日更坚持了547天。 读《人工智能时代与人类未来》更新完成读《AI未来进行式》开更并更新完成读《AI新生:破解人机共存密码》开更并持续更新 2023年至2024年6月底累计码字1267912字,累计日均码字2317字。 2024年6月码字90659字,…

hadoop分布式云笔记系统-计算机毕业设计源码15725

摘 要 随着信息技术的飞速发展,人们对于数据的存储、管理和共享需求日益增长。传统的集中式存储系统在处理大规模数据时面临着性能瓶颈和扩展性问题。而 Hadoop 作为一种分布式计算框架,为解决这些问题提供了有效的解决方案。 本研究旨在设计并实现一种…

昇思25天学习打卡营第6天|关于函数与神经网络梯度相关技术探讨

目录 Python 库及 MindSpore 相关模块和类的导入 函数与计算图 微分函数与梯度计算 Stop Gradient Auxiliary data 神经网络梯度计算 Python 库及 MindSpore 相关模块和类的导入 Python 中的 numpy 库被成功导入,并简称为 np。numpy 在科学计算领域应用广泛&#x…

2、SSD基本技术

发展史 上文中说SSD是以闪存为介质的存储设备,这只能算是现代SSD的特点,而不能算是定义。 HDD是磁存储,SSD是电存储;HDD的特点导致寻址到不同扇区其性能存在明显差异,比如寻址下个扇区和上个扇区;而SSD寻…