0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于S3C2410微处理器和linux-2.6.18内核实现家庭网络WEB平台设计

电子设计 来源:微计算机信息 作者:王忠勇;安永帅;宋 2021-05-18 16:19 次阅读

作者:王忠勇;安永帅;宋豫全

1 概述

信息家电和下—代宽带无线通信是IPv6的两大主要应用领域,随着互联网快速发展和家庭宽带的逐步普及,将家庭中的微计算机、信息家电以及消费电子设备等组成家庭网络,已经成为重要的消费热点。IPv6技术在家庭网络中具有独特的优势。可以使家庭内的冰箱、空调等家电都拥有—个独立的全球IPv6地址;全面支持服务质量保证(QoS),这对于数字娱乐和多媒体信息应用非常有益。因此,在家庭网络中应用IPv6具有广阔的前景。

网络迅速发展给人们带来巨大便利的同时,也带来了严重的网络安全问题。在家庭网络中,安全问题同样很突出。各种新技术在家庭中的广泛应用一方面提高了信息家电的性能,另一方面也对简化操作和管理提出了新的要求。这些都需要通过一个统一的家庭网络WSB平台进行设置和管理,并实现与客户端的动态交互。

本文提出了一种基于IPv6的嵌入式家庭网络WEB平台解决方案,以高性能的32位ARM微处理器S3C2410为硬件平台,通过移植新版本的嵌入式linux-2.6.18内核,实现了家庭网络的管理平台功能。

2 家庭网络系统结构

本系统由客户端、宽带接入端口、家庭网络HUB、家庭网关和家电控制器组成。如图1所示:

图1系统结构示意图

系统分为三个部分。

第一部分,是位于家庭网络以外的客户端,家庭网络用户和信息家电厂商的维护人员,通过Intenet访问家庭网络对外的统一平台,即网关中内嵌的WEB服务器。

第二部分,是网关和PC主机,网关既是家庭网络内部的各个家电控制器对外的统一接口,也负责统一控制和管理各个信息家电中家电控制器。一方面接收来自用户通过Internet发送的控制信息,另一方面采集信息家电的状态,提供给用户参考。

第三部分.是家电控制模块,它连接家电的执行机构,接收来自网关的控制命令,并对家电进行操作,同时根据网关的命令,采集家电的信息上传。

3 硬件开发环境

嵌入式系统硬件平台的选择主要是嵌入式处理器的选择,针对开发嵌入式网关的需要,并考虑系统外围设备情况,本系统采用了内嵌ARM920T内核的三星S3C2410处理器,ARM920T是高性能、低功耗特性方面最佳的通用封装微处理器,它采用5级流水线,具有指令和数据Cache,支持协处理器、片上调试和MMU等技术。此外,还包括一些嵌入式外围设备,由存储设备(一片E28F640构成的8MB容量的16位NOR型Flash存储器和两片HY57V281620构成的32MB容量的32位SDRAM存储器)、接口设备(异步串口、以太网口和USB接口)、显示设备(LCD及触摸屏模块),这些共同构成了硬件开发环境。

4 软件设计

与其他嵌入式操作系统相比,Linux具有开放源码、内核小、功能强大、运行稳定、可移植性好等优点,能充分发挥ARM920T内核具有MMU(存储单元管理)的强大功能,同时由于Linux的开源优势.Linux内核对IPv6的支持比较全面,因此本系统选用Linux作为嵌入式操作系统。

4.1 Linux开发环境的建立

由于嵌入式系统的资源有限,嵌入式Linux的开发通常采用宿主机加目标板的方式,即需要一台安装Linux的PC机作为系统的编译和调试环境。由于家庭网络中的PC主机通常要使用Windows操作系统,来满足日常需要,因此,采用了虚拟化的方法来解决这个矛盾。

在PC主机上安装虚拟机软件VMware(版本5.0.0),VMware运行在主机的操作系统之上,它在Guest OS与Host OS之间加了一层虚拟操作平台(VMware Virtual Platform),客户操作系统透明地运行在虚拟操作平台之上。然后在虚拟机上安装RedHatLinux9.0,作为宿主机,来进行日标板所用到的操作系统的内核裁剪、移植、编译,应用程序的编译、调试,以及将内核和文件系统打包成映像(image)文件,然后就下载到目标板上去运行,双方通过串El或以太网接口建立连接关系。

4.2 通过VMware管理

家庭网络中的PC机上具有不同的两种操作系统,需要通过VMware Workstation对其进行管理,以解决二者不能相互访问,传送程序和文件的问题,并使Linux和Windows可以同时在互不影响的情况下,分别接入Internet。

第一步,在Linux中安装VMware Tools,获得对X windows界面和网络等的强化支持。

第二步,设置VMWare为host-only方式.在options中的sharefolders设置共享目录。把PC主机的网卡设为“允许共享”,并设定网络接口为VMnetl,进入Linux,设定ethO为192.168.0.2,default gatewey为192.168.0.1。即可实现Linux和Windows分别独立接入Intenet。

第三步,为实现Linux和Windows共享文件,采用smb (Server Message Block)服务的方式。在Linux中开启samba服务器,并修改其配置文件/etc/smb.conf,在Windows中添加IPX/SPX和NETBEUI协议。

由上面的步骤可以看到,在不同的场合下,对虚拟机中的Linux配置是不同的。对于家庭网络的用户来说,这样的配置难度过大,因此,本系统利用虚拟化的”clone”技术,在VMware中对不同场合下的配置,分别进行“clone”.其名称分别为“shareholders”、“Intenet”和“test”,如图2所示,这样,就可以方便地进行切换。

图2 虚拟机的配置

4.3 内核配置、协议栈优化与服务器设置

考虑到嵌入式系统对稳定可靠性的要求,选用目前较新版本的Linux 2.6.18内核,它对IPv6协议栈、无线网卡以及Cisco的LEAP无线认证协议提供了更好的支持,而且已经经过一段时间的运行,比较稳定。

在IPv6网络中,由ICMPv6(Intemet Control Messages Protocol)协议实现的邻居发现和IP地址的自动配置是IPv6协议在嵌入式应用中最实用的部分,其邻居发现功能取代了IPv4协议中使用的ARP(Address Resolution Protocol)、ICMP路由器发现和重定向报文的功能,而自动配置则实现了设备接入网络的“即插即用”,因此本嵌入式系统平台根据实际需要重点对ICMPv6协议进行了优化配置。

mini_httpd是嵌入式Linux下少数支持IPv6协议的轻量级WEB服务器,它内核很小,非常适合板上资源有限、一般为单任务的家庭网络WEB环境,因此本系统选用了mini_httpd-1.19作为嵌入式WEB服务器,将其下载到宿主机后解压缩、制定交叉编译器,然后编译生成二进制可执行文件。在网关的系统配置文件/usr/etc/rc.local中增加命令“mini_httpd/jffs2 cgi-bin/”使得在系统启动时自动加‘载到网关flash存储设备的JFFS2(Journalling Flash File System闪存日志型文件系统第二版)文件系统中。

为了配置和测试IPv6的网络环境和协议,还需要安装BusyBox。这是一个集成了一百多个常用标准Linux工具的单个可执行实现,由于使这些工具共享相同的元素,因此体积非常轻巧,而且可以在图形工具下进行配置,被称为Linux工具中的瑞士军刀,其安装配置与前述嵌入式服务器的过程类似,不再赘述。

4.4 编写CGI程序进行认证和管理

目前Web技术中生成动态Web页面的方法有CGI和服务器脚本,如JSP,ASP等,但后者需要Web服务器具有这些脚本的运行支持模块。在嵌入式Web服务器中,考虑到资源限制问题,一般都只提供CGI (Common Gateway Interface)支持,因此在嵌入式设备中Web方式应用实际上就是基于CGI的程序开发。

CGI提供了客户机与服务器交互的接口,服务器响应客户端请求后执行相应的CGI程序,并把执行结果返回给客户端,从而实现了基于WEB的动态交互。使用FORM方式作为输入界面,用户在FORM中输入的信息经过URL编码处理后再送到CGI程序中,这就是CGI的关键所在。程序完成对输入处理和结束工作后,把结果以信息流的方式传给服务器,服务器负责把要反馈的信息流以HTTP的形式封装起来,转换到客户端的浏览器上。

CGI程序分为以下几部分:①用户在客户端的浏览器上访问网关,载入用户界面,并在FORM中输入ID和口令,采用get方法提交;②服务器响应请求,分析浏览器请求的资源,发现是一个CGI程序,于是引导到指定位置的CGI程序;③URL编码的解码,程序从环境变量“QUERY_STRING(path&info)中提取信息”;④用printf()函数来产生HTML源代码,并将经过解码后的数据正确地返回给浏览器。

5 IPv6家庭网络的组网及测试

在家庭网络中的配置主要包括PC主机和网关两部分的配置。

PC主机安装家庭用户常用的Windows XP操作系统,在DOS方式下使用命令“ipv6 install”安装IPv6协议栈,然后通过命令“ipconfig /all”查看,可以发现在本地连接下面,除IPv4地址外,又增加了一个IP地址“fe80::20c:76ff:fe67:5832%5”,表示该网卡在操作系统中的接口索引是5,于是通过以下命令.为PC主机和网关分别指定在本地链接IPv6地址,即“ipv6 adu 5/ 3ffe::1”等,然后在网关的CGI控制程序中分别为各个家电控制器依次分配地址。

最后要注意的是目前IE浏览器尚不支持IPv6访问,需要通过Firefox浏览器进行访问。

图3家庭网络登录界面

6 小结

本文设计了一个基于IPv6的嵌入式WEB平台,并从虚拟化管理方面针对家庭网络的情况进行了优化,具有一定的实用价值。该系统还存在一些值得改进和进一步努力的地方,如属于网关的显示模块的引入、和控制总线的融合等,这些技术的实现会进一步推进IPv6在家庭网络中的应用。

本文作者创新点:设计了基于IPv6和Linux-2.6.8内核的家庭网络嵌入式WEB平台,并从虚拟化管理等方面简化了管理和使用。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4983

    文章

    18286

    浏览量

    288509
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206738
  • 微处理器
    +关注

    关注

    11

    文章

    2133

    浏览量

    81423
收藏 人收藏

    评论

    相关推荐

    #微处理器与嵌入式系统设计 S3C2410特殊功能寄存SFR

    嵌入式微处理器S3CS3C2410S3C2440
    电子技术那些事儿
    发布于 :2022年10月21日 21:55:38

    基于嵌入式LinuxS3C2410平台的视频采集

    基于嵌入式LinuxS3C2410平台的视频采集首先简介基于嵌入Linux系统的S3C2410平台
    发表于 03-28 12:51

    s3c2410 datasheet 中文数据手册

    s3c2410 datasheet 中文数据手册 s3c2410采用了ARM920T内核,0.18um工艺的CMOS标准宏单元和存储单元。它的低功耗,精简和出色的全静态设计特别适用于
    发表于 11-13 12:10

    S3C2410微处理器与CS8900A开发应用实例

    一些物流先进国家已经采用专业的盘点设备——盘点机,用于物流盘点。 我们在设计时采用了目前流行的嵌入式微处理器作为系统核心部件。其微处理器选型是采用韩国三星公司生产的S3C2410微处理器
    发表于 04-12 15:16

    S3C2410处理器

    S3C2410处理器通过GPD端口连接LED1-4四个灯,试着画出其电路连接图,并变成实现其逐一点亮功能。
    发表于 11-23 21:50

    s3c2410处理器指令的意思是什么?

    呵呵,s3c2410...在vivi中的s3c2410.h文件中设置时钟时 有这么一段mrc p15,0,r1,c1,c0,0orr r1,r1,#0xc0000000;mcr p15
    发表于 02-25 12:34

    基于ARM S3C2410处理器的PDA人机接口电路设计

    结束语   本文结合实际消费电子PDA的研究与开发要求,参照目前国内外PDA的各种功能和结合实际需要,选用三星公司的S3C2410处理器,结合PDA通用功能的需要,并考虑硬件扩展的方便性,设计了PDA
    发表于 06-19 05:00

    AD7888与S3C2410的SPI接口及Linux下嵌入式驱动的实现

    时序图2 S3C2410的主要功能S3C2410是三星公司推出的采用RISC结构的16/32位微处理器。它基于ARM920T内核,采用五级流水线和哈佛结构,最高频率可达203MHz,是
    发表于 06-19 05:00

    ARM920T核微处理器S3C2410有什么特点?

    ,具有性能高、功耗低、成本低、接口方便等特点。这使得在嵌入式系统中实现数据的传输更加方便。S3C2410是三星公司推出的ARM920T核微处理器,主要面向手持设备以及高性价比、低功耗的应用,且在片上集成了丰富的组件,有利于其扩展
    发表于 08-08 07:56

    求一个基于ARM微处理器S3C44B0X及mClinux的无线家庭网关的软硬件设计

    本文以ARM核的32位嵌入式微处理器作为硬件平台,结合无线通信技术,通过移植嵌入式操作系统mClinux,并在其上开发相应的驱动程序、应用程序和嵌入式Web服务
    发表于 06-03 07:00

    基于ARM和Linux的嵌入式Web服务的构建及应用

    嵌入式系统研究及应用的热点.本文叙述了嵌入式系统的组成,特点及发展;分析了嵌入式主流处理器ARM的体系结构和基于ARM9的S3C2410处理器的特性及资源;详细阐述了嵌入式Linux
    发表于 11-05 06:07

    基于S3C2410的黄金矿工游戏的设计资料分享

    。① 输出部分包括: 4个发光led、蜂鸣器。② 控制部分包括:键盘的*键,#键,B键。③ 显示部分LCD显示屏上可以实时的显示矿工挖矿的状态。游戏功能分析要实现S3C2410 ARM处理器和嵌入...
    发表于 12-24 06:20

    基于微处理器S3C2410Linux系统构建

    ,windows-CE,PalmOS,Linux等。在众多的嵌入式操作系统中,Linux以其开源代 码及免费使用倍受开发人员的喜爱。本文选用的微处理器S3C2410是基于32位ARM9
    发表于 10-18 16:07 3次下载

    基于Linux操作系统和S3C2410微处理器实现GPS实时导航系统的设计

    这里提出一种实用的设计方案,通过对系统的各方面配置,实现GPS实时导航功能。系统主控器件采用韩国Samsung公司生产的ARM核32位RISC微处理器S3C2410,并在由其组成的开发板上移植
    发表于 03-09 10:47 907次阅读
    基于<b class='flag-5'>Linux</b>操作系统和<b class='flag-5'>S3C2410</b><b class='flag-5'>微处理器</b><b class='flag-5'>实现</b>GPS实时导航系统的设计

    基于S3C2410微处理器Linux实现嵌入式网关的设计

    介绍了一种基于ARM9的嵌入式以太网的设计方案。基于ARM内核微处理器S3C2410的功能特点及其外扩组成部分,分析了以太网控制器芯片RTL8019AS的性能以及与S3C2410的接口
    的头像 发表于 06-22 14:28 2338次阅读
    基于<b class='flag-5'>S3C2410</b><b class='flag-5'>微处理器</b>和<b class='flag-5'>Linux</b><b class='flag-5'>实现</b>嵌入式网关的设计