手机端
or

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

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

基于嵌入式技术的家庭网关设计

刘宇刚| 家庭网关,嵌入式,S3C2410,Clinux| 2010-11-29
1023 收藏
分享到: 
每日精选
热门推荐

【中心议题】

  • 提出了一种基于嵌入式技术的家庭网关
  • 给出了具体设计方案

【解决方案】

  • ARM核的32位嵌入式微处理器作为硬件平台
  • 结合无线蓝牙通信技术
  • 移植嵌入式操作系统Clinux

随着网络技术和信息家电的飞速发展,越来越多的家庭要求建立家庭网络。家庭网关是整个家庭网络的核心,它主要实现Internet接入、远程控制,以及连接家庭内部异构子网的功能。基于PC机方案的家庭网关不仅成本较高,而且要求计算机一直处于开机并可进行通信的状态,还不能在计算机上运行干扰通信任务的软件和硬件。所以,为适应普通用户,家庭网关应设计为基于廉价的非PC机设备。以ARM核的32位嵌入式微处理器作为硬件平台,结合无线蓝牙通信技术,对硬件系统结构及接口电路进行设计,构建了家庭网关的软件平台,移植嵌入式操作系统Clinux,实现了一个方便、实用的家庭网关。

1 硬件结构设计

为了实现信息家电内部网络与外部网络的联系和信息交互,在信息家电内网和外网之间需要一个家庭网关,管理和控制各种信息家电设备。家庭网关是智能家居系统的重要组成部分,是家庭网络的核心,是整个家居设备控制和家庭信息控制的核心。

家庭网关采用无线蓝牙通信技术,以高性价比的AM9微处理器为核心。硬件开发平台选用三星的ARM9微处理器S3C2410开发板和外扩USB蓝牙适配器构成。硬件平台主要由以下五大部分组成:MCU主控模块、Ethernet接入模块、存储模块、基于USB接口的蓝牙模块、人机界面模块,其总体结构如图1所示。

 

其中主控制器(MCU)采用三星的ARM9微处理器S3C2410,主频高达203MHz,外部接口丰富,包括串口、以太网、USBIISIICRS485、红外、CAN总线接口、鼠标等接口,另外还支持丰富的存储设备,: SD卡、MMC卡、CF卡和硬盘等。它是整个家庭网关硬件设计的核心部分,要完成信息无线网络中各种不同通信协议之间的转换和信息共享,以及同外部Internet之间的数据交换功能,同时还负责信息家电网络中设备的管理和控制。

S3C241032位处理器,它理论上可以寻址的空间范围是4GB,但其中有3GB的空间都预留给处理器内部的寄存器和其他设备了,留给外部可寻址分为是1GB,也就是0x00000000~0x3FFFFFFF,总共应该有30根地址线。这1GB的空间,处理器又根据所支持设备的特点,将它等分为8,每一份有128MB,称为一个Bank,为操作方便独立给每个Bank一个片选信号(nGCS7~nGCS0),8个片选信号可以看作处理器内部30根地址线的最高3位所做的地址译码结果,正因为此处理器最后实际输出的地址线只有A26~A0。本系统采用2MBNorFlash作为系统的启动Flash,地址空间为0x00000000~0x00100000

1.1 Internet接入模块

由于S3C2410本身并不具备网络功能,开发板上用总线扩展了一个100M的以态网接口,采用CirrusLogic公司推出的专门针对嵌入式系统设计的网络控制芯片CS8900A作为以太网控制器,片内集成RAM, 10Base-T以态网发送接收滤波和一个直接的带24mA的驱动器的ISA总线接口。其接口电路如图2所示。

CS8900A内有连接主控制器的数据通讯模块,可根据具体情况灵活选择合适的数据传输模式,支持的传输模式有I/O模式、存储器模式和直接存储器存储模式,默认为I/O模式,可通过程序使其工作于其它模式。CS8900A的各个工作模式各有优缺点,本设计当中,采用的是它I/O模式。CS8900A共有816位的I/O,8I/O口与片内的816位寄存器相对应。内部功能模块主要是802. 3介质访问控制块(MAC),支持全双工操作,完全符合IEEE802. 3以太网标准。MAC负责处理有关以太网数据帧的发送和接收,通过对发送控制寄存器(TXCMD)的控制,MAC能自动完成帧的冲突后重发。

 

1.2 USB接口蓝牙模块

S3C2410自带2USB主控制器, 1USB从控制器,分别对应复用双路USB主接口和单路USB从接口,控制芯片只有两路数据线,所以同时只能使能2USB接口,跳线选择,见表1

当作为从设备时,需要安装驱动程序,根据安装提示选择。

蓝牙是一种全新的无线数据交换技术,它的应用省却了各种数字设备之间需要经过复杂的软件安装与调试的有线连接过程,做到紧紧咬合、无缝连接,使各种电子设备与家用电器融为一体,给人们的生活和工作带来全新的感受。蓝牙模块的通信通过USB接口来实现。使用USB接口方式通信时,是将蓝牙模块当作一个USB从设备与主机通信的,通过双向端口D+D-传输数据。如果蓝牙模块接收到建立连接的请求时,Wake_up引脚输出高电平,唤醒主机。主机的挂起状态可通过Detach信号来实现,Detach输出高电平时,芯片脱离USB状态。主控制器与蓝牙模块的接口电路,如图3所示。

 

2 家庭网关的软件体系

2.1 系统的软件平台

选用Linux作为家庭网络操作系统,是出于Linux本身的特点和对网络实时操作系统的要求来决定的,其源代码开放和内核可动态配置的特性,已广泛应用于各种嵌入式设备。uClinux正是将Linux应用于嵌入式环境中产生的,针对微控制领域而设计的Linux系统,它从Linux2. 0/2. 4内核派生而来的,沿袭了Linux的统大部分特性。Clinux-Sam-sung/images目录下有两个内核文件: image. ramimage. rom。将image. rom烧写入ROM/SRAM/LASH? Clinux移植。成功后可看到μ建立Clinux开发环境基于Clinux操作系统的应用开发环境一般是由目标系统硬件开发板(S3C2210的开发板)和宿主PC机所构成。目标板所用到的操作系统的内核编译、应用程序的开发和调试需要通过宿主PC机来完成。两者之间一般通过串口、并口或以太网接口来建立连接关系。首先,要在宿主机上安装标准Linux操作系统,之后就可以建立交叉开发环境。

从网上下载工具链,并将交叉编译器安装到宿主机上。还要根据家庭网关的需要重新配置、编译内核,进行Bank0对应的Flash存储器中,当系统复位或上电时,内核会自解压到SDRAM,并开始运行。这样一个嵌入式应用开发平台就搭建成功了,系统软件层次结构,如图4所示。

 

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

硬件驱动和应用程序的开发也要在交叉编译环境中进行,先在PC机上开发,然后移植到目标机上进行调试并最终固化到目标机上。为Linux内核编写驱动并不像其他操作系统那么复杂,只需为相应的设备编写几个基本函数并向VFS注册即可,一般都是在一个现成的驱动程序基础上针对特殊的硬件设备作相应的改动。在嵌入式操作系统的基础上还要开发微型GUI,编写动态网页和CGI程序来实现嵌入式WEB技术、安全认证、及无线通信协议等。

例如:基于Internet的远程控制是通过浏览家庭网关中的Web Server的动态网页实现的,远程控制程序需要从用户访问信息中解出有用的控制命令信息,然后按家庭控制网的内部协议组成命令帧,实现控制的关键是CGI程序的编制,其流程如图5所示。

3 结语

论文基于嵌入式技术、Internet技术、无线蓝牙通信技术提出了家庭网关结构设计,该结构对外通过以态网与外界进行信息交换,对内通过无线蓝牙通信技术实现对信息家电的控制。在本家庭网关的设计中,讨论了一个基于ARM微处理器S3C2210Clinux的无线家庭网关的软硬件设计。采用蓝牙模块作为无线通信模块与底层的各功能模块相互通讯,是实现家庭网络最理想的技术,它可以省去在家庭内部重新布线的麻烦。

该家庭网关控制方式多样,并且能随时随地通过浏览网页实现对家电的远程控制,并且成本较低,易于升级,便于推广应用。

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