基于CAN总线的多ECU通信平台设计

发布者:静雅心灵最新更新时间:2012-05-05 来源: dzsc关键字:CAN总线  ECN  J1939协议  通信平台 手机看文章 扫描二维码
随时随地手机看文章

引言

随着集成电路和单片机在汽车上的广泛应用,现代汽车上的电子控制器的数量越来越多,常见的有发动机的电子燃油喷射装置、防抱死制动装置(ABS)、安全气囊装置、电动门窗装置、主动悬架等。电控系统的增加虽然提高了轿车的动力性、经济性和舒适性,但随之增加的复杂电路也降低了汽车的可靠性,增加了维修的难度。从布线角度分析,传统的电子气系统大多采用点对点的单一通信方式,相互之间少有联系,这样必然造成宠大的布线系统。因此,一种新的概念——汽车上电子控制器局域网络CAN,也就应运而生。为使不同厂家生产的零部件能在同一辆汽车上协调工作,必须制定标准。按照ISO有关标准,CAN的拓扑结构为总线式,因此称为CAN总线。CAN总线被设计作为汽车环境中的微控制器通信,在车载各电子控制装置ECN之间交换信息,在车载各电子控制装置ECN之间交换信息,形成汽车电子控制网络。

控制器局域网CAN(Controller Area Network)是一种多主方式的串行通信总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。CAN在汽车上的应用,具有很多行业标准或者是国际标准,比如国际标准化组织(ISO)的ISO11992、ISO11783以及汽车工程协会(Society of Automotive Engigeers)的SAE J1939。CAN总线已经作为汽车的一种标准设备列入汽车的整车设计中。


1 CAN总线特点及其通信协议

1.1 CAN总线简介

CAN通信协议规定了4种不同的帧格式,即数据帧、远程帧、错误帧和超载帧。基于以下几条基本规则进行通信协调:总线访问、仲裁、编码/解码、出错标注和超裁标注。CAN遵从OSI模型。按照OSI基准模型只有三层:物理层、数据链路层和哀告层,但应用层尚需用户自己定义。CAN总线作为一种有效支持分布式控制或实时控制的串行通信网络,应用范围遍及从高速网络到低成本的多线路网络。如:CAN在汽车中的发动机控制部件、ABS、抗滑系统等应用中的位速率可高达1Mbps。同时,它可以廉价地用于交通运载工具电器系统中,例如电气窗口、灯光聚束、座椅调节等,以替代所需要的硬件连接。其传输介制裁为双绞线,通信速率最高可达1Mbps/40m,直接传输距离最远可达10km/5kbps,挂接设备数最多可达110个。CAN为多主工作方式,通信方式灵活,无需站地址等节点信息,采用非破坏性总线仲裁技术,满足实时要求。另外,CAN采用短帧结构传输信号,传输时间短,具有较强的抗干扰能力。

CAN总线与其它通信协议的不同之处主要有两方面:一是报文传送不包含目标地址,它是以全网广播为基础,各接收站根据报文中反映数据性质的标识符过滤报文,其特点是可在线上网下网、即插即用和多站接收;另外一个方面就是特别强化了数据安全性,满足控制系统及其它较高数据要求系统的需求。

1.2 J1939通信协议

J1939协议是在CAN总线通信协议2.0B(29标识符)之上具体实现了应用层,是SAE为重载卡车和客车制定的通信协议;以CAN 2.0B为基础,物理层标准与ISO11898规范兼容并采用符合该规范的CAN控制器及收发器。J1939协议将CAN标识符划分为如下几个部分:优先级(P)、数据页(PGN)、协议数据单元(PDU)格式、PDU特定域(PS)和源地址(SA)。J1939/71应用层文档定义了车辆控制的各种参数及命令的PGN。



由此可见,J1939与CAN通信协议的区别在于29位标识符(ID),数据场相同。J1939将CAN的29位标识符(或称辨识别)进行了详细的物理定义。通过PDU将CAN标准格式封装为J1939协议格式。PDU信息帧又由优先权P、保留位R、数据页DP、协议数据单元PF、扩展单元PS、源地址SA和数据场DATA七个部分组成,即CAN的29位标识符加上数据。

2 总体设计

2.1 汽车电控网络结构

汽车内ECU之间的数据传输特征主要差别在于数据传输频率,例如发动机高速运行时,进行的是高频数据传输,每隔几ms就传输1次;而在低速运行时,进行的是低频数据传输,每隔几十ms乃至几百ms才传输1次。然而为了满足实时性要求,就要求汽车内每个控制单元尽可能实现汽车公共数据共享,但又由于每个控制单元对实时性的要求是因为数据的更新速率和控制周期不同而不同的。这就要求其数据交换网是基于优先权竞争的模式,且本身具有较高的通信速率。CAN总线正是为满足这些要求而设计的。CAN已有国际标准,即高速场合的ISO11898和用于低速场合的ISO11519-3。[page]

通常的汽车网络结构采用多条不同速率的总线分别连接不同类型的节点,并使用网关服务器来实现整车的信息共享和网络管理。若按照美国汽车工程师协会(SAE)车辆网络委员会标准SAE J2057,将汽车数据传输网划分为三类。这里可用图1简单说明。其中网关是汽车内部通信的核心,通过它可以实现在CAN总线上信息的共享以及实现汽车内部的网络管理和故障诊断功能;将各个数据总线上的信息反馈到仪表板总成上的显示屏上,驾驶者通过仪表板上的信息就可以知道各个电控装置是否正常工作了。

2.2 通信平台硬件设计

在设计中,主控芯片CPU选用51系列的单片机。CAN通信控制器执行完整的CAN协议,完成通信功能,包括信息缓冲和接收滤波,故CAN控制器选用Philips的SJA1000。选用PCA82C250作为CAN总线的收发器,PCA82C250是CAN协议控制器和物理总线之间的接口,在运行环境中具有抗瞬变、抗射频和抗电磁干扰性能,内部的限流电路具有电路短路时对传送输出级进行保护的功能。传输介质采用屏蔽电费,在测控节点与介质之间加入光耦电路,以提高总线接口的抗干扰能力。图2为通信平台硬件框图,图3为控制器与收发器连接接口。

为进一步提高系统的可靠性,需要考虑到系统的冗余设计。由于汽车环境恶劣且干扰因素较多,在CAN_H和CAN_L信号线与地线之间分别并联了两个电容,滤去噪声,使信号传输平稳。双屏蔽电费可设两套,在两套介质上同时进行信息传输。接收方只用一个介质,在冗余和非冗余段的连接临界点进行总线切换。

2.3 软件设计

简单地说,本通信平台所要实现的功能就是,使各个节点(ECU)通过CAN总线实现相互通信,发送接收命令、信息等,并实现数据的共享,从而提高各自的控制性能和运行效率。汽车上CAN数据总线的每个节点(ECU)都有自己的地址和名称相对应。ECU地址指出了数据传送的目的地,而其名称则标识了ECN的基本功能。节点连续监视着总线上发出的各种数据。当所收到的数据地址值与自身地址吻合时,该节点就获得令牌。在通信规约中,唯一获得令牌的该节点有权发送数据,以防止两个或两个以上的节点同时传输数据引起混乱。同时每一个节点都有机会得到令牌,完成数据传输。

本软件设计是基于Keil C语言编写的。程序主要由主模块、中断处理模块及数据通信模块等组成,如图4所示。



主模块完成对硬件初始化、寄存器的配置、SJA1000初始化等;中断处理模块包括数据中断的发送、接收、错误处理及报警处理等;数据通信模块完成数据的请求、发送、接收等。

当一个节点A发送数据请求报文(远程帧),向另外一个节点B请求报文(应答帧)时,节点B接收到请求后,经过判别,而后发送数据(应答帧)。由于数据请求没有数据场,所以相对数据帧长度小很多。经分析验证之后与节点B收到的数据相同,请求数据程序得到验证。

结语

在现代汽车的设计中,CAN总线已经成为构建汽车网络的一种趋势;而汽车网络作为直接与汽车内部各个ECU连接并负责命令的传递、数据的发送及共享,其可靠性和稳定性与整车的性能紧密相关。本文的设计开发是在基于试验条件下搭建的仿真平台,节点之间的通信是通过对等的CAN通信节点进行的。试验表明其运行性能稳定可靠,但实用化仍需要进一步的研究和改进,且程序的通信处理能力、纠错和容错能力有待进一步的提高。

关键字:CAN总线  ECN  J1939协议  通信平台 引用地址:基于CAN总线的多ECU通信平台设计

上一篇:CAN总线与以太网系统互连中网关的设计与实现
下一篇:电力系统通信的音转接口设计

推荐阅读最新更新时间:2024-05-02 22:02

单片机和MCP2510的CAN总线通信模块设计
CAN(Controller Area Network)总线,即控制器局域网。由于具有高性能、高可靠性以及独特的设计,CAN总线越来越受到人们的重视。德国的Bosch公司最初为汽车监控和控制系统设计了CAN总线,现在,其应用已面向过程工业、机械工业、纺织工业、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。CAN总线已经形成国际标准,并已经公认为是最有前途的现场总线之一。CAN总线规范已经被国际标准化组织制订为国际标准ISO11898,并得到众多半导体器件厂商的支持,推出各种集成有CAN协议的产品。CAN总线系统智能节点是网络上报文的接收和发送站,一般由单片机和CAN控制器或二者合二为一组成。 MCP25l0是Micro
[工业控制]
基于LPC11C14的服装工位机设计
服装制造业是典型的劳动密集型产业,信息化的生产管理通常是欠缺的,特别是车间的管理。现代企业期望使用高新技术来增强产品的竞争力并降低成本,通过有效利用和控制物流信息,实现产能的最大化。国际上,伴随着生产物流信息化管理中的信息爆炸,RFID技术被引入来减轻人工输入和处理大批数据的负担,为生产流程的精细化管理提供依据。如今,国内的服装生产企业热衷于服装生产的信息化,亟需研发廉价的智能服装生产工位机。文中使用NXP公司的32位内置CAN控制器的ARM单片机,加上RFID读卡模块及CAN收发器,省去了CAN控制器芯片。CAN通讯采用单片机内部CAN控制器,通讯协议由单片机软件实现,从而简化了应用电路,提高了电路的实用性。 1 恩智浦半导体
[单片机]
基于LPC11C14的服装工位机设计
一种基于DSP芯片与CAN总线的电源监控系统设计
  电源技术发展的方向之一是运用电源模块并联技术实现功率合成,组成积木式、智能化的分布式大功率电源系统。为使并联的各个模块协调工作,对分布式电源系统进行可靠的监控是电源技术发展的热点之一。   目前对分布式电源监控普遍采用的做法存在的问题主要在数字化程度不高,速度不够快,精度和可靠性不够高等问题,然而在工业控制中电源控制显的十分的重要。   1电源监控系统总体设计   传统电源系统并联系统多是采用模拟的方法实现模块间的电流均流的,但存在着一些共同的不足:必须有均流控制母线,需要增加专门的均流控制器。且均流母线属于模拟电平信号线,抗干扰能力较弱;难于保证电源模块调制频率的一致。同时,当多个子并联电源单元组成分布式电源系统时,对
[嵌入式]
一种基于DSP芯片与<font color='red'>CAN总线</font>的电源监控系统设计
基于CAN总线的制造业远程监测仪器系统
在现代化生产中,机电设备的状态监测和故障诊断技术越来越受到重视,但现有的生产过程监测系统网络开放性不强、在远程监测和诊断方面存在许多不足。为了保证设备安全、稳定及协调的运行,需要对多数关键设备进行远程实时监测、集中控制及管理。 CAN总线是一种先进的串行总线通信技术,具有多主、高可靠性及实时性等优点。通过现场总线系统能将各网络节点采集的信号实时传输到监测控制中心,由监测控制中心实现对设备的远程监控与管理。 1系统的组成及功能 系统采用多功能转子试验台为研究试验对象,整个系统由现场实时数据采集系统、现场总线网络通信系统及上位机分析与诊断系统(管理信息系统)三大部分组成。根据现场实际情况,设置相应数量的网络数据采集器,对设备的主要
[嵌入式]
技术文章—CAN总线分支过多或过长问题的五种解决方案
摘要:CAN总线作为可靠性、稳定性最高的总线之一,在工业现场、汽车电子、轨道交通等行业都有广泛的应用。但是在实际使用CAN总线中还是会遇到一些问题,今天我们就总线分支过长/过多引起的总线问题进行深入的剖析。 CAN总线的布线受现场环境、产品形状等因素的影响,可能导致现场布线中出现总线的分支过长/过多等现象,某系统中A、B(AB各有120电阻)一条CAN线上挂有CDEF等节点,若将C支线延长100m,则F全部关闭,系统会报错,去掉100m延长线,F任意状态系统都不会报错。 当总线支线过长,上升沿和下降沿产生台阶现象,当台阶正好处于0.5V逻辑识别阈值附近时,容易导致位宽度失调,从而使接收节点接收错误,针对此类错误给出
[物联网]
技术文章—<font color='red'>CAN总线</font>分支过多或过长问题的五种解决方案
基于CAN总线的联合收割机智能控制系统的设计与实现
摘要:本文介绍了一种以P87C2591单片机为主控器,以谷物流量传感器、谷物湿度传感器、割台高度传感器、地速传感器、升运器转速传感器、DGPS接收机、变量作业控制和智能控制终端为主要外围元件的联合收割机智能控制系统。此系统具有显示直观、准确,使用方便、可靠等优点,代表了联合收割机智能控制系统的最新发展趋势。在系统设计过程中充分考虑了性价比,选用价格低、性能稳定的元器件。通过运行调试,试验结果与设计要求基本一致。 关键词:CAN总线;联合收割机;智能控制 1 系统组成及工作原理 整个系统可以分成两个独立的部分:产量监测子系统和变量作业控制子系统。它们分别用来实现产量监测和变量作业控制的功能。系统框图如图1所示。系统中所有节点都
[工业控制]
基于<font color='red'>CAN总线</font>的联合收割机智能控制系统的设计与实现
为何车载空调压缩机CAN总线通讯需要采用隔离方案?
炎炎夏日,车内空调系统的稳定可靠运行显得尤为重要。本文将为您介绍如何通过总线隔离避免因通信不畅引起的车载空调故障。 为什么要用隔离 从能源种类来看,目前公路上的车型主要可以分为两类,一类是使用传统汽油、柴油作为燃料的车辆,另一类是使用电池的新能源车。这两类车型的车载空调系统有什么区别呢?传统的燃油车辆,空调压缩机是由发动机直接将动能传递给空调压缩机,而新能源车的空调压缩机则是由车内的电池驱动的。 图1 动力电池 将新能源汽车的动力电池驱动压缩机需要几个步骤,首先要将直流电转化为交流电(逆变),然后调整交流电频率使其能稳定驱动压缩机中的电机,该部分的功能部件在车辆中以空调驱动单元存在。说到高压、逆变、变频、
[汽车电子]
为何车载空调压缩机<font color='red'>CAN总线</font>通讯需要采用隔离方案?
关于CAN总线的基础
文章来源于Digikey 车载网络允许微控制器和发动机控制单元 (ECU) 处理器与传感器、执行器、指示器、显示器以及彼此进行通信。 车载网络的网络带宽取决于所支持的功能。 通常,基本的车身和舒适应用程序可以在低总线带宽下工作,而动力传动系统和底盘应用需要更多的带宽,安全功能使用中等带宽,信息娱乐应用程序使用高带宽,而高级驾驶员辅助系统(ADAS)需要非常高的带宽。 此外,车载网络可以使用多种网络架构,每种架构都与一组功能需求相匹配。经典的车载网络是CAN总线。 CAN总线功能和结构 CAN 已存在约三十年,并且仍在不断发展。 ISO 11898 标准中描述了经典的 CAN 总线。 它支持高达 1 兆位每秒 (Mb
[汽车电子]
关于<font color='red'>CAN总线</font>的基础
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved