车辆CAN总线概述完整版.docx
《车辆CAN总线概述完整版.docx》由会员分享,可在线阅读,更多相关《车辆CAN总线概述完整版.docx(10页珍藏版)》请在冰豆网上搜索。
车辆CAN总线概述完整版
一.CAN总线简介
1.CAN总线的发展历史
20世纪80年代初期,欧洲汽车工业的蓬勃发展,车辆电子信息化程度的也不断提高.当时,由于消费者对于汽车功能的要求越来越多,而这些功能的实现大多是基于电子操作的,这就使得电子装置之间的通讯越来越复杂,同时意味着需要更多的连接信号线,但是传统的线束式汽车电子系统已经不能满足车辆电子信息功能发展的需求.为了解决这一制约现代汽车电子信息化发展的瓶颈,德国Bosch公司设计了一个单一的网络总线,所有的外围器件可以被挂接在该总线上,经过试验,这一总线能够有效解决现代汽车中庞大的电子控制装置之间的通讯,并且能够减少不断增加的信号线.所以在1986年Bosch公司正式公布了这一总线,且命名为CAN总线.
CAN控制器局部网〔CAN—ControllerAreaNetwork〕属于现场总线的X畴,它是一种有效支持分布式控制或实时控制的串行通讯网络,它具有很高的网络安全性、通信可靠性和实时性,简单实用,网络成本低,特别适用于汽车计算机控制系统和环境恶劣、电磁辐射强和振动大的工业环境,因此CAN总线在诸多现场总线中独占鳌头,成为汽车总线的代名词,CAN总线开始进入快速发展时期:
1987年Intel公司生产出了首枚CAN控制器〔82526〕.不久,Philips公司也推出了CAN控制器82C200;
1991年,Bosch颁布CAN2.0技术规X,CAN2.0包括A和B两个部分
为促进CAN以与CAN协议的发展,1992在欧洲成立了国际用户和厂商协会〔CANinAutomation,简称CiA〕,在德国Erlangen注册,CiA总部位于Erlangen.CiA提供服务包括:
发布CAN的各类技术规X,免费下载CAN文献资料,提供CANopen规XDeviceNet规X;发布CAN产品数据库,CANopen产品指南;提供CANopen验证工具执行CANopen认证测试;开发CAN规X并发布为CiA标准.
1993年CAN成为国际标准ISO11898〔高速应用〕和ISO11519〔低速应用〕;
1993年,ISO颁布CAN国际标准ISO-11898;
1994年,SAE颁布基于CAN的J1939标准;
20##,Maybach发布带76个ECU的新车型〔CAN,LIN,MOST〕;
20##,VW发布带35个ECU的新型Golf.
根据CiA组织统计,截止到20##底,约有500多家公司加入了这个协会,协作开发和支持各类CAN高层协议;生产CAN控制器〔独立或内嵌〕厂家,包括世界上主要半导体生产厂家在内,已有20多家,CAN控制器产品的品种已达110多种,CAN控制器的数量已达210,000,000枚.CAN接口已经被公认为微控制器〔Microcontroller〕的标准串行接口,应用在各种分布式内嵌系统.该协会已经为全球应用CAN技术的权威.
2.CAN总线的特点
CAN总线与一般的通信总线相比,它的数据通信具有突出的可靠性、实时性和灵活性.其主要特性如下:
1>具有较高的性价比.它结构简单,器件容易购置,每个节点的价格较低,而且开发过程中能充分利用现在的单片机开发工具;
2>是目前为止唯一有国际标准的现场总线;
3>为多主方式工作,网络上任一节点均可在任意时刻主动向网络上其他节点发送信息而不分主从,通信方式灵活,且无需站地址等节点信息
4>网络上的节点信息分成不同的优先级,可满足不同的实时要求,高优先级的数据最多可在134μs内得到传输;
5>采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动地退出发送,而最高优先级的节点不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间.尤其是在网络负载很重的情况下也不会出现网络瘫痪情况;
6>只需通过报文滤波即可实现点对点、一点对多点与全局广播等几种方式传送接收数据,无需专门的"调度〞;
7>直接通信距离最远可达10km<速率5kb/s以下>,通信速率最高可达1Mkb/s<此时通信距离最长为40m>;
8>节点数主要取决于总线驱动电路,目前可达成110个;
9>采用短帧结构,传输时间短,受干扰概率低,具有极好的检错效果;
10>每帧信息都有CRC校验与其他检错措施,保证了数据出错率低;
11>通信介质可为双绞线、同轴电缆或光纤,选择灵活;
12>节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响.
自CAN总线问世以来,为满足CAN总线协议的多种应用需求,相继出现了几种高层协议.目前大多数基于CAN总线的网络都采用CAN总线的高层协议.CANopen、DeviceNet和SDS是通常采用的高层协议,适用于任何类型的工业控制局域网应用场合,而CAL则应用于基于标准应用层通信协议的优化控制场合,SAEJ1939则应用于卡车和重型汽车计算机控制系统.其总线规X已被ISO国际标准化组织制定为国际标准,并被公认为是最有前途的现场总线之一.CAN总线的应用X围遍与从高速网络到低成本的多线路网络,广泛应用于控制系统中的各检测和执行机构之间的数据通信.随着控制、计算机、通信、网络等技术的发展,信息交换沟通的领域正在迅速覆盖从现场设备到控制、管理的各个层次.信息技术的发展引起自动化系统结构的变革,逐步形成以网络集成自动化系统为基础的企业信息系统.现场总线就是顺应这一形势发展起来的新技术,成为当今自动化领域技术发展的热点,被誉为自动化领域的计算机局域网.它的出现,标志着自动化领域的又一个新时代的开始,并对该领域的发展产生重要影响.
二、CAN总线基本原理
1、CAN标准
1〕CAN总线的分层结构
OSI〔OpenSystemInterconnection〕开放系统互连参考模型将网络协议分为7层,由上至下分别为:
应用层、表示层、会话层、传输层、网络层、链路层和物理层.国际电工技术委员会定义现场总线模型分为三层:
应用层、链路层和物理层.CAN的分层定义与OSI模型一致,使用了七层模型中的应用层、链路层和物理层.CAN技术规X定义了模型最下面的两层:
数据链路层和物理层,如图1所示.
图1CAN总线分层结构
2〕CAN协议标准
CAN总线协议现有CAN1.0、CAN1.2、CAN2.0A和CAN2.0B四个版本.CAN2.0A以与以下版本使用标准格式信息帧〔11位〕,CAN2.0B使用扩展格式信息帧〔29位〕.CAN2.0A与以下版本在接收到扩展帧信息格式时认为出错;CAN2.0B被动版本接收时忽略29位扩展信息帧,不认为出错;CAN2.0B主动版本能够接收和发送标准格式信息帧和扩展格式信息帧.
3〕CAN总线网络基本结构
一般而言,CAN总线网络由若干个具有CAN通信功能的控制单元〔又称节点〕通过CAN_H和CAN_L两条数据线并联组成,CAN_H和CAN_L两条数据线的两端各安装一个120Ω电阻构成数据保护器,避免数据传输到终端被反射回来而产生反射波,影响数据的传送,如图2所示.汽车CAN总线网络结构示意图如图3所示.
图2CAN网络基本结构
图3汽车CAN总线网络结构示意图
4〕CAN总线节点硬件电路框图
一个完整的CAN总线节点应该包含微控制器、CAN控制器和CAN收发器三部分.其中微控制器负责完成CAN控制器的初始化,与CAN控制器的进行数据传递;CAN控制器负责将数据以CAN报文的形式传递,实现CAN协议数据链路层的功能;CAN收发器是CAN控制器与CAN物理总线的接口,为总线提供差动发送功能,也为控制器提供差动接收功能.CAN节点的基本结构框图如图4所示.部分微控制器集成有CAN控制器,因此,节点方案有两种.
图4CAN节点基本结构框图
5〕CAN差分通信
CAN总线的信号传输采用差分通信信号,差分通信具有较强的抗干扰能力.CAN收发器的差动信号放大器在处理信号时,会用CAN_H数据线的电压减去CAN_L数据上的电压,这两个数据线的电位差可对应两种不同逻辑状态进行编码.
在静止状态时,这两条导线上作用有相同预先设定值,该值称为静电平.对于CAN驱动数据总线来说,这个值大约为2.5V.静电平也称为隐性状态,因为连接的所有控制单元均可修改它.在显性状态时,CAN_H线上的电压值会升高一个预定值〔对CAN驱动数据总线来说,这个值至少为1V〕.而CAN_L线上的电压值会降低一个同样值〔对CAN驱动数据总线来说,这个值至少为1V〕.于是在CAN驱动数据总线上,CAN_H线就处于激活状态,其电压不低于3.5V〔2.5V+1V=3.5V>,而CAN_L线上的电压值最多可降至1.5V<2.5V-1V=1.5V>.因此在隐性状态时,CAN_H线与CAN_L线上的电压差为0V,在显性状态时该差值最低为2V,如图5所示.如果CAN_H–CAN_L>2,那么比特为0,为显性;如果CAN_H–CAN_L=0,那么比特为1,为隐性.
图5CAN数据线的电平
2、CAN总线通信原理
当CAN总线上的一个节点<站>发送数据时,它以报文形式广播给网络中所有节点.对每个节点来说,无论数据是否是发给自己的,都对其进行接收.每组报文开头的11位字符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案.在同一系统中标识符是唯一的,不可能有两个站发送具有相同标识符的报文.当一个站要向其它站发送数据时,该站CPU将要发送的数据和自己的标识符传送给本站的CAN控制器芯片,并处于准备状态;当它收到总线分配时,转为发送报文状态.CAN控制器芯片将数据根据协议组织成一定的报文格式发出,这时网上的其它站处于接收状态.每个处于接收状态的站对接收到的报文进行检测,判断这些报文是否是发给自己的,以确定是否接收它.
当多个站点同时发送消息时,需要进行总线仲裁,每个控制单元在发送信息时通过发送发送标识符来识别.所有的控制单元都是通过各自的RX线来跟踪总线上的一举一动并获知总线的状态.每个发射器将TX线和RX线的状态一位一位地进行比较,采用"线与〞机制,"显性〞位可以覆盖"隐性〞位;只有所有节点都发送"隐性〞位,总线才处于"隐性〞状态.CAN是这样来进行调整的:
TX信号上加有一个"0〞的控制单元的控制单元必须退出总线.用标识符中位于前部的"0〞的个数就可调整信息的重要程度,从而就可保证按重要程度的顺序来发送信息.标识符中的越小,表示该信息越重要,优先级越高.发送低优先级报文的节点退出仲裁后,在下次总线空闲时重发报文.三个节点总线仲裁示意图如图6所示.
图6总线仲裁示意图
3、CAN报文帧结构
CAN总线报文传输由以下4个不同的帧类型所表示和控制:
数据帧:
数据帧携带数据从发送器至接收器.
远程帧:
总线单元发出远程帧,请求发送具有同一识别符的数据帧.
错误帧:
任何单元检测到一总线错误就发出错误帧.
过载帧:
过载帧用以在先行的和后续的数据帧〔或远程帧〕之间提供一附加的延时.
数据帧〔或远程帧〕通过帧间空间与前述的各帧分开.
1〕数据帧由7个不同的位场组成:
帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结尾.数据场的长度可以为0.
2〕远程帧由6个不同的位场组成:
帧起始、仲裁场、控制场、CRC场、应答场、帧末尾.通过发送远程帧,作为某数据接收器的站通过其资源节点对不同的数据传送进行初始化设置.与数据帧相反,远程帧的RTR位是"隐性〞的.它没有数据场,数据长度代码的数值是不受制约的〔可以标注为容许X围里0...8的任何数值〕.此数值是相应于数据帧的数据长度代码.
3〕错误帧由两个不同的场组成.第一个场用作为不同站提供的错误标志〔ERRORFLAG〕的叠加.第二个场是错误界定符.
4〕过载帧包括两个位场:
过载标志和过载界定符.
4、错误检测
不同于其它总线,CAN协议不能使用应答信息.事实上,它可以将发生的任何错误用信号发出.CAN协议可使用五种检查错误的方法,其中前三种为基于报文内容检查.
1)循环冗余检查
CR序列包括发送器的CRC计算结果.接收器计算CRC的方法与发送器相同.如果计算结果与接收到CRC序列的结果不相符,则检测到一个CRC错误.
2〕帧检查
这种方法通过位场检查帧的格式和大小来确定报文的正确性,用于检查格式上的错误.
3〕应答错误
被接收到的帧由接收站通过明确的应答来确认.如果发送站未收到应答,那么表明接收站发现帧中有错误,也就是说,ACK场已损坏或网络中的报文无站接收.
4〕总线检测
CAN中的一个节点可监测自己发出的信号.因此,发送报文的站可以观测总线电平并探测发送位和接收位的差异.
5〕位填充
一帧报文中的每一位都由不归零码表示,可保证位编码的最大效率.然而,如果在一帧报文中有太多相同电平的位,就有可能失去同步.为保证同步,在五个连续相等位后,发送站自动插入一个与之互补的补码位.接收时,这个填充位被自动丢掉.例如,五个连续的低电平位后,CAN自动插入一个高电平位.CAN通过这种编码规则检查错误,如果在一帧报文中有6个相同位,CAN就知道发生了错误.
三.车辆CAN总线与关键技术国内外发展现状
1.车辆CAN总线国内外发展现状
如今,CAN总线现已成为汽车电子控制装置之间通信的标准总线,在汽车分布式控制系统中得到了广泛的应用.同时,CAN总线得到Motorola、Intel、Philips等著名半导体器件生产厂家的广泛支持,他们纷纷推出了CAN接口芯片与直接带有CAN接口的微控制器芯片,如Intel公司的82527,Philips公司的SJA1000、82C250等.因此在接口芯片技术方面,CAN已遥遥领先于其他的现场总线,正逐步形成系列.到目前为至,世界上已拥有20多家CAN总线控制器芯片生产商,110多种CAN总线协议控制器芯片和集成CAN总线协议控制器的微控制器芯片.
总线系统对于汽车行业,特别是对于我国的汽车行业来说还是一项新生事物,总线系统和传统汽车电器有着本质的不同.从研发、应用和维护出发,为整车提供一个安全可靠的总线系统,以达到以"X~BY~WIRE〞的目标还需要业界付出长期的努力.为了加速我国汽车总线技术的标准化进程,在"十五〞期间,科技部连续五年支持电动汽车总线通信协议方面的研究工作,国家汽车标准化组织也成立了《商用车控制系统局域网络通讯协议》起草小组.其中电动汽车总线通信协议以J1939为基础,并针对电动汽车的特点进行了补充.根据目前得到的信息,《商用车控制系统局域网络通讯协议》是完全基于J1939的,同时国内一些单位也研发出符合J1939的汽车智能零部件.20##中国首辆CAN网络系统混合动力轿车在奇瑞公司试装成功,并进行了初步试运行,这标志着中国在混合动力轿车项目上取得突破性进展;20####航盛公司去年推出了第一款带CAN总线的车载CD/MP3播放器,该产品具有AM/FM收音功能、CD/MP3播放功能,带CANBUS总线、蓝牙免提接口、中文显示与数字信号处理芯片,音质优美动听.该产品结构设计独特,获得国家发明专利.我国的CAN总线时代也正在来临.目前,支持CAN协议的有英特尔、摩托罗拉、惠普、西门子、MICROCHIP、NEC、SILIONI等著名公司.欧洲大部分汽车制造商,如宝马、保时捷、劳斯莱斯、大众、沃尔沃、雷诺等都已经使用了CAN总线.奔驰公司生产的大部分轿车和载货汽车都使用基CAN的发动机管理系统,它的传送速度为500kb/s.国产的很多汽车上也引入了CAN总线技术,如大众途安、帕萨特、东风雪铁龙赛纳、东风标致307、##金龙、一汽大众宝来、斯太尔王系列等车型.
国内较早研究CAN总线的有航空航天大学、清华大学、中国汽车技术研究中心等单位,不过目前的研究还处于起步阶段.研制生产CAN元器件的厂家很少,具有自主知识产权的专用芯片更少.目前国内主要主要从事CAN总线部分研发生产的企业见下表:
企业名称
企业特点
产品应用
现状
##汉纳森
一线模块
配装陕汽失败
核心技术人员流失
##威帝
研发能力较强三级CAN总线系统〔既全车总线系统〕获得国科技部专项资金支持
公交
在客车市场占有一定份额,但竞争激烈,产品并不能很好的实现量产
##中科正方
研发实力雄厚
奥运会纯电动车,公交双源无轨电动车,清华大学"清能1号"混合动力客车.
可靠性是其瓶颈,企业现已经向汽车仪表生产过渡
恒润
CAN/LIN总线技术在国内较领先
培训业务发展迅速
生产研发现境窘迫
##优耐特
国内第一家自主研发、生产,并完成大批量产业化装车的智能汽车车身电子控制/数字化仪表系统的供应商.
中国重汽:
斯太尔王和HOWO
##金龙
产品不良率太高,企业遭受重创
2.车辆CAN总线关键技术与发展现状
CAN总线关键技术主要包含两方面:
硬件和软件.硬件主要为微控制器、CAN控制器和CAN收发器.软件主要是节点控制程序和CAN总线网络应用层协议.
微控制器依功能性能分为4位、8位、16位、32位和64位.然而,目前主力的市场集中在8位、16位和32位,这三种等级正好适用低、中、高端三种车用电子应用.CAN控制器分为独立的CAN控制器和集成CAN控制器,它能够实现协议中的实体层与数据层的功能,达成位同步、优先权仲裁和故障诊断等要求.CAN收发器是CAN协议控制器与物理总线之间的接口.它可以为总线提供差动的发送功能,为控制器提供差动的接收功能,是CAN系统中的必须设备.到目前为至,微控制器技术比较成熟,可供选择的种类也较多.而对于CAN控制器和收发器,世界上已拥有20多家CAN总线控制器芯片生产商,110多种CAN总线协议控制器芯片和集成CAN总线协议控制器的微控制器芯片.主要生产厂家有英特尔、摩托罗拉、惠普、西门子、飞利浦、MICROCHIP、NEC、SLICON、飞思卡尔、英飞凌〔西门子〕、瑞萨、ST、TI、安森美、科动、富士通、Atmel、Altera、CAST等.CAN控制器主要有四类:
独立CAN控制器、单片机集成CAN控制器、DSP集成CAN控制器和ARM集成CAN控制器,如飞利浦公司的SJA1000独立CAN控制器、NXP公司的单片机P87C591集成CAN控制器、TI公司S2000系列的集成CAN控制器功能的TMS320C28X系列DSP和TI公司S2000系列的集成CAN控制器功能的ARM芯片等.所以,CAN总线系统硬件设计主要是根据节点功能需求,选择合适的控制芯片.
CAN总线软件设计除了节点控制程序设计之外,更主要的是应用层协议开发.许多系统中,可以特别制定一个适合的应用层,但对于许多的行业来说,这种方法是不经济的.一些组织已经研究并开放了应用层标准,一些可以使用的CAN应用层协议有:
CiACAL、CiACANOpen、ODVADeviceNet、HoneywellSDS、KvaserCANKingdom,SAEJ1939.
因此,汽车CAN总线的研究重点是:
针对具体的车型开发ECU的硬件和应用层的软件,并构建车内网络.利用CAN总线构建一个车内网络,需要解决的关键技术问题有:
<1>总线传输信息的速率、容量、优先等级、节点容量等技术问题;
<2>高电磁干扰环境下的可靠数据传输;
<3>确定最大传输时的延时大小;
<4>网络的容错技术;
<5>网络的监控和故障诊断功能;
<6>实时控制网络的时间特性;
<7>安装与维护中的布线;
<8>网络节点的增加与软硬件更新<可扩展性>.
3.CAN总线在车辆上应用的前景展望
尽管CAN协议已有近15年的历史,但它一直处在改进中.从20##开始,一个由数家公司组成的ISO任务组织定义了一种时间触发CAN报文传输的协议.BerndMueller博士、ThomasFuehrer、Bosch公司人员和半导体工业专家、学术研究专家将此定义为"时间触发通信的CAN〔TTCAN〕〞,计划在将来标准化为ISO11898-4.这个CAN的扩展已在硅片上实现,不仅可实现闭环控制下支持报文的时间触发传输,而且可以实现CAN的X~by~wire应用.因为CAN协议并未改变.所以,在同一个的物理层上,既可以实现传输时间触发的报文,也可以传输事件触发的报文.
TTCAN将为CAN延长5-10年的生命期.现在,CAN在全球市场上仍然处于起始点,当得到重视,谁也无法预料CAN总线系统下一个10-15年内的发展趋势.
现如今在车内,还有许多ECU的控制并不需要CAN这样高速率和高安全的通信,本地互联网络〔LIN〕就是为适应这类应用而设计的低成本解决方案.LIN是一个公开的协议,它基于SCI〔UART〕串行通信的格式,结合了汽车应用的特点.LIN是单一主机系统,不但降低了硬件成本,而且在软件和系统设计上也能更容易地兼容其它网络协议,比如CAN.LIN的传输速率最高可到20Kbps,主要是受到EMI和时钟同步的限制.
由于LIN器件易容得道,几乎所有的IC都带有SCI〔UART〕接口,LIN很快就在车内低端控制器领域取得领先地位.典型的LIN应用有车门、后视镜、导向轮、马达、照明以与其它智能传感器.LIN不但定义了物理层和数据层,还定义了相关的应用软件层.这些都为LIN方案提供商解决了设备兼容的问题,并且很好的解决了CAN总线在中低档车辆上使用陈本过高的问题,很有利于汽车工业的规模生产和中低档车辆的电子化,信息化.相信LIN协议会是汽车低端控制网络的未来标准.
车内除了嵌入式控制系统以外,还有诸如媒体播放器、导航系统、无线通信系统以与其他多种信息娱乐设备,这些设备之间的互连需要更高速的通信协议.媒体导向系统传输协议〔MOST〕是目前车载信息娱乐系统普遍接受的高速通信协议.MOST网络是由德国OasisSiliconSystem公司开发的.MOST技术针对塑料光纤媒体而优化,采用环形拓扑结构,在器件层提供高度可靠性和可扩展性.它可以传送同步数据〔音频信号、视频信号等流动型数据〕、非同步数据〔访问网络与访问数据库等的数据包〕和控制数据〔控制报文与控制整个网络的数据〕.MOST基于ISO/OSI七层网络模型设计,物理层由光纤通信组件构成,具有很好的抗干扰性,设计传输速率可达150Mbps〔目前产品可达25Mbps〕.除了控制数据外,MOST数据可分为同步传输数据和异步传输数据,具有很大的灵活性.同步数据可直接用于音视频设备,异步数据可用于传输其它数据块,如导航地图数据等,甚至也可用于支持TCP/IP数据包的传输.MOST还定义了应用层,包括MOST设备、功能块、功能函数以与参数格式等等,这些协议可以确保各个厂家生产的设备具有MOST互联性,也有利于车内信息娱乐设备的与时更新换代.MOST得到包括BMW、DaimlerChrysler、Harman/Becker和Oasis公司的支持,已应用在多款车型上,如BMW7系列、AudiA8、MercedesE系列等.
FlexRay是BMW、DaimlerChrysler、Motorola和Philips等公司制定的功能强大的通信网络协议.它是基于FTDMA的确定性访问方式,具有容错功能与确定的通信消息传输时间,同时支持事件触发与时间触发通信,具备高速率通信能力.FlexRay采用冗余备份的办法,对高速设备可以采用点对点方式与FlexRay总线控制器连接,构成星型结构,对低速网络可以采用类似CAN总线的方式连接.
终上所述,车辆总线未来的发展会是以CAN总线为主,在低速网络中有LIN在网络支持,在高速车