基于ARM的家庭网络系统解决方案

发布者:快乐旅途最新更新时间:2011-06-27 关键字:ARM  家庭网络 手机看文章 扫描二维码
随时随地手机看文章

0.引言
    家庭网络化是社会信息化的重要组成部分。家庭网络系统可实现各种智能家电、安全设备等的连接和管理,向人们提供方便、灵活和高效的网络服务。目前家庭网络系统主要有两种解决方案:基于PC和基于嵌入式系统[1]。
    在以PC作为家庭网络核心的解决方案中,PC提供家庭网络与Internet之间的连接,并通过控制外设提供各种服务。PC的优势是功能强大灵活,拥有众多软件支持,软件升级方便。但是PC并不是专门为家庭网络设计,所以在应用中存在一些局限:功耗较大;成本较高,如果考虑24小时运行,则对硬盘、电源、主板等很多部件有更高的要求,成本进一步增加;同家庭网络的交互与控制行为被限制在键盘、鼠标与显示器附近的一个小区域内,移动性差,很不方便;实时性能不能满足某些特殊应用的要求。
    采用嵌入式家庭网络系统解决方案可以很好地解决上面的问题。同基于PC的系统相比,嵌入式系统的硬件和软件都是针对特定应用高效设计的,稳定可靠,可长时间运行;功耗非常低;设备成本和运行成本较低;体积小,可分布性强;可工作于恶劣的环境中;如果运行专门的实时操作系统,则具有优秀的实时性能。
    本文第1节描述家庭网络系统的结构,第2节实现一种基于ARM和嵌入式Linux的原型系统,包括硬件平台和软件平台的设计。第3节介绍系统的功能和运行机制。第4节给出结论。
1.系统结构
    我们的家庭网络系统主要包括三方面功能:网络通讯、媒体娱乐和家庭控制[2]。系统由网络服务子系统、娱乐子系统和控制子系统组成,系统结构如图1所示。
     网络服务子系统包括一个Web服务器,若干嵌入式文件服务器(包括嵌入式多媒体文件服务器和嵌入式传感器数据服务器,分别用来存储多媒体文件和传感器数据)以及网络设备接口。它们为整个系统提供媒体娱乐、家庭控制等网络服务以及设备间多样化的网络通讯支持。(以下对嵌入式Web服务器和嵌入式文件服务器简称为Web服务器和文件服务器。)娱乐子系统是一个便携式多媒体终端,(今后可以加入其它的智能娱乐设备)它是用户和整个系统之间的交互界面,用户通过它享受系统提供的多媒体娱乐服务,远程监控控制子系统。(以下对便携式多媒体终端简称为终端。)控制子系统由数据采集与控制板、数字/模拟传感器、数字/模拟控制器等组成。它可以采集智能家电、安全设备的数据并存储在板上的Flash和/或上传到传感器数据服务器中,并对它们进行直接的控制。

图1家庭网络系统的结构[page]

    目前,家庭网络尚处于初级阶段,与智能家电、安全设备的完全整合存在一些商业与技术问题。调查也显示家庭网络中最受关注的是媒体的网络化。基于以上的分析,我们设计实现了基于ARM和嵌入式Linux的家庭网络原型系统。它包含了完整的娱乐和网络服务子系统。由于缺少配套的智能家电和安全设备的支持,我们的控制子系统只有数据采集与控制板,各种传感器、数控单元和继电器,没有实际的监控对象。

2.系统设计
2.1系统硬件平台
    ARM是一种高性能、低功耗、低成本的RISC技术,目前已广泛应用于汽车电子、消费电子、工业控制、网络设备、无线产品等领域。
2.1.1终端、文件服务器和Web服务器
    终端、文件服务器和Web服务器三种硬件平台都基于三星公司的S3C2410A(基于ARM920T核)。它采用双哈佛缓存结构,具有16KB指令缓存和数据缓存,最高运行频率266MHz,尺寸小、功耗低、功能齐全、控制外设方便。内部集成了大量功能模块,如MMU、LCD控制器(同时支持STN和TFT LCD)、USB Host/Device控制器、触摸屏接口、SD/MMC接口、IIC总线接口、IIS总线接口、三星公司独特的NAND Flash Boot Loader等[3]。
    三种硬件平台共有的配置包括S3C2410A、64MB PC133 SDRAM、64MB NAND Flash、RS232、10Mb以太网卡、USB Host/Device、USB无线网卡等。此外,终端配备了3.5寸260K色TFT LCD、触摸屏、PS/2键盘和鼠标、音频解码芯片和128MB SD卡。文件服务器配备了128MB SD卡、U盘和移动硬盘。Web服务器配备了音频解码芯片。
2.1.2数据采集与控制板
    数据采集与控制板可能工作在较恶劣的露天条件下,所以我们采用Atmel公司的工业级产品AT91FR40162(基于ARM7TDMI核)。它的主频75MHz,工作温度-40°C~85°C,

图2文件检索与传输服务的流程

    在服务过程中,用户只能看到Web服务器,文件服务器对用户是隐藏的。这增加了整个系统的安全性,避免了用户对文件服务器的错误操作,也增加了文件服务器配置的灵活性和分布性。
(2)家庭控制服务
    家庭控制服务实现数据采集与控制板和Web服务器之间的信息交流和远程监控功能。
数据采集与控制板将采集到的数据先存储到板上的Flash,然后根据用户的需要实时或定时地发送到Web服务器。Web服务器再将数据发送到传感器数据服务器。传感器数据服务器记录下数据,并且更新数据记录列表。
    数据采集与控制板上的数据采集模块会对某些采集量进行阈值检测,如果发现采集量超过阈值,立刻向Web服务器发出警告或利用AO、DO驱动设备进行下一步处理。Web服务器收到警告后,输出用户设定的报警音乐并且通过GSM/GPRS发送短信通知用户。
    用户可以通过终端登陆Web服务器的监控页面,选择远程监控服务,如查看传感器数据、初始化设备、唤醒系统、设置检测对象和阈值、报警处理、输出控制等。相应的命令通过GSM/GPRS发送到控制子系统。AT91FR40162将对命令进行解析,然后完成或驱动C8051F020完成相应的功能。

4.结束语
    本文提出的嵌入式家庭网络系统解决方案低成本,低功耗,可分布性强,功能丰富,能同时满足媒体娱乐和家庭控制的需要。基于ARM和嵌入式Linux的原型系统跨越了多硬件平台和多软件平台,既充分利用了各平台的优点,也在一定程度上模拟了未来Embedded Everywhere中多平台共存的情况。经过系统测试,原型系统可长期稳定运行,非常适合家庭网络应用。

 

关键字:ARM  家庭网络 引用地址:基于ARM的家庭网络系统解决方案

上一篇:基于ARM的嵌入式TCP/IP协议的实现
下一篇:基于ARM和CPLD的高速数据采集系统设计

推荐阅读最新更新时间:2024-03-16 12:37

苹果或在明年采用ARM Mali GPU?
    ARM在今天宣布了第二代GPU(图形处理器)的研发计划,据该公司的发言人称,引入了ASTC技术的Mali GPU与旧的GPU相比将有50%的性能提升,它能让智能手机和平板电脑在运行高画质的视频游戏和编辑图片时更加流畅、快速。 作为当前iPhone和iPad的显卡芯片提供商,Imagination Technologies将面临巨大的竞争压力。显然,主打CPU设计的ARM将在未来移动设备的GPU市场掀起一阵“ARM风暴”。   此前有传闻称苹果有意为旗下的移动产品更换GPU,而“绯闻”的主角正是ARM旗下的第二代GPU设计。ARM成立于1991年,是微处理器行业的一家知名设计公司,它本身不生产芯片,而是采用转让许可证制度,由它
[手机便携]
ARM引起的行业大裂变(二)
下篇:迎接产业变革   x86服务器芯片市场正处在暴风雨来临之前的平静,伴随着ARM凭借低功耗从低端潜入、IBM借助OpenPOWER联盟从高端打压,x86服务器芯片市场必将风浪四起。或许,作为x86芯片市场“带头大哥”的英特尔,是时候出来应战了。   就IT产业而论,PC之所以颠覆了小型机,是因为PC能够将计算技术扩散或者说普及得更远。而新一代主导技术“移动互联网+云计算”则将云计算强大的计算能力通过智能终端扩散到无线网络所能覆盖到的区域,因而具有PC难以比拟的扩散能力。平板电脑和智能手机取代PC,主导个人计算市场也就不足为奇了。   ARM开放内核的商业模式正好顺应了“移动互联网+云计算”这一产业发展趋势,因而促成了智能
[模拟电子]
<font color='red'>ARM</font>引起的行业大裂变(二)
ARM嵌入式系统开发之发送过程的实现
要通过网卡发送数据时,上层协议实体调用函数 hard_start_xmit() ,在我们的驱动程序中这个函数被映射成 DM9000_wait_to_send_packet() 函数,正如它名字中 wait 所表示的那样,这个函数只完成了等待发送的工作,实际的发送是调用 DM9000_hardware_send_packet() 函数完成的,这也是前面提到的 buffer 分配机制的一种体现。 在具体介绍这两个函数之前,有必要简单说一说 DM9000 芯片发送数据的工作原理。前面已经讲过,为了增加网络吞吐量 DM9000 芯片内部集成了 8K 的 buffer ,芯片对这些 buffer 采用了内存页面管理方式,每页 256
[嵌入式]
arm力天电子 lpc2148 无字库的12864显示一个汉字(串行)
力天电子lpc2148开发板中配的12864小屏是不带字库的,并且没有所谓的左右屏,上下屏之分,是一个整屏.(是北京集粹电子设备有限公司生产的,资料详见 http://download.csdn.net/detail/yueniaoshi/4507741 此资料介绍的芯片的相关东西 http://download.csdn.net/detail/yueniaoshi/4507754 此资料介绍的是驱动函数 http://download.csdn.net/detail/yueniaoshi/4507775 此资料介绍的是小小日历钟,这个里面的函数更全一点) (再说点题外话,当初买板子的时候老板服务很周到,也很热心,
[单片机]
<font color='red'>arm</font>力天电子 lpc2148 无字库的12864显示一个汉字(串行)
ARM历程十一—(拨打电话)
字符显示程序,拨打电话程序: (程序有待完善) void Displaytxt(int x0, int y0, int who, U16 color )// 显示数字(16*32) { U16 txt = 0; U16 l = 0, h = 0, x = 0, y = 0, z = 0; for ( h = 0; h 32; h++ ) { x = (U16)gImage_number ; y = (U16)gImage_number ; txt = y 8 | x; for ( l = 0
[单片机]
Arm新推Mali-C55 ISP,三大特性助力嵌入式视觉系统发展
Arm 日前宣布推出全新 Arm Mali-C55 图像信号处理器 (ISP),这是 Arm 迄今为止面积最小且可配置性最高的 ISP 产品,并已获得合作伙伴的青睐,包括首家公开授权许可客户瑞萨电子 (Renesas)。Mali-C55 提供更卓越的图像质量功能,可在各种不同的照明和天气条件下运作,专为在面积和功率受限的应用中实现最佳性能和功能而打造,是智能摄像头和边缘人工智能 (AI) 视觉用例的理想之选。 Arm 物联网兼嵌入式事业部副总裁 Mohamed Awad 表示:“ISP 仍是最重要的信息生成设备之一,可支持商用、工业或家用智能摄像头及无人机等众多物联网视觉系统应用。随着对未来设备中更多、更高质量图像处理需求的不
[半导体设计/制造]
<font color='red'>Arm</font>新推Mali-C55 ISP,三大特性助力嵌入式视觉系统发展
STM32 arm汇编(thumb-2指令集)启动代码分析
;// h Stack Configuration ;// o Stack Size (in Bytes) 0x0-0xFFFFFFFF:8 ;// /h Stack_Size EQU 0x00000200 ;//定义堆栈大小 AREA STACK, NOINIT, READWRITE, ALIGN=3 ;//定义一个数据段 按8字节对齐 ;AREA 伪指令用于定义一个代码段或数据段 NOINIT:指定此数据段仅仅保留了内存单元,而没有将各初始值写入内存单元,或者将各个内存单元值初始化为0 Stack_Mem SPACE Stack_Size
[单片机]
64位新人 ARM自有一套
不久前,ARM宣布了自己的第一个64位指令集处理器架构“ARMv8”。该架构基于32位的ARMv7而来,并保留了TrustZone安全执行环境、虚拟化、NEON(高级SIMD)等关键技术特性。Cortex-A9、Cortex-A15等著名核心就是由ARMv7架构衍生出来的。 为了迎接ARMv8 64位架构的到来,ARM正在与整个生态系统合作为其64位指令集提供支持。新的ARM编译器、Fast Models已经提供给关键合作伙伴,大量开源操作系统、应用程序和第三方工具也已在开发之中。ARM宣称,ARMv8新架构将把高能效的64位计算带入高端服务器等新的领域,并提供向下兼容性,便于现有软件的移植。 就具体问题,ARM的
[EEWORLD独家]
64位新人 <font color='red'>ARM</font>自有一套
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved