汽车电子(一)--- 整车CAN网络介绍

2023-05-16

在了解can网络之前, 先了解1个问题:

什么是智能硬件与ECU ?

何为智能硬件, 就是包含智能控制单元的硬件,
比如发动机, 发动机上有一块儿专门负责控制发动机进气量, 喷油量, 排气量的控制单元, 这块单元相当于发动机的大脑. 他具有信号发送, 信号接收, 参数存储等基本功能, 这个控制单元就是ECU.

ECU(Electronic ControlUnit)电子控制单元,是汽车专用微机控制器, 一个ECU一般负责1个或多个智能硬件设备.

随着汽车的发展, 车上的智能设备越来越多, 也就是说车上的ECU也越来越多, 如何用一个网络把这些智能设备的ECU全部连接起来并整体协调控制?

这就是CAN网络!

☟☟☟

CAN网络

CAN(Controller Area Network)控制器局域网络,
CAN网络在早期的整车应用中以BCM(车身控制器)为控制中心,
主要是车身零部件(雨刮/大灯/车窗…),智能硬件较少,所以早期的正常CAN网络把所有其他的ECU全部放在Other ECU里边,
如下图。

在这里插入图片描述

每条CAN总线一般都是由2根线组成的双绞线构成,一根can_high,一根can_low,分别代表高电平和低电平,

以下是某条CAN总线的模型图, 一条CAN总线上连着4个ECU控制单元.
在这里插入图片描述
一般燃油车的CAN网络可以分成如下5条CAN总线:

1. PT CAN (PowerTrain CAN ) 动力总成CAN总线

PT CAN总线上一般有以下ECU:

ECM ( Engine Control Module )发动机控制模块
SRS ( SupplementalRestraintSystem)电子安全气囊
BMS ( Battery Management System )电池管理系统
EPB Electronic Park Brake电子驻车系统

PT CAN负责车辆动力,是整车CAN网络信号优先级及信号传输速率最高的一条CAN总线。

2. CH CAN (Chassis CAN) 底盘控制CAN总线

CH CAN总线上一般有以下ECU:

ABS ( Antilock Brake System )防抱死制动系统
ESP(Electronic Stability Program)车身电子稳定系统
EPS(Electric Power Steering)电子转向助力

CH CAN负责汽车底盘及4个轮子的制动/稳定/转向,由于涉及整车制动/助力转向等, 所以其网络信号优先级也是较高的。

3. Body CAN车身控制总线

Body CAN总线上一般有以下ECU:

AC ( Air Condition )空调
AVM(Around View Monitor)360环视
BCM(Body Control Module)天窗, 车窗, 雾灯, 转向灯, 雨刮…
IMMO(Immobilizer)发动机防盗系统
TPMS(Tire Pressure Monitoring System)胎压监控系统

Body CAN负责车身上的一些提高舒适性/安全性的智能硬件的管理与控制,其网络信号优先级较低, 因为以上设备都是辅助设备。

4. Info CAN ( Infomercial CAN ) 娱乐系统总线

Info CAN 总线上一般有以下ECU:

VAES( Video Audio Entertainment System)车载娱乐系统(中控)
IPK(Instrument Pack)组合仪表, 当今的数字仪表, 基本有音乐, 地图, 通话等娱乐功能.

Info CAN是辅助可选设备, 所以优先级也是较低的,主要负责车身上的一些提高娱乐性的智能硬件的管理与控制。

5. DiagCAN ( Diagnose CAN ) 诊断控制总线

DiagCAN总线主要提供远程诊断功能,只有一个ECU:

在这里插入图片描述
 

CAN网络基本构成单元1_ECU节点

就是车上的智能硬件设备里ECU控制单元.
比如ABS(防抱死系统)这个ECU是专门用于车辆制动过程中防止车轮被抱死的一套智能设备.
当今汽车越豪华,ECU就越多,智能控制硬件就越多,相对价格就越贵.一般的,一辆车普通的家用 轿车都有25个左右ECU.
如下图, 车上某个智能硬件上的ECU(智能电子控制单元)
在这里插入图片描述
由于车上ECU太多, 每种ECU作用各不相同, 信号传输速率(波特率)也不一致.
为了更加方便管理这些ECU, 我们把以上各类ECU按其功能/波特率分别布置在5条CAN总线上.

☟☟☟


 

CAN网关

CAN网关或叫汽车网关,因为网关不仅处理CAN网络,还处理LIN网络.

CAN网关的外形结构:
在这里插入图片描述
实际can网关大概有六七十个接线pin脚,每个接线pin脚都有严格的定义, 要匹配规定好的can总线或者开关设备,
除了刚才涉及的10个can线接线口(5条双绞线),2个电源线接线口,
还应包括
定速巡航设备的8个接线口,
电源管理方面的3个接线口,
钥匙开关(或无钥匙启动系统)的5个接口,
脚踏板的3个接线口,
5个LIN接线pin脚,
档位开关的4个接线pin脚
等等。

某些汽车厂商可能有更多新的硬件开关设备,电压电阻开关设备等也都有对应的接线pin脚,
且可能预留一些PIN脚以备用.

CAN网关是整个CAN网络的核心, 控制着整车5条CAN总线的各类信号转发与处理,基本功能包括:

1. 连接不同波特率(传输速度)的CAN总线/LIN总线,以实现CAN网络的网关中继功能。
2. 诊断报文/非诊断报文转发。
3. 诊断防火墙管理。
4. 节点在线监控。
5. 巡航控制器开关检测。
6. 脚踏板位置检测。
7. 网关休眠与唤醒管理。
8. ECU升级/网关升级。
9. 电压管理。

CAN网关可以接收任何CAN总线(还有LIN总线)传来的不同传输速率网络信号,把这些信号按一定的标准处理后,广播到整车网络去,如果有ECU订阅(接收)了这个信号, 则ECU将解析信号并做相应的处理。
整车所有ECU基本是以毫秒级或者微妙级的速度在源源不断的发送并接收信号,所以网关需要处理并转发广播的信号是非常多的且必须要很快处理完的。


 

实例一 仪表显示发动机转速

发动机的转速信号, 先从PCAN的ECM(发动机引擎控制模块)节点发出, CAN网关收到后,
网关处理后广播以GW_开头的ECM信号到其他4条CAN总线上去.
用Vehicle Spy 3 CAN工具查看可以看到以下的信号内容:

ECAN上的仪表(IPK)节点订阅(接收)了发动机转速信号, 则会将这个转速信号解析, 并显示到仪表盘去.
由于以上信号发送频率太快, 比如上图的9.94ms/次, 则你就会看到仪表盘上的转速指针一直在不停地偏动.

简略发送图如下:
在这里插入图片描述


 

实例二 安全带未扣紧, 仪表端报警

安全带未扣紧需要两个条件:

  1. 车速大于5
  2. 安全带扣未扣 ( 即无电压信号 )

车速一般是PCAN上的ECM(发动机引擎控制模块)节点负责信号管理的.
安全带扣这个设备是BCAN上的BCM(负责天窗, 车窗, 安全带扣, 雨刮等车身零部件设备…) 节点负责信号管理的.

即网关收到PCAN上的ECM节点发出来的车速信号,
并收到了BCAN上的BCM发出来的安全带扣电压值为异常值(比如0),
CAN网关统一处理后转发并广播以GW_开头的信号帧,

ECAN上的仪表(IPK)节点订阅(接收)了GW_开头的相关安全带未扣信号帧, 则会解析报警并显示到仪表盘去.
如果安全带扣一直未扣紧,则CAN网关将一直发送GW_开头的相关安全带信号帧,
其信号值是安全带未扣紧,所以车主会听到一直报警.

直到安全带扣上, CAN网关继续发送安全带相关的信号, 只是这个时候的信号值是安全带已扣紧,报警将立马消失.

在这里插入图片描述

总结:

以上只是两个简易的案例, 实际上, 整车所有ECU基本是以毫秒级或者微妙级的速度在源源不断的发送并接收信号, 所以网关需要处理并转发广播的信号是非常多的且必须要很快处理完的.



 

参考文章:
CAN网关及CAN信号转发机制;
整车CAN网络基本结构;
Tbox在整车CAN网络的位置与作用;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

汽车电子(一)--- 整车CAN网络介绍 的相关文章

  • 惠普暗影精灵VMware安装CentOS7显示[此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态]

    进入BIOS页面开启CPU虚拟化处理技术 电脑开机时按 ESC 键进入系统启动菜单 然后按F10进入BIOS页面 xff0c 开启 处理器虚拟化技术
  • Python的main函数

    在 Python 中 xff0c 程序的入口点通常指的是一个特定的函数 xff0c 即 main 函数 这个函数是程序的起点 xff0c 也是程序的入口 xff0c 通过调用 main 函数 xff0c 程序开始执行 在 Python 中
  • CMakeList静态库多层嵌套问题 undefined reference to

    前言 被一个问题缠绕了很长时间 xff0c 这两天花精力好好研究了一下 xff0c 总算解决了 xff0c 翻过来看 xff0c 就是自己不注意造的很多小问题 我的想法是把一些代码封装起来 xff0c 但是有些部分要求能让现场工作同事有一定
  • gazebo仿真环境中 加入传感器

    1 传感器加入自己的模型中需要那些步骤 1 节点说明 xff0c 链接关系 lt robot name 61 test gt lt link name 61 34 link1 34 gt lt link name 61 34 link2 3
  • 以下为Windows NT 下的32 位C++程序,请计算sizeof 的值

    char str 61 Hello char p 61 str int n 61 10 请计算 sizeof str 61 sizeof p 61 sizeof n 61 答案 6 4 4 void Func char str 100 请计
  • vue实现显示10条数据点击查询看更多

    vue实现显示10条数据点击查询看更多 要求如下 当页面的数据超过10条时只显示10条 且显示 点我查看更多喔 每次点击 页面数据增加10条 思路解析 如题 假设有20条数据 只显示10条 点击查看更多按钮 span class token
  • 433和2.4G无线通信比较

    DSSS 2 4G无线数据传输系统优势 一 很正常的升级换代 xff1a 系统工作的长期稳定性和可靠性 xff0c 是一个无线通信系统最重要的指标 由于一般433兆及915兆产品使用的是低频窄带通信技术 xff0c 它们的工作频率范围很窄5
  • Android adb dumpsys 命令总结

    adb shell dumpsys 有哪些命令可以用 xff0c 可以使用adb shell service list来查看 查看package这个service的帮助信息 adb shell dumpsys package h 查看act
  • 在STM32中实现ROS节点——Rosserial的用法

    目录 内容介绍前言生成要移植到stm32的自定义消息和服务生成针对stm32的移植库包roslibs在Mdk中实现C和C 43 43 代码混合编译修改mdk配置修改stm32 ROS通讯接口驱动测试补充说明 内容介绍 本文介绍如何将stm3
  • ubuntu下用apt-get install 安装软件时出现 initramfs-tools错误

    错误提示 xff1a gzip stdout No space left on device E mkinitramfs failure cpio 141 gzip 1 update initramfs failed for boot in
  • ubuntu虚拟机下桥接模式,静态ip上网

    近期使用VM安装了ubuntu12 10玩玩 xff0c 途中也遇到了许多问题 xff0c 安装完成后 xff0c 系统默认是选择NAT连接方式的 xff0c 可以直接通过火狐浏览器上网 xff08 不需任何设置 xff0c 系统自己配置好
  • Windows下安装GTK+(整理)

    以下为网上摘的 xff0c 自己把它整理在了一起 WINDOWS下实现GTK 43 GTKMM的编程 xff08 一 xff09 下载软件包 1 下载dev C 43 43 开发软件 xff08 我的版本是4 9 9 2 xff09 2 下
  • windows gtk+开发环境搭建方法详解(图解)

    GTK 43 开发环境搭建 工欲善其事 必先利其器 首先介绍一下GTK 43 开发环境的搭建 网上很多所谓的GTK的开发环境的搭建基本都是抄来抄去 也不知道有没有人使用他们介绍的方法搭建并编译成功 很不幸的是我使用他们写的方法没有搭建成功
  • GTK在Linux下的安装

    linux gtk 是linux平台下的图形界面开发接口 xff0c 它不同于qt xff0c 它是完全免费的 xff0c Qt是基于c 43 43 的商业开发包 xff0c 涉及版权等问题 xff0c gtk则是基于c的全免费的 xff0
  • android SDK下各目录的用途,以及在不同系统下哪些是通用的。

    Android SDK 目录下有很多文件夹 xff0c 主要都是干什么的呢 1 add ons 这里面保存着附加库 xff0c 比如google Maps xff0c 当然你如果安装了OPhone SDK xff0c 这里也会有一些类库在里
  • Linux系统文件系统基础罗列

    Linux 文件系统是linux的一个十分基础的知识 xff0c 同时也是学习linux的必备知识 本文将站在一个较高的视图来了解linux的文件系统 xff0c 主要包括了linux磁盘分区和目录 挂载基本原理 文件存储结构 软链接硬链接
  • 至今互联网上收集最全的精品教育资源【转载+补充】

    海慧为您奉上 xff01 xff01 xff01 操作指引 xff1a 第一步 xff1a 注册一个360云盘账号 xff0c 注册地址 xff1a yunpan 360 cn xff0c 拥有自己的账号和密码 第二步 xff1a 下载36
  • Linux Android 真机调试配置

    1 USB 链接手机 xff0c 打开USB调试 2 在终端中输入lsusb命令 xff0c 查看USB设备信息 xff0c 找到手机对应的USB信息 eg Bus 002 Device 003 ID 12d1 1035 Huawei Te
  • 【ROS2】类ROS1的rate定时器写法(c++&python例子)

    在ROS2官方教程里 xff0c 代码和ROS1例程有很大不同 xff0c 大部分节点都使用了类的写法 xff0c 并且用到了很多C 43 43 的新功能 其中 xff0c 发布消息是采用了一个定时器timer xff0c 并且注册一个回调
  • C++中STL常用容器的优点和缺点

    我们常用到的STL 容器 有vector list deque map multimap set和multiset xff0c 它们究竟有何区别 xff0c 各自的优缺点是什么 xff0c 为了更好的扬长避短 xff0c 提高程序性能 xf

随机推荐

  • APM飞控学习之路:5 串口概述与收发调试

    云中谁寄锦书来 xff0c 雁字回时 xff0c 月满西楼 当无人机在空中飞翔时 xff0c 从APM飞控到飞手之间有几条看不见的 风筝线 xff08 1 xff09 2 4GHz的遥控 xff1b xff08 2 xff09 433 91
  • 【Android车载系列】第3章 车载通讯CAN协议

    1 CAN总线的基本概念以及由来 1 1 简介 CAN 总线即控制器局域网总线 CAN xff0c Controller Area Network 是一种用于实时应用的串行通讯协议总线 xff0c 被公认为最有发展前景的现场总线之一 由 B
  • 经典面试题---linux启动流程

    linux启动流程 xff1a power on gt BIOS加电自检 xff0c 根据引导顺序启动 gt MBR gt grub stage2 gt boot grub grub conf gt 加载内核和ramfs文件系统 gt in
  • APM添加超声模块及定高程序分析

    给飞控添加新的模块 xff0c 通常的做法是写驱动文件 xff0c 然后用uORB订阅消息 xff0c 这种方法已经有文章介绍了 xff0c 下面介绍另一种更加简洁的方法 硬件连接 UARTD xff08 ttyS2 xff09 超声 Bo
  • 光流定点若干问题分析

    一 光流摄像头移动速度快慢对结果的影响 实际测试发现 xff0c 在一定高度水平慢速移动光流摄像头20个单位长度 xff0c 光流累加值为6 9 Pixel xff0c 水平快速移动光流摄像头20个单位长度 xff0c 光流累加值为50 6
  • 光流定点程序梳理

    本文主要分析飞控获取到光流数据之后 xff0c 如何实现定点 xff0c 至于光流算法 xff0c 不在本文讨论范围内 官网介绍的PX4 Flow采用STM32F4作为主控 xff0c 定点效果不错 xff0c 但价格稍贵 xff0c 而且
  • 关于SM2加密验签的操作

    对接银行的统一收单系统 xff0c 用到SM2加密验签流程 xff1a 1 xff1a 统一收单系统对接平台商户需要向CFCA申请复合证书 xff0c 一个用于商户签名 xff0c 另外一个用于报文加密 2 xff1a 平台商户入驻成功后
  • Vue脚手架运行报错multi-word-component-names

    问题描述 Vue脚手架运行的报错 error Component name Union should always be multi word vue multi word component names You may use speci
  • ucosIII学习总结

    看到以前写的ucos博客还有人看 xff0c 感到很欣慰 xff0c 写篇博客给刚学习ucos的同学一些建议 xff0c 希望对你们的学习有所帮助 写在前面 xff0c 当初学ucos完全是误打误撞 xff0c 从单片机一路走来 xff0c
  • Ubuntu 18.04 手动配置分区并安装

    环境说明 安装环境 xff1a VMWare WorkStations Pro 15 5 1 操作系统 xff1a ubuntu 18 04 4 desktop amd64 CPU xff1a 4 核 内存 xff1a 8 GB 磁盘 xf
  • Make 命令(持续更新)

    一 背景 Make是最常用的构建工具 xff0c 诞生于1977年 xff0c 主要用于C语言的项目 但是实际上 xff0c 任何只要某个文件有变化 xff0c 就要重新构建 的项目 xff0c 都可以用Make构建 make只是一个根据指
  • linux c++ 服务器端开发面试必看书籍

    摘自别人博客 xff0c 地址 xff1a http blog csdn net qianggezhishen article details 45951095 打算从这开始一本一本开始看 题外话 xff1a 推荐一个 github 上的
  • K8s网络实战分析之service调用

    在上一篇文章K8s网络实战分析之Calico ipip模式中 xff0c 我们通过Pod之间进行ping操作 xff0c 对基于Calico IPIP模式的K8s网络进行了实战学习与分析 单单进行Pod Pod的访问只是K8s的基础功能 x
  • RTK(Real - time kinematic,实时动态)载波相位差分技术

    GPS和RTK区别在于 xff1a 二者bai指代du不同 二者作用不同 二者原理不同 1 二者指代不同 xff1a RTK是载波dao相位差分技术 xff0c 是实时处理两个测量站载波相位观测量的差分方法 xff1b GPS是全球定位系统
  • RTK+GPS提高定位精度原理解析

    RTK 43 GPS提高定位精度原理解析 xff08 一个小白写给另一个小白系列 xff09 GPS定位原理回顾RTK基本概念RTK组成RTK传输差分示意RTK数据链接坐标转换RTK应用后记 我们在上一篇文章导航定位系统的原理解析 xff0
  • GPS、RTK、PPK三种定位技术的原理及应用

    一 GPS技术 1 原理 之前做过集成GPS功能的产品 xff0c 对这种不以定位为主要功能的产品 xff0c 精度是没有要求的 xff0c 例如我只是用它来得到当前社区的位置 xff0c 一般的GPS模块都能满足要求 理论上 xff0c
  • AT命令与ppp协议

    AT 即Attention xff0c AT指令集是从终端设备 Terminal Equipment xff0c TE 或数据终端设备 Data Terminal Equipment xff0c DTE 向终端适配器 Terminal Ad
  • 无人机开发-图传技术

    2016年 xff0c 是中国无人机市场的元年 xff0c 无人机能够一跃进入大众视野 xff0c 并迅速在大众市场火热发展 xff0c 是很多人始料未及的 从刚开始的空中摄录 xff0c 到后来的实时摄录 xff0c 方便的无人机图传功能
  • 无人机飞行原理

    一 无人机的飞行原理 旋翼和轮子一样 xff0c 是一项神奇的发明 四旋翼无人机更是化作了航拍机 xff0c 满足了许多普通人关于天空的想象 旋翼之所以能飞 xff0c 玩过竹蜻蜓的朋友应该都知道 xff1a 当手的搓动给了竹蜻蜓一个旋转的
  • 汽车电子(一)--- 整车CAN网络介绍

    在了解can网络之前 先了解1个问题 什么是智能硬件与ECU 何为智能硬件 就是包含智能控制单元的硬件 比如发动机 发动机上有一块儿专门负责控制发动机进气量 喷油量 排气量的控制单元 这块单元相当于发动机的大脑 他具有信号发送 信号接收 参