手机端
or

欢迎您加入我爱方案网QQ群

1.智能产品外包服务群(311606115)
2.嵌入式项目开发群(491609563)

基于S3C2410X家庭网关的设计

谢燕江; 金敏| 家庭网络,家庭网关,S3C2410X微处理器,Web服务器| 2010-11-29
967 收藏
分享到: 
每日精选
热门文章
热门方案

【中心议题】

  • 介绍了家庭网络的总体结构
  • 提出了一种新的家庭网关结构

【解决方案】

  • 32ARM嵌入式微处理器SC2410X为核心
  • 通过移植Linux内核,开发相应的硬件驱动和上层应用软件

网络技术和通信技术的突飞猛进,使人们不仅对家居自动化和信息化程度要求越来越高,而且对家用设备控制的灵活性和对外部信息获取的方便性有了更高的要求。家庭网络系统正是为了满足人们的这种需求而出现的,只有建立起智能化家庭网络系统才能满足家庭数字化和信息化的要求,有效的提高家庭生活质量。家庭自动化、智能家居一般是指实现对家用电气设备的自动化调节和控制,而网络家居、数字家居则偏重于家庭内部通过网络对外界信息的获取。

2005628经国家信息产业部正式批准,我国家庭网络标准工作组发布了《家庭网络系统体系结构及参考模型》,将家庭网络分为三个主体:主网、控制子网、网关。主网主要用于传输高速信息,如音视频信息,带宽要求比较高;控制子网用于传输家庭内的低速信息,如控制信息,带宽相对比较窄;网关是家庭和外部网络连接的主要管理平台和通道,是整个家庭网络的核心,它主要实现①Internet接入,②远程控制,③连接家庭控制子网。

1家庭网络总体结构

家庭网络由各种具有网络功能的信息家电组成,图1给出了系统的总体结构图,它包括外网(如InternetPSTN以及无线局域网等)、家庭网关和家庭控制子网。显而易见,系统的核心是家庭网关。

 

家庭网关分为主网网关和子网网关两部分。主网网关具备两个主要功能:1)提供外部网络与家庭内部网络互联的一种物理接口;2)提供实现各种家庭服务(包括现有的服务和未来可能出现的服务)的平台。子网网关主要负责管理各种家庭控制子网设备。本文主要讨论家庭网关的研制。

2家庭网关的系统结构及工作原理

在本系统中,主网网关与子网网关就运行在同一个物理平台上。家庭网关的系统结构如图2所示,它以SAMSUNG公司的32RISC处理器S3C2410X嵌入式微处理为核心,通过外扩存储器(FlashSDRAM)、液晶显示屏(LCD)、小键盘、网络接口模块、电话语音控制模块、蓝牙模块等来构建硬件平台.并可实现以下四种控制方式:

1)在本地用键盘及显示器进行控制:设有16按键和一块320×240点阵的液晶显示器,便于用户在本地进行状态的设置和查询,如数据查询、电器控制等。

2)蓝牙控制模块:网关和家电终端之间的接口,网关和家电中断通过蓝牙传输语音和数据信息。

3)远程的电话语音控制:是一种基于公共电话交换网(PSTN)的电话远程控制.语音控制模块包括双音频接收与发送、振铃检测、模拟摘机、信号音测试等电路,用于电话的指令控制,如远程控制家电、电话报警等。

4)基于Internet的远程控制:采用浏览器端/服务器端结构(B/S结构),用户可直接用Windows自带的正浏览器作为客户端程序,因此达到随时随地可以远程控制的目的。

 

3家庭网关的软件平台

本系统选择免费的嵌入式操作系统LinuxLinux是一个开放的系统,并且它始终遵循着源代码开放的原则,它是一个成熟而稳定的网络操作系统,作为嵌入式操作系统有如下优势:低成本开发系统;可应用于多种硬件平台;可定制的内核;性能优异;良好的网络支持。

网关的软件体系结构可分为三个层次(如图3所示):

1)硬件驱动层:包括串口驱动、LCD驱动、以太网驱动ROMFS文件系统和其他驱动。

2)Linux内核:提供进程管理、文件管理、内存管理、中断和中断处理、系统初始化等。

3)应用程序层:通过内核的调用,实现相应的应用服务。如:串口通信程序、基于以太网的家居系统的远程查询和控制程序等。

3.1硬件驱动和应用程序的开发

采用的基本思路是先在PC机上模拟实现网关功能,然后再做必要的改动后移植到嵌入式网关系统中。设计中需要开发的硬件驱动有:串口、LCD、以太网、小键盘等的驱动程序。具体开发流程如下:

1)用串行数据线将目标平台与宿主机相连通过网线连接两端的网络端口;

 

2)将目标程序在宿主机上编辑、编译通过;

3)在宿主机上对目标程序进行功能调试;

4)使用交叉编译工具对源程序进行交叉编译、连接、生成目标平台可执行文件;

5)在宿主机上启动minicom作为目标平台的仿真终端;

6)启动目标平台上的Linux,通过宿主机上的FTP服务器下载目标程序;

7)在目标平台上对程序进行二次调试,调试信息通过串口显示在minicom中;

8)调试通过后,将程序与Linux内核一起编译、生成烧写文件,写入Flash中。

3.2 Web服务器的选择

Linux下嵌入式Web服务器主要有三个:httpdthttpdBoaHttpd是最简单的一个Web服务器,它的功能最弱,不支持认证和CGIThttpdBoa都支持认证和CGI等,功能比较全。本系统采用了BOA作为嵌入式Web服务器。

Boa是一个单任务的http服务器,源代码开放、性能高。建立Boa Web服务器包括如下步骤:下载Boa源代码,安装并编译Boa源代码,配置Boa Web服务器,测试Web服务器。

3.3 CGI程序设计

CGI即通用网关接口(Common Gateway Interface),它提供Web服务器一个执行外部程序的通道,这种服务端技术使得浏览器和服务器之间具有交互性。CGI是一个外部程序,需要编译成可执行文件,以便在服务端运行。其流程是:由用户填写一个表单并将其提交给Web服务器,Web服务器触发一个可执行程序(即CGI程序),这个程序根据用户请求的内容以及提交的数据做出相应的处理,并可返回程序处理结果信息到客户端。信息家电的远程监控包括家电当前状态信息查询、开关控制及参数调节,对应的CGI程序主要包括用户输入资料解析模块、各种管理对应的处理子程序、数据封装输出等。

4结束语

本文首先介绍了家庭网络的基本概念,然后根据家庭信息化国家标准所规定的家庭网络总体结构和各部分功能进行了系统设计,最后提出了家庭网关的硬件和软件实现方案。该网关实现了家庭网络和外部网络之间的连接。它能随时随地通过浏览网页实现对家庭网络中的智能设备的远程控制。该家庭网关成本较低,易于升级,便于推广应用。

点赞

深圳市中电网络技术有限公司 Copyright© www.52solution.com 粤ICP备10202284号