电子工程师的网站
首 页 |  新闻资讯 | 最新产品 | 解决方案 | 技术参数
设计应用
电路图 | 技术资料 | 芯片资料 | 技术论坛
  现在位置: 首页 > 设计应用 > 通信与网络 > 详细信息
通信与网络:基于ARM-μClinux的无线家庭网关设计
来源:   时间: 2007-4-29 9:13:15    
基于ARM-μClinux的无线家庭网关设计

引言

随着网络技术和信息家电的飞速发展,越来越多的家庭要求建立家庭网络。家庭网关是整个家庭网络的核心,它主要实现Internet接入、远程控制,以及连接家庭内部的异构子网的功能。基于PC机方案的家庭网关不仅成本较高,而且要求计算机一直处于开关并可进行通信的状态,还不能在计算机上运行干扰通信任务的软件和硬件。所以,为适应普通用户,家庭网关应设计为基于廉价的非PC机设备。但是,若采用8位、16位单片机、由于速度慢且资源有限,实现TCP/IP协议比较困难,所以也不太理想。

因此本文以ARM核的32位嵌入式微处理器作为硬件平台,结合无线通信技术,通过移植嵌入式操作系统μClinux,并在其上开发相应的驱动程序,应用程序和嵌入式Web服务器,实现了一个方便、实用的家庭网关。

系统的硬件设计

系统结构及工作原理

家庭网关的系统结构如图1所示,它以三星公司的32位RISC处理器S3C44B0X为核心,通过外扩存储器(Flash/SDRAM),蓝牙模块、液晶显示屏、小键盘、以太网接口模块、电话语音控制模块和红外收发模块等来构建硬件平台,并可实现多种控制方式。

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

2)在本地的红外遥控:通过具有自学习功能的红外遥控模块,能实现室内家电的红外遥控。

3)远程的电话语音控制:这是一种基于公共电话交换网(PSTN)的电话远程控制,用于电话的指令控制,如远程控制家电,电话报警等。

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

无线通信技术是实现家庭网络最理想的技术,它可以省去在家庭内部重新布线的麻烦。在本家庭网关的设计中,采用蓝牙模块作为无线通信模块与底层的各功能模块相互通讯。

硬件电路组成

本系统的硬件设计主要包括以S3C44B0X嵌入式微处理器为核心所搭建的基本硬件平台,以及蓝牙通信、电话语音控制和红外遥控等模块的硬件设计。

以S3C44B0X为核心的

基本硬件平台

基本系统的硬件框图如图2所示,各部分的功能与接口电路分析如下。

ARM微处理器S3C44B0X:S3C44B0X是三星公司生产的ARM7内核的SoC,通过在ARM7TDMI内容基础上扩展一系列完整的通用外围器件,令其很适合手持式设备和普通嵌入式的应用。

Flash存储器接口电路:Flash芯片用来存储家庭网关中的嵌入式操作系统、家庭网络服务器、CGI网络应用程序以及支持各种服务所需的文件系统。在系统中采用一片HY29LV160构建16位的Flash存储器系统,其存储容量为2MB,系统上电或复位后从此获取指令并开始执行,因此将Flash存储器配置到ROM/SRAM/FLASH Bank0。

SDRAM接口电路:嵌入式操作系统的存在需要有一定量的动态RAM,解压缩后的操作系统将从Flash搬移至SDRAM,驻留内存;同时,用户堆栈、运行数据也都会放在SDRAM中。S3C44B0X芯片提供的8K缓存远远不能满足要求。考虑到实际应用的需求,设计中选择了三星的K4S281632D,它的数据宽度是16位,由4个Bank组成,存储容量为16MB。S3C44B0X的Bank6和Bank7支持SDRAM,因此可以方便连接。在总线宽度控制寄存器BWSCON中设置Bank6的数据宽度为16位,在Bank6控制寄存器BANKCON6中设置MT=0x3,Trcd=0x0,SCAN=0x01,在存储容量寄存器BANKSIZE中设置BK76MAP=0x110即可。

10/100M以太网接口电路:S3C44B0X内部已包含了以太网MAC控制,但并未提供物理层接口,因此,需外接一片物理层芯片以提供以太网的接入通道。在本设计中选用的是RTL8201。由于S3C44B0X片内已有带MII接口的MAC控制器,而RTL8201也提供了MII接口,各种信号的定义也很明确,因此RTL8201与S3C44B0X的连接比较简单,在连接时只需将两块芯片的相应引脚互连即可。值得注意的是,使用CMOS工艺的RTL8201不能直接与RJ45接口相连,由于电平信号的不同以及网络冲击信号的存在,两者之间需要隔离及电平信号转换的元件,本设计中选用了网络变压器HR61H58L。

串行接口电路:为完成和家庭内部网络的蓝牙通信模块、红外发射与接收模块以及电话语音控制模块的通信,家庭网关需要有异步串行通信接口,由于S3C44B0X只有两个异步串口,因此需要对串口进行扩展。本设计中选用一片ST16C554芯片进行串口扩展。由于S3C44B0X系统的LVTTL电路所定义的高、低电平信号与RS-232-C标准所定义的高、低电平信号不同、两者间要进行通信必须经过信号电平的转换。在这里采用MAX202将串口数据信号转换成TTL电平,再通过ST16C554输出中断请求。4个串口的中断请求进行或运算,产生IRQ信号INTREQ经CPLD再与CPU的终端控制器相连。

IIC接口电路:S3C44B0X内含一个IIC总线主控器,可方便地与各种带有IIC接口的器件相连。在该系统中,外扩一片AT24C01作为IIC存储器。AT24C01提供128字节的EEPROM存储空间,可用于存放少量在系统掉电时需要保存的数据,比如家庭网关的参数设置和用户身份验证码等。

LCD显示模块:该模块可采用夏普公司生产的LM057QC1T01,它是图形点阵256色STN液晶模块,分频率为320×240。由于S3C44B0X和LM057QC1T01都具有很强的通用性,因此易于连接,但需要在控制器和LCD接口之间加装能实现电压偏转功能的电路,来实现输出LCD显示所需的27V偏转电压。

键盘接口电路:用8个通用I/O口组成4×4键盘。

S3C44B0X所需的其他外围电路:JTAG接口电路(用于JTAG调试)、复位电路和电源电路。

其他功能模块

蓝牙模块:在本方案中,蓝牙硬件芯片采用爱立信公司的ROK101008模块。家庭网关采用在μClinux操作系统下安装BlueZ以配合蓝牙模块,并基于L2CAP层建立相关协议的方式进行开发。

电话语音控制模块:采用双音频拨号芯片DTMF8870、语音合成芯片ISD1420、铃流检测芯片电路以及89C51等来组成电话语音控制模块。

红外遥控模块:系统中增加了红外接收模块和红外发射模块。红外接收模块选用BA5302,红外信号从其顶部输入,经济放大、整形、解调后,被转换成TTL电平的数字信号;红外发射模块将刚才学习到的红外原码进行调制并发送出去,去这里采用软件编码的方法产生调制信号,因此电路很简单。

系统的软件平台

建立μClinux开发环境

基于μClinux操作系统的应用开发环境一般是由目标系统硬件开发板(S3C44B0X的开发板)和宿主PC机所构成。目标板所用到的操作系统的内核编译、应用程序的开发和调试需要通过宿主PC机来完成。两者之间一般通过串口、并口或以太网接口来建立连接关系。

首先,要在宿主机上安装标准Linux操作系统,之后就可以建立交叉开发环境。从网上下载工具链,并将交叉编译器安装到宿主机上。还要根据家庭网关的需要重新配置、编译内核、进行μClinux移植。成功后可看到μClinux-Samsung/images目录下有两个内核文件:image.ram和image.rom。将image.rom烧写入ROM/SRAM/FLASH Bank0对应的Flash存储器中,当系统复位或上电时,内核会自解压到SDRAM,并开始运行。这样一个嵌入式应用开发平台就搭建成功了。

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

硬件驱动和应用程序的开发也要在交叉编译环境中进行,先在PC机上开发,然后移植到目标机上进行调试并最终固化到目标机上。本设计中需要开发的硬件驱动有:以太网卡控制器、串口、LCD驱动、蓝牙模块、小键盘的驱动程序等。为Linux内核编写驱动并不像其他操作系统那么复杂,只需为相应的设备编写几个基本函数并向VFS注册即可,一般都是在一个现成的驱动程序基础上针对特殊的硬件设备作相应的改动。在嵌入式操作系统的基础上还要开发微型GUI,编写动态网页和CGI程序来实现嵌入式WEB技术、安全认证、及无线通信协议等。例如:基于Internet的远程控制是通过浏览家庭网关中的Web Server的动态网页实现的,远程控制程序需要从用户访问信息中解出有用的控制命令信息,然后按家庭控制网的内部协议组成令名帧,实现控制的关键是CGI程序的编制,其流程如图3所示。

结语

本文讨论了一个基于ARM微处理器S3C44B0X及μClinux的无线家庭网关的软硬件设计。该家庭网关控制方式多样,并且能随时随地通过浏览网页实现对家电的远程控制。该家庭网页成本较低,易于升级,便于推广应用。

相关信息
发表评论
打印本页 关闭本页
基于AT89C51的数据采集系统设计新方法
  引言   近年来,随着制造技术的发展,单片机的价格越来越低,性能却不断提升,因而其应用范围也越来越广。然而在开发基于单片机的应用系统时,传统方法一般都需要大量的硬件设备,这些设备极易损坏而且携带不方便。为此,本文基于AT89C51数据采集系统详细说明了如何利用Pro-teus和两款串口仿真软件来进行单片机程序及外围电路的仿真设计。采用该方法可以大大简化硬件电路测试和系统调...
>>详细内容
基于AT89C51单片机设计的简易智能机器人
  引言   随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制造出具有某些特殊功能的...
>>详细内容
基于S3C44B0X μcLinux的嵌入式以太网设计
    随着半导体技术的飞速发展,嵌入式产品已经广泛应用于军事、消费电子、网络通信、工业控制等各个领域,网络化是嵌入式系统发展的必然趋势。嵌入式Linux 作为具有开放的源代码、优秀的网络性能、可裁减等诸多优点的操作系统,非常适合用于具有网络功能的嵌入式系统。本文介绍了以S3C44B0X 的ARM处理器和RTL8019AS 以太网控制器为基础的网络接口设计,并阐述了怎样在嵌入式操作系统μcL...
>>详细内容
基于单片机89C51的异步串行接口键盘设计
    摘 要:介绍了计算机异步串行接口键盘的特殊设计要求和工作原理,结合开发过程,讨论分析了89C51芯片的结构、功能特点以及应用中需要注意的问题,并给出了计算机串行接口键盘的硬件原理图及软件流程图。 关键词:89C51单片机;异步串行接口;键盘设计;E2PROM 在信息处理系统中,显示分系统是整个系统的人机界面。显示器画面呈现出的态势图形和数据,是人们决策的重要依据。人...
>>详细内容
以89C51单片机为控制核心的开关电源优化设计
     摘要:文中在简单介绍高频开关电源的工作原理基础上,以通信用-48V开关电源为功率转换部分,89C51单片机为控制核心,对开关电源的控制部分进行优化设计,详细阐述了其工作原理,并通过软件编程实现了对开关电源的智能控制。    关键词:开关电源;单片机;软件编程引言开关电源是利用现代电力电子技术控制功率开关管(MOSFET,IGBT)开通和关断的时间比率来稳定输出电压的一种新...
>>详细内容
基于AT89C51的密码电源开关设计
    摘要:为了保护用户用电的权益,使非法用户在不知道密码的情况下,无法使用电源并实行相应的操作,特开发出此密码电源开关。文章详细叙述了密码电源开关的硬件结构和软件设计流程,通过论述表明,用单片机控制的密码电源开关具有结构灵活、开发经济、工作稳定等优势。   关键词:密码电源开关;硬件结构;软件设计   随着现代技术的发展,电与我们生活的关系越来越密切,从工业生产到...
>>详细内容
已有(
)位对此新闻感兴趣的网发发表了看法 >>更多评论
内 容:
     
 
热点新闻
一周排行
关于我们 | 服务项目 | 付款方式 | 广告服务 | 联系我们 | 友情链接 | 投诉 建议 合作 | 网站地图 | 加入收藏
Copyright © 2007-2008 WEEQOO.COM Corp.All Rights Reserved. 版权所有 经营许可证编号:浙B2-20050339 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:0571-85889139-8007 QQ:303939539 | MSN:zh1226@hotmail.com |  邮箱:laz8258@163.com dzsc51@163.com