新能源车用空调压缩机控制板的CAN通信系统开发

2012-10-24 06:47李风雷
上海电气技术 2012年1期
关键词:流程图字节报文

李风雷

(上海日立电器有限公司,上海201206)

空调压缩机是车用空调系统的动力源和核心,也是传统汽车向新能源汽车转变时,空调系统中变动最大的零件。与传统汽车相比,新能源汽车的空调压缩机驱动源不再单纯由发动机直接驱动,而更多地倾向于电驱动。目前,由于受新能源汽车能量存储量的限制,整车能源必须兼顾动力源与舒适性的要求。空调压缩机作为大量耗能部件,其自身能耗情况需要快速准确地反馈给汽车主控微控制器(Micro Controller Uuit,MCU),故传统的空调压缩机已经不能满足使用的要求,需采用新型的电动空调压缩机,同时,电动空调压缩机的控制和通信也成为新能源汽车领域竞相研究的对象。本文针对新能源车用电动压缩机,采用许多汽车公司BENZ(奔驰)、BMW(宝马)、大众等推荐的控制器局域网(Controller Area Network,CAN)总线通信方式,开发了电动压缩机CAN通信控制模块,使电动压缩机可作为车载网络的一个节点,借助CAN总线网络实现整车与空调压缩机的信息交换,便于压缩机的控制与监测。

1 CAN总线

CAN是德国BOSCH公司于20世纪80年代开发的一种高性能串行通信方式,解决了现代汽车中众多控制与检测仪器之间的数据交换问题,它可以在较恶劣的环境中实现长距离、高位速率、高抗电磁干扰性的数据传输,且能够检测出任何错误。基于上述优点,CAN迅速成为国际汽车业应用最广泛的通信方式。技术规范CAN 2.0于1991年制定并发布,1993年ISO正式颁布了道路交通运输工具—数字信息交换-高速通信控制器局域网(CAN)国际标准ISO 11898。CAN 2.0技术规范与国际标准ISO 11898就成为设计汽车高速网络系统的基本依据[1]。

1.1 CAN总线车载网络结构

图1 CAN总线网络示意图

CAN总线车载网络的结构由诸多节点构成,如图1所示。每一个节点包括CAN控制器和CAN收发器,节点之间通过物理总线互相连接。CAN总线上用显性(Dominant)和隐性(Recessive)表示0和1;总线上使用差分信号传送,这种传送方式具有极强的抗干扰性,能够避免各种噪声,两条信号线被称为“CAN_H”和“CAN_L”,如图2所示。在隐形状态即逻辑1时,CAN_H和CAN_L均被固定在平均电压2.5V附近,二者差值近似于0。在显性状态即逻辑0时,CAN_H比CAN_L高,此时,通常CAN_H电压值为3.5V,CAN_L电压值为1.5V,在总线空闲时,发送隐性位[2]。

图2 总线位的数值表示

1.2 CAN总线报文

CAN总线报文传输由4种不同类型的帧表示,具体如表1所示,其中数据帧与远程帧都有报文标识符(ID)用于区别不同的报文,这些报文又根据ID长度不同,可分为标准帧(11位ID)和扩展帧(29位ID);错误帧与过载帧没有ID,仅用于状态描述。在实际的应用中,每一种报文信息都有固定的ID来描述该报文的用途,节点也具有接收过滤功能(仅接收与自身相关的报文而忽略无关报文)。报文信息通过数据帧的数据字节来传递,数据字节的个数可为0~8。在报文传输过程中,数据依次串行传输至总线,总线传输数据的速度称为波特率(Baud Rate),其单位为bps,含义为每秒钟传输的位数(Bit)。常用的波特率有[3]100kbps、125kbps、500 kbps至1 000kbps。

表1 CAN通信报文帧

2 电动压缩机的控制与监测

压缩机控制板以型号Cortex-M3LPC1752为主控芯片,采用变频控制技术驱动压缩机电动机,并通过CAN通信实现压缩机运转信号及反馈信号的传输,主要包括以下3部分内容。

2.1 压缩机控制板初始化

压缩机通信控制板初始化包括时钟配置、引脚配置与外设使能。通常为减少功耗,不使用的外设电源可以关闭,在使用前打开即可。初始化中较为重要的是CAN模块初始化,CAN模块时钟与系统主时钟一致,即外设分频器的值为1,程序中设为48MHz;然后波特率为500kbps,保证在同一个CAN网络的数据传输速度大致相同,能够实现同步[4]。

2.2 压缩机状态监测

压缩机状态监测即压缩机节点通过CAN网络发送报文数据至总线,报文的数据中包含压缩机的实际转速信息与工作状态字节,总线上的相关节点正确接收到该信息后,压缩机的状态反馈完成。这一过程与压缩机CAN控制器的报文发送操作相对应,具体包括以下步骤。

(1)需指定CAN控制器号,并选择一个空闲的发送缓冲区,然后配置报文发送缓冲区[5],报文发送缓冲区的结构如图3所示。

图3 报文发送缓冲区

其中,需设置的参数共有5个:FF、RTR、DLC、数据字节、ID,各变量含义如表2所述。为了便于后期整体操作,建立一个包含变量FF、DLC、数据字节、ID的结构类型 Message Detail,未包括RTR远程帧标志是因为数据字节的长度已包括RTR的值:若数据字节为0,则 RTR=1,否则RTR=0。

(2)定义一个全局变量Message DetailT用于保存每次发送的压缩机状态报文信息:Message-Detail Message DetailT。

表2 CAN报文帧结构体成员描述

(3)编写结构体Message DetailT的赋值子函数Writedetail(),依次对表2中的变量赋值,数据字节源于长度为8的数组data,它包含压缩机最新的状态信息描述字节,流程图见图4。

图4 赋值子函数Writedetail()流程图

(4)启动命令寄存器开始发送数据,并监测发送状态是否成功,若成功则表明压缩机的状态信息反馈成功,将会等待固定时间后再传输,流程图见图5。

图5 发送报文函数流程图

2.3 压缩机运转控制

压缩机运转控制通过压缩机节点从总线接收运转报文来完成,即压缩机CAN控制器此刻应配置为报文接收,主要通过查询主控芯片LPC 1752的CAN模块接收状态标志位RBS来判定是否接收到报文。若成功接收报文,则从接收缓冲区(结构与发送缓冲区类似)读出报文信息即可。初期为了验证接收数据的正确性,采用了接收报文后将其直接转发的方法,以保证数据的正确性,流程图见图6。

图6 报文接收转发函数流程图

3 应用实例

本CAN通信应用系统中,新能源汽车空调控制器与压缩机控制器通过物理总线连接,2个节点的通信波特率为500kbps,并指定压缩机运转控制报文的ID为0x229,压缩机状态反馈的报文ID为0x240,通信采用周期性报文传送操作,周期长度为100ms。压缩机状态反馈的报文采用定时器实现,而运转控制的报文接收则通过CAN中断接收实现,总体的通信图如图7所示。通信过程中节点通过报文ID来识别报文信息,并且通过CAN总线的竞争与仲裁规则自动实现报文按优先级传输[6],这里压缩机运转控制报文ID比压缩机状态反馈报文ID小(0x229<0x240),所以若空调控制器节点与压缩机控制器节点同时发起报文,那么将由空调控制器节点取得总线操作的权利,等到总线空闲时,压缩机反馈报文再启动传输。经过多次的通信测试,压缩机节点在CAN网络中能够受控于空调控制器节点,并且压缩机的状态也能被空调控制器监测,该系统已经在新能源汽车进行了实际应用,完全满足设计需求。

图7 空调控制器与压缩机控制器节点通信图

4 结 语

新能源汽车电动压缩机通信控制系统采用CANBUS通信方式,不仅避免了多余的通信布线,又提高了数据的可靠性与传输速度,使空调控制器对压缩机的控制简单化,同时压缩机的状态监测数据能够实时提供自身能量消耗情况,为整车的能源分配与快速决策奠定了基础。

[1]罗 峰,孙泽昌.汽车CAN总线系统原理、设计与应用[M].北京:电子工业出版社,2010:27.

[2]王宜怀,刘晓升.嵌入式技术基础与实践[M].北京:清华大学出版社,2007:375.

[3]周立功.深入浅出Cortex-M3——LPC175X[M].广州:广州致远电子有限公司,2010.

[4]Holger Zeltwanger.现场总线CANopen设计与应用[M].周立功,黄晓清,译.北京:北京航空航天大学出版社,2011:7.

[5]NXP Semiconductors.LPC17xx Rev 6User Manual[EB/OL].(2010-08-19)[2012-02-23].http://www.nxp.com/documents/user manual/UM10360.pdf,346.

[6]史久根.CAN现场总线系统设计技术[M].北京:国防工业出版社,2004:29.

猜你喜欢
流程图字节报文
基于J1939 协议多包报文的时序研究及应用
No.8 字节跳动将推出独立出口电商APP
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
No.10 “字节跳动手机”要来了?
简谈MC7字节码
专利申请审批流程图
专利申请审批流程图
ATS与列车通信报文分析
宁海县村级权力清单36条