引 言
近年来,中央空调在国内的应用越来越广泛。与普通家用空调相比。中央空调具有功率大、控制过程复杂、运行保护要求高等特点,一般采用本地控制器完成机组的运行和管理。由于中央空调一般开机时间长,且机组分布范围广,因此给机组的集中控制带来不便。在本地集控基础上增加远程监控功能,有相当的必要性。本文具体介绍一种采用短消息(SMS)方式的中央空调远程监控系统的设计与实现。
1 系统硬件实现
1.1 总体结构
本监控系统主要由单片机MSP430F147、GSM/GPRS模块、通信接口和DC-DC电源转换器等部分组成。图1为系统结构框图。
其中,MSP430F147通过RS485总线接口与中央空调机组控制器进行数据通信;以中断方式对数据进行处理后,控制GSM/GPRS模块进行信息收发,实现系统的远程监控功能。
1.2 GSM/GPRS模块Q2403A
法国Wavecom公司的Q2403A GSM/GPRS模块,支持双频EGSM/GPRS 900 MHz/1800 MHz模式,支持AT指令,短消息功能完备,并支持GPRS功能。Q2403A模块具有60脚的通用接口,非常容易集成到应用产品中;具有SIM卡确认、供电、时钟、复位及I/O的3V SIM卡接口,包括SIMVCC、SIMRST、SIMDATA、SIMCLK和SIMPRES等。另外模块提供一个符合V24协议的6线串行通信接口,包括TX、RX、RTS、CTS、DTR、DSR;同时提供DCD和RI信号接口、上电信号PowerON/OFF和复位信号RST。模块正常工作要求提供两路电源,其中VBAT提供给RF部分,电压范围为3.3~4.5 V,最大功率为2W;VDD提供给基带部分,电压范围为3.1~4.5V,最大功率为0.5W。
1.3 单片机接口设计
MSP430F147是美国德州仪器公司的一款超低功耗的Flash型混合信号处理器,工作电压为1.8~3.6V,片内集成2个硬件通用串行同步异步通信接口(USARTO、USARTl),可以方便地通过软件设定波特率,实现与中央空调机组控制器和Q2403A模块的通信。另外,该单片机内置了丰富的外设,如定时器A(Timer_A)、看门狗(WDT)等,可以极大地简化系统外围器件的设计。
MSP430F147带有Flash存储器,可在运行过程中由程序控制写操作和段的擦除(In System Programmable),不需要额外的高压,且芯片上具有JTAG接口,仅需要一个廉价的JTAG接口转换器就可以完成程序装载和在线仿真,给系统的软硬件设计带来了极大的便利和灵活。就本系统的应用而言,外部不用扩展存储器和I/O口,其I/O电平与5 VTTL电乎兼容。
前端的中央宅调机组控制器通过RS485总线传输信息,单片机与机组控制器之间通过Maxim公司的MAX3485模块实现TTL与RS485电平的转换,该模块供电电压为3~3.6V,采用半双工通信方式。MAX3485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连。RE和DE端分别为接收和发送的使能端,当RE为逻辑0时,器件处于接收状态;当DE为逻辑l时,器件处于发送状态。因为MAX3485工作在半双工状态,所以只需用单片机的一个引脚控制这两个引脚。A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为O。在与单片机连接时接线非常简单,只需要一个信号控制MAX3485的接收和发送。
单片机与后端Q2403A模块间通过60引脚通用接口进行通信,完成信息传送。图2为系统接口电路原理。
1.4 电源部分
MSP430F147的工作电源为1.8~3.6 V,而Q2403A的工作电源为3.3~4.5 V。为了使两者都能正常工作,并考虑到Q2403A在功率发射时会产生一定的压降,选择3.6V的工作电压比较合适。电源部分采用美国国家半导体公司的LM2576T-ADJ降压开关型可调集成稳压电路;它可提供3 A电流输出,内含固定频率振荡器(52kHz)和基准稳压器(L23V),并具有完善的保护电路;利用该器件只需极少的外围器件便可构成高效稳压电路。与线性三端稳压器件(如78xx系列端稳压集成电路)相比,具有可靠的工作性能、较高的工作效率和较强的输出电流驱动能力,从而为MCU的稳定、可靠工作提供强有力的保证。由外部输人9V直流电压,经LM2576TADJ降压后输出3.6V电压供系统使用。图3为电路原理。
2 系统软件设计
本系统的软件设计主要包括两个部分:一是机组数据收发部分,即MCU与前端中央空调机组控制器之间的工作状态信息的接收与反向控制信息的传送;二是短消息收发部分,即MCU与后端Q2403A模块之间短信息数据的接收与发送。这两个部分的处理都采用串口中断的方式。
2.1 主程序流程
主程序主要负责系统的初始化,包括单片机时钟设置、端口工作方式设置、串口设置(波特率、中断允许等)、默认系统数据的恢复(如时间设置、标志位清零等)、GPRS模块的初始化、中断初始化等。然后反复查询SIM卡网络注册情况,直到注册成功。最后进入低功耗模式,等待中断。流程如图4所示。
部分初始化代码如下:
2.2 机组数据收发部分
包括机组工作数据的采集和反向控制命令的发送,由MSP430n47的串口0来完成,波特率采用9600 bps,“1起始位+8数据位+l停止位/无奇偶校验”格式。
中央空调机组控制器定时向RS485总线上传送多帧数据,数据内容包括机组运行状态、全部温度数据和输入/输出状态信息,以及故障信息等。数据帧采用HAC中央空调控制器专用通信格式。短消息控制器内的单片机在串口O接收中断中判断并处理接收到的数据。
当短消息控制器接收到控制方发来的控制命令时,需要向中央空调控制器发送控制帧,由于RS485是半双工通信方式,所以需要在接收完一帧中央空调控制器发来的完整数据后,令P3.3=l,即控制MAX3485模块DE端为高电平,然后按照HAC通信格式向485总线上发送控制帧数据;发送完毕后,延时清零P3.3,恢复接收状态,继续采集工作数据。图5为串口0的接收和发送中断流程。
2.3 短消息收发部分
本部分要实现的功能有:接收控制方发来的短消息并提取有效命令词、组装控制帧;采集到紧急故障信息时,或是需要反馈执行结果时,向控制方发送短消息。采用中断方式接收来自Q2403A模块的信息,如接收到新短消息通知(+CMTI:…),则使用AT命令读取短消息内容并处理。图6为串口1的接收和发送中断流程。
Wayecom的Q2403A支持的功能相当完备,本系统主要使用了短消息功能。单片机与Q2403A模块问主要通过串口l进行通信,以AT命令来实现接收及发送的功能。用到的AT命令主要有:查询注册状态AT+CREG?;短消息列表AT+CMGL;短消息发送AT+CMGS短消息删除AT+CMGD。具体的命令细节请参阅相关资料,下面仅以短消息发送为例作简单说明。
发送短消息的AT命令是“AT+CMGS”。本系统使用text模式,命令格式为“AT+CMGS=”目标手机号码”<CR>短消息内容<ctrl-Z>”。其中,<CR>表示回车符(ASCII码为0xod);<ctrl-Z>表示短消息结束标志(ASCII码为0xla)。按照格式在程序中将短消息数据存入串口1发送缓冲区,并启动发送中断,完成短消息发送。部分程序代码如下:
3 结论
在提出总体设计方案的基础上,完成了系统的硬件和软件设计、应用程序的编写及调试,经实际运行验证取得了满意的效果。该系统硬件具有外围电路少、工作可靠性高等优点;软件均使用C语言编写,采用模块化设计,便于功能扩充,并且短消息的控制命令可自行定义,使用相当方便。就目前的测试结果而言,可实现本地线控器的全部功能,再结合远程监控的优势,具有相当的实用性。对软硬件作适当扩充修改后,还可应用于机房监测、交通监管系统等诸多相关领域。