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

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

一、车载网络概述

1.1 车载网络起源及CAN诞生条件

  • 二十世纪九十年代前,传统汽车的电器系统中各个模块之间采用点对点的通信方式,造成了庞大的布线系统,加之汽车近年来电子化、智能化趋势,独立运行的ECU足以实现电子功能。但工程师们很快就意识到,ECU彼此协调工作可以极大地增强车辆功能。
  • 最初,ECU之间数据交换是以传统方式实现的,即为每一个传输信号分配一个物理通信通道,既布线规模大,又造成了数据交换、节点协助困难,因此解决这一难题的方法是通过单个通信通道(总线)进行串行位数据交换。
  • CAN具有数据传输非常可靠的特点,可以满足应用领域的实时要求。

在这里插入图片描述

在这里插入图片描述

发展变化

1.1.1 ECU

ECU(electronic control unit)电子控制单元,简单理解就是汽车里控制某个具体功能的模块。常见的ECU比如:ABS(防抱死系统)、EMS(引擎管理系统)、电子防盗系统、自动空调等。各个ECU直接通过车载网络进行通信。

1.1.2 CAN总线概述

  • CAN(controller area network)控制器局域网络,最初CAN总线由德国Bosch(博世)公司设计,现在世界上几乎所有汽车制造商都在使用。

  • CAN发展简史

    1. 1983年,德国Bosch公司开发设计了CAN总线协议。
    2. 1987年,第一块CAN控制器芯片有Intel设计成功。
    3. 1991年,CAN2.0发布(A标准格式+B扩展格式,标准CAN 主要发布扩展帧来解决标准帧仲裁ID位数不够的问题)
    4. 1993年,CAN成为ISO标准,分ISO 11898高速应用和ISO 11519低速应用。
    5. 2012-2015年,CAN-FD发布。

二、CAN标准

CAN协议仅包括数据链路层和物理层。从下往上:

  1. CIA DS-102规定了CAN总线接头(推荐sub-D9,未强制使用)
  2. ISO 11898-3、ISO 11898-2区别于低速/高速CAN,对速率有要求。高速(如电机等)用ISO 11898-2(最高1M/S);低速(如雨刮等)用ISO 11898-3(125k/s)。
  3. ISO 11898-1对应controller控制器

边界条件

  1. 长度40米
  2. 速率最大1M/s
  3. 网络末端要有终端电阻(防止高频反射)
  4. 根据收发器负载能力挂载节点

在这里插入图片描述

CAN网络示意图:
对应ISO11898协议去看

物理构成:

在这里插入图片描述

host主机(人控制的部分)——CAN控制器——CAN收发器

控制器根据需要接收message。根据条件,有的需要携带对象存储器有的不需要(相当于收的信息多要加个内存,一般都有)。直接显示逻辑位(1/0)

收发器分为低速CAN和高速CAN收发器。收发器链接控制器和总线,如果总线上有很高的电平,只会破坏收发器而不会破坏到控制器(保护作用)

  • 低速CAN波特率0-125k/s,不需要终端电阻。看逻辑电平隐性1时是CAN_L比CAN_H要高5V,显性0时是CAN_H比CAN_L高2V左右。

  • 高速CAN波特率0-1M/s,要接一个120Ω的终端电阻。看逻辑电平隐性1时是CAN_L和CAN_H相同都是2.5V,压差为0;显性0时是CAN_H比CAN_L高2V。

  • 显性电平优先级高于隐性电平。当不同CAN节点同时发送显性和隐性总线电平时,CAN总线将呈现显性总线电平。只有当所有CAN节点都发送隐性电平时,CAN总线才呈现隐性总线电平。
    在这里插入图片描述

在这里插入图片描述

三、CAN特性

3.1 双线差分信号

3.2 协议本身对节点数量无限制,ID决定报文优先级

多主方式工作,网络上任意一个节点均可以在任意时刻主动向网络上的其他节点发送信息,不分主从,方便灵活。广播式发送报文,各个节点可以同时接收。(为了保证报文正确性:发送前检测,发送中回读)

CAN中无“地址”概念,通过报文ID收发信息。广播——>单播/组播

优先级由报文ID确定,ID越小优先级越高(高位0覆盖1)

3.3 保证系统数据一致性

CAN提供了一套复杂的错误检测与错误处理机制,比如CRC检测、接口的抗电磁干扰能力、错误报文的自动重发、临时错误的恢复以及永久错误的关闭。

3.4 编码方式:NRZ+位填充

NRZ(Non return zero):不归零制,与曼彻斯特编码相比无跳变但是可携带更多信息,位填充解决了长时间无跳变易产生误差的问题。

位填充:五个相同电平跳变一次。(填充位置和帧结构有关,下节说明)

3.5 CSMA/CA协议支持(很重要)

3.5.1 CSMA/CA协议发展

CSMA/CA,(Carrier Sense Multiple Access with Collision Avoid),即带有 冲突避免 的 载波侦听 多路访问。

是一种数据传输时避免各站点之间数据传输冲突的算法,其特点是发送包的同时不能检测到信道上有无冲突,只能尽量“避免”。

CS:载波侦听,发送前听信道上有无报文在发送,有的话就等待。

MA:多路访问,允许多个节点同时向总线收发信息。

CA:冲突避免,这里主要通过“非破坏性仲裁机制”完成,后一节讲帧结构会详细讲解。

  • 发展
    纯ALOHA——时隙ALOHA——CSMA/CA

    1. 纯ALOHA:发前不检测,长时间未收到确认帧认为信道有冲突,随机退避等待后重发,直至收到确认帧发送成功。问题:容易一直冲突,信道吞吐量低。

    2. 时隙ALOHA:把各个节点在时间上同步起来,并把时间化成一段段等长时隙slot,规定在每个时隙开始时才能发送报文(发送前先不确认是否有节点同时正在发送,所以先缓存一个周期时隙再发送)当发送碰撞时策略不变(随机退避)。理论上效率翻倍。

    3. CSMA:相比就只多了个对信道的载波侦听装置,其余策略基本不变。

  • 三种CSMA

    1. 1-坚持CSMA:信道空闲就发送,忙则一直等待但一直监听信道,冲突随机退避。(产生冲突可能性大)

    2. 非坚持CSMA:信道空闲就发送,忙则放弃,随机退避后再侦听信道。(降低冲突发送概率,但是会增加平均时延)

    3. p-CSMA:如果信道空闲,会有P的概率发送报文,同时有(1-P)的概率在下一个时隙发送,如果下一个时隙信道仍然空闲,重复上述做法。(前两者的折中策略)

资料来源Vectoe官网:elearning.vector.com


http://chatgpt.dhexx.cn/article/2ynhKfb1.shtml

相关文章

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

维度建模概述

1、维度建模 维度建模以分析决策的需求出发构建模型,构建的数据模型为数据分析服务。它重点解决如何更快速完成分析需求,同时还有较好的大规模复杂查询的响应性能。 因此,说白了,所谓的维度建模就是一种组织数据仓库的形式、模型…