ARM
前言
智能家居,或称智能住宅,在英文中常用Smart Home。智能家居是以住宅为平台,兼备建筑、网络通信、信息家电、设备自动化,集系统、结构、服务、管理为一体的高效、舒适、安全、便利、环保的居住环境。智能家居可以定义为一个过程或者一个系统。它利用先进的计算机技术、网络通讯技术、综合布线技术、将与家居生活有关的各种子系统,有机地结合在一起,通过统筹管理,让家居生活更加舒适、安全、有效。
在智能家居中,有一个重要系统就是家庭网络,它是在家庭或者小区范围内,将PC、家电、安全系统、照明系统和广域网相连接的一种新技术。当前在家庭网络所采用的连接技术可以分为“有线”和“无线”两大类。有线方案主要包括:双绞线或同轴电缆连接、电话线连接、电力线连接等;无线方案主要包括:红外线连接、无线电连接、基于RF技术的连接和基于PC的无线连接等。
家庭网络相比起传统的办公网络来说,加入了很多家庭应用产品和系统,如家电设备、照明系统,因此相应技术标准也错综复杂。家庭网络的发展趋势是将智能家居中其它系统融合进去,最终一统天下。本文给出了一个家庭网络互连的智能家居路由方案,它是基于三星公司的ARM核CPU-S3C4510和mClinux操作系统的解决方案。
S3C4510 处理器
在本系统中,我们选用了三星公司的S3C4510处理器,它是一款性价比很高的ARM 核的SoC芯片,其使用的是ARM7TDMI内核,并内置10/100M Ethernet控制器,特别适合网络应用。另外包括2路HDLC,I2C ,8k CACHE/SRAM,2 UART,2 DMA,2 32位计数器,中断控制器,DRAM/SDRAM控制器,18个可编程I/O。由于S3C4510处理器主要关注于嵌入式internet应用,目前成为国内出货量最大的一款ARM芯片,在ISDN路由器,ADSL modem, ADSL route,二层10/100 M交换机网络管理,UPS网络管理等设备上均有成功批量应用。
mClinux 概述
mClinux 是针对“微控制领域而设计的Linux 系统”,它将Linux应用于没有内存管理单元(Memory Management Units)的处理器。由于mClinux 是在Linux 的基础之上添加了对没有MMU 的微处理器的支持,所以它一方面继承了Linux 的大部分优点:例如稳定性、各种网络协议栈的支持以及不同类型的文件系统支持等等,另一方面,它广泛地应用于嵌入式领域,内核精简(一般小于512k),并支持很多常用的嵌入式微控制器系列。
与标准Linux 操作系统相比,mClinux 最大的区别就在于内存管理。标准Linux 是针对有内存管理单元的处理器而设计的,使用虚拟存储器技术通过分页的方式来载入进程。mClinux 对NOMMU 的处理器采用了实存储器管理策略(real memory management)。这样一个进程在执行前,系统必须为之分配足够的连续地址空间,然后全部载入主存储器中。因为在嵌入式开发中,通常都是针对特定环境下的应用,尽管占用资源过多但是执行效率却也相对高一些。
智能家居的互连结构
首先,我们利用ADSL连接到 Internet上将家居路由与外界的通道连接上。当然,如果小区内提供内部的互连网络,就可以直接将家居路由接入到小区的互连网络上。图一给出了本方案的互连结构。其次,在家居布线中,对于不同的设备采用不同的接口,例如家用计算机接入使用网络交换机,笔记本电脑使用无线接入(也可以直接使用网线),各种仪表/探测器和家电则需要使用串口或者I2C总线接入,这样便于集中处理并实现远程控制及智能控制。再者,采用互联网上先进而成熟的IP协议。这种完全开放的网络,无需担心升级、维护、产品提供商的垄断或者其他行为。所有设备均可通过家居路由接入到宽带网和局域网,从而满足各种应用程序对设备的远程监控,和设备对网络信息的读取。最后,本方案使用成熟的mClinux技术,可以方便地将PC中成熟的软件移植到本系统中,而避免了复杂的开发,使用CGI 技术又利用了互联网上的已有各种信息服务资源。在造价和功耗方面,ARM系列的处理器的优势是非常明显的,其单片价格和C51系列的单片机相差无几,而功耗却可以非常小。由于家用设备在价格和功耗方面都要求比较严格,从而,使用本系统就有相当的优势和特色了。
软件构成
如前所述,由于采用了性能稳定的mClinux操作系统,而且由于Linux在PC机中的广泛应用,各种软件资源非常丰富,特别是硬件驱动程序和网络资源,所以在软件方面有着非常丰富的选择,但是本系统是使用的一个嵌入式的处理器,是一个嵌入式系统,所以必需经过裁剪和选择。图二给出了本系统的软件资源的基本构成。其中,成熟稳定的TCP/IP协议和网络是整个系统的关键所在。HTTPD服务和TELNETD服务为网络配置、WEB管理和远程控制提供了基础, SHELL程序便于实现监控管理,而JFFS II文件系统则用来保存系统的设置。另外,家居监控和管理也必需使用CGI WEB界面和命令行的方式来进行处理。另外,I2C总线驱动、串口驱动、无线遥控器驱动没有在图二中给出,这些也是本系统的一部分。
由于 mClinux和Linux系统本身还是有区别,而Linux系统下的软件在mClinux下也需要相应的修改,所以对于本系统的软件来说,我们做了相应的移植工作,例如,针对HTTP Web服务,我们移植了thttpd服务程序,并添加了CGI的支持,这样方便地建立Web管理界面,让最终用户通过局域网或广域网访问家居路由系统,在 WWW浏览器中设置家居路由设备工作参数,监控其家居系统各个设备状态及察看控制结果,也避免为家居路由系统专门去编写专用的GUI交互界面。在不同的仪器设备中的界面只需编写不同的HTML页面,结合CGI技术就可以完成各种灵活、友好的交互功能了。对于CGI程序,我们进行了软件复用,特别是控制单元的部分,我们也添加到无线遥控器的控制功能中了,这样只需要一个按钮,就可以完成对家居系统的各个部分控制,从而构造了一个舒适的、方便的而智能的家居系统。
模块化软件设计和高可裁剪性以及系统可配置性是Linux操作系统的优势,我们在本系统中保持了这些优点。从图一的以三星的 S3C4510微控器为核心的硬件组合到图二的以mClinux操作系统为软件核心的软件结构,每一个部分都是模块化的,可裁剪的。在嵌入式系统中,除了价格的因素以外,系统软件开发也是一个非常重要的因素。我们选择了一个良好的操作系统,并以此为基础进行应用开发,减少了开发难度和开发周期。
结语
总之,本系统提供一个高性能,低价格,低功耗的智能家居路由,提供了管理家庭服务的各种功能应用,也提供了高带宽、高速率的网络和相当的扩展灵活性及高可靠性,其兼容性良好。整个系统相对开放稳定,并具有良好的管理性,适应网络目前及将来的发展,是一个高可用的方案。
全部0条评论
快来发表一下你的评论吧 !