CAN总线工作原理

CAN总线工作原理

CAN总线工作原理

CAN 是控制器局域网络(Controller Area Network, CAN)的简称。CAN 总线有两条信号线构成,分别是CANL 和CANH。相比于RS485 总线构成的网络,CAN 总线构成的网络更有优势。CAN 的报文格式在总线中传送的报文,每帧由7 部分组成。CAN 协议支持两种报文格式,其唯一的不同是标识符(ID)长度不同,标准格式为11 位,扩展格式为29 位。在标准格式中,报文的起始位称为帧起始(SOF),然后是由11 位标识符和远程发送请求位(RTR)组成的仲裁场。RTR 位标明是数据帧还是请求帧,在请求帧中没有数据字节。控制场包括标识符扩展位(IDE),指出是标准格式还是扩展格式。它还包括一个保留位(ro),为将来扩展使用。它的最后四个位用来指明数据场中数据的长度(DLC)。数据场范围为0~8 个字节,其后有一个检测数据错误的循环冗余检查(CRC)。应答场(ACK)包括应答位和应答分隔符。发送站发送的这两位均为隐性电平(逻辑1),这时正确接收报文的接收站发送主控电平(逻辑0)覆盖它。用这种方法,发送站可以保证网络中至少有一个站能正确接收到报文。

报文的尾部由帧结束标出。在相邻的两条报文间有一很短的间隔位,如果这时

没有站进行总线存取,总线将处于空闲状态。

如上图所示,帧格式包括扩展帧和标准帧两种。帧类型包括数据帧和远程帧。数据部分最大长度共8 个字节。在编程时,如下的数据结构可以用来描述一个CAN 消息:

typedefstruct{uint32_tid;/**另外,还有如下图所示的参数可以进行设置。如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总线逐渐成为现代汽车上不可缺少的技术,并大大推动了汽车技术的高速发展。本文将对汽车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总线的特点和优点 CAN总线的特点和优点; (1)多主控制 在总线空闲时,所有的单元都可开始发送消息(多主控制)。最先访问总线的单元可获得发送权(CSMA/CA)。多个单元同时开始发送时,发送高优先级D消息的单元可获得发送权。 (2)消息的发送 在CAN协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总 线相连的单元都可以开始发送新消息。两个以上的单元同时开始发送消息时, 根据标识符(D)决定优先级。两个以上的单元同时开始发送消息时,对各消 息ID的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可 继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。 (3)系统的柔软性 与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。 (4)通信速度 根据整个网络的规模,可设定适合的通信速度。在同一网络中,所有单元 必须设定成统一的通信速度。即使有一个单元的通信速度与其它的不一样,此 单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可以有不同的通 信速度。 表1一1 CAN总线系统任意两节点间的最大距离

最大距离/m 位速率bps 10 1000 130 500 270 250 530 125 620 100 1300 50 3300 20 6700 10 10000 5 CAN总线上任意两节点之间的通信距离与其位速率有关,表2一1列举了相关数据。 (5)远程数据请求可通过发送“请求帧”请求其他单元发送数据。 (6)错误检测功能·错误通知功能·错误恢复功能 所有的单元都可以检测错误(错误检测功能)。检测出错误的单元会立即同 时通知其他所有单元(错误通知功能)。正在发送消息的单元一旦检测出错误, 会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送此消息直 到成功发送为止(错误恢复功能)。 (7)故障封闭 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总线原理2009

CAN总线原理2009-09-22 08:54一、概述 对于一般控制,设备间连锁可以通过串行网络完成。因此,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总线以报文为单位进行数据传送,报文的优先级结合在11位标识符中,具有最低二进制数的标识符有最高的优先级。这种优先级一旦在系统设计时被确立后就不能再被更改。总线

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网络中传输摄文时,噪声干扰或传输中断等因素往往使接收端收到的报文出现错码。为了及时可靠地把报文传输给对方并有效地检测错误,需要采用差错控制。详细介绍了can总线中循环冗余校验码的差错控制原理及其实现方法。关键词:循环冗余校验差错控制报文在can系统中为保证报文传输的正确性,需要对通信过程进行差错控制。目前常用的方法是反馈重发,即一旦收到接收端发出的出错信息,发送端便自动重发,此时的差错控制只需要检错功能。常用的检错码两类:奇偶校验码和循环冗余校验码。奇偶校验码是一种最常见的检错码,其实现方法简单,但检错能力较差;循环冗余校验码的编码也很简单且误判率低,所以在通信系统中获得了广泛的应用。下面介绍can网络中循环冗余校验码(即crc码)的原理和实现方法。 1 crc码检错的工作原理crc码检错是将被处理报文的比特序列当作一个二进制多项式a(x)的系数,该系数除以发送方和接收方预先约定好的生成多项式g(x)后,将求得的余数p(x)作为crc校验码附加到原始的报文上,并一起发给接收方。接收方用同样的g(x)去除收到的报文b(x),如果余数等于p(x),则传输无误(此时a(x)和b(x)相同);否则传输过程中出错,由发送端重发,重新开始crc校验,直到无误为止。上述校验过程中有几点需注意:①在进行crc计算时,采用二进制(模2)运算法,即加法不进位,减法不借位,其本质就是两个操作数进行逻辑异或运算;②在进行crc计算前先将发送报文所表示的多项式a(x)乘以xn,其中n为生成多项式g(x)的最高幂值。对二进制乘法来讲,a(x)·xn就是将a(x)左移n 位,用来存放余数p(x),所以实际发送的报文就变为a(x)·xn+p(x);③生成多项式g(x)的首位和最后一位的系数必须为1。图1为crc校验的工作过程。目前已经有多种生成多项式被列入国际标准中,如:crc-4、crc-12、crc-16、ccitt-16、crc-32等。can总线中采用的生成多项式为g(x)=x15+x14+x10+x8+x7+x4+x3+1。可以看出,canu叫线中的crc校验采用的多项式能够校验七级,比一般crc校验(crc-4、crc-12、crc-16等)的级数(二~五级)要高许多,因而它的检错能力很强,误判率极低,成为提高数据传输质量的有效检错手段。图 2 产生crc校验码的硬件电路 2 crc码的电路实现2.1 硬件电路的特点在can总线中为了产生crc码,硬件电路除了具有复位和时钟信号以外,还需要以下两个控制信号的参与:①填充位解除信号destuff,它的有效逻辑值是1;②crc检验的使能信号enable,有效逻辑也为1。该硬件电路的特点是采用选择器和反相器代替传统设计中用的异或门,既实现了比较功能,又降低了生产成本,同时也为工程师们提供了一种新的设计思路。2.2 硬件电路图图2即为实现crc码的硬件电路图。图中需要说明的几点如下:①使能信号和填充位解除信号省略;②crcnxt代表的逻辑值为输入报文序列和crc寄存器的最高位异或的结果;③标号0~14所指示的为15位crc寄存器,上升沿触发;④标号1~6所指示的为选择器和反相器的组合逻辑,实现异或功能,该选择器的逻辑功能为y=ab+ac,具体结构如图3所示。2. 3 电路工作过程从以上分析可知:①当enable=0时,crc清0;②当enable=1、destuff=1时,进行正常crc计算;③当enable=1而destuff=0时,正在解除填充时,数据暂停传送。在各个控制信号均有效时,输入报文的每一位都是和crc寄存器的最高位相异和后移入最低位,同时寄存器的第13、9、7、6、3、2位均和其最高位异或,结果分别左移一位;其它未进行异或操作的寄存器位值也分别左移一位,直到报文的每一位都移入crc寄存器为止,此时寄存器中的值取为计算得到的crc码。如果报文的比特序列长度为16,则需要左移16次才能对报文的每一位均进行处理。如果以ck表示crc寄存器的第k位位值、ck'表示移位后的第k位位值(k=0,1,2,3……15),则移位规律见表1。 表 1 移位规律表c14'=c13^crcnxtc13'=12c12'=c11c11'=c10c10'=c9^crcnxtc9'=c8c8'=c7^crcnxtc7'=c6^cr cnxtc6'=c5c5'=c4c4'=c3^crcnxtc3'=c2^crcnxtc2'=c1c1'=c0c0'=crcnxt^datain 3 crc校

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系统中为保证报文传输的正确性,需要对通信过程进行差错控制。目前常用的方法是反馈重发,即一旦收到接收端发出的出错信息,发送端便自动重发,此时的差错控制只需要检错功能。常用的检错码有两类:奇偶校验码和循环冗余校验码。奇偶校验码是一种最常见的检错码,其实现方法简单,但检错能力较差;循环冗余校验码的编码也很简单且误判率低,所以在通信系统中获得了广泛的应用。下面介绍CAN网络中循环冗余校验码(即CRC码)的原理和实现方法。 1CRC码检错的工作原理 CRC码检错是将被处理报文的比特序列当作一个二进制多项式A(x)的系数,该系数除以发送方和接收方预先约定好的生成多项式g(x)后,将求得的余数p(x)作为CRC校验码附加到原始的报文上,并一起发给接收方。接收方用同样的g(x)去除收到的报文B(x),如果余数等于p(x),则传输无误(此时A(x)和B(x)相同);否则传输过程中出错,由发送端重发,重新开始CRC校验,直到无误为止。 上述校验过程中有几点需注意:①在进行CRC计算时,采用二进制(模2)运算法,即加法不进位,减法不借位,其本质就是两个操作数进行逻辑异或运算;②在进行CRC计算前先将发送报文所表示的多项式A(x)乘以xn,其中n为生成多项式g(x)的最高幂值。对二进制乘法来讲,A(x)·xn 就是将A(x)左移n位,用来存放余数(x),所以实际发送的报文就变为A(x)·xn+p(x);③生成多项式g(x)的首位和最后一位的系数必须为1。 图1为CRC校验的工作过程。 目前已经有多种生成多项式被列入国际标准中,如:CRC-4、CRC-12、CRC-16、CCITT-16、CRC-32等。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总线结构和原理 控制器局域网总线(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总线与PROFIBUS总线比较

CAN总线与PROFIBUS总线比较 摘要:本文简单介绍了CAN总线与PROFIBUS总线,。从两种总线的特点,优缺点、工作原理及应用领域行了对比,并对两者的发展趋势进行简单阐述。 关键词:CAN总线,PROFIBUS总线,发展趋势 Abstract:This paper simply introduces the CAN bus and the PROFIBUS fiel dbus. Compared this two fiel dbus from the characteristics of two kinds of bus, characteristics, working principl e and application fiel d line.And state the devel opment tendency of the two kinds of bus. Keywords: CAN BUS, PROFIBUS, devel opment trend 1 两种总线简单介绍 控制器局域网总线(CAN,Controll er Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN协议由德国的Robert Bosch公司开发,用于汽车中各种不同元件之间的通信[1],以此取代昂贵而笨重的配电线束。该协议的健壮性使其用途延伸到其他自动化和工业应用。CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力[2]。 CAN总线是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电子干扰性,并且能够检测出产生的任何错误[3]。CAN总线可以应用于汽车电控制系统、电梯控制系统、安全监测系统、医疗仪器、纺织机械、船舶运输等领域[4]。 PROFIBUS是过程现场总线(Process Fiel d Bus )的缩写,于1989年正式成为现场总线的国际标准。目前在多种自动化的领域中占据主导地位,全世界的设备节点数已经超过2000万[5]。它由三个兼容部分组成,即PROFIBUS-DP (Decentralized Periphery).PROFIBUS-PA(Process Automation ).PROFIBUS-FMS (Fieldbus Message Specification )。其中PROFIBUS-DP应用于现场级,它是一种高速低成本通信,用于设备级控制系统与分散式I/O之间的通讯[6],总线周期一般小于10ms,使用协议第1、2层和用户接口,确保数据传输的快速和有效进行。;PROFIBUS-PA适用于过程自动化,可使传感器和执行器接在一根共用的总线上,可应用于本征安全领域;PROFIBUS-FMS用于车间级监控网络[7],它是令牌结构的实时多主网络,用来完成控制器和智能现场设备之间的通信以及控制器之间的信息交换。主要使用主-从方式,通常周期性地与传动装置进行数据交换[8]。 2 工作原理

汽车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总线进行通信,以实现传感器测量数据的共享、控制指令的发送和接收等,并使各自的控制性能都有所提高,从而提高系统的控制性能。它们之间的通信与信息类型为信息类和命令类。信息类主要是发送一些信息,如传感器信号、诊断信息、系统的状态。命令类则主要是发送给其他执行器的命令。通信有以下主要内容。

相关文档
最新文档