CAN总线的特点及J1939协议通信原理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

CAN总线的特点及J1939协议通信原理、内容和应用来源:众多国际知名汽车公司早在20世纪80年代就积极致力于汽车网络技术的研究及应用。迄今已有多种网络标准,如专门用于货车和客车上的SAE的J1939、德国大众的ABUS、博世的CAN、美国商用机器的AutoCAN、ISO的VAN、马自达的PALMNET等。在我国的轿车中已基本具有电子控制和网络功能,排放和其他指标达到了一定的要求。但货车和客车在这方面却远未能满足排放法规的要求。计划到2006年,北京地区的货车和客车的排放要满足欧Ⅲ标准。因此,为了满足日益严格的排放法规,载货车和客车中也必须引入计算机及控制技术。采用控制器局域网和国际公认标准协议J1939来搭建网络,并完成数据传输,以实现汽车内部电子单元的网络化是一种迫切的需要也是必然的发展趋势。1CAN总线特点及其发展控制器局域网络(CAN)是德国Robertbosch公司在20世纪80年代初为汽车业开发的一种串行数据通信总线。CAN是一种很高保密性,有效支持分布式控制或实时控制的串行通信网络。CAN的应用范围遍及从高速网络到低成本底多线路网络。在自动化电子领域、发动机控制部件、传感器、抗滑系统等应用中,CAN的位速率可高达1Mbps。同时,它可以廉价地用于交通运载工具电气系统中,如灯光聚束、电气窗口等,可以替代所需要的硬件连接。它采用线性总线结构,每个子系统对总线有相同的权利,即为多主工作方式。CAN网络上任意一个节点可在任何时候向网络上的其他节点发送信息而不分主从。网络上的节点可分为不通优先级,满足不同的实时要求。采用非破坏性总线裁决技术,当两个节点(即子系统)同时向网络上传递信息时,优先级低的停止数据发送,而优先级高的节点可不受影响地继续传送数据。具有点对点、一点对多点及全局广播接收传送数据的功能。随着CAN在各种领域的应用和推广,对其通信格式的标准化提出了要求。1991年9月PhilipsSemiconductors制定并发布了CAN技术规范(Versio2.0)。该技术包括A和B两部分。2.OA给出了CAN报文标准格式,而2.OB给出了标准的和扩展的两种格式。1993年11月ISO颁布了道路交通运输工具-数据信息交换-高速通信局域网(CAN)国际标准ISO11898,为控制局域网的标准化和规范化铺平了道路。美国的汽车工程学会SAE于2000年提出的J1939,成为货车和客车中控制器局域网的通用标准。2.J1939协议通信原理及内容(1)J1939与CANJ1939是一种支持闭环控制的在多个ECU之间高速通信的网络协议冈。主要运用于载货车和客车上。它是以CAN2.0为网络核心。表1介绍了CAN2.0的标准和扩展格式,及J1939协议所定义的格式。表2则给出了J1939年的一个协议报文单元的具体格式。可以看出,J1939标识符包括:PRIORTY(优先权位);R(保留位);DP(数据页位);PDUFORMAAT(协议数据单元);PDUSPECIFIC(扩展单元)和SOURCEADDRESS(源地址)。而报文单元还包括64位的数据场。表1CAN2.0的标准和扩展格式及J1939协议所定义的格式CAN扩展帧格式SOF11位标识符SRRIDE18位扩展标识符J1939帧格式帧起始位优先权3位R位(保)数据页DPPF格式6位SRR位扩展标识PFPS格式(8位)源地址(8位)CAN12~4567~121314151617~2425~32帧位置28~26252423~18171615~87~0表2J1939协议报文单元的具体格式一个J1939协议报文单元PRIORITYRDPPDUFORMATPDUSPECIFICSOURCEADDRESSDATAFIELD3118880~64(2)数据传转协议J1939通信中的核心是负责数据传输的传输协议。它的功能分为两部分:(1)数据的拆分打包和重组。一个J1939的报文单元只有8个字节的数据场。因此如果所要发送的数据超过了8字节,就应该分成几个小的数据包分批发送。数据场的第一个字节从1开始作为报文的序号,后7个字节用来存放数据。所以可以发送255×7=1785个字节的数据。报文被接收以后按序号重新组合成原来的数据。(2)连接管理。主要对节点之间连接的建立和关闭,数据的传送进行管理。其中定义了5种帧结构:发送请求帧、发送清除帧、结束应答帧、连接失败帧以及用来全局接收的广播帧。节点之间的连接通过一个节点向目的地址发送一个发送请求帧而建立。在接收发送请求帧以后,节点如果有足够的空间来接收数据并且数据有效,则发送一个发送清除帧,开始数据的传送。如果存储空间不够或者数据无效等原因,节点需要拒绝连接,则发送连接失败帧,连接关闭。如果数据接收全部完成。则节点发送一个结束应答帧,连接关闭。(3)J1939的参数格式J1939中还定义了参数的具体格式,如标识符、优先级、数据长度、参数的范围等。参数又划分为状态参数和测量参数。状态参数表示具有多态信号的某一种状态,如发动机刹车使能/禁能、巡航控制激活/关闭,扭矩/速度控制超载模式、错误代码等。而测量参数则表示所接收到的信号的值的具体大小,如缸内爆发压力、最大巡航速度、发动机转速等。3.J1939协议的应用(1)J1939应用于网络构建J1939网络层中定义了如何构建网络及连接的功能。网络层的功能包括数据的过滤、重新打包和转发。分别由以下各部分实现。a.中继器。可以增强数据信号,使数据传输更远的距离。b.网桥。数据的转发和过滤。它可以把网络拆解成网络分支、分割网络数据流,隔离分支中发生的故障,这样就可以减少每个网络分支的数据信息流量而使每个网络更有效,提高整个网络效率。c.路由。可以使网络段具有独立的地址空间不同的数据传输率和媒介。d.网关。可以在不同的协议和数据设置的网段之间传送数据。图1为典型的汽车网络连接。(2)J1939应用于故障诊断J1939包括在线故障诊断功能,由诊断应用层定义。诊断应用层面向以下几方面。a.安全。在数据链路层上定义一个安全的框架,使得符合工业标准的开发工具执行必要的诊断任务。包括获取诊断信息,获取节点配置信息,标定控制模式。但对非开放型的数据加密。b.连接。建立J1939网络节点与开发工具之间的连接。连接器的设计也必须符合J1939协议。c.诊断状态数据支持。提供一系列的数据格式。包括读取出错数据、清除错误数据、监测通信参数、获取节点的配置以及其他的一些信息。d.诊断测试支持。可以使开发工具把各种控制节点放到具体的测试模式中以正确设计子网体系。诊断工具通过连接器与其他节点进行通信以获取诊断数据。因此所有的控制节点都应该具备以下功能:读取诊断故障代码、清除诊断故障代码、获取实时信息。而诊断故障代码记载了出错的参数及所在的节点等主要信息。4.节点设计及数据通信最小化节点的主控制芯片采用51系列的单片机,控制器采用PHILIPS公司的SJA1000,控制器接口采用82c250。为了构建CAN总线局域网络,采用了研华公司生产的双端口CAAN控制卡PCL-841,每块PCL-841卡集成了两块PHILIPS的SJA1000控制器和82c250控制器接口。这样两块控制卡就有四个端□,相当于四个独立的节点,用数据线连接起来,就组成了基本的CAN局域网。软件的编写主要包括对寄存器的配置、硬件初始化、中断调用、数据通信几大模块。中断调用中包括数据中的中断接收、中断发送,以及错误处理、报警等模块。通信模块又分为数据的发送、接收、请求等。综上所述,J1939通信协议解决了如下问题。(1)优先权问题。如自动换挡要求减油门,巡航控制同时要求增油,而ASR则要求减油门以维持驱动轴的低扭矩。根据重要程度,则应确定换挡优先,协议能定义各个子系统的优先权顺序。(2)灵活性问题。因为各个子系统都是不同类型的控制系统,网络应具备将各个子系统有机地融合在一起的能力。(3)可扩展性。即需要增加新的子系统时,不需要对基本系统作修改。(4)独立性。每个子系统都可以独立工作,某个子系统出现故障时并不影响其他系统的正工作。(5)为满足不同控制系统的要求,应具有高的数据传输速率带宽,具有通用的故障诊断接口诊断协议。(6)车辆状态共享。如发动机转速、车速、轮速等数据必须各子系统共享,数据的传输及刷新时间取决于各个子系统的特性,并由此决定优先权。CAN基本知识什么是CAN?CAN,全称为“ControllerAreaNetwork”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN控制装置。一个由CAN总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。例如,当使用PhilipsP82C250作为CAN收发器时,同一网络中允许挂接110个节点。CAN可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力。CAN是怎样发展起来的?CAN最初出现在80年代末的汽车工业中,由德国Bosch公司最先提出。当时,由于消费者对于汽车功能的要求越来越多,而这些功能的实现大多是基于电子操作的,这就使得电子装置之间的通讯越来越复杂,同时意味着需要更多的连接信号线。提出CAN总线的最初动机就是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线。于是,他们设计了一个单一的网络总线,所有的外围器件可以被挂接在该总线上。1993年,CAN已成为国际标准ISO11898(高速应用)和ISO11519(低速应用)。CAN是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。当信号传输距离达到10Km时,CAN仍可提供高达50Kbit/s的数据传输速率。由于CAN总线具有很高的实时性能,因此,CAN已经在汽车工业、航空工业、工业控制、安全防护等领域中得到了广泛应用。CAN是怎样工作的?CAN通讯协议主要描述设备之间的信息传递方式。CAN层的定义与开放系统互连模型(OSI)一致。每一层与另一设备上相同的那一层通讯。实际的通讯发生在每一设备上相邻的两层,而设备只通过模型物理层的物理介质互连。CAN的规范定义了模型的最下面两层:数据链路层和物理层。下表中展示了OSI开放式互连模型的各层。应用层协议可以由CAN用户定义成适合特别工业领域的任何方案。已在工业控制和制造业领域得到广泛应用的标准是DeviceNet,这是为PLC和智能传感器设计的。在汽车工业,许多制造商都应用他们自己的标准。表1OSI开放系统互连模型7应用层最高层。用户、软件、网络终端等之间用来进行信息交换。如:DeviceNet6表示层将两个应用不同数据格式的系统信息转化为能共同理解的格式5会话层依靠低层的通信功能来进行数据的有效传递。4传输层两通讯节点之间数据传输控制。操作如:数据重发,数据错误修复3网络层规定了网络连接的建立、维持和拆除的协议。如:路由和寻址2数据链路层规定了在介质上传输的数据位的排列和组织。如:数据校验和帧结构1物理层规定通讯介质的物理特性。如:电气特性和信号交换的解释CAN能够使用多种物理介质,例如双绞线、光纤等。最常用的就是双绞线。信号使用差分电压传送,两条信号线被称为“CAN_H”和“CAN_L”,静态时均是2.5V左右,此时状态表示为逻辑“1”,也可以叫做“隐性”。用CAN_H比CAN_L高表示逻辑“0”,称为“显形”,此时,通常电压值为:CAN_H=3.5V和CAN_L=1.5V。CAN有哪些特性?CAN具有十分优越的特点,使人们乐于选择。这些特性包括:??低成本??极高的总线利用率??很远的数据传输距离(长达10Km)??高速的数据传输速率(高达1Mbit

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功