汽车网络架构与常用总线汇总

news2024/11/24 1:31:30

汽车CAN总线简述

CAN 是控制器局域网Controller Area Network 的缩写,1986年,由德国Bosch公司为汽车开发的网络技术,主要用于汽车的监测与控制,目的为适应汽车“减少线束的数量”“通过多个网络进行大量数据的高速传输”的需求。

在这里插入图片描述

CAN发展时间线

  • 1983年,Bosch开始研究汽车网络技术
  • 1986年,Bosch在SAE大会正式公布CAN协议
  • 1987年,Intel和Philips先后推出CAN控制器芯片
  • 1991年,Bosch颁布CAN 2.0技术规范,CAN总线最先在Benz S系列轿车上实现
  • 1993年,ISO颁布CAN国际标准ISO-11898
  • 1994年,由CiA组织举办第一届国际CAN大会(iCC)
  • 2005年,CiA在中国的第一场CAN研讨会
  • 2013年,虹科与CiA正式深入合作致力CAN推广
  • 2015年,CAN FD的 ISO标准化
  • 2020年,CAN XL即将登场第十七届iCC大会

汽车网络是将汽车上所有电子传感器、执行器和电子控制单元(ECU)连接组网的通信形式。根据通信速率,汽车工程师协会(SAE)定义了如下类别的汽车网络。

在这里插入图片描述

当前的车用总线:

  • CAN(CANFD)
  • LIN
  • MOST
  • FlexRay
  • 车载以太网

在这里插入图片描述

通常汽车CAN网络细分

  • 动力CAN网络
  • 车身CAN网络
  • 组合仪表CAN网络
  • 诊断CAN网络

在这里插入图片描述

汽车网络典型应用

GLOF整车CAN网络拓扑

在这里插入图片描述

在这里插入图片描述


CAN总线在汽车网络中脱颖而出的“秘密”

曾经的车用总线

  • SAE J1850(Class2)
  • SAE J1708
  • K-Line
  • BEAN
  • Byte flight
  • D2B…

CAN通信特性的“公开秘密”

  1. 节点间采用多主通信方式
  2. 采用短帧结构,报文帧的有效字节数为8个,可达汽车实时响应要求
  3. 报文ID值越小,优先级越高。报文ID可分成不同的优先级,进一步满足汽车网络报文的实时性要求。
  4. 非破坏性总线仲裁处理机制。
  5. 可靠的CRC校验方式,传输数据出错率极低,满足汽车数据传输的可靠性要求。
  6. 报文帧仲裁失败或传输期间被破坏有自动重发(机制)。
  7. 节点在错误严重的情况下,具有自动脱离总线的功能,切断它与总线的联系,不影响总线的正常工作。
  8. 通信距离最远达10km(速率5Kbps以下)
  9. 通信速率最高1MB/s(此时距离最长40m)
  10. 节点数实际可达110个
  11. CAN节点设计成本较低,通信介质采用双绞线

OSI模型与CAN的关系

在这里插入图片描述


CAN收发器

定义:CAN收发器逻辑信号和物理信号之间的转换采用差分电平方式

  1. 将逻辑数字信号转换成物理信号
  2. 将物理信号转换成逻辑数字信号
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

CAN信号电平

CAN总线有ISO11898和ISO11519(低速容错CAN)两个标准

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


CAN编码方式 -> NRZ(非归零)

CAN编码采用NRZ非归零编码,相同带宽情况下,NRZ编码方式的信息量更大

在这里插入图片描述

CAN信号电平 -> 双绞线

问题:为什么要采用两根线(双绞线)的差分电平信号?

原因:双绞线传输差分信号时受到共模信号干扰后,电平差值不变,信号解码正常。

在这里插入图片描述

在这里插入图片描述

CAN信号电平 -> 线与原理

多个CAN节点并接到同一总线时,只要其中一个节点输出低电平,总线就为低电平;当所有节点输出高电平时,总线才为高电平。

在这里插入图片描述


CAN -> 异步串行通信

同步串行通信

在这里插入图片描述

异步串行通信

在这里插入图片描述
异步串行通信省去了时钟信号线,但遇到一个问题是:根据波特率做采样,波特率的误差会产生通信错误!


CAN -> 波特率误差带来的错误

在这里插入图片描述

问题:如何减少波特率的误差带来的通信错误?

解决:CAN总线规定信号的跳变沿时刻进行同步,将误差累计限制在两个跳变沿。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

php中laravel项目开发技巧与避坑

公司开发新业务,涉及到地址引用和循环遍历,结果测试人员说部分数据对不上,经排查,ID无值,name却有值,断点定位后,发现是地址引用的问题引起的 问题原因 数据库查询也确实是0 解决方案 注意事项…

理想架构的非对称高回退Doherty功率放大器理论与仿真

Doherty理论—理想架构的非对称高回退Doherty功率放大器理论与仿真 参考: 三路Doherty设计 01 射频基础知识–基础概念 Switchmode RF and Microwave Power Amplifiers、 理想架构的Doherty功率放大器(等分经典款)的理论与ADS电流源仿真参考…

什么是ORM思想?

1. ORM概念 ORM(Object Relational Mapping)对象关系映射模式,是一种技术,解决了面向对象与关系型数据库存互不匹配的现象。 ORM在业务逻辑层和数据库层之间充当了桥梁的作用。 2. ORM由来 在软件开发的过程中,通常…

UE5.2、CesiumForUnreal实现加载GeoJson绘制单面

文章目录 前言一、实现目标二、实现过程1.实现原理2.数据读取3.三角剖分3.具体代码 4.蓝图测试 前言 UE5、CesiumForUnreal实现加载GeoJson绘制单面(Polygon)功能(StaticMesh方式) 一、实现目标 通过读取本地的Geojson数据&…

【Go学习】Ginkgo测试框架学习实践 + 问题记录 + 怎么解决(0)

1、ginkgo测试框架介绍:https://onsi.github.io/ginkgo/ 2、重点是学习实践 问题记录 怎么解决 3、送福利:国内好用的ChatGpt有很多,比如:天工、文心一言、讯飞星火、通义万相等 1. 安装 xxxmacdeMacBook-Pro-3  /Volumes/mac…

关于网络模型的笔记

1. OSI 七层参考模型: 简介: 七层模型,亦称 OSI(Open System Interconnection)参考模型,即开放式系统互联。参考模型 是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联…

mc我的世界服务器多少钱一个月?

我的世界服务器多少钱一个月?低至7元一个月,阿里云和腾讯云均可以选择mc服务器,阿里云2核2G3M轻量服务器87元一年、腾讯云轻量2核2G3M服务器88元一年,阿里云ECS云服务器2核2G3M带宽99元一年,腾讯云2核4G5M带宽轻量应用…

IPoE技术汇总

在国内并没有遇到这么多的IPoE(IP over Ethernet)技术,可能也是因为我来日本多年了,没有接触国内的IPv4 over IPv6的技术,感觉国内IPv4地址紧张,用的传统NAT和PPPoE非常多,大多数设备还是建立在…

docker - compose 部署 Tomcat

目录 下面用 docker-compose 方法部署 Tomcat 1、准备工作 2、部署容器 启动容器 查看新启动的容器 3、总结 下面用 docker-compose 方法部署 Tomcat 1、准备工作 先在主机创建工作文件夹,为了放置 Tomcat 的配置文件等。创建文件夹的方法,自己搞…

【linux】远程桌面连接到Debian

远程桌面连接到Debian系统,可以使用以下几种工具: 1. VNC (Virtual Network Computing) VNC(Virtual Network Computing)是一种流行的远程桌面解决方案,它使用RFB(Remote Framebuffer Protocol&#xff0…

上位机图像处理和嵌入式模块部署(流程)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面我们说过,传统图像处理的方法,一般就是pccamera的处理方式。camera本身只是提供基本的raw data数据,所有的…

sublime text 开启vim模式

sublime text 开启vim模式 打开配置文件 mac下点击菜单栏 Sublime Text -> Settings... -> Settings 修改配置文件并保存 添加配置 // 开启vim模式 "ignored_packages": [// "Vintage", ], // 以命令模式打开文件 "vintage_start_in_comman…

【博客搭建记录贴】问题记录:hexo : 无法加载文件 C:\Program Files\nodejs\hexo.ps1,因为在此系统上禁止运行脚本。

1,背景 hexo(博客框架)安装完毕之后,正准备看看其版本,发现出现下面脚本禁止运行的错误。 PS C:\Users\PC> hexo -v hexo : 无法加载文件 C:\Program Files\nodejs\hexo.ps1,因为在此系统上禁止运行脚…

【Android】在WSA安卓子系统中进行新实验性功能试用与抓包(2311.4.5.0)

前言 在根据几篇22和23的WSA抓包文章进行尝试时遇到了问题,同时发现新版Wsa的一些实验性功能能优化抓包配置时的一些步骤,因而写下此篇以作记录。 Wsa版本:2311.40000.5.0 本文出现的项目: MagiskOnWSALocal MagiskTrustUserCer…

自然语言处理--概率最大中文分词

自然语言处理附加作业--概率最大中文分词 一、理论描述 中文分词是指将中文句子或文本按照语义和语法规则进行切分成词语的过程。在中文语言中,词语之间没有明显的空格或标点符号来分隔,因此需要通过分词工具或算法来实现对中文文本的分词处理。分词的…

RPC教程 3.服务注册

0. 前言 这一节要熟悉Go中的反射reflet,不然可能比较难理解。在使用到反射的一些函数时候,我也会讲解关于反射reflect的用法。 1.引出反射reflect 这个例子是表示客户端想使用Foo服务的Sum方法。即是想调用Foo结构体的Sum方法。 client.Call("F…

uniapp 在static/index.html中添加全局样式

前言 略 在static/index.html中添加全局样式 <style>div {background-color: #ccc;} </style>static/index.html源码&#xff1a; <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"utf-8"><meta http-…

Java线程池,看这一篇足够

目录一览 Java线程池1. Executors提供6个线程池快捷创建方式2. ThreadPoolExecutor的7大参数3. 自定义线程池 Java线程池 上一篇《Async注解的注意事项》说到Async注解要配合自定义线程池一起使用&#xff0c;这一节说下Java的线程池。 1. Executors提供6个线程池快捷创建方式…

基于springboot+vue的小徐影城管理系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

一个处理Range List的面试题解法

大纲 题目解法Rangeaddremove ToolsRangeListaddremove 代码 最近看到一个比较有意思的面试题。题目不算难&#xff0c;但是想把效率优化做好&#xff0c;也没那么容易。 我们先看下题目 题目 // Task: Implement a class named RangeList // A pair of integers define a ra…