您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
CAN总线入门
 
作者:记得诚
  3747  次浏览      18
 2020-9-2
 
编辑推荐:
今天的文章是关于最重要的车载总线-CAN BUS , 主要介绍、CAN 总线是什么,CAN的作用以及优点,最后介绍了基本的 CAN 总线电路,希望对您的学习有所帮助。
本文来自于与非网,由火龙果软件Alice编辑、推荐。

一、CAN 总线是什么?

CAN 是 Controller Area Network 的简称,是一种有效支持分布式控制或实时控制的串行通信网络,最早是由以研发和生产汽车电子产品著称的德国 BOSCH 公司开发的,1986 年,BOSCH 开发出面向汽车的 CAN 通信协议,后来,CAN 总线通过 ISO 11898 和 ISO 11595 进行了标准化,现在在欧洲是汽车网络的标准协议。

把汽车比如成人体,那 CAN 总线就是神经系统,电子控制单元(ECU)就是身体的一部分,身体是由多个 ECU 组成的,各个 ECU 之间通过神经系统进行通信,一个部分感知到的信息可以与另一部分共享。

CAN 的应用非常广泛,工业自动化、船舶、医疗设备、工业设备等方面。

二、CAN 总线的作用?

在汽车上,CAN 总线的作用就是把不同的部件连接起来,然后这些部件都执行同一套标准协议,这样的好处是兼容性高,信息可以可靠共享,并且能减少整车的线束数量。

节点可以挂很多部件

三、CAN 总线的优点

1. 简单低成本:ECU 通过单个 CAN 系统进行通信,而不是直接的复杂模拟信号线通信,这样减少了错误,重量,接线和成本。

2. 完全集中:CAN 总线提供了一个接入点,可以与所有网络 ECU 进行通信,——支持集中诊断,数据记录和配置。

3. 稳定:CAN 总线具有强大的抗电干扰和抗电磁干扰能力,非常适合对安全要求严格的应用(例如车辆)。

4. 高效:通过 ID 对 CAN 帧进行优先级排序,以便优先级最高的数据可以立即访问总线,而不会引起其他帧的中断。

四、CAN 总线的历史

CAN 总线发展很多年了。

CAN 之前版本:汽车 ECU 是复杂点对点布线。

1986 年:博世开发了 CAN 协议作为解决方案。

1993 年:CAN 被采用为估计标准(ISO 11898)

2003 年:ISO 11898 称为标准系列。

2012 年:博世发布了 CAN FD 1.0

2015 年:CAN FD 协议标准化(ISO 11898-1)

2016 年:CAN 物理层,数据速率高达 5Mbit/s,已通过 ISO 11898-2 标准化。

如今,CAN BUS 已成为汽车、卡车、公共汽车、拖拉机、轮船、飞机等的标准配置。

五、CAN 总线拓扑图

从拓扑图中可以看到一个 CAN 节点,主要由 CPU,CAN 控制器,CAN 收发器组成。

CAN 总线拓扑

1. 显性和隐性

CAN 总线是差分线,有 CAN_H 和 CAN_L 两根线,差分线的抗干扰能力强,外界有干扰时,几乎同时会耦合到差分线的两根线上,而接收端关心的只是两信号的差值,所以外界的共模噪声可以被完全抵消,图中箭头所示,虽然两根线都受到干扰,但是两者差值不变。

CAN 收发器根据 CAN_H 和 CAN_L 的差值来判断总线电平,总线电平有两种,显性电平和隐性电平,CAN2.0A/B 规定的总线 value 如下:

有人会说,为什么显性电平是逻辑 0,是因为 CAN 总线采用的"线与"的规则进行总线冲裁,在 CAN2.0 上规定了总线上同时传输显性和隐形电平时,总线是显性,即 1&0=0,所以 0 为显性。

从下图可以看到,ISO11898 的电平和 ISO11519 是不一样的,现在大多数都是和 ISO11898 一样的。下面是两个显隐性电平的区别比较,同时给出了最大最小值。

两种标准 CAN 总线电平区别

2. CAN 收发器的作用

顾名思义,收发器既可以收,也可以发,收是接收 CAN 总线上的差分数据,将数据转换为 TTL 电平,发送给控制器;发是将 CAN 控制器的 TTL 电平信号转换为差分信号进行总线数据传输。

3. CAN 控制器的作用

CAN 控制器一方面接收收发器的数据,进行解析后发送给 CPU;另一方面接收 CPU 的指令数据,然后发送给 CAN 收发器。

4. 120Ω终端电阻

高频信号传输时,信号波长相对传输线较短,信号在传输线终端会形成反射波,干扰原信号,所以需要在传输线末端加终端电阻,使信号到达传输线末端后不反射。

对于低频信号则不用 CAN 总线两端必须连接终端电阻才可以正常工作,终端电阻应该与通讯电缆的阻抗相同,典型值为 120 欧姆,其作用是匹配总线阻抗,提高数据通信的抗干扰性及可靠行。

终端电阻并不都是 120Ω,以下是 ISO 11898 协议的推荐值。

终端电阻取值

四、基本的 CAN 总线电路

如下就是 CAN BUS 的基本电路,因为一般节点都是和 OBD 接口相连的,ESD 保护非常重要,另一方面 120Ω并不是任何时候都需要,所以电路设计时加一个 JP1 跳接帽比较好。

必要时需要在 CAN_H 和 CAN_L 预留 RC EMI filters,用来吸收 EMI。

CAN 总线上预留 RC 吸收 EMI

今天的文章到这里就结束了。。。

 

 
   
3747 次浏览       18
 
相关文章

云计算的架构
对云计算服务模型
云计算核心技术剖析
了解云计算的漏洞
 
相关文档

云计算简介
云计算简介与云安全
下一代网络计算--云计算
软浅析云计算
 
相关课程

云计算原理与应用
云计算应用与开发
CMMI体系与实践
基于CMMI标准的软件质量保证
最新课程计划
信息架构建模(基于UML+EA)3-21[北京]
软件架构设计师 3-21[北京]
图数据库与知识图谱 3-25[北京]
业务架构设计 4-11[北京]
SysML和EA系统设计与建模 4-22[北京]
DoDAF规范、模型与实例 5-23[北京]
 
最新文章
基于FPGA的异构计算在多媒体中的应用
深入Linux内核架构——简介与概述
Linux内核系统架构介绍
浅析嵌入式C优化技巧
进程间通信(IPC)介绍
最新课程
嵌入式Linux驱动开发
代码整洁之道-态度、技艺与习惯
嵌入式软件测试
嵌入式C高质量编程
嵌入式软件可靠性设计
更多...   
成功案例
某军工所 嵌入式软件架构
中航工业某研究所 嵌入式软件开发指南
某轨道交通 嵌入式软件高级设计实践
深圳 嵌入式软件架构设计—高级实践
某企业 基于IPD的嵌入式软件开发
更多...