首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
智能家居主控模块的设计与实现
来源:本站整理  作者:佚名  2009-12-09 14:03:16




3 主控模块的软件设计
3.1 主控模块的软件架构
    智能家居主控模块要完成4个子系统的协同工作,采用模块化设计思想,需要4个软件模块分别处理4个子任务,主控模块的软件架构如图5所示,主任务协调4个子任务正常工作。每个子系统又可以划分成很多更细的任务。如果采用结构化的程序方法,程序设计非常复杂,系统会存在很多潜在问题。嵌入式硬件资源日益丰富,成本也较低廉,资源的增强使软件有更多的资源可以利用。主控模块的硬件资源非常丰富,软件系统也非常庞大,软件系统无法避免在访问资源时遇到冲突、数据同步、数据交换的问题,所以需要一个嵌入式操作系统统一管理硬件资源,并对软件开发提供良好的基础环境,比如:内存管理、进程管理、存储管理、文件系统、设备管理、消息机制、数据同步、数据交换、多线程、套接字等。操作系统虽然占据一定的存储空间,但是给软件开发带来的便利更加可观。操作系统采用Linux2.6内核。主控模块没有特殊的外设,驱动开发和内核开发的任务量就很小。开发工作主要集中在子系统的任务开发和监控软件的开发上。Linux开发是在宿主机上建立交叉编译环境,根据硬件的配置确定编译选项,编译后得到Linux的可执行映像。

3.2 主控模块的主程序
    智能控制主控模块硬件上资源丰富,软件上有Linux操作系统的支持,主控模块的软件开发运用了模块化思想,模块的划分依据是高内聚低耦合,将逻辑上紧密耦合的一组功能划分为一个模块。模块划分结果以数据流图呈现出来。主控模块的数据流图如图6所示。安全控制子系统、电器控制子系统和照明控制子系统的数据流和控制流,通过CAN总线网络传输到主控模块,主控模块的CAN通信监控子线程解析CAN网络中传输的数据。接着,主控模块的数据分发处理器子线程根据数据的类型将数据分发到相应的数据处理程序。处理后的数据存储到数据库中,并在界面直观显示分析后的信息。

    网络模块在逻辑上是一个独立的模块,在实现上由于其特殊性是在主控模块实现的。远程PC通过Internet方式,手机通过GPRS方式将网络流发送到网络模块,网络模块会调用网络信息处理模块处理网络流,数据处理后或存储或通过CAN总线转发到其它控制子系统。


4 系统的测试
    测试主控模块的性能主要体现在通信速度和通信质量。为了获得这些参数,需要测试主控模块和子系统之间的数据传输能力。测试方式是:无竞争点对点双向数据传输测试;有竞争点对点双向数据传输测试。测试指标是:传输时间和误码率。传输200 KB的数据量测试结果如表1所示。

    测试结果表明主控模块和子系统之间的通信比较稳定,数据传输速率较高,可以满足实时性要求。测试中误码率很低,一方面说明CAN协议的稳定性;另一方面由于在数据测试中的数据量较小,从而出现错误的概率就小。


5 结论
    智能家居系统是一个复杂的系统,由于控制对象过多,单个智能控制系统无法完成控制任务,需要构成一个家庭控制网络。智能控制系统主控模块在网络中起到调度和协调的作用。本文分析了家庭控制网络的结构,提出了主控模块的软硬件模型和设计方案,提出了主控模块和其他功能子系统联网的一种实用通信方案。
    较其它方案,本方案内部采用CAN总线协议,具有组网方便、性能稳定、成本低廉的特点;外部采用TCP/IP协议,具有远程控制能力、扩展性强的特点。最后介绍了主控模块软件的设计和主控模块和其它功能子系统之间数据传输性能测试。测试结果表明,主控模块结构合理,和子系统通信能力强,能较好地完成主控模块和子系统之间数据流和控制流的双向传输。

上一页  [1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:310,761.70000 毫秒