基于RS-485总线的智能家居网络系统
2021-03-23 来源:eefocus
引言
智能家居系统由一个主控制器和各节点模块组成,主控制器有以ARM LPC2364为核心和MAX3088构成的RS一485接口,可以挂接最多256个设备节点,对于一个家庭已经够用,尤其对于这样一个设备复杂多变的家庭网络非常适合。
MAX3088芯片支持最大10 Mb/s的传输速度,使传输一些大数据量信息成为可能,而且还提高了系统通信的实时性。其整体结构如图1所示。
该系统通过以LPC2364为核心的主控制器连接外部Internet网络和家庭RS一485网络,摒弃了传统的以家庭电脑为主控制器的方法,不仅节省了开支,而且省电节耗效果明显。另外,保留了一个RS-232接口,以方便与家庭电脑通信,也为以后的系统升级提供了方便。LPC2364是飞利浦公司的一款带有以太网控制器的ARM芯片,具有丰富的外设、较高的速度、工业级的控制标准,是稳定、经济的最佳选择。其次,RS一485总线的挂接节点,按其功能可以分为家电控制模块节点、安防控制模块节点、灯光控制模块节点等。
1 总体方案设计
智能家居系统包括多方面控制,如家电控制、安防报警控制、灯光控制、三表控制、门窗控制等。
每一方面的控制都包含了很多小的节点。本文选择代表性较强的家电控制和安防监控模块进行了重点设计。
1.1 家电控制模块
现代家庭中主要使用的电器的共同特点是继电器控制。在家电的控制板上将功能继电器相应的控制线与模块MCU连接,通过RS-485总线接口就可以方便地使用该系统进行控制,如图2所示。
使用7 bit输入/输出的达林顿管芯片MC1413驱动继电器,来控制相关的开关量。如对空调来说,温度控制、风向控制等是按键的开关量,都可以由继电器来完成相应的控制。考虑到要嵌入家电中,控制节点尽量做得精小,而且没有复杂的控制对象,选用AT89C2051单片机作为控制器。RS-485通信接口使用MAX1487芯片,允许挂接125个家电,采用半双工通信方式,通信速率为2.5 Mb/s。家电控制通信只是进行控制命令和家电状态信息的传输,数据量很小。该芯片通信速率能够满足要求。
1.2 安防监控模块
安防系统由烟雾传感部分、煤气传感部分、实时监控部分等组成,实现了防火、防煤气中毒、防盗监控等功能。这些组成部分由烟雾传感器和煤气传感器等传感器组成,结合A/D转换芯片传输信息。
实时监控部分采用Ovinmin公司生产的OV7141图像采集芯片。OV7141是高度集成的摄像芯片,支持多种格式,内设串行控制总线(serial Camera Control Bus,SCCB)接口,提供简单控制方式,可以对OV7141芯片内部所有寄存器值进行修改 。OV7141包含有8 bit数据(DO,D1,D7),同步信号VSYNC、HREF、PCLK,这些信号需要送给CPU以读取图像数据和保证同步。
由于OV7141默认帧频为30 Hz,像素为640×480= 307 200,在此帧频下的图像数据传输速率为9.216 MB/s。在不考虑同步的情况下已远超过串口的响应速度,必须重新设置以降低帧频和像素。
在该系统中对OV7141的访问有:
① 设置地址号为0xl1的帧频控制器CLKRC,以降低帧频;
② 设置地址号为0x14的控制器COMC,以设置像素为320×240;
③ 设置地址号为0x28的COMH,以设置扫描格式 。
硬件电路如图3所示。
单片机89C51的内部数据存储只有128 ByteRAM,必须外扩数据存储器存储图片。由于单片机串口速度的限制,OV7141的像素设置为320×240,采集黑白图片,这样一帧图片的存储空间约为76 800 bit,即9.6 KB。外扩一个比9.6 KB大的存储器即可,选择32 KB的62256芯片可存储多帧图片。
数据的传输速度受到串口速度的限制,必须提高串口波特率。根据系统特点,在使用串口传输方式3时,波特率可变,可以根据传输效果实时改变。表1所示是采用不同波特率时一帧(一帧按9.6 KB计算)图片的传输时间。
2 网络通信
2.1 网络设计
单片机构成的多级系统常采用总线型主从式结构。所谓主从式结构,即在多个单片机中,一个主机负责通信管理,其余的都是从机,从机要服从主机的调度和支配。主机还负责通过网络接口进行远程通信。
在实际的多机应用系统中,常采用RS一232、RS一422或RS一485串行标准总线进行数据传输。根据传输距离和通用性,选择RS一485总线,单片机采用串行口工作方式3通信。
每个从机都有惟一的地址码,该地址码就是从机身份的识别标志。
2.2 通信机制
系统采用了RS一485总线通信方式,如图4所示。通信中采用“轮询制”,中继器作为主设备不断向下发送设备请求应答帧,而接人从设备不能主动发送数据。任何时刻,总线只处于一种方式,即接收数据或发送数据。系统初始化一旦完成,总线即被置为接收状态,当从设备接收完主设备发来的消息后,立即通过软件将总线置为发送状态,等从设备发送完一帧数据又立即转为接收状态,等待主设备的请求帧。如果发来的请求帧中,设备ID地址和自身ID地址一致,接收设备就检查这个帧是否正确。
表2所示为主机地址帧,从机的地址码为00H,01H,02H,并用地址码FFH命令从机复位。
表3所示为主机给从机的命令帧,OlH为主机命令从机接收数据,02H为主机命令从机发送数据。
如表4所示,数据字描述的都是开关量的信息,可以作为状态信息传送给主机,也可作为主机发送的命令格式。
2.3 通信流程图
通信流程图如5所示。
3 结语
系统采用嵌入式控制芯片做控制单元,通用RS-485总线组成传输网络,实现了低成本、长距离传输,满足一般家庭的远程控制家电需求,具有较高的经济性和实用性。