硕士论文-车载can通信技术及其应用.pdf
同济大学电子与信息工程学院硕士学位论文车载CAN通信技术及其应用姓名:程跃申请学位级别:硕士专业:电力电子与电力传动指导教师:徐国卿;康劲松20080301摘要摘要随着现代汽车技术的日益发展,车上电气设备不断增加,对汽车的综合布线以及信息的共享交互提出了更高的要求,现场总线技术在汽车电气电子系统中显得越来越重要。控制器局域网C A N 以其良好的运行性能,极高的可靠性以及低廉的成本越来越受到业界的广泛关注,逐步普及到汽车控制网络中,并被公认为是最有发展前景的现场总线之一。本文在研究C A N 总线协议及其应用层协议S A EJ 1 9 3 9 的基础上,分析了燃料电池汽车动力总成系统及其控制器的工作特性,参考J 1 9 3 9 协议原则设计C A N总线通信报文的标识符,对网络进行了总体规划和设计。针对C A N 协议应用的局限性,对其通信的实时性问题进行了分析,并改进C A N 总线的传输层,设计了一种兼容C A N 通信协议以及J 1 9 3 9 协议的网络通信协议。基于对网络协议研究的基础,本文完成了整车控制器节点的硬件设计及软件编程。本文在嵌入式系统平台下,设计了C A N 通信模块的底层驱动,接口函数及其应用程序,实现了时分调度C A N 通信算法的软件设计。关键词:C A N 总线,网络协议,嵌入式操作系统,驱动程序A b s t r a c tA B S T R A C TW i t ht h ed e v e l o p m e n to fm o d e r na u t o m o b i l ei n c r e a s i n g l y,t h ee l e c t r o n i cd e v i c e so fa u t o m o b i l ei n c r e a s er a p i d l y,w h i c hb r i n g st h eh i g h e rr e q u i r e m e n to nv e h i c l ei n t e g r a t e dw i r i n ga n di n f o r m a t i o ns h a r i n g F i e l dB u s b e c o m e s m o r ea n dm o r ei m p o r t a n ti ne l e c t r o na n de l e c t r i c a ls y s t e m s W i t hw e l lo p e r a t i o np e r f o r m a n c e,h i g hr e l i a b i l i t ya n dl o wc o s t,C A N(c o n t r o la r e an e t w o r k)h a sg o tm o r ea n dm o r ew i d ea t t e n t i o n I ti sg r a d u a l l yp o p u l a r i z a t i o ni nv e h i c l ec o n t r o ls y s t e m s,a n dr e c o g n i z e da so n eo ft h em o s td e v e l o p m e n t a lf o r e g r o u n df i e l db u s I nt h eb a s eo fr e s e a r c h i n gC A Nb u sp r o t o c o la n di t sa p p l i c a t i o nl a y e rp r o t o c o lS A EJ 19 3 9,a n da n a l y z i n gf u e lc e l lv e h i c l ed r i v es y s t e ma n di t sc o n t r o l l e ro p e r a t i o nc h a r a c t e r i s t i c,t h en e t w o r kc o l l e c t i v i t yl a y o u th a sb e e nd e s i g n e dt h r o u g hr e f e r e n c eJ19 3 9p r o t o c o lp r i n c i p l et od e s i g nC A Nc o m m u n i c a t i o nm e s s a g ei d e n t i f i e ri nt h i sp a p e r B ya n a l y s i st h el o c a l i z a t i o no fC A Nb u sa n di t sr e a lt i m ec a p a b i l i t y,c o m m u n i c a t i o np r o t o c o l,w h i c hi sc o m p a t i b l ew i t hC A Nb u sa n dJ 1 9 3 9,i sd r a w no u tt h r o u g ha m e l i o r a t eC A Nb u st r a n s p o r tl a y e r B a s eo nt h er e s e a r c ho fc o m m u n i c a t i o np r o t o c o l,h a r d w a r ed e s i g na n ds o f t w a r ep r o g r a mo fv e h i c l em a n a g e m e n ts y s t e mv i aa r ef i n i s h e di nt h i sp a p e r D r i v e rp r o g r a m,a p p l i c a t i o np r o g r a m m i n gi n t e r f a c ea n dm u l t i t a s ka p p l i c a t i o na r ed e s i g n e do nt h ep l a t f o r mo fe m b e d d e do p e r a t i o ns y s t e m,w h i l et h es o t t w a r eo fC A Nc o m m u n i c a t i o ns c h e d u l i n ga l g o r i t h mi sr e a l i z e di nt h i sp a p e r K e yW o r d s:C A Nb u s,n e t w o r kp r o t o c o l,e m b e d d e do p e r a t i o ns y s t e m,d r i v e rp r o g r a mI l学位论文版权使用授权书本人完全了解同济大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。学位论文作者签名:强玖加彤年岁月夕日同济大学学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均己在文中以明确方式标明。本学位论文原创性声明的法律责任由本人承担。学位论文作者签名:秒玖跏g 年弓月罗日第1 章绪论1 1 课题的目的和意义第1 章绪论随着车用电气设备越来越多,以及近年来I T S 的发展,以3 G(G P S、G I S和G S M)为代表的新型电子通信产品的出现对汽车的综合布线和信息的共享交互提出了更高的要求。从布线角度分析,传统电气系统大多采用点对点的单一通信方式,相互之间少有联系,这样必然需要庞大的布线系统。据统计,一辆采用传统布线方法的高档汽车中,其导线长度可达2 0 0 0 m,电气节点达1 5 0 0 个,而且根据统计,该数字大约每1 0 年增长1 倍,从而加剧了粗大的线束与汽车有限的可用空间之间的矛盾。无论从材料成本还是工作效率看,传统布线方法都将不能适应汽车的发展。从信息共享角度分析,现代典型的控制单元有电控燃油喷射系统、电控传动系统、防抱死制动系统、防滑控制系统、废气再循环系统、巡航系统和空调系统。为了满足各子系统的实时性要求,有必要对汽车公共数据实行共享,如发动机转速、车轮转速、油门踏板位置等,但每个控制单元对实时性的要求是因数据的更新速率和控制周期不同而不同的。这就要求其数据交换网是基于优先权竞争的模式,且本身具有较高的通信速率。C A N 总线正是为满足这些要求而设计的。8 0 年代早期,B o s c h 公司的工程师就开始论证当时的串行总线用于客车系统的可行性。1 9 8 6 年2 月,在S A N 汽车工程人员协会)大会上,R o b e rB o s c h 公司提出了C A N。这个由B o s c h 公司设计的新的总线系统称为“A u t o m o t i v eS e r i a lC o n t r o l l e rA r e aN e t w o r k (汽车串行控制局域网)。今天,几乎每一辆在欧洲生产的新轿车都至少装配有一个C A N 网络系统。C A N 也应用在从火车到轮船等其他类型的运输工具上,以及工业控制方面。如今C A N 是最主要的现场总线协议之一,它有可能引导世界范围的车载串行总线系统。国内在C A N 总线方面的研究和应用与国外相比还存在明显的差距,体现在两个方面:(1)国内在自主研究和开发汽车电子C A N 网络方面尚处于试验和起步阶段,国内绝大部分的汽车还没有采用汽车总线设计;(2)国内汽车合资企业不少已采用C A N 总线技术,但空心化问题严重,虽然有些企业使用了C A N第1 章绪论总线技术,但核心技术掌握在外商手中。为顺应世界汽车工业发展的趋势,我国也相应加强了对C A N 总线的研究,并开发具有自主知识产权的C A N 总线产品。相比工业现场的一些豪华总线而言,车载网络技术门槛并不高,因此C A N网络技术是汽车电子行业一个很好的切入点,是解决车载网络设计空心化和汽车电子技术空心化的关键。目前对于车载C A N 网络的研究主要集中在电气控制单元如E F I、A B S、A S R、C C S 等如何接入已安装C A N 网络的汽车上,而对于C A N 总线的实现以及网络技术的统一与整车优化涉及较少。本文在研究C A N 总线原理及其实时性基础上,主要探讨车内动力系统网络节点问的整合与通信协议,实现汽车动力系统的整体网络电子控制,对整车C A N 总线的应用能起到一定推动作用。1 2 国内外发展现状1 2 1 汽车网络发展趋势汽车网络的发展很快,在短短十几年的时间里,国际上通用的车载网络标准就有数十种。汽车网络从协议规范到技术特点,从性能优势到应用场合各不相同,形成了汽车网络多面开花的局面,同时满足汽车的多功能要求。基于这种局面,美国汽车工程协会(S A E)根据速率的不同,将汽车网络划分为A、B、C 三类,没有一种协议的应用可以覆盖所有领域,每个领域需要特殊的协议特点。近年来,随着多媒体技术在汽车中的逐步应用,车载多媒体网络的研究也取得了很大的发展,也因此被称为D 类网络。各网络的分类标准如表1 1 所示。表1 1 汽车网络分类标准类传输速率对象应用范围主流协议别(k b i t s)面向传感器灯光照明、电动门窗、A执行器控制的低速 l OL I N、T T P A座椅调节等系统网络2第1 章绪论面向独立模块车辆电子信息中心、C A N、V A N、B间数据共享的中速l O 1 2 5安全气囊、故障诊断、仪S A E J l8 5 0网络表显示等系统面向高速、实牵引控制、先进发动C A N、C时闭环控制的多路1 2 5 1 0 0 0机控制、悬挂控制、A B S 等T T P C、F l e x R a y传输网系统在A 类网络中,L I N 网络已经广泛的被世界上的大多数汽车公司以及零配件厂商所接受,有望成为事实上的A 类网络标准。在B 类和C 类网络中C A N总线凭借其突出的可靠性、实时性和灵活性已从众多总线中突显出来,成为世界接受的主流协议。F l e x R a y 是B M W、D a i m l e rC h r y s l e r、M o t o r o l a 和P h i l i p s 等公司制定的功能强大的通信网络协议,由于其出色的性能,目前已广泛的应用于车载多媒体网络中,并将逐步普及于汽车的安全系统。由于F l e x R a y 使用成本比C A N 高出许多,对于目前汽车的性能要求来说,C A N 技术完全可以满足,因此就目前汽车网络的发展趋势而言,C A N 总线将全面代替J 1 8 5 0,普及到每辆汽车的动力及车身网络系统。1 2 2G A N 总线研究现状8 0 年代末,B o s c h 和I n t e l 研制了专门用于汽车电子系统的C A N 总线规范,但因C A N 总线要求每个端口都需要独立的通讯处理能力,这在当时的汽车电气系统中很难办到。1 9 8 7 年中期I n t e l 开发了首个C A N 控制器一8 2 5 2 6,不久P h i l i p s公司也推出了8 2 C 2 0 0。进入9 0 年代以后,由于集成电路技术和电子功率器件制造技术的迅速发展,用廉价的微处理芯片和信号识别芯片作为总线通讯接口端,采用总线技术控制汽车电器,从技术上、价格上逐渐进入了实用化阶段。1 9 9 1年C A N 总线首次在奔驰S 系列汽车中实现,同年B o s c h 公司正式颁布了C A N技术规范2 0 版本。1 9 9 3 年1 1 月,I S O 正式颁布了国际标准I S 0 1 1 8 9 8,为C A N的标准化、规范化铺平了道路。进入二十一世纪以来,C A N 协议以及其网络系统已被全球汽车厂商普遍接受,成为车载网络系统的计算机网络技术基础。到2 0 0 6 年,C A N 占据了整个汽车网络协议市场的6 3,在欧洲,基于C A N 的网络占有了大约8 8 的市场,而在北美,传统的J 1 8 5 0 总线也逐渐被C A N 所取代。3第1 章绪论在国外,许多国际大的汽车公司早在8 0 年代就积极致力于汽车网络技术的研究和应用,迄今为止已有多种网络标准,如D e v i c e N e t、C A N O p e n、S D S、J 1 9 3 9等,它们都得到C i A(C A Ni n A u t o m a t i o n)的支持,符合I S 0 1 1 8 9 8 标准。其中以S A E 制定的J 1 9 3 9 协议最为流行,目前已广泛应用于卡车和商用客车上,并且也用于舰船、轨道机车、农业机械和大型发动机。目前在汽车网络中最广为流行的技术为X b y-W i r e,即线控操作,这也是未来汽车的发展方向。该技术来源于飞机制造,基本思想就是用电子控制系统代替机械控制系统,减轻重量,提高可靠性,如S t e e r-b y-W i r e,B r a k e-b y-W i r e 等。由于目前对汽车容错能力和通信系统的高可靠性的需求日益增长,X b y-W i r e 开始应用于汽车电子控制领域,在未来5 1 0 年中,X-b y-W i r e 技术将使传统的汽车机械系统变成通过高速容错通信总线与高性能C P U 相连的电气系统。为了提供这些系统之间的安全通信,就需要一个高速、容错的时间触发的通信协议,上文提到的F l e x R a y 以及T T P、B y t e f l i g h t 等都属于这类协议。为了适应现代汽车网络的要求,从2 0 0 0 年开始,一个由数家公司组成的I S O 任务组织定义了一种时间触发C A N 报文传输的协议,它由维也纳理工大学的H K o p e t z 教授、B e m dM u e l l e 博士、B o s c h 公司人员以及多位半导体工业专家共同开发,并被定义为时间触发通讯的C A N 协议(T T C A N)。T T C A N 是基于I S 0 1 1 8 9 8 1 所描述的C A N数据链路层来制定的,它可以使用在I S 0 1 1 8 9 8 2(高速收发器)或I S O l l 8 9 8 3(低速收发器)中所描述的标准C A N 物理层来进行通讯。该协议介绍了时间触发通讯和在系统范围内高精度的全局网络时间的相关内容,如同事件触发一样,T T C A N 提供了一套时间触发消息机制,允许使用基于C A N 网络形成的控制环路,同时还能够提高基于C A N 总线的汽车网络的实时通讯性能。C A N 总线技术在我国的应用起步较晚,直到1 9 9 6 年底,北京航空航天大学出版了c A N 总线原理和应用系统设计(邬宽明著)一书后,C A N 总线才逐步为国内一些单位和广大科技工作者所认识和应用。不过由于国内批量生产的车多属于中低档轿车,这些轿车上并没有相应的网络化设计,而对于那些电子含量高,装备有不同规模汽车电气网络的新型车大多是从国外引进,相关的知识产权并不是掌握在国内企业的手中,因此对于C A N 网络的研究主要集中在国内高校以及科学院所,缺乏在整车中大规模应用的经验。随着我国工业自动化水平的不断提高以及我国汽车工业的飞速发展,国内对于C A N 总线的研究也越来越重视,我国“8 6 3 计划 项目“燃料电池汽车动力系统总成”中的燃料电池4第1 章绪论汽车动力系统的网络通信则是采用了C A N 总线通讯模式。1 3 课题研究的主要内容本文深入研究了控制器局域网C A N 的基本工作原理、技术特点和工作性能,以燃料电池汽车动力总成网络为研究对象,根据相应的C A N 通信协议完成C A N节点的软、硬件模块化设计,使节点按照制定的协议进行网络通讯。在文章最后,利用P C 机、C A N 接口卡和C A N 节点开发了基于燃料电池汽车动力系统通信协议的实验平台。本课题主要内容可以归纳为以下几点。在物理层及数据链路层,研究了C A N 总线协议的原理及实现方式,C A N 总线的技术特性等。在应用层,根据S A EJ 1 9 3 9 协议标准,制定实验相应的应用层协议。在传输层,分析了C A N 总线传输的实时性缺陷,并通过比较得出时间触发调度对C A N 传输层改进的优越性,提出了一种时分触发调度的解决方案。在硬件方面,利用I n f i n e o n 公司生产的X C l 6 4 C S 芯片设计了基于C A N 总线的整车控制器硬件电路。软件方面,在嵌入式操作系统“C O S _ I I 的软件平台下,编写了C A N 模块的接口函数及其驱动程序,并设计了基于时分调度的C A N 总线通信应用程序。5第2 章车用C A N 控制网络总体规划第2 章车用C A N 控制网络总体规划2 1C A N 总线协议分析自2 0 世纪9 0 年代初,B o s c hC A N 规范2 0 版被提交作为国际标准以来,经过多次争论,在1 9 9 3 年1 1 月公布了C A N 的I S Ol1 8 9 8 标准,另外C A N 数据传送中的错误处理方式也在I S Ol1 5 1 9 2 中标准化,其中规定了C A N 技术规范包括A 和B 两部分,2 0 A 给出了C A N 报文标准格式,包含1 l 为C A N 标识符,2 0 B 给出了标准和扩展两种格式,扩展格式包含2 9 位C A N 标识符。2 1 1C A N 总线特点概述C A N 总线与一般的通信总线相比,它的数据通信具有突出的可靠性、实时性和灵活性。其特点可以概括如下:一、C A N 为多主方式工作,网络上任意一个节点均可在任意时刻主动地向网络上其他节点发送信息,而不分主从,通信方式灵活,且无需站地址等节点信息。二、C A N 网络上的节点信息分成不同的优先级,可满足不同的实时要求,高优先级的数据最快可在1 3 4 岬内得到传输。三、C A N 采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动地退出发送,而最高优先级的节点可不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间,尤其是在网络负载很重的情况下也不会出现网络瘫痪情况。四、C A N 只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送数据,无需专门的“调度”。五、C A N 的直接通信距离最远可达1 0 k i n(速率5 k b p s 以下),通信速率最高可达lM b p s(此时通信距离最长为4 0 m)。六、C A N 上的节点数主要取决于总线驱动电路,目前可达1 1 0 个,报文标识符可达2 0 3 2 种(C A N 2 0 A),而扩展标准(C A N 2 0 B)的报文标识符几乎不受限制。七、C A N 采用短帧结构,传输时间短,受干扰概率低,具有极好的检错效6第2 章车用C A N 控制网络总体规划果。八、C A N 每帧信息都有C R C 校验及其他检错措施,保证了数据出错率极低。九、C A N 的通信介质可为双绞线、同轴电缆或光纤,选择灵活。十、C A N 节点在出现严重错误的情况下具有自动关闭输出功能,使总线上其他节点的操作不受影响。2 1 2C A N 总线电气特性C A N 的传输介质由两根传输线组成,其中一根被称为高电平传输线C A NH,另一根被称为低电平传输线C A NL,对地电压分别表示为V C A NH和V C A NL,它们之间的差值被称为差分电压V d i f f,即V d i f f=V C A NH V C A NL。当满足条件0 9 V V d i f f 5 O V 时,代表逻辑数字“0”,当前传送的数据位被称之为“显性”位,当1 O V V d i f f O 5 V 时,代表逻辑数字“1”,当前传送的数据位被称之为“隐性”位,如图2 1 所示。在总线空闲或隐性位期间,发送隐性位,当在总线上出现同时发送显性和隐性位的情况时,其结果是总线数值为显性。V图2 1 总线位的数值表示时间t2 1 3C A N 总线分层结构根据I S O O S I 网络参考模型,C A N 被细分为以下不同的层次,如图2 2 所不:7第2 章车用C A N 控制网络总体规划数据链路层一逻辑链路控制子层(L L C)一媒体访问控制子层(M A C)物理层接收滤波L L C超载通知一一一一,l故障鉴定数恢复管理据数据封装拆装链帧编码(填充解除)路媒体访问管理层M A C错误监测出错标定应答串行化解除串行化位编码解码物P L S位定时理蚓步层P M A驱动器接收器特征M D I连接器图2 2C A N 总线分层结构(1)逻辑链路控制子层(L L C)L L C 子层提供的功能包括:帧接收滤波、超载通知和恢复管理。帧接收滤波:信息帧内容由标识符命名,标识符并不能指明信息帧的目的地,但它可以描述数据的含义,每个接收器通过帧接收滤波确定此帧与其是否有关。超载通知:如果接收器内部条件要求延迟下一个L L C 数据帧或者远程帧,则通过L L C 子层开始发送超载帧。最多可产生两个超载帧,以延迟下一个数据帧或远程帧。恢复管理:发送期间,对于丢失仲裁或发生错误的帧,L L C 子层具有自动重发功能。在发送成功完成前,帧发送服务不被用户认可。(2)媒体访问控制子层(M A C)M A C 子层功能由I E E E8 0 2 3 中规定的功能模型描述,如图2 3 所示,在此模型中M A C 子层被划分为完全独立工作的两个部分,即发送部分和接收部分。发送部分功能包括发送数据封装和发送媒体访问管理,接收部分功能包括接收R第2 章车用C A N 控制网络总体规划媒体访问管理和接收数据卸载。L L C 子层1L 翌竖问_ f 发送数据封装接收数据拆装1 Lt发送媒体访问管理接收媒体访问管理二j j 茹;二仁二二发送数据编码接收数据编码图2 3 媒体访问控制功能(3)物理层物理层的作用是在不同节点之间根据所有的电气属性进行位的实际传输,同一网络的物理层对于所有的节点是相同的。2 1 4C A N 总线报文传输及其帧类型C A N 中报文是以帧为单位进行传输的。在C A N 技术规范2 0 A 中规定了标准数据帧的格式,而在2 0 B 中给出两种不同的帧格式,不同之处为标识符的长度不同:具有l l 位标识符的帧称之为标准帧,含有2 9 位标识符的帧称为扩展帧。报文传输有以下四种不同类型的帧:数据帧:数据帧将数据从发送器传输到接收器。远程帧:总线单元发出远程帧,请求发送具有相同标识符的数据帧。错误帧:任何单元检测到总线错误就发出错误帧。过载帧:过载帧用在相邻数据帧或远程帧之间提供附加的延时。构成一帧的帧起始、仲裁域、控制域、数据域和C R C 序列均通过位填充规则进行编码。当发送器在被发送的位流中检测到五位连续的相同数值时,将自动的在实际的发送位流中插入一个补码位。数据帧或远程帧的其余位域(C R C界定符、应答域和帧结尾)格式固定,没有填充。错误帧和过载帧的格式也固定,它们不用位填充的方法编码。9第2 章车用C A N 控制网络总体规划1 数据帧数据帧由以下7 个不同的位域组成:帧起始、仲裁域、控制域、数据域、C R C域、应答域和帧结尾。其中数据帧的长度可以为0。报文的数据帧结构如图2 4所示。帧起始图2 4 报文数据帧结构应答域(1)帧起始表示一个数据帧或远程帧的开始,它由一个显性位组成,该显性位用于接收状态下的C A N 控制器的硬同步。(2)仲裁域根据发送的报文是标准帧或扩展帧,其格式有所不同。当发送的是标准帧时,仲裁域由1 1 位标识符和R T R 位组成;当发送的是扩展帧时,仲裁域包括2 9 位标识符、S R R 位、I D E 位和R T R 位。R T R 位在数据帧中必须是显性电平,而在远程帧中,R T R 位必须是隐性电平。(3)控制域由六位组成,包括两个保留位(r 0,r l,用于C A N 协议扩展)及四位数据长度码,允许的数据长度值为0 -8(保留位必须以显性位发送,接收节点接收显性位和隐性位的所有组合)。(4)数据域由数据帧中被发送的数据组成,它可包括从0 至8 个字节,每个字节包括8 位,其中首先发送最高有效位。(5)C R C 域包括C R C 序列与C R C 界定符。C R C 序列是循环冗余码求得的帧检查序列,最适用于位数低于1 2 7 位的帧。C R C 序列之后是C R C 界定符,它包含一个单独的“隐性”位。(6)应答域的长度为2 个位,包括应答间隙和应答界定符。在应答域中发送器发送两个“隐性”位。一个正确接收到有效报文的接收器在应答白J 隙期间,将此信息通过传送一个“显性”位报告给发送器。所有接收到匹配C R C 序列的站通过在应答间隙内把“显性”位写入发送器的“隐性”位来报告。应答界定符是应答域的第二位,并且必须是“隐性”位,因此在应答间隙被两个“隐性”1 0第2 章车用C A N 控制网络总体规划位(C R C 界定符和应答界定符)包围。(7)帧结尾表示一个数据帧或远程帧的结束,由7 个“隐性”位组成。2 远程帧接收节点可以通过发送一个远程帧以请求其他资源节点传送它们各自的数据。远程帧由6 个不同的位域组成:帧起始、仲裁域、控制域、C R C 域、应答域和帧结尾。与数据帧相反,远程帧的R T R 位是“隐性”位,它没有数据域,所以数据长度代码的数值没有意义。远程帧结构如图2 5 所示。帧间空问远程帧-咿一百1 j一帧起始图2 5 远程帧结构应答域问空间过载帧3 错误帧错误帧由错误标志和错误界定符两部分组成,错误帧结构如图2 6 所示。错误标志包括激活错误标志和认可错误标志。激活错误标志由6 个连续的显性位组成,认可错误标志则由6 个连续的隐性位组成,除非被其他节点的显性位覆盖。错误界定符包括8 个隐性位。传送了错误标志以后,每一站就发送一个隐性位,并一直监视总线直到检测出一个隐性位为止,然后就开始发送其余7 个隐性位。-+一j 彗壁生4 帧间空间或一错误标志过载帧一错误标志的重叠一错谋熙它篇图2 6 错误帧结构为了能正确的终止错误帧,一个“错误认可”的节点要求总线至少有长度第2 章车用C A N 控制网络总体规划为3 个位时间的总线空闲(当“错误认可”的接收器有局部错误时),因此总线的载荷不应为1 0 0。4 过载帧过载帧包括两个位场:过载标志和过载界定符。过载帧结构如图2 7 所示。过载标志由6 个“显性”位组成,其全部形式对应于激活错误标志形式。过载标志形式破坏了间歇场的固定格式,因而所有其他站都将检测到一个过载条件,并且由它们的部件开始发送过载标志。帧结束或错误界毫筻竖磬载-_j查垦堕4帧间空问或I界定符一图2 7 过载帧结构过载界定符由8 个“隐性”位组成,过载界定符与出错界定符具有相同的形式。发送过载标志后,站监视总线直至检测到由“显性 到“隐性位的跳变。此时,总线上的每个站均完成送出其过载标志,并且所有站一致的开始发送剩余的7 个“隐性”位。2 1 5C A N 总线位定时及节点同步技术对于不同的C A N 控制器,其振荡器的频率不可能完全相同,C A N 协议给出了最大振荡器容差为1 5 8。在同一个C A N 网络中,为保证各节点能正常通信,必须对报文的位定时进行相应的设置。C A N 位速率定义为一个理想的发送器在没有重新同步的情况下每秒发送的位数量,位时间即位速率的倒数,它分成四个部分:同步段、传播段、相位缓冲段l 和相位缓冲段2,如图2 8 所示。图2 8 位时间定义1 2第2 章车用C A N 控制网络总体规划同步段用于同步总线上不同的节点,它被规定为一个时间量程。传播段用于补偿网络内的物理延时时间,它是总线上输入比较强延时和输出驱动器延时总和的两倍,可被设置为l 8 个时间量程。相位缓冲段用于补偿边沿阶段的误差,两个相位缓冲段可以通过重新同步来加长或缩短。其中相位缓冲段1 的长度可设置为1 8 个时间量程,相位缓冲段2 的长度为相位缓冲段l 和信息处理时间的最大值。同步是所有网络必须解决的问题。实现网络同步的目的是将网中所有节点的时钟频率和相位都控制在预先确定的容差范围之内,以便使各节点的全部信息流实现正确有效的交换,C A N 协议中包括硬同步和重同步两种形式的同步。硬同步发生在报文开始,一个硬同步后,内部的位时间以同步段重新开始,因此硬同步迫使引起硬同步的跳变沿位于重新开始的位时间同步段之内。重同步发生在报文位流发送期间,以补偿个别振荡器频率的变化以及由于从一个发送器转至另一个发送器引入的变化。当引起重同步沿的相位误差幅值小于或等于重同步跳转宽度编程值时,重同步的作用与硬同步相同。当相位误差幅值大于重同步跳转宽度,且相位误差为正时,则相位缓冲段1 延长一个重同步跳转宽度的值;当相位误差幅值大于重同步跳转宽度且相位误差为负时,则相位缓冲段2缩短一个重同步跳转宽度的值。2 2C A N 总线应用层协议一S A Ed l9 3 9O S I 参考模型将网络系统划分为7 层,分别是:应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。C A N 总线协议作为一种底层协议,它只定义了其在物理层和数据链路层上的实现。随着C A N 总线技术的广泛应用,许多厂商在C A N 协议的基础上自行开发出了自己的应用层协议给系统提供了一个面向应用的清晰接口。S A EJ 1 9 3 9 协议是目前在大型汽车中应用最为广泛的应用层协议,它由美国S A E(S o c i e t yo fA u t o m o t i v eE n g i n e e r)组织维护和推广。J 19 3 9 协议以C A N 2 0 B协议为基础,物理层标准与I S 0 1 1 8 9 8 规范兼容并采用符合该规范的C A N 控制器及收发器,主要面向传输速率较高的车辆C 类通信网络。S A E J l 9 3 9 定义了物理层、数据链路层、网络层和应用层等四个层次,协议中共有5 种数据类型:命令(C o m m a n d)、请求(R e q u e s t s)、广播回应(B r o a d c a s t s R e s p o n s e)、接受应答1 3第2 章车用C A N 控制网络总体规划(A c k n o w l e d g m e n t)、组功能(G r o u pF u n c t i o n s)。2 2 1d 1 9 3 9 协议的编码规则J 1 9 3 9 协议将C A N 的2 9 位标识符进行了物理定义,同时制定了相应的数据定义,通过P D U(协议数据单元P r o t o c o lD a t aU n i t)来实旌和封装。J 1 9 3 9 与C A N的帧定义对应关系如表2 1 所示。表2 1S A E J l 9 3 9 与C A N 信息帧2 9 位标识符对应关系S O F1 1 位标识符S R RI D E1 8 位标识符C 州扩帧起优先权数据S R R扩展展帧格R 位P F 格式P FP S 格式源地址式始位位页D P位标识J 1 9 3 9l2-4567-1 21 31 41 5-1 61 7-2 42 5 3 2格式C A N 帧2 8-2 62 52 42 3 1 81 7-1 61 5 87-0格式1 协议数据单元(P D U)每个P D U 由七部分组成:优先级(P)、保留位(R)、数据页(D P)、P D U格式(P F)、特定P D U(P S)、源地址(S A)和数据。但是在J 1 9 3 9 协议中并未将C A N 帧中的某些控制位归入P D U 的定义,这是因为它们完全是由C A N 协议控制的并且当O S I 模型高于数据链路层时是不可见的。从表中可以看出帧起始位(S O F)、远程帧控制位(R T R)、以及数据长度控制位域(D L C)等均未被J 1 9 3 9协议列入协议数据单元(P D U)中。(1)优先级(P):这三位用来表示标识符的优先级,其数值从0 至f J 7,分别表示优先级从高到低。通过对优先级位域的设置,J 1 9 3 9 协议决定了在总线冲突期间报文发送的先后顺序。(2)保留位(R):该位为保留位,作为J 1 9 3 9 协议以后扩展用,应被设为0。(3)数据页(D P):用来选择附加参数组目录。该位作为对J 1 9 3 9 参数组的扩展,目前被设为0,当页面0 中的所有参数组号均被定义后才可使用页面l。(4)P D U 格式(P F)占用8 个位,属于J 1 9 3 9 参数组号的一部分。参数组号用来标识和定义请求应答,拒绝应答等命令及数据。根据P F 的值,可以将协议数据单元分为两类格式:P D U I 和P D U 2。P D U l(P F _ 2 4 0):P D U 2 格式仅能用于无特定目的地址的C A N 数据帧通信。当P F 值为2 5 5 时(保留位=0,数据页=O),该消息作为自定义消息格式B,由制造商对该消息进行定义(自定义广播消息)。(5)特定P D U(P S):它的定义取决于P F。如果P F 的值小于2 4 0,P F 定义为目标地址(D A);如果P F 的值大于等于2 4 0,贝J J P F 定义为扩展组。目标地址(D A):定义了数据将要发送