IPv6环境下信息家电系统网络终端设计
时间:09-25
来源:互联网
点击:
1 概述
所谓信息家电(IA—Information Appliance),也称网络家电,是指将微型计算机和通信技术融入到传统的家用电器中,使之智能化并具有网络终端的功能,可以随时随地获取与处理信息。目前的信息家电产品大多是基于IPv4的,而IPv4面临着地址资源紧缺的困境,下一代互联网协议---IPv6的诞生弥补了这方面的不足。首先,它扩大了地址空间,使用128bit表示一个IPv6地址,可以保证家庭内的冰箱、空调等所有家电都拥有一个独立的IP地址,而不必担心地址不足的问题。其次,利用IPv6的地址自动配置功能,与网络连接的每个装置均可自动获得IP地址,可以简化家庭网络的构建和IP地址的管理,降低用户操作的难度。另外,IPv6全面支持IPSec安全协议,利用认证扩展报头和加密扩展报头可以提高网络互连和访问的安全性。因此,在信息家电中引入IPv6将具有更为广阔的前景,它必将对信息家电行业产生深远的影响。
本文给出了一种基于IPv6的信息家电系统网络终端的软、硬件设计方法。该方法以高性能的32位ARM核微处理器S3C2410为硬件平台,通过移植嵌入式操作系统linux,并在配置操作系统内核时加入对TCP/IPv6协议栈的支持,然后在其上开发应用程序,实现了基于IPv6的信息家电网络终端。
2 信息家电系统结构
信息家电系统一般由客户机、交换机、网络终端和家电控制器组成。其结构示意图如图1所示:

图1 系统结构示意图
图1中客户机是远程用户和该系统的接口部分,任何一台连入互联网的PC机均可作为客户机;网络终端模块接收来自网络的控制信息并通过RS232串口与家电控制模块通信;家电控制模块连接家电的执行机构,它接收来自网络终端模块的控制命令,并对家电进行操作。以上各模块中,网络终端模块是信息家电系统的核心,它使家电接入IPv6网络,并作为一个嵌入式Web服务器来响应客户端的请求,完成控制数据在网口和串口之间的相互转换。
3 硬件设计
本文所设计的网络终端主要由ARM内核的微处理器模块、存储器模块、串行口模块、以太网模块、电源管理和复位电路模块、LCD及触摸屏模块和JTAG模块几部分组成。其结构示意图如图2所示。

图2 网络终端模块示意图
其中微处理器模块采用三星公司32位ARM9内核的微处理器S3C2410;存储器模块包括一片E28F640构成的8MB容量的16位NOR型Flash存储器和两片HY57V281620构成的32MB容量的32位SDRAM存储器,Flash存储器主要用于存储操作系统内核、引导启动代码bootloader、根文件系统以及应用程序;以太网模块选用8/16位以太网控制器DM9000AE;串行口模块包括两个异步串口,分别用于与家电控制模块连接和用户登录系统;LCD屏采用夏普公司生产的256色、分辨率为320×240的STN液晶模块LM057QC1T01;JTAG模块用于下载操作系统的引导启动代码bootloader。
4 软件设计
S3C2410平台上的软件设计一般需要运行嵌入式操作系统。linux具有稳定、源码开放、网络功能强大的优点。因此本文选用linux作为操作系统。
4.1 linux开发环境的建立
基于linux操作系统的应用开发环境一般由硬件目标板和宿主PC机构成。目标板用于运行操作系统和应用程序,而目标板所用到的操作系统的内核编译、应用程序的开发调试则需要通过宿主机来完成,双方通过串口或以太网接口建立连接关系。
本系统的开发环境建立在运行Red Hat 9.0 linux的宿主机上,从网站下载并安装交叉编译工具链和linux源代码包后就可以进行操作系统内核和应用程序的编译、调试。
4.2 配置内核
目前IPv6的应用尚处于实验阶段,本文选用目前较新版本的内核linux 2.6.14,它可以很好的支持IPv6。
为了使远程用户以IPv6访问家电,本文选用开源的、支持IPv6和CGI的小型web服务器---mini_httpd,它可以很好的支持用户的IPv6访问,且编译后的代码体积很小。
为了配置和测试IPv6网络环境,需要有支持IPv6的配置工具,如ifconfig、ping、traceroute等。linux里自带的网络配置工具并不支持IPv6协议,因此需要重新编译包含这些工具程序的源码包,以确保其支持IPv6。本文选用的是busybox 1.1.2,它包含大多数支持IPv6的网络配置工具,但体积却很小。
4.3 编写CGI程序
本文中客户机与网络终端间的信息交互,是利用公共网关接口(CGI)技术来实现的。CGI提供了客户机与服务器交互的接口。通常,服务器响应客户端请求后执行相应的CGI程序,并把执行结果返回给客户端,从而实现了动态Web。编写Web页面代码时,由ACTION属性来指定服务器需要执行的CGI程序,METHOD属性指明客户机提交数据的方法(POST或GET)。
CGI程序分为以下几部分:①根据POST方法或GET方法从提交的表单中接收数据;②URL编码的解码;③用printf()函数来产生HTML源代码,并将经过解码后的数据正确地返回给浏览器。
由于本系统中网络传输的数据量不大,因此采用了较为简单的get方法来提交Web页面数据。系统中网络接口模块和家电控制模块之间采用串口通信,此串口对应linux下的设备文件:/dev/ttySAC1。完整的CGI程序流程图如图3所示。

图3 CGI程序流程图
所谓信息家电(IA—Information Appliance),也称网络家电,是指将微型计算机和通信技术融入到传统的家用电器中,使之智能化并具有网络终端的功能,可以随时随地获取与处理信息。目前的信息家电产品大多是基于IPv4的,而IPv4面临着地址资源紧缺的困境,下一代互联网协议---IPv6的诞生弥补了这方面的不足。首先,它扩大了地址空间,使用128bit表示一个IPv6地址,可以保证家庭内的冰箱、空调等所有家电都拥有一个独立的IP地址,而不必担心地址不足的问题。其次,利用IPv6的地址自动配置功能,与网络连接的每个装置均可自动获得IP地址,可以简化家庭网络的构建和IP地址的管理,降低用户操作的难度。另外,IPv6全面支持IPSec安全协议,利用认证扩展报头和加密扩展报头可以提高网络互连和访问的安全性。因此,在信息家电中引入IPv6将具有更为广阔的前景,它必将对信息家电行业产生深远的影响。
本文给出了一种基于IPv6的信息家电系统网络终端的软、硬件设计方法。该方法以高性能的32位ARM核微处理器S3C2410为硬件平台,通过移植嵌入式操作系统linux,并在配置操作系统内核时加入对TCP/IPv6协议栈的支持,然后在其上开发应用程序,实现了基于IPv6的信息家电网络终端。
2 信息家电系统结构
信息家电系统一般由客户机、交换机、网络终端和家电控制器组成。其结构示意图如图1所示:

图1 系统结构示意图
图1中客户机是远程用户和该系统的接口部分,任何一台连入互联网的PC机均可作为客户机;网络终端模块接收来自网络的控制信息并通过RS232串口与家电控制模块通信;家电控制模块连接家电的执行机构,它接收来自网络终端模块的控制命令,并对家电进行操作。以上各模块中,网络终端模块是信息家电系统的核心,它使家电接入IPv6网络,并作为一个嵌入式Web服务器来响应客户端的请求,完成控制数据在网口和串口之间的相互转换。
3 硬件设计
本文所设计的网络终端主要由ARM内核的微处理器模块、存储器模块、串行口模块、以太网模块、电源管理和复位电路模块、LCD及触摸屏模块和JTAG模块几部分组成。其结构示意图如图2所示。

图2 网络终端模块示意图
其中微处理器模块采用三星公司32位ARM9内核的微处理器S3C2410;存储器模块包括一片E28F640构成的8MB容量的16位NOR型Flash存储器和两片HY57V281620构成的32MB容量的32位SDRAM存储器,Flash存储器主要用于存储操作系统内核、引导启动代码bootloader、根文件系统以及应用程序;以太网模块选用8/16位以太网控制器DM9000AE;串行口模块包括两个异步串口,分别用于与家电控制模块连接和用户登录系统;LCD屏采用夏普公司生产的256色、分辨率为320×240的STN液晶模块LM057QC1T01;JTAG模块用于下载操作系统的引导启动代码bootloader。
4 软件设计
S3C2410平台上的软件设计一般需要运行嵌入式操作系统。linux具有稳定、源码开放、网络功能强大的优点。因此本文选用linux作为操作系统。
4.1 linux开发环境的建立
基于linux操作系统的应用开发环境一般由硬件目标板和宿主PC机构成。目标板用于运行操作系统和应用程序,而目标板所用到的操作系统的内核编译、应用程序的开发调试则需要通过宿主机来完成,双方通过串口或以太网接口建立连接关系。
本系统的开发环境建立在运行Red Hat 9.0 linux的宿主机上,从网站下载并安装交叉编译工具链和linux源代码包后就可以进行操作系统内核和应用程序的编译、调试。
4.2 配置内核
目前IPv6的应用尚处于实验阶段,本文选用目前较新版本的内核linux 2.6.14,它可以很好的支持IPv6。
为了使远程用户以IPv6访问家电,本文选用开源的、支持IPv6和CGI的小型web服务器---mini_httpd,它可以很好的支持用户的IPv6访问,且编译后的代码体积很小。
为了配置和测试IPv6网络环境,需要有支持IPv6的配置工具,如ifconfig、ping、traceroute等。linux里自带的网络配置工具并不支持IPv6协议,因此需要重新编译包含这些工具程序的源码包,以确保其支持IPv6。本文选用的是busybox 1.1.2,它包含大多数支持IPv6的网络配置工具,但体积却很小。
4.3 编写CGI程序
本文中客户机与网络终端间的信息交互,是利用公共网关接口(CGI)技术来实现的。CGI提供了客户机与服务器交互的接口。通常,服务器响应客户端请求后执行相应的CGI程序,并把执行结果返回给客户端,从而实现了动态Web。编写Web页面代码时,由ACTION属性来指定服务器需要执行的CGI程序,METHOD属性指明客户机提交数据的方法(POST或GET)。
CGI程序分为以下几部分:①根据POST方法或GET方法从提交的表单中接收数据;②URL编码的解码;③用printf()函数来产生HTML源代码,并将经过解码后的数据正确地返回给浏览器。
由于本系统中网络传输的数据量不大,因此采用了较为简单的get方法来提交Web页面数据。系统中网络接口模块和家电控制模块之间采用串口通信,此串口对应linux下的设备文件:/dev/ttySAC1。完整的CGI程序流程图如图3所示。

图3 CGI程序流程图
ARM S3C2410 嵌入式 电源管理 电路 LCD 触摸屏 Linux 相关文章:
- 基于GPRS网络的GPS图形导航仪 (01-05)
- 基于ARM9内核Processor对外部NAND FLASH的控制实现(07-12)
- 基于ARM的局域网IP电话设计(05-11)
- Actel和ARM联合开发专为FPGA应用而优化的高性能32位处理器(02-26)
- 基于ARM的定时继电器驱动模板的设计(08-04)
- 基于ARM平台的GPRS CQT测试系统的设计(08-10)
