新闻  |   论坛  |   博客  |   在线研讨会
基于ARM的智能家居路由系统
tongxin | 2009-04-13 00:03:49    阅读:1318   发布文章

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

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
最近文章
寂寞如雪
2009-05-19 19:01:18
夜色花
2009-05-19 18:56:22
没有爱可以重来
2009-05-19 18:54:59
推荐文章
最近访客