搜档网
当前位置:搜档网 › (完整版)CAN总线解析

(完整版)CAN总线解析

(完整版)CAN总线解析
(完整版)CAN总线解析

一、概述

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

想到CAN就要想到德国的Bosch公司,因为CAN就是这个公司开发的(和Intel)CAN 有很多优秀的特点,使得它能够被广泛的应用。比如:传输速度最高到1Mbps,通信距离最远到10KM,无损位仲裁机制,多主结构。

近些年来,CAN控制器价格越来越低,很多MCU也集成了CAN控制器。现在每一辆汽车上都装有CAN总线。

一个典型的CAN应用场景:

二、CAN总线标准

CAN总线标准只规定了物理层和数据链路层,需要用户来自定义应用层。不同的CAN标准仅物理层不同。

CAN收发器负责逻辑电平和物理信号之间的转换,将逻辑信号转换成物理信号(差分电平)或者将物理信号转换成逻辑电平。

CAN标准有两个,即IOS11898和IOS11519,两者差分电平特性不同。(有信号时,CANH 3.5V,CANL 1.5V,即显性;没有信号时,CANH 2.5V,CANL 2.5V,即隐性)

IOS11898高速CAN电平中,高低电平的幅度低,对应的传输速度快。

双绞线共模消除干扰,是因为电平同时变化,电压差不变。

2.1物理层

CAN有三种接口器件

多个节点连接,只要有一个为低电平,总线就为低电平,只有所有的节点都输出高电平时,才为高电平。所谓“线与”。

CAN总线有5个连续性相同的位后,就会插入一个相反位,产生跳变沿,用于同步。从而消除累计误差。

和485、232一样,CAN的传输速度与距离成反比。

CAN总线终端电阻的接法:

特点:低速CAN在CANH和CANL上串入2.2kΩ的电阻;高速CAN在CANH和CANL 之间并入120Ω电阻。为什么是120Ω,因为电缆的特性阻抗为120Ω,为了模拟无限远的传输线。(因为大多数双绞线电缆特性阻抗大约在100~120Ω。)

120欧姆只是为了保证阻抗完整性,消除回波反射,提升通信可靠性的,因此,其只需要在总线最远的两端接上120欧姆电阻即可,而中间节点并不需要接(接了反而有可能会引起问题)。因此各位在使用CAN Omega做CAN总线侦听的时候,大多数情况下是不需要这个120欧姆电阻的,当然,即使当前网络中并没有终端匹配电阻,只要传输线长度不长(比如SysCan360比赛环境中,传输线只有1-2米)CAN节点数量不多的情况下,不要这个120欧姆电阻也完全可以工作,甚至,你接任意电阻都是不会有影响的。因为此时传输线长度和波长还相差甚远,节点不多的情况下,反射波的叠加信号强度也不会很强,因此传输线效应完全可以忽略。

而哪些情况需要呢,主要就是,当使用2个CAN Omega对发或者当前网络中仅有2个CAN设备的时候,此时两个端点最好都加上终端匹配电阻,当然,前面也说过了,传输线长度不长的时候,也可以不需要2端120欧姆电阻,但为了信号完整性考虑,加上这两个电阻才是严谨的。

2个120欧姆电阻的意义在于,使用USB CAN调试某些不带终端电阻的中间节点设备时,有时候CAN总线上没有2个120欧姆电阻通信可能会异常,此时可以接入2个120欧姆电阻作为2个终端电阻来作阻抗匹配,这时候其他端点不应接入任何终端电阻!并且,这2个120欧姆电阻不可用1个60欧姆电阻代替!

125kHz载波的波长大概在(c / f) = (3e8m/s) / (125e3Hz)=2.4km,其临界长度为2.4kM

/ 10 = 240m >> 2m,也即传输线长度不超过240m,分布阻抗带来的影响可以忽略不计2.2数据链路层

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

过载帧和帧间隔。

数据帧用来节点之间收发数据,是使用最多的帧类型;远程帧用来接收节点向发送节点接收

数据;错误帧是某节点发现帧错误时用来向其他节点通知的帧;过载帧是接收节点用来向发送节

点告知自身接收能力的帧;用于将数据帧、远程帧与前面帧隔离的帧。数据帧根据仲裁段长度不

同分为标准帧(2.0A)和扩展帧(2.0B)

2.3帧起始

帧起始由一个显性位(低电平)组成,发送节点发送帧起始,其他节点同步于帧起始;帧结束由7个隐形位(高电平)组成。

2.4仲裁段

CAN总线是如何解决多点竞争的问题?由仲裁段给出答案。

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

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

2.5控制段

共6位,标准帧的控制段由扩展帧标志位IDE、保留位r0和数据长度代码DLC组成;扩展帧控制段则由IDE、r1、r0和DLC组成。

2.6数据段

为0-8字节,短帧结构,实时性好,适合汽车和工控领域;

2.7CRC段

CRC校验段由15位CRC值和CRC界定符组成。

2.8ACK段

当接收节点接收到的帧起始到CRC段都没错误时,它将在ACK段发送一个显性电平,发送节点发送隐性电平,线与结果为显性电平。

2.9远程帧

远程帧分为6个段,也分为标准帧和扩展帧,且RTR位为1(隐性电平)

CAN是可靠性很高的总线,但是它也有五种错误。

CRC错误:发送与接收的CRC值不同发生该错误;

格式错误:帧格式不合法发生该错误;

应答错误:发送节点在ACK阶段没有收到应答信息发生该错误;

位发送错误:发送节点在发送信息时发现总线电平与发送电平不符发生该错误;

位填充错误:通信线缆上违反通信规则时发生该错误。

当发生这五种错误之一时,发送节点或接受节点将发送错误帧

为防止某些节点自身出错而一直发送错误帧,干扰其他节点通信,CAN协议规定了节点的3种状态及行为。

2.10过载帧

当某节点没有做好接收的"准备"时,将发送过载帧,以通知发送节点。

2.11帧间隔

用来隔离数据帧、远程帧与他们前面的帧,错误帧和过载帧前面不加帧间隔。

2.12构建CAN节点

构建节点,实现相应控制,由底向上分为四个部分:CAN节点电路、CAN控制器驱动、CAN应用层协议、CAN节点应用程序。

虽然不同节点完成的功能不同,但是都有相同的硬件和软件结构。

CAN收发器和控制器分别对应CAN的物理层和数据链路层,完成CAN报文的收发;功能电路,完成特定的功能,如信号采集或控制外设等;主控制器与应用软件按照CAN报文格式解析报文,完成相应控制。

CAN硬件驱动是运行在主控制器(如P89V51)上的程序,它主要完成以下工作:基于寄存器的操作,初始化CAN控制器、发送CAN报文、接收CAN报文;

如果直接使用CAN硬件驱动,当更换控制器时,需要修改上层应用程序,移植性差。在应用层和硬件驱动层加入虚拟驱动层,能够屏蔽不同CAN控制器的差异。

一个CAN节点除了完成通信的功能,还包括一些特定的硬件功能电路,功能电路驱动向下直接控制功能电路,向上为应用层提供控制功能电路函数接口。特定功能包括信号采集、人机显示等。

CAN收发器是实现CAN控制器逻辑电平与CAN总线上差分电平的互换。实现CAN收发器的方案有两种,一是使用CAN收发IC(需要加电源隔离和电气隔离),另一种是使用CAN 隔离收发模块。推荐使用第二种。

CAN控制器是CAN的核心元件,它实现了CAN协议中数据链路层的全部功能,能够自动完成CAN协议的解析。CAN控制器一般有两种,一种是控制器IC(SJA1000),另一种是集成CAN控制器的MCU(LPC11C00)。

MCU负责实现对功能电路和CAN控制器的控制:在节点启动时,初始化CAN控制器参数;通过CAN控制器读取和发送CAN帧;在CAN控制器发生中断时,处理CAN控制器的中断异常;根据接收到的数据输出控制信号;

接口管理逻辑:解释MCU指令,寻址CAN控制器中的各功能模块的寄存器单元,向主控制器提供中断信息和状态信息。

发送缓冲区和接收缓冲区能够存储CAN总线网络上的完整信息。

验收滤波是将存储的验证码与CAN报文识别码进行比较,跟验证码匹配的CAN帧才会存储到接收缓冲区。

CAN内核实现了数据链路的全部协议。

2.13CAN协议应用层概述

CAN总线只提供可靠的传输服务,所以节点接收报文时,要通过应用层协议来判断是谁发来的数据、数据代表了什么含义。常见的CAN应用层协议有:CANOpen、DeviceNet、J1939、iCAN等。

CAN应用层协议驱动是运行在主控制器(如P89V51)上的程序,它按照应用层协议来对CAN报文进行定义、完成CAN报文的解析与拼装。例如,我们将帧ID用来表示节点地址,当接收到的帧ID与自身节点ID不通过时,就直接丢弃,否则交给上层处理;发送时,将帧ID设置为接收节点的地址。

2.14CAN收发器

SJA1000的输出模式有很多,使用最多的是正常输出模式,输入模式通常不选择比较器模式,可以增大通信距离,并且减少休眠下的电流。

收发器按照通信速度分为高速CAN收发器和容错CAN收发器。同一网络中要使用相同的CAN收发器。CAN连接线上会有很多干扰信号,需要在硬件上添加滤波器和抗干扰电路。

也可以使用CAN隔离收发器(集成滤波器和抗干扰电路)。

CAN控制器与MCU的连接方式

SJA1000可被视为外扩RAM,地址宽度8位,最多支持256个寄存器

将缓存区的数据连续写入寄存器

…… for (i=0;i

…… for (i=0;i

头文件包含方案:

每个程序包含用到的头文件

每个程序包含一个公用头文件,公用头文件包含所有其他头文件

SJA1000上电后处于复位状态,必须初始化后才能工作。

(1)置位模式寄存器Bit0位进入复位模式;

(2)设置时钟分频寄存器选择时钟频率、CAN模式;

(3)设置验收滤波,设定验证码和屏蔽码;

(4)设置总线定时器寄存器0、1设定CAN波特率;

(5)设置输出模式;

(6)清零模式寄存器Bit0位退出复位模式;

模式寄存器

只检测模式:SJA1000发送CAN帧时不检查应答位;

只听模式:此模式下SJA1000不会发送错误帧,用于自动检测波特率;SJA1000以不同的波特率接收CAN帧,当收到CAN帧时,表明当前波特率与总线波特率相同。

2.15波特率设置

CAN总线无时钟,使用异步串行传输;波特率是1秒发送的数据位;

2.16CAN帧发送:

发送CAN帧的步骤:1.检测状态寄存器,等待发送缓冲区可用;

2.填充报文到发送缓冲区;

3.启动发送。

SJA1000具有一个

12

字节的缓冲区,要发送的报文可以通过寄存器16-28写入,也可通

过寄存器96-108写入或读出设置发送模式

发送函数

为什么帧ID是0x753,这与CAN帧在缓冲区的存储格式有关。

终端电阻非常重要,当波特率较高而且没加终端电阻时,信号过冲非常严重。

SJA1000有64个字节的接收缓冲区(FIFO),这可以降低对MCU的要求。MCU可以通过查询或中断的方式确定SJA1000接收到报文后读取报文。

can总线协议完全解析

CAN总线协议解析 李玉丽 (吉林建筑工程学院电气与电子信息工程学院,吉林长春,130021 ) 摘要:现场总线的发展与应用引起了传统控制系统结构的改变。控制局域网(C AN)总线因其自身的特点被广泛应用于 自动控制领域。本文对C AN总线协议作了详尽解析。 关键词:C AN总线;隐性位;显性位;节点 中图分类号:T U 85 文献标识码:A CAN(Cont roll e r A rea N et work)是分布式实时控 制系统的串行通信局域网,称谓CAN总线。在数据 实时传输中,设计独特、低成本,具有高可靠性,得到 广泛应用。 本文着重解析C AN 技术规范2.0B 版的CAN 的分层结构规范和CAN 报文结构规范。重点在于 充分理解CAN总线协议精髓,有助于CAN总线的 局网设计、软件编程、局网维护。 一、C AN的分层结构 CAN 遵从O SI ( Ope n Syste m I nte rc onnec ti on Re fe re nce Mode l ) 模型,其分层结构由高到低如图1 所示。 图1 C AN的分层结构 对应OSI 模型为两层,实际为三层,即LLC、 MA C、PL S。由此而知,对应于CAN总线系统每个 节点都是三层结构。数据发送节点数据流为LLC→ MA C→P LS ,然后将数据发送到总线上;而对于挂在 总线上的所有节点(包括发送节点)的接收的数据流 为PL S→MA C→LLC。 这种分层结构的规范保证了CAN 总线的多主 方式工作模式,即不分主从,非破坏性的仲裁工作模 式。而LLC 层的报文滤波功能可实现点到点、一点 对多点、全局广播、多点对一点,多点对多点等数据 传递方式。 各分层主要功能如下: LLC 层:接收滤波、超载通知、恢复管理; MAC 层:控制帧结构、执行仲裁、错误检测、出 错标定、故障界定。该层是CAN的核心; PL S 层:位编码/ 解码、位定时。 二、CAN总线的报文规范 CAN报文的传送有4 种不同类型的帧结构,数 据帧、远程帧、出错帧、超载帧。CA B2.0B 有4 种帧 格式。 (一)数据帧

一文看懂汽车CAN总线技术原理

一文看懂汽车CAN总线技术原理 随着现代汽车技术的不断发展,CAN总线逐渐成为现代汽车上不可缺少的技术,并大大推动了汽车技术的高速发展。本文将对汽车CAN 总线技术的工作原理、特点及优点,CAN总线在汽车制造中的应用及发展趋势做了简单介绍,具体的跟随小编一起来了解一下。 CAN总线的由来由于现代汽车的技术水平大幅提高,要求能对更多的汽车运行参数进行控制,因而汽车控制器的数量在不断的上升,从开始的几个发展到几十个以至于上百个控制单元。控制单元数量的增加,使得它们互相之间的信息交换也越来越密集。为此德国BOSCH 公司(和inter 公司共同)开发了一种设计先进的解决方案-CAN 数据总线,提供一种特殊的局域网来为汽车的控制器之间进行数据交换。 CAN 是ControllerAreaNetwork 的缩写,称为控制单元的局域网,它是车用控制单元传输信息的一种传送形式。 CAN总线技术简介CAN总线又称作汽车总线,全称为“控制器局域网(Controller Area Network)”,意思是区域网络控制器,它将各个单一的控制单元以某种形式(多为星形)连接起来,形成一个完整的系统。在该系统中,各控制单元都以相同的规则进行数据传输交换和共享,称为数据传输协议。CAN总线最早是德国Bosch公司为解决现代汽车中众多的电控模块(ECU)之间的数据交换而开发的一种串行通讯协议。 在工程实际中CAN总线是对汽车中标准的串行数据传输系统的习惯叫法。随着车用电气设备越来越多,从发动机控制到传动系统控制,从行驶、制动、转向系统控制到安全保证系统及仪表报警系统,使汽车电子系统形成一个复杂的大系统,并且都集中在驾驶室控制。另外,随着近年来智能运输系统(ITS)的发展,以3G(GPS、GIS和GSM)为代表的新型电子通讯产品的出现,它对汽车的综合布线和信息的共享交互提出了更高的要求。CAN 总线正是为满足这些要求而设计的。 CAN总线主要有四部分组成:导线、控制器、收发器和终端电阻。其中导线为由两根普通铜导线绞在一起的双绞线。控制器的作用是对收到和发送的信号进行翻译。收发器负责

汽车CAN总线基本原理及应用

汽车CAN总线基本原理

1、CAN总线简介 2、CAN总线通信模式 3、CAN总线的性能特点 4、CAN总线应用实例

1、CAN总线简介 控制器局域网络(Controller Area Network简称CAN)主要用于各种过程(设备)监测及控制。CAN最初是由德国的Bosch公司为汽车的监测与控制设计的,但由于CAN总线本身的突出特点,其应用领域目前已不再局限于汽车行业,而向过程工业、机械工业、机器人、数控机床、医疗器械及传感器等领域发展。由于其高性能、高可靠性及独特的设计,CAN 总线越来越受到人们的重视,国际上已经有很多大公司的产品采用了这一技术。CAN已经形成国际标准(ISO11898),并已成为工业数据通信的主流技术之一。

第一,“载波监测,多主掌控/冲突避免 这就允许在总线上的任一设备有同等的机会取得总线的控制权来向外发送信息。如果在同一时刻有两个以上的设备欲发送信息,就会发生数据冲突,CAN总线能够实时地检测这些冲突情况并作出相应的仲裁而不会破坏待传之信息; 第二,信息报文在传送时不是基于目的站点地址; 这就允许不同的信息以“广播”的形式发送到所有节点并且可在不改变信息格式的前提下对报文进行不同配置; 第三,CAN总线是一种高速的,具备复杂的错误检测和恢复能力的高可靠性强有力的网络。

一、CSMA/CD—载波监测,多主掌控/冲突避免 “载波监测”的意思是指在总线上的每个节点在发送信息报文前都必须监测到总线上有一段时间的空闲状态。 “多主掌控”的意思是一旦此一空闲状态被监测到,那么每个节点都有均等的机会来发送报文。 “冲突避免”是指在两上节点同时发送信息时,节点本身首先会检测到出现冲突,然后采取相应的措施来解决这一冲突情况。此时优先级高的报文先发送,低优先级的报文发送会暂停。在CAN总线协议中是通过一种非破坏性的仲裁方式来实现冲突检测。这也就意味着当总线出现发送冲突时,通过仲裁后原发送信息不会受到任何影响。所有的仲裁判别都不会破坏优先级高的报文信息内容,也不会对其发送产生任何的时延。

汽车CAN总线系统简介论文

论文 汽车CAN总线系统简介

摘要 CAN(Controller Area Network)即控制器局域网,是德国Bosch公司20世纪80年代最初动机是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线而应用开发的一种通信协议。因其良好的性能价格比和可靠性,如今已得到广泛应用。传输速率为83.3~500kbit/s。 LIN总线:是车内最新且运用最广泛的低成本串行通讯系统。开发这种是为了产生一种开放的标准“低成本”CAN,用在CAN难于实现或使用成本过高的位置。使用LIN后,无需增加CAN的带宽和灵活性,即可实现与智能传感器和执行器之间的通信。通信协议和数据格式均基于单主/多从概念。LIN总线在物理上基于单线制12V总线。通过LIN启动的典型部件包括车门模块(电动车窗、车门锁、后视镜调节),滑动天窗,转向盘上的控制按钮(收音机、电话……),座椅控制器,风挡玻璃雨刮器,照明,雨水/光线传感器,起动机,发电机等等。LIN 总线是一条双向单线接口,最大传输速率为20kbit/s。 与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性,它在汽车领域上的应用最为广泛,世界上一些著名的汽车制造厂商都采用了CAN总线来实现汽车内部控制系统与各检测和执行机构间的数据通信。

绪论 我在汽车销售服务有限公司进行售后维修实习。在来这九个多月的时间里,首先我对汽车4S店的零部件供给、售后服务流程有了相关了解,其次学会了维修设备:举升机、轮胎动平衡机、部分专用工具等的使用,还有掌握了对检测仪器:DAS电脑检测仪、电池测试仪、万用表等的一般使用,以及对车间信息系统软件能熟练运用。 实习期间我主要从事汽车保养工作。汽车保养是很重要的,买的一辆新车,首先要懂得如何保养。汽车保养需求做的几项任务:干净汽车表面,检查门窗玻璃、刮水器、室内镜、后视镜、门锁与升降器手摇柄能否完全有效。检查散热器的水量、曲轴箱内的机油量、油箱内的燃油储量、蓄电池内的电解液液面高度能否符合请求。检查喇叭、灯光能否完全、有效,安装能否结实。检查转向机构各连接部位能否松旷,安装能否结实。检查轮胎气压能否充足,并肃清胎间及胎纹间杂物。检查转向盘的游动间隙能否符合标准;轮毂轴承、转向节主销能否松动。 汽车保养除了换机油外,还要用电脑检测仪检查车各个电控部件能否正常。检查发动机机油液位,发动机冷冻液液位,助力转向油液位,刹车油油位和轮胎气压。谈到轮胎气压,很多车主看到车轮很扁,以为气压不足,而给汽车车胎打气,直至不扁。实际上这是错的。太高的轮胎气压,造成轮胎过早磨损,在高速公路行驶时,简单发作爆胎,非常风险。轮胎气压太低也不好,最好按各车的标准,可查随车手册或油箱盖上的说明标签。

CAN总线技术详解

CAN总线技术详解 起源 20世纪80年代,Robert Bosch 公司在SAE(汽车工程协会)大会上介绍了一种新型的串行总线CAN控制器局域网,那也是CAN 诞生的时刻。今天,在欧洲几乎每一辆新客车均装配有CAN 局域网。同样,CAN也用于其他类型的交通工具,从火车到轮船或者用于工业控制。CAN 已经成为全球范围内最重要的总线之一甚至领导着串行总线。CAN总线的工作原理 CAN总线使用串行数据传输方式,可以1Mb/s的速率在40m的双绞线上运行,也可以使用光缆连接,而且在这种总线上总线协议支持多主控制器。CAN与I2C总线的许多细节很类似,但也有一些明显的区别。 当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。 当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。 由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。我们可以很容易地在CAN总线中加进一些新站而无需在硬件或软件上进行修改。当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而无须每个控制器都有自己独立的传感器。

CAN总线的工作原理

CAN总线的工作原理 控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的 现场总线之一。CAN 协议由德国的Robert Bosch 公司开发,用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其用 途延伸到其他自动化和工业应用。CAN 协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11 位的寻址以及检错能力。CAN 总线是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电子干扰性,并且能够检测出产生的任何错误。CAN 总线可以应用于汽车电控制系统、电梯控制系统、安全监测系统、医疗仪器、纺织机械、船舶运输 等领域。CAN 总线的特点1、具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点;2、采用双线串行通信方式,检错能力强,可在高噪声干 扰环境中工作;3、具有优先权和仲裁功能,多个控制模块通过CAN 控制器挂到CAN-bus 上,形成多主机局部网络;4、可根据报文的ID 决定接收或屏蔽该报文;5、可靠的错误处理和检错机制;6、发送的信息遭到破坏后,可自动 重发;7、节点在错误严重的情况下具有自动退出总线的功能;8、报文不包含 源地址或目标地址,仅用标志符来指示功能信息、优先级信息。CAN 总线的工作原理CAN 总线使用串行数据传输方式,可以1Mb/s 的速率在40m 的双绞线上运行,也可以使用光缆连接,而且在这种总线上总线协议支持多主控制器。CAN 与I2C 总线的许多细节很类似,但也有一些明显的区别。当CAN 总线上 的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节 点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11 位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方

(完整版)CAN总线解析

一、概述 CAN(Controller Area Network)即控制器局域网,是一种能够实现分布式实时控制的串行通信网络。 想到CAN就要想到德国的Bosch公司,因为CAN就是这个公司开发的(和Intel)CAN 有很多优秀的特点,使得它能够被广泛的应用。比如:传输速度最高到1Mbps,通信距离最远到10KM,无损位仲裁机制,多主结构。 近些年来,CAN控制器价格越来越低,很多MCU也集成了CAN控制器。现在每一辆汽车上都装有CAN总线。 一个典型的CAN应用场景: 二、CAN总线标准 CAN总线标准只规定了物理层和数据链路层,需要用户来自定义应用层。不同的CAN标准仅物理层不同。

CAN收发器负责逻辑电平和物理信号之间的转换,将逻辑信号转换成物理信号(差分电平)或者将物理信号转换成逻辑电平。 CAN标准有两个,即IOS11898和IOS11519,两者差分电平特性不同。(有信号时,CANH 3.5V,CANL 1.5V,即显性;没有信号时,CANH 2.5V,CANL 2.5V,即隐性) IOS11898高速CAN电平中,高低电平的幅度低,对应的传输速度快。 双绞线共模消除干扰,是因为电平同时变化,电压差不变。 2.1物理层 CAN有三种接口器件

多个节点连接,只要有一个为低电平,总线就为低电平,只有所有的节点都输出高电平时,才为高电平。所谓“线与”。 CAN总线有5个连续性相同的位后,就会插入一个相反位,产生跳变沿,用于同步。从而消除累计误差。 和485、232一样,CAN的传输速度与距离成反比。 CAN总线终端电阻的接法:

特点:低速CAN在CANH和CANL上串入2.2kΩ的电阻;高速CAN在CANH和CANL 之间并入120Ω电阻。为什么是120Ω,因为电缆的特性阻抗为120Ω,为了模拟无限远的传输线。(因为大多数双绞线电缆特性阻抗大约在100~120Ω。) 120欧姆只是为了保证阻抗完整性,消除回波反射,提升通信可靠性的,因此,其只需要在总线最远的两端接上120欧姆电阻即可,而中间节点并不需要接(接了反而有可能会引起问题)。因此各位在使用CAN Omega做CAN总线侦听的时候,大多数情况下是不需要这个120欧姆电阻的,当然,即使当前网络中并没有终端匹配电阻,只要传输线长度不长(比如SysCan360比赛环境中,传输线只有1-2米)CAN节点数量不多的情况下,不要这个120欧姆电阻也完全可以工作,甚至,你接任意电阻都是不会有影响的。因为此时传输线长度和波长还相差甚远,节点不多的情况下,反射波的叠加信号强度也不会很强,因此传输线效应完全可以忽略。 而哪些情况需要呢,主要就是,当使用2个CAN Omega对发或者当前网络中仅有2个CAN设备的时候,此时两个端点最好都加上终端匹配电阻,当然,前面也说过了,传输线长度不长的时候,也可以不需要2端120欧姆电阻,但为了信号完整性考虑,加上这两个电阻才是严谨的。 2个120欧姆电阻的意义在于,使用USB CAN调试某些不带终端电阻的中间节点设备时,有时候CAN总线上没有2个120欧姆电阻通信可能会异常,此时可以接入2个120欧姆电阻作为2个终端电阻来作阻抗匹配,这时候其他端点不应接入任何终端电阻!并且,这2个120欧姆电阻不可用1个60欧姆电阻代替!

CAN总线技术讲解

摘要: 随着工业测控技术和生产自动化技术的不断进步,传统的RS-232、RS-485和CCITTV.24通信技术已不能适应现代化的工业控制需要,而现场总线(Fieldbus)以其低廉的价格、可靠的性能而逐步成为新型的工业测控领域的通信技术。现场总线是应用在生产现场,在微机化测量控制设备之间实现双向串行多节点数字通信的系统,是一种开放式、数字化、多点通信的底层控制网络。汇集了计算机技术、网络通信技术和自动控制技术(3C)的现场总线技术,从20世纪80年代开始发展起来,并逐步在制造业、流程工业、交通、楼宇等方面的自动化系统中得到了广泛的重视和应用。现场总线主要有以下几种类型[1-3]:基金会现场总线(FF)、LonWorks、ProfiBus、CAN、HART,而其中CAN即控制器局域网因为具有高性能、高可靠性以及独特的设计而越来越受到关注,现已形成国际标准,被公认为几种最有前途的现场总线之一。 Abstract: As industrial measurement and control technology and production automation technology advances, the traditional RS - 232, RS - 485 and CCITTV. 24 communication technology can not meet the needs of modern industrial control, and field bus (Fieldbus), with its low price, reliable performance, and gradually become a new kind of communication technology in the field of industrial measurement and control. Field bus is used in production field, between microcomputer-based measuring control equipment to realize the bidirectional serial multi-node digital communication system, is a kind of open, digital, multipoint communication bottom control network. Brings together computer technology, network communication technology and automatic control technology (3 c) field bus technology, developed in the 1980 s, and gradually in the manufacturing and process industries, transportation, building automation system has been widely attention and application. Fieldbus basically has the following several types: [1-3] foundation fieldbus (FF), LonWorks, ProfiBus, CAN, HART, and which CAN namely controller local area network (LAN) because of the high performance, high reliability and unique design is more and more attention, already formed the international standard, is recognized as one of the most promising fieldbus.

CAN的工作原理

一、概述 对于一般控制,设备间连锁可以通过串行网络完成。因此,BOSCH公司开发了CAN总线(Controller Area Network),并已取得国际标准化组织认证 (ISO11898),其总线结构可参照I SO/OSI参考模型。同时,国际上一些大的半导体厂商也积极开发出支持CAN总线的专用芯片。通过CAN总线,传感器、控制器和执行器由串行数据线连接起来。它不仅仅是将电缆按树形结构连接起来,其通信协议相当于ISO/OSI参考模型中的数据链路层,网络可根据协议探测和纠正数据传输过程中因电磁干扰而产生的数据错误。CAN网络的配制比较容易,允许任何站之间直接进行通信,而无需将所有数据全部汇总到主计算机后再行处理。 二、CAN在国外的发展 对机动车辆总线和对现场总线的需求有许多相似之处,即较低的成本、较高的实时处理能力和在恶劣的强电磁干扰环境下可靠的工作。奔驰S型轿车上采用的就是CAN总线系统;美国商用车辆制造商们也将注意力转向CAN总线;美国一些企业已将CAN作为内部总线应用在生产线和机床上。同时,由于CAN总线可以提供较高的安全性,因此在医疗领域、纺织机械和电梯控制中也得到广泛应用。 三、CAN的工作原理 当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。 CAN总线的报文发送和接收参见图1。当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时, 转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。 由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。我们可以很容易地在CAN总线中加进一些新站而无需在硬件或软件上进行修改。当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而无须每个控制器都有自己独立的传感器。 四、位仲裁 要对数据进行实时处理,就必须将数据快速传送,这就要求数据的物理传输通路有较高的速度。在几个站同时需要发送数据时,要求快速地进行总线分配。实时处理通过网络交换的紧急数据有较大的不同。一个快速变化的物理量,如汽车引擎负载,将比类似汽车引擎温度这样相对变化较慢的物理量更频繁地传送数据并要求更短的延时。

汽车CAN总线基础知识

CAN总线协议 控制器局域网总线(CAN, Controller Area Network )是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其 用途延伸到其他自动化和工业应用。CAN协议的特性包括完整性的串行数据通讯、提供实时 支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。 CAN总线发展 控制器局域网CAN( Controller Area Network)属于现场总线的范畴,是一种有效支持分布式控制系统的串行通信网络。是由德国博世公司在20世纪80年代专门为汽车行业开发的一种串行通信总线。而且能够检测出产生的任何错误。当信号传输距离达到10km时,CAN仍可提供高达50kbit/s的数据传输速率。 CAN总线的工作原理 CAN总线使用串行数据传输方式,可以1Mb/s的速率在40m的双绞线上运行,也可以 使用光缆连接,而且在这种总线上总线协议支持多主控制器。[1]CAN与I2C总线的许多细节 很类似,但也有一些明显的区别。当CAN总线上的一个节点(站)发送数据时,它以报文形式 广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。 当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给 本站的CAN芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接 收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。 由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。我们可以很容易地在CAN总线中加进一些新站而无需在硬件或软件上进行修改。 当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而无须每个控制器 都有自己独立的传感器。 CAN总线在空闲(没有节点传输报文)时是一直处于隐性状态。当有节点传输报文时显性覆盖隐性,由于CAN总线是一种串行总线,也就是说报文是一位一位的传输的,而且是数字信号(0和1),1代表隐性,0代表显性。在传送报文的过程中是显隐交替的,就像二进制数字0101001等,这样就能把信息发送出去,而总线空闲的时候是一直处于隐性的。 CAN总线特征 (1)报文(Message)总线上的数据以不同报文格式发送,但长度受到限制。当总线空闲时, 任何一个网络上的节点都可以发送报文。 ⑵信息路由(Information Routing)在CAN中,节点不使用任何关于系统配置的报文,比 如站地址,由接收节点根据报文本身特征判断是否接收这帧信息。因此系统扩展时,不用对应用层以及任何节点的软件和硬件作改变,可以直接在CAN中增加节点。 (3) 标识符(Identifier)要传送的报文有特征标识符(是数据帧和远程帧的一个域),它给出的不是目标节点地址,而是这个报文本身的特征。信息以广播方式在网络上发送,所有节点都可以接收到。节点通过标识符判定是否接收这帧信息。

车辆CAN总线概述(完整版)解析

一.CAN总线简介 1. CAN总线的发展历史 20世纪80年代初期,欧洲汽车工业的蓬勃发展,车辆电子信息化程度的也不断提高。当时,由于消费者对于汽车功能的要求越来越多,而这些功能的实现大多是基于电子操作的,这就使得电子装置之间的通讯越来越复杂,同时意味着需要更多的连接信号线,但是传统的线束式汽车电子系统已经不能满足车辆电子信息功能发展的需求。为了解决这一制约现代汽车电子信息化发展的瓶颈,德国Bosch公司设计了一个单一的网络总线,所有的外围器件可以被挂接在该总线上,经过试验,这一总线能够有效解决现代汽车中庞大的电子控制装置之间的通讯,并且能够减少不断增加的信号线。所以在1986年Bosch公司正式公布了这一总线,且命名为CAN总线。 CAN控制器局部网(CAN—Controller Area Network)属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通讯网络,它具有很高的网络安全性、通信可靠性和实时性,简单实用,网络成本低,特别适用于汽车计算机控制系统和环境恶劣、电磁辐射强和振动大的工业环境,因此CAN总线在诸多现场总线中独占鳌头,成为汽车总线的代名词,CAN总线开始进入快速发展时期:1987年Intel公司生产出了首枚CAN控制器(82526)。不久,Philips公司也推出了CAN 控制器82C200; 1991年,Bosch颁布CAN 2.0技术规范,CAN2.0包括A和B两个部分 为促进CAN以及CAN协议的发展,1992在欧洲成立了国际用户和厂商协会(CAN in Automation,简称CiA),在德国Erlangen注册,CiA总部位于Erlangen。CiA提供服务包括:发布CAN的各类技术规范,免费下载CAN文献资料,提供CANopen规范DeviceNet规范;发布CAN产品数据库,CANopen产品指南;提供CANopen验证工具执行CANopen认证测试;开发CAN规范并发布为CiA 标准。 1993 年CAN 成为国际标准ISO11898(高速应用)和ISO11519(低速应用); 1993年,ISO颁布CAN国际标准ISO-11898; 1994年,SAE颁布基于CA N的J1939标准; 2003年,Maybach发布带76个ECU的新车型(CAN,LIN,MOST);

can总线结构和原理

can总线结构和原理 控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其用途延伸到其他自动化和工业应用。CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。CAN系统组成CAN总线用户接口简单,编程方便。网络拓扑结构采用总线式结构。这种网络结构简单、成本低,并且采用无源抽头连接,系统可靠性高。通过CAN总线连接各个网络节点,形成多主机控制器局域网(CAN)。信息的传输采用CAN通信协议,通过CAN控制器来完成。各网络节点一般为带有微控制器的智能节点完成现场的数据采集和基于CAN协议的数据传输,节点可以使用带有在片CAN控制器的微控制器,或选用一般的微控制器加上独立的CAN控制器来完成节点功能。传输介质可采用双绞线、同轴电缆或光纤。如果需要进一步提高系统的抗干扰能力,还可以在控制器和传输介质之间加接光电隔离,电源采用DC-DC变换器等措施。这样可方便构成实时分布式测控系统。微控制器,或选用一般的微控制器加上独立的CAN控制器来完成节点功能。传输介质可采用双绞线、同轴电缆或光纤。如果需要进一步提高系统的抗干扰能力,还可以在控制器和传输介质之间加接光电隔离,电源采用DC-DC变换器等措施。这样可方便构成实时分布式测控系统。 CAN总线的物理接口采用CAN收发器PCA82C250作为CAN控制器和物理总线之间的接口,提供向总线的差动发送能力和对CAN控制器的差动接收能力。 一般在驱动芯片和CAN控制器之间加入光电耦合器,增加抗干扰能力。CAN总线的速度将由光电耦合器的速度决定。比如:用4N27光耦,因为它的响应速度比较慢,CAN网络的位速度只能达到几十Kbit/s。如果采用6N137高速光电耦合器,CAN网络速度可以达到和电阻网络驱动时的速度一样。另外,物理层的设计要注意电缆的终端阻抗匹配,这直接影响了CAN总线能否正常工作和网络性能,一般在CAN总线两端并联120的电阻。

CAN总线原理及应用

CAN总线原理及应用 摘要介绍了CAN总线的特点、工作原理和应用领域,并且对每个应用领域进行了描述和举例讲解。 关键字 CAN总线,汽车,现场控制系统,通信 1 引言 控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN协议由德国的Robert Bosch公司开发,用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其用途延伸到其他自动化和工业应用。CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。 CAN总线是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电子干扰性,并且能够检测出产生的任何错误。CAN总线可以应用于汽车电控制系统、电梯控制系统、安全监测系统、医疗仪器、纺织机械、船舶运输等领域。 2 CAN总线的特点 ●具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点; ●采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作; ●具有优先权和仲裁功能,多个控制模块通过CAN 控制器挂到CAN-bus 上,形成多主机局部网络; ●可根据报文的ID决定接收或屏蔽该报文; ●可靠的错误处理和检错机制; ●发送的信息遭到破坏后,可自动重发; ●节点在错误严重的情况下具有自动退出总线的功能; ●报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。 3 CAN总线的工作原理 CAN总线使用串行数据传输方式,可以1Mb/s的速率在40m的双绞线上运行,也可以使用光缆连接,而且在这种总线上总线协议支持多主控制器。CAN与I2C总线的许多细节很类似,但也有一些明显的区别。 当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。 当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。

汽车CAN总线基础知识

CAN总线协议 控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其用途延伸到其他自动化和工业应用。CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。 CAN总线发展 控制器局域网CAN( Controller Area Network)属于现场总线的范畴,是一种有效支持分布式控制系统的串行通信网络。是由德国博世公司在20世纪80年代专门为汽车行业开发的一种串行通信总线。而且能够检测出产生的任何错误。当信号传输距离达到10km时,CAN仍可提供高达50kbit/s的数据传输速率。 CAN总线的工作原理 CAN总线使用串行数据传输方式,可以1Mb/s的速率在40m的双绞线上运行,也可以使用光缆连接,而且在这种总线上总线协议支持多主控制器。[1]CAN与I2C总线的许多细节很类似,但也有一些明显的区别。当CAN总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总线读取时,这种配置十分重要。 当一个站要向其它站发送数据时,该站的CPU将要发送的数据和自己的标识符传送给本站的CAN芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态。CAN芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活地进行配置。我们可以很容易地在CAN总线中加进一些新站而无需在硬件或软件上进行修改。当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目的地址。它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而无须每个控制器都有自己独立的传感器。 CAN总线在空闲(没有节点传输报文)时是一直处于隐性状态。当有节点传输报文时显性覆盖隐性,由于CAN总线是一种串行总线,也就是说报文是一位一位的传输的,而且是数字信号(0和1),1代表隐性,0代表显性。在传送报文的过程中是显隐交替的,就像二进制数字0101001等,这样就能把信息发送出去,而总线空闲的时候是一直处于隐性的。 CAN总线特征 (1)报文(Message)总线上的数据以不同报文格式发送,但长度受到限制。当总线空闲时,任何一个网络上的节点都可以发送报文。 (2)信息路由(Information Routing)在CAN中,节点不使用任何关于系统配置的报文,比如站地址,由接收节点根据报文本身特征判断是否接收这帧信息。因此系统扩展时,不用对应用层以及任何节点的软件和硬件作改变,可以直接在CAN中增加节点。 (3)标识符(Identifier) 要传送的报文有特征标识符(是数据帧和远程帧的一个域),它给出的不是目标节点地址,而是这个报文本身的特征。信息以广播方式在网络上发送,所有节点都可以接收到。节点通过标识符判定是否接收这帧信息。

电动轿车CAN总线系统的原理和工作状态

电动轿车CAN总线系统的原理和工作状态1.CAN总线的特点及通信协议 电动轿车对通信系统的要求是: ①数据传输可靠、实时性高,传输速率高、误码率低;系统的可 靠; ②系统的可靠性高,即当节点或总线出现故障时对整车性能的影 响尽可能的小; ③系统的鲁棒性好,允许多主网络存在。 CAN总线作为一种有效支持分布式控制或实时控制的串行通信网络完全能够满足这些要求,其模型结构只有三层,即物理层、数据链路层和应用层。传输介质为双绞线,通信速率最高可达1Mbps/40m,直接传输距离最远可达10km/5kbps,可挂接设备数最多可达110个。CAN为多主工作方式,通信方式灵活,无需站地址等节点信息,采用非破坏性总线仲裁技术,满足实时要求。另外,CAN采用短帧结构传输信号,传输时间短,具有较强的抗干扰能力。 CAN通信协议规定了4种不同的帧格式,即数据帧、远程帧、错误帧和超载帧。基于下列5条基本规则进行通信协调: ①总线访问; ②仲裁; ③编码/解码; ④出错标注; ⑤超载标注。

SAE J1939协议在CAN总线通信协议2.OB之上具体实现了应用层,成为载货车和大客车广泛使用的通信标准。SAE J1939使用PDU 来实施和封装CAN的标准格式。 具体定义如下:协议数据单元PDU由优先权P、参数组号PGN、源地址SA和数据DATA组成。参数组号PGN又由保留位R、数据页DP、PDU格式PF和PDU特定域PS组成。J1939/71应用层文档定义了车辆控制的各种参数及命令的PGN。 2.系统原理框图 图1为电动轿车CAN总线系统原理框图,由中央控制器、电池管理系统、电机控制系统、制动控制系统、仪表控制系统组成。各个控制器之间通过CAN总线进行通信,以实现传感器测量数据的共享、控制指令的发送和接收等,并使各自的控制性能都有所提高,从而提高系统的控制性能。它们之间的通信与信息类型为信息类和命令类。信息类主要是发送一些信息,如传感器信号、诊断信息、系统的状态。命令类则主要是发送给其他执行器的命令。通信有以下主要内容。

CAN总线教程详解

工作原理 当CAN 总线上的一个节点(站)发送数据时,它以报文的形式广播给网络中所有节点,对每个节点来说,无论数据是否是发给自己的,都对其接收。 每组报文开头的11 位字符为标识符,定义了报文的优先级,这种报文格式成为面向内容的编制方案。同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文,当几个站同时竞争总线读取时,这种配置十分重要。 大体的工作原理我们搞清了,但是根本的协议我们还要花一番功夫。下面介绍一个重要的名词,“显性”和“隐性”:首先CAN 数据总线有两条导线,一条是黄色的,一条是绿色的------分别是CAN_High 线和CAN_Low 线,当静止状态时,这两条导线上的电平一样,这个电平称为静电平,大约为2.5 伏。 这个静电平状态就是隐形状态,也称隐性电平,也就是没有任何干扰的时候的状态称为隐性状态。当有信号修改时,CAN_High 线上的电压值变高了,一般来说会升高至少1V;而CAN_Low 线上的电压值会降低一个同样值,也是1v。 那么这时候,CAN_High 就是 2.5v+1v=3.5v,它就处于激活状态了。而CAN_Low 降为2.5v-1v=1.5v。可以看看这个图 由此我们得到 在隐性状态下,CAN_High 线与CAN_Low 没有电压差,这样我们看到没有任何变化也就检测不到信号。但是在显性状态时,改值最低为2V,我们就可以利用这种变化才传输数据了。所以出现了那些帧,那些帧中的场,那些场中的位,云云。

在总线上通常逻辑 1 表示隐性。而0 表示显性。这些 1 啊,0 啊,就可以利用起来为我们传数据了。利用这种电压差,我们可以接收信号。 一般来说,控制单元通过收发器连接到 CAN 驱动总线上,这个收发器(顾名思义,可发送,可接收)内有一个接收器,该接收器是安装在接收一侧的差动信号放大器。然后,这个放大器很自然地就放大了CAN_High 和CAN_Low 线的电平差,然后传到接收区。如下图 由上图可知,当有电压差,差动信号放大器放大传输,将相应的数据位转化为0。 下面我们进入重点难点-----报文 所谓报文,就是CAN 总线上要传输的数据报,为了安全,我们要给我们传输的数据报编码定一下协议,这样才能不容易出错,所以出现了很多的帧,以及仲裁啊,CRC 效验。这些都是难点。 识别符的概念 识别符顾名思义,就是为了区分不同报文的可以鉴别的好多字符位。有标准的,和扩展的。标准的是11 位,扩展的是29 位。他有一个功能就是可以提供优先级,也就是决定哪个报文优先被传输,报文标识符的值越小,报文具有越高的优先权。 CAN 的报文格式有两种,不同之处其实就是识别符长度不同,具有11 位识别符的帧称为标准帧,而还有29 位识别符的帧为扩展帧,CAN 报文有以下4 个不同的帧类型。分别是:

一汽宝来轿车CAN数据传输系统的原理与故障诊断

一汽宝来轿车CAN数据传输系统的原理与故障诊断 CAN数据传输系统的原理与故障诊断 一汽-大众汽车生产的宝来(Bora)轿车,已于2001年12月9日上市,该车融合了许多高新技术,在动力传动系统和舒服系统中装用了两套CAN数据传输系统(图1),本文将对此系统加以介绍。 图1 两套CAN数据传输系统 1—发动机操纵单元;2—ABS操纵单元;3、5、7、8—车门操纵单元; 4—自动变速器操纵单元;6—中央操纵单元 1 CAN数据传输系统概述

(1)什么缘故要采纳数据总线 我们明白,汽车两块电脑之间的信息传递,有几个信号就要有几条信号传输线(信号传输线的接地端能够采纳公共回路),例如,宝来轿车发动机电控单元J220与自动变速器电控单元J217之间就需要有5条信号传输线。假如传递信号项目多还需要更多的信号传输线,如此会导致电控单元针脚数增加、线路复杂、故障率增多及修理困难。 (2)什么是数据总线 一辆汽车不管有多少块电控单元,不管信息容量有多大,每块电控单元都只需引出两条线共同接在两个节点上,这两条导线就称作数据总线。往常各电控单元之间好比有许多人骑着自行车来来往往,现在是这些人乘坐公共汽车,公共汽车能够运输大量乘客,故数据总线亦称BUS线。 (3)什么是CAN协议 电子运算机网络用电子语言来说话,各电控单元必须使用和解读相同的电子语言,这种语言称“协议”,汽车电脑网络常见的传输协议有数种。宝来车装用博世公司产品,数据总线采纳CAN协议,那个协议是由福持、Internet与博世公司共同开发的高速汽车通信协议。CAN 是Controller Area Network(操纵单元区域网络)的缩写,意思是操纵单元通过网络交换数据。 (4)CAN数据传输系统的优点 数据总线与其他部件组合在一起就成为数据传输系统,CAN数据传输系统的优点是:

相关主题