CAN总线下的燃料电池汽车空调控制节点

发布时间:2010-08-03
分享到
副标题#e#

  在能源日趋紧张、空气污染日益严重的今天,开发具有自主知识产权的新型汽车是我国汽车产业的一个重要飞跃和里程碑,也是国家重点扶持的主要领域之一。燃料电池汽车与传统燃油汽车相比具有环保、节能(氢气为燃料)、运行平稳无噪声等特点。燃料电池汽车系统的核心是它的动力系统,即燃料电池发动机,同时配备高功率锂离子电池,能够回收下坡和制动能量。整个汽车系统由若干控制单元组成,各单元通过汽车彼此相连,其中空调控制系统是这种新型能源汽车的一个辅助控制单元,但它也是汽车系统的一个重要组成部分。本文将给出一种采用通用微控制器(MCU)和独立控制器和收发器为核心的智能节点,完成与汽车系统之间的通信和控制由数字信号处理器DSP2407为控制芯片的直流变转速空调控制器的运行,并且整个空调系统已成功地运行在以燃料电池为动力的试验汽车当中。

  1 CAN总线原理

  控制器局域网络CAN属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。CAN是1986年由Bosch公司领先推出的一种最初应用于现代汽车微控制器通信的多主机局部网,实现车裁各类电子控制装置之间的信息交换。

国际标准组织ISO为其制订了规范CAN总线的国际标准,CAN已被公认为几种最有前途的现场总线之一,它在当今自动控制领域的发展中将发挥出越来越重要的作用。CAN协议建立在国际标准组织ISO的开放系统互连参考模型OSI基础上,主要工作在物理层、数据链路层和应用层,用户可在其基础上开发适合实际系统需要的应用层通信协议。信号的传输一般采用双绞线、同轴电缆或光纤。CAN总线系统通信距离远,通信速率高,最高通信速率可达1Mbit/s,当信号传输距离达到10km时,仍可提供高达5kbit/s的数据传输速率。由于CAN总线的这一特点,使其更利于构成大系统。

  2 系统硬件设计

  2.1 空调控制系统结构

  由于整个汽车系统是一个复杂的控制系统,可以将其分成若干个模块或子系统,每个子系统负责完成一定的功能。各个控制单元都通过CAN总线连接在一起,构成总线型结构的局域网络。虽然CAN中各个节点处于对等的地位,但为了更好协调各个控制单元,以整车控制器作为核心控制单元部分,控制其他电控单元的运行和系统动力的分配。系统CAN总线结构图如图1所示。空调控制系统一方面作为整个汽车系统的一个子系统,同时也作为CAN总线上的一个节点,其主要功能是通过CAN总线接收主控节点的控制命令及将空调相关数据传送给主控节点,完成的开启、温度设定、车内外温度采集等控制。空调系统与CAN总线上的整车控制器的通信至关重要,而空调控制部分又涉及到高压部分,为了整车系统的安全和可靠,将空调系统的CAN通讯部分和压缩机驱动部分分开设计,两者之间通过光电耦合器进行电气隔离,保证空调系统与整车的通讯安全、可靠。

系统CAN总线结构图

  2.2 硬件设计

  由于空调控制系统的智能节点处理的信息量不是很大,主要完成和主控节点即整车控制器的通信,其次负责对空调控制器的控制和几路温度模拟量的采集以及显示控制,因此,选用通用性较好、开发较灵活的微控制器(MCU)和独立CAN控制器及CAN总线驱动器方案完成,智能节点硬件设计原理如图2所示。其中,智能节点中微控制器选用P89C51Rx2,CAN接口由独立控制器SJA1000和CAN总线驱动器PCA82C250组成。SJA1000作为微控制器MCU的片外扩展芯片,SJA1000和MCU之间的数据传送通过MCU数据端口P0来完成,数据接收信号用中断方式,以提高数据处理的实时性。CAN控制器SJA1000通过总线驱动器PCA82C250连接在物理总线上。PCA82C250器件提供对总线的差动发送能力和对CAN控制器的差动接受能力,采用差分驱动有助于抑制汽车等恶劣电气环境下的瞬变干扰。为增强CAN总线节点的抗干扰能力,SJA1000的TX0和RX0并不直接与82C250的TXD和RXD相连,而是通过高速光耦与82C250相连,这样就很好地实现了收发器与控制器之间的电气隔离,保护智能节点核心电路安全工作,并实现了总线上各CAN节点间的电气隔离。为了进一步增强系统抗干扰能力,可在总线入口处并接双向稳压管,限制线路上可能出现的短时尖峰过电压和增加共模抑制线圈以消除共模信号的干扰。此外,通信信号在线路上传输时,信号传输到导线的端点时会发生反射,反射信号会干扰正常信号的传输。为消除这种影响,可在CAN总线两端并接2个120Ω的电阻起到匹配总线阻抗和消除反射的双重作用。若忽略这些措施,会使数据通信的抗干扰性和可靠性大大降低,甚至无法通信。

智能节点硬件设计原理

  节点中MCU除了与CAN控制器连接外,还需要完成空调系统的控制和数据采集,采集的数据主要有车内温度、空调设定温度、空调盘管温度、车外温度、日照强度、压力保护等模拟量,根据采集的数据通过闭环控制方式,给空调压缩驱动器发出启动指令和运行频率,同时压缩机驱动器会实时将压缩机的运行状态传递给MCU。根据状态信息,MCU会做出相应的处理。 #p#副标题#e#

  图2中无刷直流压缩机驱动控制部分,其核心控制芯片采用TI公司的电机控制专用数字信号处理器TMS320LF2407,由于其运算速度的快速性,能够保证系统复杂算法的实现和转子何置的检测。位置检测通过检测反电动势的方法来实现,DSP除了完成驱动信号的发生和位置检测外,还接受空调智能节点的指令来启动压缩机和反馈压缩机运行状态。

  3 系统软件设计

控制节点的主程序流程图

  空调控制系统软件设计主要包括智能节点部分和压缩机控制部分,智能节点主要完成有关初始化;温度采样;接收主控节点的控制指令及发送相关数据,如空调允许的功率上限等;检测空调开关状态和设定温度值;发送给空调控制器的启动信号以及运行频率信号;检测压缩机的运行状态和故障处理等。压缩机控制器部分主要完成压缩机的驱动信号的产生、位置检测信号的处理和接受空调智能节点的起停信号和运行频率等。限于篇幅,这里只对控制节点部分程序进行讨论。控制节点的主程序流程图如图3所示

  对于智能节点软件设计而言,主要是节点初始化、报文发送和接收。而要使节点能够正常工作,关键是节点的初始化要正确。节点的初始化主要是指系统上电后对微处理器和控制器SJA1000进行的初始化,以确定工作主频、波特率和输出特性等。对P89C51Rx2的初始化可根据具体的控制对象进行,主要是对中断、定时器的使用与设置等,这里不作详细介绍。此处主要介绍SJA1000的初始化。由于SJA1000内部无微处理器,故其初始化仍要通过P89C51Rx2对其进行编程实现。SJA1000初始化程序流程如图4所示。SJA1000的初始化应在复位模式下进行,所以在SJA1000初始化程序中首先要将工作方式置为复位模式,之后要设置验收滤波方式、验收屏蔽寄存器(AMR)和验收代码寄存器(ACR)、波特率参数和中断允许寄存器(IER)等。CAN协议物理层中的同步跳转宽度和通信波特率的大小由定时寄存器BTR0、BTR1的内容决定。这里需要指出的是:对于一个系统中的所有节点,这两个寄存器的内容必须相同,否则将无法进行通信。初始化设置完成后,将复位请求位置“0”,SJA1000就可以进入工作状态,执行正常的通信任务。

SJA1000初始化程序流程

  设计的CAN智能节点具有很高的可靠性和较优的性能价格比,尤其使用独立CAN控制器实现智能节点具有实现方便和很好的通用性等特点。整个空调控制系统能够很好地实现和主控制节点的通信和无刷直流压缩机的驱动控制,各项运行参数达到设计的要求。文中设计的控制系统已经在汽车上进行了实际运行,能够满足设计要求。

收藏
赞一下
0