3.2 主控模块的主程序
智能控制主控模块硬件上资源丰富,软件上有Linux操作系统的支持,主控模块的软件开发运用了模块化思想,模块的划分依据是高内聚低耦合,将逻辑上紧密耦合的一组功能划分为一个模块。模块划分结果以数据流图呈现出来。主控模块的数据流图如图6所示。安全控制子系统、电器控制子系统和照明控制子系统的数据流和控制流,通过CAN总线网络传输到主控模块,主控模块的CAN通信监控子线程解析CAN网络中传输的数据。接着,主控模块的数据分发处理器子线程根据数据的类型将数据分发到相应的数据处理程序。处理后的数据存储到数据库中,并在界面直观显示分析后的信息。
网络模块在逻辑上是一个独立的模块,在实现上由于其特殊性是在主控模块实现的。远程PC通过Internet方式,手机通过GPRS方式将网络流发送到网络模块,网络模块会调用网络信息处理模块处理网络流,数据处理后或存储或通过CAN总线转发到其它控制子系统。
4 系统的测试
测试主控模块的性能主要体现在通信速度和通信质量。为了获得这些参数,需要测试主控模块和子系统之间的数据传输能力。测试方式是:无竞争点对点双向数据传输测试;有竞争点对点双向数据传输测试。测试指标是:传输时间和误码率。传输200 KB的数据量测试结果如表1所示。
测试结果表明主控模块和子系统之间的通信比较稳定,数据传输速率较高,可以满足实时性要求。测试中误码率很低,一方面说明CAN协议的稳定性;另一方面由于在数据测试中的数据量较小,从而出现错误的概率就小。
5 结论
智能家居系统是一个复杂的系统,由于控制对象过多,单个智能控制系统无法完成控制任务,需要构成一个家庭控制网络。智能控制系统主控模块在网络中起到调度和协调的作用。本文分析了家庭控制网络的结构,提出了主控模块的软硬件模型和设计方案,提出了主控模块和其他功能子系统联网的一种实用通信方案。
较其它方案,本方案内部采用CAN总线协议,具有组网方便、性能稳定、成本低廉的特点;外部采用TCP/IP协议,具有远程控制能力、扩展性强的特点。最后介绍了主控模块软件的设计和主控模块和其它功能子系统之间数据传输性能测试。测试结果表明,主控模块结构合理,和子系统通信能力强,能较好地完成主控模块和子系统之间数据流和控制流的双向传输。