主页(http://www.kuwanit.com):智能家居主控模块的设计与实现
嵌入式技术的发展,特别是嵌入式控制芯片在功耗、速度、集成度方面的持续发展,使用单片控制芯片完成整个系统的控制成为可能。主控模块要完成以下工作:和子系统的联网、GPRS通信功能、以太网通信功能、显示功能、监控软件等。其中GPRS通信和以太网通信逻辑上属于网络控制子系统,但是这两种功能是在主控模块上实现的,这样一方面提高了集成度和稳定性;另一方面充分利用了主控模块在硬件和软件上的资源。
较其它方案,本方案内部采用CAN总线协议,具有组网方便、性能稳定、成本低廉的特点;外部采用TCP/IP协议,具有远程控制能力、扩展性强的特点。最后介绍了主控模块软件的设计和主控模块和其它功能子系统之间数据传输性能测试。测试结果表明,主控模块结构合理,和子系统通信能力强,能较好地完成主控模块和子系统之间数据流和控制流的双向传输。
Index(2 bit):索引号,指示多帧时,某帧的索引编号,多帧最长4帧。
Address(7 bit):CAN总线网络中设备的地址编号。
ARM芯片选用S3C2410,该芯片的很多特性很适合做智能家居的主控模块。内置的STN/CSTN/TFT LCD控制器和4线制电阻式触摸屏控制器简化液晶显示的电路设计;标准工作频率为203 MHz,运算能力强,功耗低,可满足主控模块的运算要求;外围接口丰富,为主控模块的联网功能提供良好的支持。GPRS模块选用支持AT命令集的西门子MC35I模块,它与主控模块通过串口进行通信;以太网芯片选用Realtek RTL8139以太网控制器;主控模块和子系统之间由CAN总线组网,主控模块上相应的有CAN通信电路;FLASH,SDRAM,EEPROM和SD卡都是信息存储介质,设计EEPROM来存储系统配置信息,配置64 MB NANDFLASH和64 MB SDRAM;语音电路输出提醒或警告声音等;信息包含时间信息才有意义,主控模块上时钟电路提供精确的时间;液晶屏可以直观地显示各种信息,有利于增强系统的亲和力,选用8.O英寸TFT液晶屏。
Data(8 byte):帧中的数据负载。
完整的智能家居系统包括5个部分:主控模块、电器控制子系统、照明控制子系统、安全控制子系统和网络控制子系统,5个部分功能上各司其职,逻辑上构成一个完整的控制实体。整个系统为人们提供智能、舒适、安全的家庭环境,同时提供远程信息监控能力。主控模块是智能家居的大脑,子系统是智能家居的四肢。主控模块,负责子系统的信息集中、存储、分析和决策。嵌入式芯片发展使主控模块越来越精巧,功能日益丰富。
主控模块的处理能力有限,多个子系统和主控模块由现场总线组网构成一个分布式控制系统。各个子系统在主控模块的控制下协同工作。主控模块和子系统之间主要传输信息流和控制流。主控模块到子系统传输的主要是控制流,这些控制流完成子系统的配置或者命令子系统完成特定的任务。子系统到主机传输的主要是数据流,数据流主要包含子系统中各设备的运行状态或传感器数据等。主控模块和子系统的通信可以采用有线方式或无线方式。鉴于有线方式速度快、可靠性高、成本低、技术成熟等优点,本系统采用CAN总线完成主控模块和子系统的联网。
为了防止由于数据交换错误而影响整个系统安全,有两种策略可以考虑:提高系统数据传输的可靠性;软件处理中增加必要的容错处理。CAN协议采用数据块编码的方式通信,CAN总线在40 m以下具有高速(1 Mbit/s)数据传输能力。CAN协议非常适合主控模块和其他子系统之间的通信和控制。
智能家居主控模块要完成4个子系统的协同工作,采用模块化设计思想,需要4个软件模块分别处理4个子任务,主任务协调4个子任务正常工作。每个子系统又可以划分成很多更细的任务。如果采用结构化的程序方法,程序设计非常复杂,系统会存在很多潜在问题。嵌入式硬件资源日益丰富,成本也较低廉,资源的增强使软件有更多的资源可以利用。主控模块的硬件资源非常丰富,软件系统也非常庞大,软件系统无法避免在访问资源时遇到冲突、数据同步、数据交换的问题,所以需要一个嵌入式操作系统统一管理硬件资源,并对软件开发提供良好的基础环境,比如:内存管理、进程管理、存储管理、文件系统、设备管理、消息机制、数据同步、数据交换、多线程、套接字等。操作系统虽然占据一定的存储空间,但是给软件开发带来的便利更加可观。操作系统采用Linux2.6内核。主控模块没有特殊的外设,驱动开发和内核开发的任务量就很小。开发工作主要集中在子系统的任务开发和监控软件的开发上。Linux开发是在宿主机上建立交叉编译环境,根据硬件的配置确定编译选项,编译后得到Linux的可执行映像。
CAN协议是最流行的现场总线协议。为保证协议的灵活性,该协议只定义了数据链路层和物理层,一般CAN控制器会实现这两层协议,针对具体应用需要开发应用层协议。CAN应用层协议标准有DeviceNet和CANOpen。这两种协议是面向大型系统,针对工厂自动化控制和汽车电子开发的,所以智能家居需要使用自定义的CAN应用层协议。智能家居中子系统和主控模块采用点对点的通信方式。自定义应用层协议基于非对称型主从式网络结构。应用层帧结构定义如图4所示。Dir(1 bit):数据传输的方向,0表示主控模块到子系统;1表示子系统到主控模块。
智能家居系统是一个复杂的系统,由于控制对象过多,单个智能控制系统无法完成控制任务,需要构成一个家庭控制网络。智能控制系统主控模块在网络中起到调度和协调的作用。本文分析了家庭控制网络的结构,提出了主控模块的软硬件模型和设计方案,提出了主控模块和其他功能子系统联网的一种实用通信方案。
1. 主控模块的软件架构
[导读]本文采用TCP/IP协议与CAN总线协议,两种协议取长补短,使整个系统性能更加稳定,功能更加丰富。
结论
发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。