基于ARM和uClinux的家庭网关系统

发布者:吾道明亮最新更新时间:2010-10-18 关键字:家庭网关  uClinux  ARM  S3C44B0X 手机看文章 扫描二维码
随时随地手机看文章

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

系统的硬件设计

    系统结构及工作原理

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


图1 家庭网关系统结构图

1) 在本地用键盘及显示器进行控制:系统设有16按键和一块128×32点阵的液晶显示器,便于用户在本地进行状态的设置和查询,如数据查询、电器控制等。
2) 在本地的红外遥控:通过具有自学习功能的红外遥控模块,能实现室内家电的红外遥控。
3) 远程的电话语音控制:这是一种基于公共电话交换网(PSTN)的电话远程控制,用于电话的指令控制,如远程控制家电、电话报警等。
4) 基于Internet的远程控制:采用浏览器端/服务器端结构(B/S结构),用户可直接用Windows自带的IE浏览器作为客户端程序,以达到随时随地进行远程控制的目的。
无线通信技术是实现家庭网络最理想的技术,它可以省去在家庭内部重新布线的麻烦。在本家庭网关的设计中,采用蓝牙模块作为无线通信模块与底层的各功能模块相互通讯。

硬件电路组成

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

    以S3C44B0X为核心的基本硬件平台基本系统的硬件框图如图2所示,各部分的功能与接口电路分析如下。


图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 组成,存储容量为16 MB。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调试)、复位电路和电源电路。

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

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

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

系统的软件平台

    建立Clinux开发环境基于Clinux操作系统的应用开发环境一般是由目标系统硬件开发板(S3C44B0X的开发板)和宿主PC机所构成。目标板所用到的操作系统的内核编译、应用程序的开发和调试需要通过宿主PC机来完成。两者之间一般通过串口、并口或以太网接口来建立连接关系。首先,要在宿主机上安装标准Linux操作系统,之后就可以建立交叉开发环境。从网上下载工具链,并将交叉编译器安装到宿主机上。还要根据家庭网关的需要重新配置、编译内核,进行mClinux移植。成功后可看到mClinux-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所示。


图3 Internet 远程控制程序流图

结语

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

关键字:家庭网关  uClinux  ARM  S3C44B0X 引用地址:基于ARM和uClinux的家庭网关系统

上一篇:中国普天无线智能室内空气质量监测系统
下一篇:恩智浦推出新型电能计量芯片

推荐阅读最新更新时间:2024-05-02 21:10

基于ARM的嵌入式多路信号数据采集系统
由于人们对数字形式信息的需求量越来越大,数据采集及其应用技术受到了越来越广泛的关注和应用。随着技术的发展,数据采集系统正向着高精度、高速度、稳定可靠和集成化的方向发展。目前,大多数的数据采集监控系统都是独立的系统,只能进行数据的现场采集或存储,已不能满足应用的需要,迫切要求接入网络实现远程监控。现代数据采集技术的发展是建立在新型采集系统软硬件平台性能提高的基础之上的。具有强大功能的32位微控制器在一些高端仪器仪表中得到了广泛的应用,而将GPRS无线传输模块嵌入其中,将采集到的数据以无线的方式接入Internet,实现远程监控,非常适合工作人员在比较恶劣的环境下或者需要对多种参量进行采集时使用。而高性能微处理器的应用也极大提高了数据
[单片机]
基于<font color='red'>ARM</font>的嵌入式多路信号数据采集系统
ARM初学者如何选择开发系统
  很多ARM初学者都希望有一套自己能用的系统,但他们住住会产生一种错误认识就是认为处理器版本越高、性能越高越好,就象很多人认为ARM9与arm7好,我想对于初学者在此方面以此入门还应该理智,开发系统的选择最终要看自己往嵌入式系统的那个方向上走,是做驱动开发还是应用,还是做嵌入式系统硬件层设计与板级测试。如果想从操作系统层面或应用层面上走,不管是驱动还是应用,那当然处理器性能越高越好了,但这个东西自学,有十分大的困难,不是几个月或半年或是一年二年能搞定的事。   在某种意义上请,arm7与9的差别就是在某些功能指令集上丰富了些,主频提高一些而已,就比如286和386.对于用户来讲可能觉查不到什么,只能是感觉速度有些快而已。
[单片机]
ARM裸板程序的开发和编译(以点亮LED灯为例)
制作好交叉编译工具链后,怎么确定是否有效呢,当然是编译一个程序烧写到板上跑一下了。这里我们以点亮LED灯为例描述如何使用我们制作的交叉编译工具链编译裸板程序。 首先,需要了解下Nor flash,Nand flash,片内内存,片外内存,地址空间这几个概念。其中,Nor flash是CPU可以直接通过硬件信号读取的,不需要配置,但是Norflash的写操作是需要配置和实现驱动的。片内内存不需要配置,CPU可以直接通过硬件信号读写。这是因为Nor flash和片内内存在硬件设计上就已经固化了他们的电气特性。而Nand flash的读写都必须配置,并且需要实现驱动。CPU通过相应的Nand flash控制器间接的读写数据。片外内存
[单片机]
<font color='red'>ARM</font>裸板程序的开发和编译(以点亮LED灯为例)
如何使用自带外设IP让ARM PS访问FPGA?
  本文为玩转赛灵思Zedboard开发板(4):如何使用自带外设IP让ARM PS访问FPGA?,内容精彩,敬请对电子发烧友网保持密切关注。本文的目的是使用XPS为ARM PS 处理系统添加额外的IP。从IP Catalog 标签添加GPIO,并与ZedBoard板子上的8个LED灯相连。当系统建立完后,产生bitstream,并对外设进行测试。本文给出流水灯实现过程 的详细步骤截图。更多赛灵思(Xilinx)Zedboard基础知识、相关手册以及应用实例将陆续推出,以飨读者,敬请期待。【本文的完整工程文件下载:见本文最后。】   硬件平台:Digilent ZedBoard;开发环境:Windows XP 32 bit;软
[单片机]
如何使用自带外设IP让<font color='red'>ARM</font> PS访问FPGA?
GF、ARM共同定义行动技术平台新标准
GLOBALFOUNDRIES与ARM日前于2010 MWC中,公布针对新一代无线产品及应用开发的尖端系统单芯片(SoC)平台全新细节资料。全新的芯片生产制造平台预估将提升40%运算效能、减低30%功耗,并在待机状态下增加100%的电池使用寿命。 此全新平台包括两种不同的GLOBALFOUNDRIES工艺整合:移动及消费性应用适用的28纳米超低功耗(SLP)工艺,及针对需要最高效能的应用开发的28纳米高效能(HP)工艺。 ARM与GLOBALFOUNDRIES的SoC平台采用ARM Cortex-A9处理器、最佳化ARM实体IP及GLOBALFOUNDRIES的28纳米闸极优先高介电质金属闸极(gate-first HKMG
[模拟电子]
ARM核心板在脑电监测TCI注射泵中的应用
1.1背景事件 针对患者手术中麻醉剂的施用,当麻醉剂量超标时,容易造成患者心跳、呼吸骤停从而造成脑损伤。传统的麻醉剂注射依靠麻醉师的经验,而新型的脑电监测TCI注射泵则将BIS(脑电监测)与TCI(靶控输注)相结合,真正在医疗电子中实现个体化镇静麻醉,减少麻醉风险。 1.2脑电监测TCI注射泵控制主板功能需求 脑电监测TCI注射泵在常规注射泵基础上,通过接收“脑电分析仪”的数据来进行分析决策注射量和注射速度,使注射更加科学,更加安全。 控制主板主要功能需求 : 显示接口,外接7寸以上真彩液晶,支持触摸屏; RS-232接口,连接脑电分析仪; PWM,控制注射电机; ADC,采集注射管位置数据信息; 声卡,注射过程提示
[医疗电子]
<font color='red'>ARM</font>核心板在脑电监测TCI注射泵中的应用
一种ARM控制的逆变器的设计方案
  1.系统总体方案   1.1 总体设计框图   如图1 所示, 逆变器系统由升压电路、逆变电路、控制电路和反馈电路组成。低压直流电源DC12V经过升压电路升压、整流和滤波后得到约DC170V高压直流电,然后经全桥逆变电路DC/AC转换和LC滤波器滤波后得到AC110V的正弦交流电。   逆变器以ARM控制器为控制核心,输出电压和电流的反馈信号经反馈电路处理后进入ARM处理器的片内AD,经AD转换和数字PI运算后,生成相应的SPWM脉冲信号,改变SPWM的调制比就能改变输出电压的大小,从而完成整个逆变器的闭环控制。       1.2 SPWM方案选择   1.2.1 PWM电源芯片方案   采用普通的P W M电源控制
[电源管理]
一种<font color='red'>ARM</font>控制的逆变器的设计方案
ARM新一代多核技术可延长智能手机电池寿命
智能手机和平板终端配备双核与四核处理器已成为一种趋势。新一代应用处理器的CPU内核将会如何发展?在CPU内核领域占有绝对市场份额的英国ARM公司,公开了今后几年内的多核技术发展蓝图。其战略是通过组合使用大小各异的内核,同时兼顾高性能和低功耗。而且,异质内核的并用将成为在移动领域引进虚拟化技术的基础。 智能手机及平板终端用CPU内核开发商英国ARM公司2011年秋季发布的内核“Cortex-A7”,配备了很多乍一看有些奇特的功能。 Cortex-A7是一款用于100美元以下低价位智能手机的CPU内核。在设计时最注重降低耗电量和成本,因此其电力效率与美国苹果公司“iPhone 4”中配备的ARM现有CPU内核“Cortex-A
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved