当前位置:首页 > > 可靠性杂坛
[导读]本文来源面包板社区1、简介CAN是控制器局域网络(ControllerAreaNetwork,CAN)的简称,是一种能够实现分布式实时控制的串行通信网络。优点:传输速度最高到1Mbps,通信距离最远到10km,无损位仲裁机制,多主结构。近些年来,CAN控制器价格越来越低。Ø低成本...


本文来源面包板社区




1、简介


CAN是控制器局域网络(Controller Area Network, CAN)的简称,是一种能够实现分布式实时控制的串行通信网络。


优点:


传输速度最高到1Mbps,通信距离最远到10km,无损位仲裁机制,多主结构。近些年来,CAN控制器价格越来越低。


Ø 低成本:ECUs通过单个CAN接口进行通信,布线成本低。


Ø 高集成:CAN总线系统允许在所有ECUs上进行集中错误诊断和配置。


Ø 可靠性:该系统对子系统的故障和电磁干扰具有很强的鲁棒性,是汽车控制系统的理想选择。


Ø 高效率:可以通过id对消息进行优先级排序,以便最高优先级的id不被中断。


Ø 灵活性:每个ECU包含一个用于CAN总线收发芯片,随意添加CAN总线节点。


2、CAN总线网络



CAN总线网络主要挂在CAN_H和CAN_L,各个节点通过这两条线实现信号的串行差分传输,为了避免信号的反射和干扰,还需要在CAN_H和CAN_L之间接上120欧姆的终端电阻。为什么是120Ω,因为电缆的特性阻抗为120Ω,为了模拟无限远的传输线。


3、CAN收发器


CAN收发器的作用是负责逻辑电平和信号电平之间的转换。



即从CAN控制芯片输出逻辑电平到CAN收发器,然后经过CAN收发器内部转换将逻辑电平转换为差分信号输出到CAN总线上,CAN总线上的节点都可以决定自己是否需要总线上的数据。具体的引脚定义如下:



4、CAN信号表示


CAN总线采用不归零码位填充技术,也就是说CAN总线上的信号有两种不同的信号状态,分别是显性的(Dominant)逻辑0和隐形的(recessive)逻辑1,信号每一次传输完后不需要返回到逻辑0(显性)的电平。



显性与隐性电平的解释:


CAN的数据总线有两条,一条是黄色的CAN_High,一条是绿色的CAN_Low。当没有数据发送时,两条线的电平一样都为2.5V,称为静电平,也就是隐性电平。当有信号发送时,CAN_High的电平升高1V,即3.5V,CAN_Low的电平降低1V,即1.5V。


按照定义的:


  • CAN_H-CAN_L < 0.5V 时候为隐性的,逻辑信号表现为"逻辑1"- 高电平。


  • CAN_H-CAN_L > 0.9V 时候为显性的,逻辑信号表现为"逻辑0"- 低电平。


5、CAN信号传输


发送过程: CAN控制器将CPU传来的信号转换为逻辑电平(即逻辑0-显性电平或者逻辑1-隐性电平)。CAN发射器接收逻辑电平之后,再将其转换为差分电平输出到CAN总线上。



接收过程: CAN接收器将CAN_H 和 CAN_L 线上传来的差分电平转换为逻辑电平输出到CAN控制器,CAN控制器再把该逻辑电平转化为相应的信号发送到CPU上。





5、CAN数据传输


CAN总线传输的是CAN帧,CAN的通信帧分成五种,分别为数据帧、远程帧、错误帧、过载帧和帧间隔。


数据帧根据仲裁段长度不同分为标准帧(2.0A)和扩展帧(2.0B)



帧起始


由一个显性位(低电平)组成,发送节点发送帧起始,其他节点同步于帧起始;


帧结束


由7个隐形位(高电平)组成。



仲裁段


只要总线空闲,总线上任何节点都可以发送报文,如果有两个或两个以上的节点开始传送报文,那么就会存在总线访问冲突的可能。但是CAN使用了标识符的逐位仲裁方法可以解决这个问题。


CAN总线控制器在发送数据的同时监控总线电平,如果电平不同,则停止发送并做其他处理。如果该位位于仲裁段,则退出总线竞争;如果位于其他段,则产生错误事件。



帧ID越小,优先级越高。由于数据帧的RTR位为显性电平,远程帧为隐性电平,所以帧格式和帧ID相同的情况下,数据帧优先于远程帧;由于标准帧的IDE位为显性电平,扩展帧的IDE位为隐形电平,对于前11位ID相同的标准帧和扩展帧,标准帧优先级比扩展帧高。



数据段


一个数据帧传输的数据量为0~8个字节,这种短帧结构使得CAN-bus实时性很高,非常适合汽车和工控应用场合如图27所示。



数据量小,发送和接收时间短,实时性高,被干扰的概率小,抗干扰能力强。





—END—


热门推荐:





本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

在汽车电子、工业自动化、新能源电力电子等强干扰场景中,CAN总线是目前应用最广泛的现场总线之一,而CAN收发器作为CAN控制器和物理总线之间的接口核心,直接决定了整个总线网络的通信可靠性和鲁棒性。很多工程师在设计CAN通...

关键字: CAN收发器 CAN总线

CAN(Controller Area Network)总线是一种多主串行通信协议,广泛应用于工业控制和汽车电子领域。GD32系列MCU内置的CAN控制器遵循CAN 2.0A/2.0B协议规范,其核心工作机制围绕三大模块...

关键字: GD32 CAN总线

在车载诊断(OBD)、电池管理系统(BMS)、车身控制模块(BCM)等汽车电子场景中,CAN总线依然是数据交互的事实标准。Linux从2.6内核开始引入SocketCAN子系统,将CAN总线抽象为网络设备,开发者可以用标...

关键字: CAN总线 驱动开发 汽车电子

OCA最初是一个实用工具,旨在让我的CAN总线项目开发更加轻松。我决定将其发布为开源项目,以便开发者、学生和嵌入式系统专业人士可以使用它,研究其工作原理,并贡献改进。

关键字: CAN总线 Python XMC4700

CAN总线作为工业自动化、新能源汽车、智能设备领域的核心通信总线,凭借差分传输、多主仲裁、抗干扰性强的优势,成为设备数据交互的核心载体。但在复杂电磁环境中,地电位差、共模干扰、浪涌电压、电源噪声等问题,极易导致总线数据丢...

关键字: 信号隔离 CAN总线 隔离

在工业现场,CAN总线一旦出现通信故障,往往影响整条产线。不同于实验室环境,现场工程师通常没有昂贵的CAN分析仪,需要在有限条件下快速定位问题。本文总结三种不依赖专业仪器的实用诊断方法,帮你从物理层到协议层逐步排查。

关键字: CAN总线 示波器

在工业现场,CAN总线的稳定性直接决定了产线的生死。当设备频繁掉线或数据异常时,错误帧(Error Frame)是总线发出的第一声“求救信号”。本文将基于STM32等主流MCU,详解如何从底层捕获错误帧,并快速定位物理层...

关键字: CAN总线 错误帧

在现代工业控制、汽车电子、智能家居等众多领域,数据的可靠、高效传输是系统稳定运行的关键。CAN(Controller Area Network,控制器局域网)总线作为一种串行通信协议,凭借其高抗干扰性、多主通信、错误检测...

关键字: CAN总线 收发器

在工业自动化、汽车电子等场景中,RS485和CAN总线因其长距离传输和抗干扰能力被广泛应用。然而,复杂电磁环境下的共模干扰、地电位差等问题常导致通信中断甚至设备损坏。通过硬件隔离电路切断物理连接路径,结合软件容错机制增强...

关键字: 通信总线 CAN总线

在工业自动化、汽车电子等领域,CAN总线凭借其高可靠性、实时性和抗干扰能力,成为数据传输的核心脉络。然而,在CAN节点设计过程中,是否为总线添加共模电感,始终是工程师们争论的焦点。有人认为共模电感是提升总线稳定性的“必备...

关键字: 电感 CAN总线
关闭