基于CAN总线的电动汽车实验平台
1 概述
控制器局域网CAN(Controller Area Network)是国际上应用最为广泛的现场总线之一, 20世纪80年代末由德国Bosch公司最先提出,应用于汽车工业中。CAN总线由于具有抗干扰性强和使用可靠等优点,目前己被广泛运用于汽车工业、航空 工业和工业控制等自动化领域。
2 CAN总线在电动汽车上的应用
由于电动汽车的很多部分都由独立的电子控制器进行控制,为了将整个电动汽车内各系统进行统一管理,实现数据共享和相互之间协同工作,利用CAN总线进行数据传递是一个必然的趋势。
3 实验平台组成及其功能
电动汽车实验平台由主电机驱动试验台。一体化电机及其驱动系统(MC)、电气安全系统(ECS)和电池管理系统(BMS)将各自系统的运行参数通过CAN 总线传递到数据显示操控板(DDB),DDB将数据处理后进行显示。我们通过DDB可以了解各子系统的运行状况。数据显示操控板由数据显示部分、电机油门 和挡位控制部分以及电气安全模拟试验装置三部分组成。
电机油门和挡位控制部分由一个旋钮变阻器和一个换挡器组成,通过操作换档器可以控制电机的起停、旋转方向和电机能够输出的最大功率;而通过旋转旋钮变阻器可以控制电机的输出功率。
电气安全模拟试验装置可以通过调整正/负母线绝缘电阻的大小来检验在不同绝缘状态下电动汽车各主要系统运行是否可靠。
数据显示操控板由三个CAN节点组成,它们将CAN传送的数据处理后送到数码管进行显示。三个节点分别接收MC、BMS和ECS传上来的数据,然后根据协 议将数据进行处理,最后显示各系统的运行参数,同时根据参数进行相应的操作。这样在整个实验平台中就有6个CAN节点接到同一个CAN总线上,如图1所示。
4 数据显示板的电路和软件设计
4.1 电路设计
三个显示节点的硬件电路在结构上基本一致,只是各个I/O口的使用方式不一样。如图2所示,整个电路由4个部分组成,分别是MCU及其外围电路、CAN收发器电路、数据显示驱动控制电路和外围控制电路。
MCU及其外围电路
MCU采用的是Freescale公司(原Motorola半导体部)的8位单片机MC68HC908GZ16。它使用的是Freescale高性能的 CPU08核心,具有16kb Flash和1kb RAM,内含一个支持CAN2.0A/B的控制器、8通道10位的AD转换口、一个SPI模块和2路PWM输出,部分I/O口的输出电流可以达到 20mA,同时支持在线编程调试。MCU的外围晶振电路如图3所示,烧写电路如图4所示。
CAN收发器选择的是PHILIPS公司的PCA82C250,光耦选择的是高速光耦6N317。考虑到避免干扰,在设计时使用了一个DC/DC隔离电源来将收发器电源和芯片其他部分电源进行隔离,电路如图5、6所示。
数据显示驱动电路由MC9S08GZ16的SPI输出端口开始,即图3中的DOUT4、DOUT3和DOUT2三个管脚,加上数码管显示电路,构成了完整的SPI模块。
数码管显示电路以MAXIM公司的MAX7219为核心,如图7所示,它是专门的数码管驱动芯片,可以同时驱动8个8段数码管,驱动电压和驱动电流可以通 过程序来设置。它的操作很简单,MCU只需通过SPI接口就可以将相关的指令写入MAX7219的内部指令和数据寄存器。它还支持多片7219串联方式, 这样MCU就可以通过3根线(即数据线、时钟线和芯片选通线)控制更多的数码管显示。
外围控制电路
在MC显示节点中用PWM输出来控制一个小电机工作,并且根据MC传上来的电机转速来控制小电机的旋转速度,如图8所示。
4.2 软件设计
各个显示节点的程序主要根据其功能来设计,同时在总体结构上保持一致。整个程序大部分操作是在主程序中完成的,只有CAN接收和发送程序在中断中完成。
主程序
主程序中的操作先是初始化各寄存器,然后在死循环中根据标志位来进行相应处理,具体流程如图9所示。
CAN中断程序
当CAN总线上有数据送到各节点时,MCU产生CAN中断,程序立即跳到CAN中断程序,如图10所示。中断程序中先判断数据帧的ID号,以确定是否是自 己想要的数据,如果是,则将CAN数据寄存器中的数据放入已经定义的数组中,然后置位CAN中断标志,接着退出中断处理程序;如果不是,则直接跳出中断处 理程序。
5 网络协议的制定及网络调试
首先根据各个节点的重要性和节点需要传送的数据量大小来设计网络协议。然后利用CANoe软件对网络进行仿真,对比仿真的结果来不断的修改网络协议。
在实际CAN网络的调试过程中,使用VECTOR公司的CANoe网络监控套件来监控CAN网络的运行状况,了解各节点的数据帧是否正常发送,同时查看网 络是否正常运行。为了使调试更方便,还应用CANoe软件做了一个上位机界面,它将各节点传来的数据按照协议进行计算,然后显示在界面上,这样可以更直接 了解各节点的运行状况。
CAN PWM MCU BMS DDB ECS MC 相关文章:
- CAN在汽车电子中的应用(11-18)
- CANopen验证—如何让你的设备按照既定设计运行(11-26)
- LIN和SAE J2602驱动更为有效的汽车网络连接(上)(11-26)
- 汽车总线协议的形势判断(11-26)
- 基于ADG663的CAN总线网络扩展方案设计(11-27)
- Freescale LIN总线应用开发平台(11-27)