微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于CAN总线通信的设计与开发

基于CAN总线通信的设计与开发

时间:12-21 来源:互联网 点击:

随着汽车上电子控制装置越来越多,车身布线也愈来愈复杂,使得运行可靠性降低,故障维修难度加大。为了提高信号的利用率,要求大批数据信息能在不同的电控单元中共享,同时汽车综合控制系统中大量的控制信号也能实时进行交换。但是,传统的汽车电子系统采用串行通信的方法,如用SAE1587等标准来实施,通信速度较慢、传递的数据量少,远不能满足高速通信的需求。

近年来CAN总线已发展成为汽车电子系统的主流总线,并有基于CAN总线通信协议的车辆应用层通讯标准SAEJ1939[1~4]产生。 图1 利用CAN总线开发的纯电动车(EV)电控系统通信网络具有通信速率高、准确、可靠性高的特点,易于整车控制网络的连接和管理,为传感器信号、各个控制单元的计算信息和运行状态的共享以及随车或离车故障诊断等提供了基础平台,同时开发基于该通信网络的控制器在线标定和实时监测系统也成为可能。

本文采用基于CAN2.OB的SAEJ1939通信协议,以MC68376为例,设计开发了应用于EV电控系统的CAN总线通信系统。 图2 1 EV电控系统CAN通信的设计

1.1 EV控制系统CAN总线通信原理 在EV控制系统中,控制器包括:制动控制器(ABS/ASR)、动力总成控制器PTCM(Powertrain Control Module)、动力蓄电池管理器BPCM(Battery PackControl Module)、驱动电机控制器DMCM(Driver Motor Control Module)、动力转向控制器及仪表控制器IPCM(1nstrument Pack ControlModule)等。在各控制器之间通过CAN通信网络交换数据,实现数据共享并使各自的控制性能都有所提高。图1为EV各控制器之间的 CAN通信原理图。


1.2 EV电控系统CAN通信的设计 根据CAN通信原理,硬件主要由CAN控制器和CAN驱动器组成。动力控制总成PTCM和电池管理控制模块BPCM采用32位高性能微处理器 MC68376上集成的CAN控制器;仪表控制器IPCM模块采用FUJ 32位高性能微处理器上集成的CAN控制器;电机控制DMCM模块、动力转向控制模块和制动控制模块采用SJA1000控制器。CAN驱动器全部采用 PCA82C250。 图2是EV的车载CAN通信网络节点连接图,每个总线末端均接有用RL表示的抑制反射的负载电阻。负载电阻连接在CAN-H和CAN-L之间,对于不带集成终端电阻(通常使用)的ECU,此电阻为60Ω;对于带有集成终端电阻的ECU,此电阻为120Ω。终端负载电阻最好置于总线末端,取消ECU内部的负载电阻RL,因为如果其中一个ECU从总线断开,总线将丢失终端。


下面以32位高智能微处理器MC68376为例介绍EV电控系统CAN通信的设计。

1.3 基于MC68376的EV电控系统CAN通信的设计[6~7] 1.3.1 MC68376内嵌的TouCAN的基本特性 TouCAN模块是MC68376内嵌的实现CAN通信协议的CAN控制器。其最高传输速度高达1Mbit/s,可同时支持CAN协议中的标准(11位) 和扩展(29位)ID两种报文模式。TouCAN模块包含16个具有发送和接收功能的报文缓冲器。此外,它还具有报文过滤功能,用于对接收到的报文ID码和预先设定的接收缓冲区ID码进行比较,从而确定接收到的报文是否有效。 图3为TouCAN的结构框图,其中CANTX和CANRX分别为发送和接收引脚。


1.3.2 MC68376 CAN通信硬件接口的设计 图4是CAN节点硬件接口电路原理图,其中CAN+5V是CAN总线接口电路专用的电源,实现CAN总线电源与CPU电源的隔离,使CAN系统的电压波动不影响CPU的正常工作电压。6N137为光电耦合芯片,可实现电信号之间的电气隔离。 PCA82C250用来提供对总线的差动发送能力和对CAN控制器的差动接收能力,完全与ISO11898标准兼容。在运动环境中,PCA82C250具有抗瞬变、射频电磁干扰的性能,内部的限流电路在电路短路时具有对传送输出级进行保护的功能。 图6

1.3.3 MC68376 CAN通信软件的设计 各控制器按规定格式和周期发送数据(车速、蓄电池电压、电流和温度等)到总线上,同时也要接收其它控制器的信息。总线上其它控制器根据需要各取所需的报文。对于接收数据,本系统采用中断的方式实现,一旦中断发生,即将接收的数据自动装载到相应的报文寄存器中。此时还可采用屏蔽滤波方式,利用屏蔽滤波寄存器对接收报文的标识符和预先在接收缓冲器初始化时设定的标识符进行有选择地逐位比较,只有标识符匹配的报文才能进入接收缓冲器,那些不符合要求的报文将被屏蔽于接收缓冲器外,从而减轻CPU处理报文的负担。并且不同数据放人不同的报文寄存器中,因此在接收中断服务程序中即可很容易地判断出中断是由哪个接收报文引起的。

图5为基于MC68376的CAN通信程序流程图。 图7 2 CAN通信在EV电控系统开发中的应用 EV电控系统CAN通信建立了各控制器之间的通信网

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top