资源描述
CAN总线在VRV变频空调系统中的应用
摘要:提出一种用CAN总线技术实现VRV空调系统中室内机与室外机之间通信的设计方案。在分析了CAN总线技术特点和通信内容的基础上,确定了通信结构和通信对象模型,并给出了硬件电路、软件设计思想及CAN发送与接收程序流程框图。经试验调试证明,利用CAN总线技术可有效地解决VRV空调系统中室内机与室外机之间的通信问题。
关键词:CAN总线;VRV空调;通信结构;通信对象模型
Application of CAN Bus in VRV Variable-Frequency Air-conditioning System
Tong Wei-ming1, Song Xue-lei1, Xu Wei1,2
(1. Harbin Institute of Technology, Harbin 150001, China)
(2. Harbin Feng Hua Area Space Hi-Tech CO. Ltd, Harbin 150060, China)
Abstract: This paper puts forward a design scheme that CAN Bus is used to communicate between the indoor controllers and the outdoor controller of VRV air-conditioning system. On the basis of analyzing the technical characteristics of CAN Bus and the communication contents, the communication structure and the communication object model are concluded, and the hardware circuit, software design idea, and the transmission and reception flowcharts of CAN are shown. The debugging experiment proves that CAN Bus can effectively resolve the communication problem among the indoor controllers and the outdoor controller of VRV air-conditioning system.
Key words: CAN Bus; VRV air-conditioning; communication structure; communication object model
1 引言
空调器室内、外机之间的通信问题是任何一种分体式空调器都必须要解决的问题[1]。单联空调系统只有两个通信节点,采用RS-232接口就可实现内、外机之间的点对点通信。但是VRV(Variable Refrigerant Volume)空调系统属于一拖多空调系统,通常由一台(或多台)室外机和多台室内机相连构成[2],通信节点多,所以室内、外机之间的通信比单联空调系统要复杂得多,采用RS-232接口实现比较困难。文献[3]、[4]中将RS-485总线用于智能大厦的中央空调系统中,解决了多个通信节点之间通信的问题。但RS-485有两个缺点,一是只支持主从通信结构,从节点不能主动发送信息,因而不能构成多主冗余系统,系统可靠性差、实时性差;二是只有物理层,没有纠错机制,而且电平门限低,因而纠错能力差。文献[5]提出将CAN(Controller Area Network)总线用于集中空调控制系统,克服了RS-485总线的缺点,很好的实现了多个单元空调控制器与控制计算机之间的通信。
CAN总线是现场总线的一种,由于具有通信速率高、开放性好、报文短、纠错能力强以及控制简单、扩展能力强、系统成本低等技术特点和一系列优点,现已广泛应用于过程控制、机械工业、机器人、数控机床、医疗器械、智能建筑等领域。因此,采用CAN总线技术可有效地解决VRV空调系统中室外机与多个室内机之间的通信问题。
2 CAN介绍
2.1 CAN总线特点
CAN总线属于总线型串行通信网络,从本质上讲是一种多主或对等网络,与一般的通信总线相比,具有下列特点:
(1)具有物理层和数据链路层两层协议。目前有两种版本协议:CAN2.0A和CAN2.0B;
(2)废除了传统的站地址编码,而代之以对通信数据进行编码,只需通过报文滤波即可实现点对点、多点播送、广播和组播等几种数据传送方式;
(3)可实现多主通信结构。总线上任何节点可在任意时刻主动向总线上发送信息,不分主从;
(4)总线上最多可连接110个节点,通信距离最远可达10km(速率为5kbps及其以下),通信速率最高可达1Mbps(总线长度为40m及其以下);
(5)采用短帧结构,数据段长度最多为8个字节,传输时间短,且采用差分传输方式,差分电平为0~2V,因此抗干扰能力强;
(6)具有多种检错和纠错机制,数据通信可靠,出错率低。
2.2 CAN总线数据帧
CAN总线采用短帧结构,其定义的帧类型有4种:数据帧、远程帧、错误帧和过载帧[6,7]。数据帧由7个不同的位场组成:帧起始、仲裁场、控制场、数据场、CRC(Circulation Redundancy Code)场、应答场和帧结束。各个位场的长度见表1。
表1 CAN数据帧各位场长度
位场名称
位场长度
帧起始
1个显性位
仲裁场
11个或29个标识符位和1个远程发送请求位
控制场
4个数据长度位和2个保留位
数据场
0~8个字节
CRC场
15个CRC序列位和1个CRC界定符位(隐性)
应答场
1个应答间隙位和1个应答界定符位(隐性)
帧结束
7个隐性位
3 方案设计
3.1 通信结构
CAN总线支持三种通信结构:主从通信结构、对等通信结构和多主通信结构。为设计CAN通信的硬件和软件,首先必须确定通信结构。而要确定通信结构,则首先需要了解各通信节点之间相互的通信内容。
VRV空调系统的结构框图如图1所示,它有两个特点:一是每台室内机可以自由起动和停止,室外机主要根据各室内机的工况条件来自动调节压缩机的频率和室外机电子膨胀阀的开度,以达到自动调节系统输出能力的目的,损耗小,效率高;二是每个室内机可以单独控制,即每个室内机可以根据室内环境温度的变化情况自动调节室内膨胀阀的开度(即制冷剂的流量),以达到精确的温度控制。由此可知道各通信节点之间相互的通信内容:各室内机节点之间不通信;每个室内机节点需要向室外机节点实时发送自己的工况条件信息,包括工作模式(制冷、制热、除湿、强制除霜、送风、定时开、定时关,等等)、室内环境温度、室内设定温度、室内交换器温度,等等;室外机节点需要向每个室内机节点实时发送特殊工作模式信息(自动除霜、降压、回油,等等)、故障代码和呼叫地址。根据通信节点之间相互的通信内容,VRV空调系统中选择主从通信结构可完全满足设计要求。
如果采用对等通信结构,即室外机节点和所有室内机节点通过定时方式主动向总线上发送信息,这样很可能出现一种情况,即室外机节点在还没来得及读取接收缓冲区的新数据时又接收到总线上新的数据,使接收缓冲器溢出,接收错误计数器的值增加,当接收错误计数器的值大于255时,室外机节点从总线脱离,造成总线通信故障。如果采用多主通信结构,即室外机节点和一部分室内机节点通过定时方式主动向总线上发送信息,而其它室内机节点在接收到室外机信息后依次向总线上发送信息,这同样存在上述问题。出现总线通信故障的概率随着室内机节点数的增加而增加,而且还与CAN控制器接收缓冲器的容量有关。本设计方案中,室内机节点数为5个,CAN控制器接收缓冲器的容量为8个字节,经实验观察,采用对等通信结构从系统上电到出现总线通信故障的时间为2小时左右,采用多主通信结构(室外机节点和两个室内机节点为主节点)从系统上电到出现总线通信故障的时间为4小时左右。
而采用主从通信结构则不存在上述问题,而且符合VRV空调系统室外机与室内机之间通信内容的要求,因此本设计方案中CAN通信结构采用主从通信结构。同时可建立VRV空调系统的CAN通信对象模型,见图2所示。从图2中可以看出:室外机为主节点,室内机为从节点;每台室内机节点通过点对点传送方式将自己的工况条件信息实时传送给室外机;室外机通过广播传送方式将特殊工作模式信息、故障代码和呼叫地址实时传送给每个室内机。
图1 VRV空调系统结构框图
图2 VRV空调系统的CAN通信对象模型
3.2 硬件方案
对于一个CAN通信节点,其硬件电路主要由CAN控制器、CAN收发器、光耦隔离器件、通信线等组成。在VRV空调系统中,室外机CAN节点和所有室内机CAN节点的硬件电路完全相同,见图3所示。
图3 CAN节点硬件电路图
这里,CAN控制器选用美国Microchip Technology公司的8位单片机PIC18F458的内嵌CAN控制器,CAN收发器选用Philips公司的CAN收发器PCA82C250。PIC18F458是世界上同类型产品中尺寸最小的CAN单片机,外部晶振频率最高可达40MHz(内部四分频)。 PIC18F458内嵌的CAN控制器支持CAN2.0B协议,包含3个发送缓冲器、2个接收缓冲器、2个接收屏蔽器和6个接收过滤器。6N137为光耦,主要用于信号隔离,以提高CAN总线的抗干扰能力。由于VRV空调系统中,压缩机的运行对CAN总线的干扰很大,可采取选用屏蔽通信线、降低波特率等措施进一步提高抗干扰能力。R2是终端匹配电阻,通过跳线器JP选用,当网络上其它节点无终端电阻时,R2的阻值应为62Ω。
VCAN–L
VCAN–H
总线电压
V-
显性位
隐性位
隐性位
1.5V
2.5V
Vdiff =0V
VCAN–L
VCAN–H
Vdiff =2V
3.5V
图4 总线CAN–H和CAN–L电压的典型数值
经实验调试,测得的总线电平信号见图4所示。其中,VCAN–H、VCAN–L分别表示总线的两根线CAN–H、CAN–L上的电压(以总线收发器的电源地V-为参考);差分电平Vdiff= VCAN–H-VCAN–L。CAN总线采用差分电平表示逻辑0和逻辑1,在显性状态下, VCAN–H=3.5V,VCAN–L=1.5V,Vdiff =2V,对应CAN控制器发送端电平为0V,表示逻辑0;在隐性状态下, VCAN–H=VCAN–L=2.5V,Vdiff =0V,对应CAN控制器发送端电平为5V,表示逻辑1。
3.3 软件方案
由于这里采用主从通信结构,所以CAN通信软件的设计思想为:室外机为主节点,室内机为从节点,室外机定时发送一个广播报文(包括特殊工作模式信息、故障代码和呼叫地址)给每个室内机,并通过轮询方式依次呼叫各个室内机,被呼叫的室内机则及时给出应答,即将自己的工况条件信息作为一个点对点报文及时发送给室外机。这里采用29位扩展帧格式的标识符,用ID29~ID0表示,其中,ID28~ID21用来表示VRV空调系统的节点组号,ID20用来区分是广播报文还是点对点报文,ID15~ID8用来表示发送节点地址,ID7~ID0用来表示接收节点地址。此外,为保证通信数据的实时性和可靠性,另开辟了一个8字节的发送缓冲区和一个8字节的接收缓冲区。
CAN通信的软件主要包括CAN初始化程序、CAN发送程序和CAN接收程序。
CAN模块在正常工作之前必须进行初始化。CAN初始化主要包括:CAN节点地址初始化、CAN发送口和接收口初始化、CAN中断初始化、CAN接收过滤器和接收屏蔽器初始化、CAN发送控制寄存器初始化、CAN接收控制寄存器初始化和CAN波特率初始化。这里需要特别注意的是,只有在设置模式下才能对CAN模块进行初始化,所以在CAN初始化之前,首先通过CAN控制寄存器将CAN模块设置成设置模式,CAN初始化完成后,再通过CAN控制寄存器将CAN模块设置成正常工作模式。另外需要注意的是,每个接收缓冲器都需要一个接收过滤器和一个接收屏蔽器与之配合使用,这样才能通过接收过滤器和接收屏蔽器的过滤功能接收所需要的有效报文。接收缓冲器0与接收屏蔽器0配合使用,接收缓冲器1与接收屏蔽器1配合使用,而至于两个接收缓冲器分别选用哪个接收过滤器,则由软件编程决定。
CAN发送程序和CAN接收程序的程序流程框图见图5、图6所示。这里设定使用发送缓冲器0发送报文;接收缓冲器0只接收点对点报文,接收缓冲器1只接收广播报文。
图5 CAN发送程序流程图
图6 CAN接收程序流程图
4 结论
室内机与室外机之间的通信问题是VRV空调系统中必须要解决的关键问题。CAN总线具有通信速率高、报文短、纠错能力强、控制简单、开放性好、扩展能力强、系统成本低等技术特点。经试验调试证明,利用CAN总线技术可有效地解决VRV空调系统中室内机与室外机之间的通信问题。
参考文献:
[1]宋海龙, 于泳, 张东来, 徐殿国. 变频空调控制器内、外机通信及系统机监控系统的研究[J]. 工业控制计算机, 2001, 14(7): 49-52
[2]邵双全, 石文星, 李先庭, 彦启森. 多元变频空调系统物理模型研究[J]. 系统仿真学报, 2002, 14(6): 690-694
[3]苏宏英, 李惠, 方昌始. 计算机集散控制在中央空调系统中的应用[J]. 电气传动, 2004, (5): 46-49
[4]龚容盛, 张阿卜. 基于RS-485总线的中央空调计费系统[J]. 自动化仪表, 2002, 23(9): 51-52
[5]林勇, 周晓雁. 基于CAN总线的集中空调控制系统[J]. 暖通空调, 2004, 34(9): 96-97
[6]CAN Specification Version2.0. PHILIPS Semiconductors Corp, 1991
[7]佟为明. 现场总线(工业控制网络)[M]. 哈尔滨: 哈尔滨工业大学出版社, 2004
作者简介
佟为明(1964—),男,博士,教授,博士生导师,主要研究方向为继电保护与电磁兼容技术、变频电源与谐波抑制、现场总线技术、永磁电器。
地址:黑龙江省哈尔滨市南岗区西大直街92号 哈尔滨工业大学第一校区401信箱
邮编:150001
电话:0451-86413623
E-mail: dianqi@
展开阅读全文