文档视界 最新最全的文档下载
当前位置:文档视界 › 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研究了不少,看了不少资料,现在我给大家总结一下先看看工作原理 当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总线协议中是通过一种非破坏性的仲裁方式来实现冲突检测。这也就意味着当总线出现发送冲突时,通过仲裁后原发送信息不会受到任何影响。所有的仲裁判别都不会破坏优先级高的报文信息内容,也不会对其发送产生任何的时延。

LIN和CAN车载网络介绍

浅谈车载网络 为了在提高性能与控制线束数量之间寻求一种有效的解决途径,在20世纪80年代初,出现了一种基于数据网络的车内信息交互方式——车载网络。 车载网络采取基于串行数据总线体系的结构,最早的车载网络是在UART(Universal Asynchronous Receiver/Transmitter)的基础上建立,如通用汽车的E&C、克莱斯勒的CCD等车载网络都是UART在汽车上的应用实例。由于汽车具有强大的产业背景,随后车载网络由借助通用微处理器/微控制器集成的通用串行数据总线,逐渐过渡到根据汽车具体情况,在微处理器/微控制器中定制专用串行数据总线。 20世纪90年代中期,为了规范车载网络的研究设计与生产应用,美国汽车工程师协会(SAE)下属的汽车网络委员会按照数据传输速率划分把车载网络分为Class A、Class B、Class C三个级别:Class A的数据速率通常低于20Kbps,如LIN,主要用于车门控制、空调、仪表板;Class B的数据速率为10Kbps~125Kbps,如低速CAN(ISO 11898),主要是事件驱动和周期性的传输;Class C的数据速率为125Kbps~1Mbps,如高速CAN(ISO898),主要用于引擎定时、燃料输送、ABS等需要实时传输的周期性参数。拥有更高传输速率的MOST和FlexRay主要适用于音视频数据流的传输。 目前与汽车动力、底盘和车身密切相关的车载网络主要有CAN、LIN和FlexRay。从全球车载网络的应用现状来看,通过20多年的发展,CAN已成为目前全球产业化汽车应用车载网络的主流。 CAN,全称为“Controller Area Network”,即控制器局域网,CAN 数据总线又称为CAN—BUS总线,20世纪80年代初由德国Bosch 公司开发,作为一种由ISO定义的串行通讯总线,其通信介质可以是双绞线、同轴电缆或光导纤维。同年,Bosch公司正式颁布了CAN 技术规范,版本2.0。该技术规范包括A和B两部分。CAN被设计作为汽车环境中的微控制器通信,采用单片机作为直接控制单元,用于对传感器和执行部件的直接控制,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络,通信速率可达1Mbps。 CAN-BUS系统主要包括以下部件:CAN控制器——用来接收微处理器传来的信息,对这些信息进行处理并传给CAN收发器,同时CAN控制器也接收来自CAN收发器传来的数据,对这些数据进行处理,并传给控制单元的微处理器;CAN收发器——接收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_LIN总线测试流程和测试工具解析

汽车CAN/LIN总线测试流程和测试工具解析 汽车CAN/LIN总线系统测试的关键是测试流程、测试标准和测试工具,掌握专业的总线分析和测试工具的使用技术,开发测试软件并将它们应用到测试过程是对中国汽车厂家和汽车工程师的重大挑战,本文介绍CAN/LIN总线设计、仿真、分析和测试工具。 恒润提供CAN/LIN总线测试方案和在这些工具平台之上的测试软件开发咨询服务,帮助客户进行CAN/LIN总线方面的测试。这些工具包括用于CAN/LIN网络系统和电控单元仿真和测试的工具CANoe;记录、评价CAN总线信号电平的工具CANscope;CAN总线干扰生成工具CANstress;CAN总线数据记录器CANlog。 汽车总线测试流程 概括的讲,汽车总线的测试流程主要包括四个阶段: 1. 制订测试计划。制订测试计划是测试开始前必须的工作,包括了测试需要达到的目标,使用的资源、遵从的标准以及工具等方方面面,是测试顺利实施的指导性文件。主要内容有:目标;总体测试策略;测试的完整性需求;具体规则(如何时停止测试);资源需求;职责(如测试用例设计,执行,检查);测试用例库;测试标准;工具(CANoe, CANscope, CANstress, CANlog);测试软/硬件配置;系统集成计划。 2. 测试用例。测试用例的设计是一项复杂的工作,既需要直觉又需要专门技术。 3. 测试向量。包括测试向量和分解每一个测试用例。 4. 测试过程。经过授权的专业人员系统地执行测试。 测试步骤如下:1).单元测试(White Box, Glass Box, check code correctness;2).集成测试(Bottom Up, Top Down, Big Bang, Sandwich;3).功能测(Black Box,perspecification,component。 测试工具主要包括软件测试环境和和辅助的硬件测试工具两部分。 软件测试环境 在汽车总线网络开发和测试过程中,主要应用的软件测试环境是CANoe。CANoe (CAN Open Environment)是德国VECTOR公司开发的功能强大的开发工具。它能支持总线开发的整个过程-从最初的设计、仿真到最终的分析测试和产品的售后服务。CANoe实现了网络设计、仿真和测试的无缝集成,其开发、测试流程如图1所示。

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 位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方

LIN总线

LIN简介 LIN协会创建于1998年末,最初的发起人为为宝马、Volvo、奥迪、VW、戴姆勒-克莱斯勒、摩托罗拉和 VCT等,五家汽车制造商,一家半导体厂商以及一家软件工具制造商。该协会将主要目的集中在定义一套开放的标准,该标准主要针对车辆中低成本的内部互联网络(LIN, local interconnect networks),这些地方无论是带宽还是复杂性都不必要用到CAN网络。LIN标准包括了传输协议的定义、传输媒质、开发工具间的接口、以及和软件应用程序间的接口。LIN提升了系统结构的灵活性,并且无论从硬件还是软件角度而言,都为网络中的节点提供了相互操作性,并可预见获得更好的EMC(电磁兼容)特性。 LIN补充了当前的车辆内部多重网络,并且为实现车内网络的分级提供了条件,这可以有助于车辆获得更好的性能并降低成本。LIN协议致力于满足分布式系统中快速增长的对软件的复杂性、可实现性、可维护性所提出的要求,它将通过提供一系列高度自动化的工具链来满足这一要求。 LIN(Local Interconnect Network) Bus是一种串行通讯总线,它有效地支持汽车应用中分布式机械电子节点的控制。它的使用范围是带单主机节点和一组从机节点的多点总线,其系统结构如图 1-1所示。 图 1-1 LIN Bus系统结构 LIN Bus系统主要特性有: ■单主机多从机组织(即没有总线仲裁),配置灵活; ■基于普通UART/SCI 接口的低成本硬件实现低成本软件协议; ■带时间同步的多点广播接收,从机节点无需石英或陶瓷谐振器,可以实

现自同步; ■保证信号传输的延迟时间。可选的报文帧长度:2、4 和8 字节; ■数据校验和的安全性和错误检测,自动检测网络中的故障节点; ■使用最小成本的半导体组件(小型贴片,单芯片系统)。 ■速度高达20kbit/s; LIN网络由一个主节点以及一个或多个从节点组成,媒体访问由主节点控制--从节点中不必有仲裁或冲突管理。可以保证最差状态下的信号传输延迟时间。 LIN相对于CAN的成本节省主要是由于采用单线传输、硅片中硬件或软件的低实现成本和无需在从节点中使用石英或陶瓷谐振器。 LIN物理层 总线驱动/接收器的定义遵循ISO 9141单线标准,并带有一些增强性能。总线为单线传输,"与"总线通过终端电阻由电池正极节点(VBAT)提供。总线收发器采用增强型的ISO 9141实现标准。总线可以取两个互补的逻辑值:主控值其电压接近于接地端,代表逻辑值"0",退让值其电压与电池电压接近,代表逻辑值"1"。 总线采用上拉电阻作为终端,主节点的上拉电阻为1kOhm,从节点的上拉电阻为30kOhm。电阻需串联一个二极管以防止由于本地电源泄漏对总线产生的干扰。从节点的终端电容通常值为 CSlave= 220pF,主节点的电容要更高以使整个总线的电容小于从节点的值。 由于采用单线媒质传输,最大的传输波特率被限定在20kbit/s以内。该值为从满足信号同步而不产生冲突的最高值,到为满足电磁兼容性要求而要达到的传输最低值之间的实验中间值。最小的传输波特率为1kbit/s--这有助于避免在实际中产生超时冲突。 LIN协议 通过LIN总线传输的实体为帧。一个报文帧由帧头以及回应(数据)部分组成。在一个激活的LIN 网络中,通讯通常由主节点启动,主节点任务发送包含有同步间隙的报文头,同步字节以及报文标志符(ID)。一个从节点的任务通过接收并过滤标志符被激活,并启动回应报文的传送。回应中包含了1到8个字节的数据以及一个字节的校验码。 传输一帧所花费的总的时间是发送每个字节所用的时间,加上从节点的回应间隙,再加上传输每个字节的间隙时间(inter-byte space)。字节间隙是指发送完前一个字节的停止位后到发送下一个字节的启动位之间的时间。 LIN协议的核心特性是使用进度表(schedule table)。进度表有助于保证总线不出现过载的情况,他们同样是保证信号定期传输的核心组件。在一组LIN节点中只有主节点任务才可以启动通讯保证了行为的确定性。主节点有责任保证与操作模式相关的所有帧都必须分配了足够长的传输时间。 LIN信息是以报文的形式传送的。报文传输是由报文帧的格式形成和控制的。报文帧由主机任务向从机任务传送同步和标识符信息,并将一个从机任务的信息传送到所有其它从机任务。主机任务位于主机节点内部,它负责报文的进度表、发送报文头(HEADER)。从机任务位于所有的(即主机和从机)节点中,其中一个(主机节点或从机节点)发送报文的响应(RESPONSE)。 帧内部间隔(inter-frame space)是从上一帧发送完毕后到下一帧启动发送间的时间间隔。帧由帧间间隔以及接下来的4到11个字节域组成。 一个报文帧如图 1-2所示,是由一个主机节点发送的报文头和一个主机或从机节点发送的响应组成。报文帧的报文头包括一个同步间隔场(SYNCH BREAK

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芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它。

相关文档