基于CAN总线的电动汽车数字控制系统研究
扫描二维码
随时随地手机看文章
电动汽车是集计算机技术、通信技术、电子技术、新材料技术等一体化的高科技产品,其结构复杂,有多种相互作用却又相对独立的部件,且车载环境较恶劣,有很强的干扰,用模拟量的控制可靠性不高。先进高效的控制体系结构,可以使电动汽车各系统之间的数据交换满足简单迅速、可靠性高、抗干扰能力强、实时性好、系统错误检测和隔离能力强等要求。本文采用了先进的计算机技术和CAN总线技术,集智能控制、信号采集、数据处理和通信于一体,控制实时性好,可实现整车控制智能化和多传感器信息的有效融合。
1 CAN总线的简介
CAN(ControllerAreaNewtork)即控制器局域网,是一种先进的串行通信协议,属于现场总线范围。CAN总线是最初由德国Bosch公司在80年代初期,为了解决现代汽车中众多的控制与测试一起之间的数据交换而开发的一种串行数据通信协议,目的是通过较少的信号线将汽车上的各种电子设备通过网络连接起来,并提高数据在网络中传输的可靠性,CAN总线具有较强纠错能力,支持差分收发,因而适合高噪声环境,并具有较远的传输距离,特别适合于中小型分布式测控系统,目前己在工业自动化、建筑物环境控制、机床、医疗设备等领域得到广泛应用。CAN总线具有以下几个重要特点:
1)结构简单,只有两根线与外部相连,且内部含有错误探测和管理模块。
2)通信方式灵活。可以多种方式工作,网络上任意一个节点均可在任意时刻主动的向网络上的其他节点发送信息,而不分主从。
3)可以点对点、点对多点及全局广播方式发送和接受数据。
4)网络上的节点信息可分成不同的优先级,可以满足不同的实时要求。
5)CAN通讯格式采用短帧格式,每帧字节数最多为8个,可满足通常工业领域中控制命令、工作状态和测试数据的一般要求。同时,8个字节也不会占用总线时间过长,从而保证了通讯的实时性。
6)采用非破坏性总线仲裁技术。当两个节点同时向总线上发送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可以不受影响继续传输数据,这大大地节省了总线仲裁冲突时间,在网络负载很重的情况下也不会出现网络瘫痪。
7)直接通讯距离最大可达1k0m(速率在5kb/S以下),最高通讯速率可达1Mb/s(此时距离最长为40m)。节点数可达110个,通信介质可以是双绞线、同轴电缆或光导纤维。
8)CAN总线通讯接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。
9)CAN总线采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。
2 系统设计
电动汽车数字控制系统主要由电机驱动控制系统,电池管理系统,动力装置的冷却系统,汽车电器、仪表显示、供电系统,信息通信系统等组成。电动汽车采用双CAN总线结构,电机驱动控制系统、电池管理系统和信息通信系统均采用高速CAN总线通信;动力装置的冷却系统,汽车电器、仪表显示、供电系统采用低速CAN总线系统;高、低速CAN总线系统之间采用网关进行交换,如图1所示,CAN总线符合CAN.20B标准和15011898国际标准。通信介质采用普通屏蔽双绞线。
选择合适的MCU是CAN总线数字仪表控制系统设计成功的关键。它必须能适应各类复杂监控系统的要求,如实时性、低功耗、快速数据处理、集成数模外设功能、集成CAN总线接口,还应该集成充足的Flash或RAM供程序、数据存储,以简化电路,提高系统的可靠性。此外,它还要具有低成本和恶劣环境下的适应性。在综合比较了当前业界流行的几款MCU,如DSP2000系列、ATM89系列和C8051F系列之后,最终选择了Cygnal的C805lF这一系列高性能8位单片机。
C8051F系列单片机是完全集成的混合信号系统级芯片SOC具有与MCS51完全兼容的指令内核。由于采用了流水线处理技术,不再区分时钟周期和机器周期,大大提高了指令执行效率,使其处理速度不逊于许多16位单片机。在低功耗的同时它还拥有着控制系统所需的丰富模拟、数字外设,大量的外设功能接口,通过交叉开关表分配到64个I/O引脚,这一独创性设计使得芯片集成度大大增高。此外,C805lF还采用了Flash ROM技术,集成了JTAG,实现了真正的在线编程和片上调试。
3 接口电路设计
系统中选用Phliips公司的CAN总线收发器PCA82C250,PCA82C250是CAN控制器和物理层总线之间的接口,符合CAN国际标准15011898,它可以提供总线的差动发送能力和接收能力。用PCA82C250的目的是为了增大通信距离,提高系统的瞬间抗干扰能力,保护总线,降低射频干扰,实现热防护等。PCA82C250允许的最高通信速度可达lMbps,最多节点数可达110个节点。它可以使系统具有较好的开放性和灵活性,即使该CAN总线在不要求所有节点及其应用层改变任何软件和硬件的情况下,可自由地增加或减少控制器节点。
C805lF040内集成了完全支持CAN2.0A和CAN2.0B的CAN控制器,独立的消息RAM可以处理32条消息对象,每个消息对象都可以进行发送和接收滤波,最高工作速率达到1Mb/s,能够完成CAN总线协议数据链路层和应用层的所有功能;其中CAN总线的竞争处理、CPU接口、同步、数据的一贯性以及连续性保证,都是由硬件来解决,CPU因此得以腾出大量的精力来处理其他的用户功能。以上这些特性,使得C805lF040成为CAN总线节点微控制器的良好选择。因而系统不需要专门的CAN控制器。通讯接口电路设计如图2所示,82C250是CAN控制器和物理总线间的接口,它是专用的CAN驱动芯片,提供对总线的差动发送和接收功能。为了增强CAN通信的抗干扰能力,在缓冲器和CAN驱动之间设计了光电隔离电路。采用的是高速光电隔离芯片6N137,输入与输出的供电电压也都采用5V。同时为了避免电源引起的干扰,CAN通信部分采用单独的DC—DC电源模块供电。
4 软件设计
系统软件模块包括:控制策略模块、系统参数配置模块、运行监控及故障指示模块、CAN通信总线模块、数据采集模块、配置数据交换模块、报表打印模块、与其他软件的接口模块等。其中控制策略模块和CAN总线通信模块是主要的功能模块。
由于控制器是多变量输入,为了适应控制对象结构和参数变化范围大、对象数学模型难于建立的特点,控制策略模块采用了模糊控制方法。模糊控制的基础是知识库,当各个节点的信息通过CAN总线输入到控制器后,经过模糊推理和模糊决策获得输出量,可使整车获得最佳运行状态,实现电动汽车仪表显示及优化控制。CAN总线通信软件主要包括节点初始化程序、报文发送程序、报文接收程序以及CAN总线出错处理程序等。在初始化C8051F040内部寄存器时注意使得各节点的速率必须一致,而且收、发双方必须同步。报文的接收主要有中断和查询两种接收方式,为提高通信的实时性,保证接收缓存器不会出现数据溢出现象,本文设计的系统采用中断接收方式实现CAN的通信过程。中断服务程序流程图如图3所示。
数据采集系统通过传感器、信号调理电路和采集卡,将表征电动汽车运行状况的物理量转化为数字量采集至各个CAN节点,在对数据位值转换、软件滤波和必要运算后,通过CAN总线将信息送往多能源控制器。CAN节点控制模
块需要采集的主要信号有:
1)动力装置的冷却系统:检测水温、油温、油压力、启动故障、水温过高/低等;
2)电机驱动控制系统:检测电压、电流扭矩、功率、转速、电机状态、车速、电机故障、加速踏板位置、制动踏板位置、离合器状态、钥匙信号、档位等;
3)电池管理系统:检测SOC、电池电压、电池电流、电池温度、电池充/放电、电池故障等。
现场总线控制系统以其高性能、高可靠性和高性价比,被越来越多地应用于车用电控单元和仪表系统之中。在电动汽车控制系统中采用CAN总线技术,不仅组网自由,扩展性强,实时性好,可靠性高,而且具有自诊断和监控能力,它是一种十分有效的通信方式。
5 结论
本文介绍了基于单片机C8051F040的CAN电动汽车数字控制系统设计过程,给出了硬件系统结构图和软件设计思路,经过实验证明,CAN电动汽车数字控制系统工作稳定、可靠,具有良好的应用前景。