CAN网络基础知识_20220727

article/2025/9/28 8:50:36

目录

通信协议

汽车网络如何进行数据的传输以及节点的通信?

高速CAN差分电压示意图

低速CAN差分电压示意图

通信协议的基本规则

通讯帧格式

数据帧结构/帧起始​编辑/仲裁场​编辑/控制场/数据场/CRC校验场

           应答场/帧结束/拓展帧​/远程帧/错误帧结构/过载帧结构

位仲裁

位填充

错误检测


通信协议

汽车网络如何进行数据的传输以及节点的通信?

序号 汽车网络       协议or标准备注
1CANCAN2.0A、CAN2.0B、ISO11898
2LINLIN2.0、LIN2.1

3诊断ISO14229、ISO14230、ISO15765信号传输仍参考CAN协议

高速CAN差分电压示意图

 特点:

1、在CAN_H和CAN_L线两端有120Ω终端电阻

2、当CAN_H和CAN_L线间

      差分电压为0时,状态为逻辑1,网络为隐形状态;

      差分电压为3V时,状态为逻辑0,网络为显性状态;

  • 差分电压:是一种输入信号的方式,主要是提高信号精度,去掉共有的误差干扰
  • 差分输入的是将两个输入端的差值作为信号,这样可以免去一些误差
    比如你输入一个1V的信号电源有偏差,比实际输入要大0.1.就可以用差分输入1V和2V一减就把两端共有的那0.1误差剪掉了。
    单端输入无法去除这类误差。
    一个差分信号是用一个数值来表示两个物理量之间的差异。
    从严格意义上来讲,所有电压信号都是差分的,因为一个电压只能是相对于另一个电压而言的。
    在某些系统里,系统'地'被用作电压基准点。当'地'当作电压测量基准时,这种信号规划被称之为单端的。我们使用该术语是因为信号是用单个导体上的电压来表示的。

3、当出现线路短路或断路情况时,高速CAN无法正常通讯

低速CAN差分电压示意图

 特点:

1、在每个模块的CAN_H和CAN_L线上都有终端电阻

2、当CAN_H电压为4V,CAN_L电压为1V时,状态为逻辑0,网络为显性状态

      当CAN_H电压为0V,CAN_L电压为5V时,状态为逻辑1,网络为隐形状态

3、低速CAN可以在单根线断路或短路的情况下正常通信

通信协议的基本规则

1、总线访问:CAN是共享媒体的总线,采用载波监听多路访问的方式。CAN控制器只能在总线空闲时开始发送。所谓总线空闲,就是网络上至少存在3个空闲位(隐性位)时网络的状态。

2、仲裁:总线空闲时呈隐性电平,此时任何一个节点都可以向总线发送一个显性电平作为一个帧的开始。如果有两个或两个以上的节点同时发送,就会产生总线冲突。CAN网络采用标识符仲裁的形式进行判定信号的优先级。

3、编码/解码:总线数据传递中使用位填充技术进行编码,在CAN总线中,每连续5个相同状态的电平插入一位与它相补的电平,在译码还原时每5个同状态的电平后的相补电平被删除,从而保证了数据的正确性。

4、错误检测:当检测到位错误、填充错误、形式错误或应答错误时,检测出错条件的CAN控制器将发送一个错误标志。

5、超载标注:在网络信号传输繁忙,CAN控制器会发送一个或多个超载帧以延迟下一个数据帧或远程帧的发送。


通讯帧格式

BOSCH在发布的CAN2.0协议中规定了CAN总线中的报文传输的数据帧类型及相关的格式,各种情况分别以下列4中不同的帧类型表示及控制:

1、数据帧:数据帧携带数据从发送器至接收器;

2、远程帧:总线单元发出远程帧,请求发送相应的数据帧;

3、过载帧:过载帧用在先行的和后续数据帧之间提供一个附加的延时;

4、错误帧:总线上任何节点检测到总线错误时就发出错误帧;


数据帧结构

 数据帧包括帧起始、仲裁场、控制场、数据场、CRC校验场、应答场和帧结尾部分 


帧起始

帧起始(SOF)占用1bit

1、标志数据帧、远程帧的起始;

2、只有在总线空闲时才能发送;

3、同步所有的节点;

4、网络仲裁开始;


仲裁场

仲裁场占用12bit;包括识别符和RTR位;其中识别符的长度为11位,为数据帧和远程帧的识别ID,7个最高位必须不能全是”隐形“;

RTR位为区分数据帧和远程帧的标志之一,在数据帧中RTR位为显性,在远程帧中RTR位为隐性


控制场

控制场占用6bit;其中保罗识别符扩展位IDE、保留位r0及数据长度代码

识别符扩展位IDE为显性时代表为标准帧,为隐性时代表为拓展帧

数据长度代码为4个位,代表数据场中的数据字节数,数据最小为0字节,最大为8字节;


数据场

数据场中包含着CAN信号的数据字节,其中最多为8个字节;

数据发送时线发送高有效位,再发送低有效位;


CRC校验场

CRC校验场占用16bit;包括CRC序列和CRC界定符两部分

CRC序列:为进行CRC计算,被除的多项式系数由帧起始、仲裁场、控制场、数据场(假如有)组成,而15个最低位的系数是0。将此多项式被下面的多项式发生器除(其系数以2为模): 

CRC界定符:CRC界定符为单独的一个隐性位


应答场

应答场占用2bit,包含应答间隙(ACK SLOT)和应答界定符(ACK DELIMITER)

在应答场里,发送站发送两个”隐性“位。当接收器正确地接收到有效的报文,接收器就会在应答间

隙(ACK SLOT)期间向发送器发送一”显性“的位以实例应答


帧结束

每一个数据帧和远程帧均由一标志序列界定;这个标志序列由7个”隐性“位组成 

在总线传输过程中,每个数据帧、远程帧之间有三个隐性位数据来表示帧间隔。在此阶段,不允许发送任何数据帧及远程帧(不包括过载帧)


拓展帧

拓展帧与标准的区别有哪些:

1、SRR位,为一隐性位

2、IDE位,拓展帧中为隐性位,标准帧中为显性位


远程帧


        


错误帧结构

错误帧由两个不同的场组成;

第一个场作为不同站提供的错误标志(ERROR FLAG)的叠加;

第二个场是错误界定符;

错误标志分为主动错误标志和被动错误标志,主动错误标志由6个连续的”显性“位组成。被动错

误标志由6个连续的”隐性“的位组成;

错误界定符由8个”隐性“的位组成


过载帧结构

过载帧由过载错误标志的叠加和过载界定符组成

过载标志由6个”显性“的位组成

过载界定符包括8个”隐性“的位


位仲裁

在CAN网络数据的传输过程中,时常会出现两帧或多帧数据同时发送的情况,在此时就许哟啊指定一种规则来判定那帧数据先发送,哪帧数据需要等待。此规则我们成为位仲裁。

通常来说,ID数值越小,此ID的仲裁优先权就越高

节点2发送的数据帧获得了总线的优先发送权


位填充

在CAN网络数据的传输过程中,通多测试设备监控的网络数据和通过示波器采集到的网络数据是不一致的;

位填充:在网络上不允许出现连续6个相同的位数据,当网络上出现连续5个相同的位数据时,第6位数据必须是相反的位数据

 


错误检测

在CAN网络中共有一下5种不同的错误类型:

  • 位错误
    节点单元在发送位的同时也对总线进行监视,如果所发送的位值与所监视的位值不相符合,则在此位时间里检测到一个位错位(BIT ERROR);但是在仲裁场(ARBITRATION FIELD)的填充位流期间或(ACK)间隙(ACK SLOT)发送一“隐性”位的情况是例外的——此时,当监视到一“显性”位时,不会发出位错误(BIT ERROR);当发送器发送一个被动错误标志但检测到“显性”位时,也不视为位错误。
     
  • 填充错误
    如果在使用位填充法进行编码的信息中,出现了6个连续相同的位电平时,将检测到一个填充错误
     
  • CRC错误
    CRC序列包括发送器的CRC计算结果,接收器计算CRC的方法与发送器相同;如果计算结果与接收到CRC序列的结果不相符,则检测到一个CRC错误
     
  • 形式错误
    当一个固定形式的位场含有1个或多个非法位,则检测到一个形式错误
     
  • 应答错误
    只要在ACK间隙(ACK SLOT)期间所监视的位不为“显性”,则发送器会检测到一个应答错误

 


http://chatgpt.dhexx.cn/article/lpQ5FIav.shtml

相关文章

【CAN总线学习01】CAN网络概述

一、车载网络概述 1.1 车载网络起源及CAN诞生条件 二十世纪九十年代前,传统汽车的电器系统中各个模块之间采用点对点的通信方式,造成了庞大的布线系统,加之汽车近年来电子化、智能化趋势,独立运行的ECU足以实现电子功能。但工程…

CAN网络总线_20220720

本文提纲: 一、CAN 网络概念 二、新、老车型CAN网络对比 三、CAN网络ID规范 四、CAN网络规范 本文主要介绍了: 通过对CAN网络及其架构的学习,来对比熟悉新、老车型CAN网络架构; 学习CAN网络ID命名规范、CAN网络规范&#xf…

浅谈数据仓库维度建模

浅谈数据仓库维度建模流程 谈到Big Data就离不开数据仓库、数据集市等概念,而谈到数据仓库、数据集市,就又离不开数据仓库设计的方法,维度建模则是其中的典型。与维度建模相对立的则是范式建模,范式建模常用于传统的DB关系型数据库…

维度建模+实例

https://www.cnblogs.com/suheng01/p/13522677.html 第一步:选择业务过程 1、通过对业务需求以及可用数据源的综合考虑,确定对哪种业务过程开展建模工作 2、建立的第一个维度模型应该是一个最有影响的模型——它应该对最紧迫的业务问题作出回答&#…

数据仓库-维度建模

目录 1. 数据仓库定义 2. 数据仓库和数据库 3. 数仓分层 4. 维度建模 4.1 维度建模 VS 第三范式 4.2 维度建模设计过程 5. 粒度概念 6. 事实概念 6.1 事实表技术 7. 维度概念 7.1 维度表技术 8. 数据关系模型 8.1 星型模型 8.2 星座模型 8.3 雪花模型 9. 写在最…

维度建模详解

文章目录 1 维度设计1.1 代理键(太复杂,不推荐)1.2 稳定维度1.3 缓慢渐变维 > 拉链表1.4 维度表的拆分、合并 2 事实表设计2.1 明细事实表(dwd)2.1.2 案例:2.1.3 存储方案2.1.4 事实拉链表示例: 2.2 聚合事实表(dws)2.2.1 分类2.2.2 案例 …

老司机带带我:数仓建模架构|维度建模剖析与案例演示

作者基于多年的大数据处理经验,当前管理着100PB数据仓库和2000节点的集群。持续系统化给大家分享一下关于数据仓库建设的经验总结。本系列既有数据仓库的形而上学理论体系,也有结合公司业务的实践,既有大厂如阿里巴巴,京东&#x…

维度建模入门

1 概念 维度建模(dimensional modeling)是专门用于分析型数据库、数据仓库、数据集市建模的方法。数据集市可以理解为是一种"小型数据仓库"。 1.1 维度表(dimension) 维度表示你要对数据进行分析时所用的一个量,比如你要分析产品销售情况, 你可以选择按类别来进行分…

数据仓库——维度建模

数据仓库——维度建模 在维度建模中,将度量称为“事实”,将环境描述为“维度” 维度表 维度表概念 维度是维度建模的基础和灵魂。在维度建模中,将度量称为“事实”,将环境描述为“维度”,维度是用于分析事实所需要…

维度建模基本流程总结

一、维度建模基本流程图 数据RD进行业务调研和数据现状调研,产出符合相关模版规范的业务知识文档和数据现状文档。数据PM也会调研相关业务产出需求设计文档,三方参与需求评审,评审通过后基建数据RD进行需求拆解,产出技术方案&…

维度建模的基本理论

维度建模 围绕三个问题来展开 1、怎么组织数据仓库中的数据? 2、怎么组织才能使得数据的使用最为方便和便捷? 3、怎么组织才能使得数据仓库具有良好的可扩展性和可维护性? 维度建模两大派系 Bill Inmon(数据仓库之父) 的企业…

Kimball 维度建模理论

一、维度建模分为两种表 事实表 存在这样一些数据,如行为记录,操作记录,订单,日志等,都可以作为事实表 特点:每条数据都有一个唯一键,数据通常来说不会更新,随着时间的增加而增加维…

维度建模示例

以库存模块和零售模块这两个模块来谈一谈维度建模的相关事项梳理库存业务中的表的构造与设计思想梳理一下缓慢变化维的处理方法与优缺这篇博客计划用周末来完成,只能简单的讨论一下建模概况,从维度建模这本书中摘录出一些重要的知识点,对于维度建模这本书的报告计划在5.1之前完…

浅谈维度建模

前言:本人作为BI方向相关的数据系统后端开发,虽然不是从事具体的数仓方面的工作,但是对维度建模过程有个大致了解,可加深对于系统现有的架构设计的理解(比如数据模型构建,指标库的作用)&#xf…

关系建模与维度建模

一、OLTP与OLAP 当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-linetransaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。 OLTP是传统的关系型数据库的主要应用,主要是…

数仓维度建模实例

简介 本文将介绍维度建模理论和基于自己经验的实施步骤 数据模型就是数据组织和存储方法,它强调从业务、数据存取和使用角度合理存储数据....只有数据模型将数据有序的组织和存储起来之后,大数据才能得到高性能、低成本、高效率、高质量的使用。一般业务…

数据仓库-基础知识(维度建模)

一、数据仓库概述 1.1 数据仓库定义 数据仓库:Data Warehouse,是为企业所决策制定过程,提供所有支持类型的数据集合。用于分析性报告和决策支持。数仓是一个面向主题、集成的、相对稳定、反应历史变化的数据集合,随着大数据技术的…

数仓:维度建模

1.背景 数据仓库的核心是展现层和提供优质的服务。ETL 及其规范、分层等所做的一切都是为了一个更清晰易用的展现层。 2.数仓架构的原则: 1、底层业务的数据驱动为导向同时结合业务需求驱动 2、便于数据分析屏蔽底层复杂业务简单、完整、集成的将数据暴露给分析层…

数仓建模(维度建模)

目录 一、什么是建模?(为什么建模) 二、模型的好处 三、建模的方法 四、维度建模 4.1 基本概念 4.2 为啥选择维度建模(优缺点) 4.2.1 优点 4.2.2 缺点 4.3 维度建模-星型模型 4.4 维度建模-维度 4.4.1 维度之…

维度建模的三种模式

1.星型模式 星型模式是维度模型中最简单的形式,也是数据仓库以及数据集市开发中使用最广泛的形式。 星型模式由事实表和维度表组成,一个星型模式中可以有一个或多个事实表,每个事实表引用任意数量的维度表。 星型模式的物理模型像一颗星星的形…