基于ARM-Clinux的无线家庭网关设计
发布时间:2008/5/29 0:00:00 访问次数:616
摘??? 要:本文介绍了arm7tdmi内核的微处理器s3c44b0x在无线家庭网关设计中的应用,无线家庭网关硬件结构的组成和设计,以及基于?clinux操作系统的家庭网关应用程序的开发。
关键词:家庭网关;s3c44b0x;?clinux操作系统
引言
随着网络技术和信息家电的飞速发展,越来越多的家庭要求建立家庭网络。家庭网关是整个家庭网络的核心,它主要实现internet接入、远程控制,以及连接家庭内部异构子网的功能。基于pc机方案的家庭网关不仅成本较高,而且要求计算机一直处于开机并可进行通信的状态,还不能在计算机上运行干扰通信任务的软件和硬件。所以,为适应普通用户,家庭网关应设计为基于廉价的非pc机设备。但是,若采用8位、16位单片机,由于速度慢且资源有限,实现tcp/ip协议比较困难,所以也不太理想。
因此本文以arm核的32位嵌入式微处理器作为硬件平台,结合无线通信技术,通过移植嵌入式操作系统?clinux,并在其上开发相应的驱动程序、应用程序和嵌入式web服务器,实现了一个方便、实用的家庭网关。
系统的硬件设计
系统结构及工作原理
家庭网关的系统结构,它以三星公司的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 组成,存储容量为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接口相连,由于电平信号的不同以及网络冲击信号的存在,两者之间需要隔离及电平信号转换的元件,本设计中选用了网络变压器r61h58l。
串行接口电路:为完成和家庭内部网络的蓝牙通信模块、红外发射与接收模块以及电话语音控制模块的通信,家庭网关需要有异步串行通信接口,由于s3c44b0x只有两个异步串口,因此需要对串口进行扩展。
本设计中选用一片st16c554 芯片进行串口扩展。由于s3c44b0x系统的lvttl电路所定义的高、低电平信号与rs-232-c标准所定义的高、低电平信号不同,两者间要进行通信必须经过信
摘??? 要:本文介绍了arm7tdmi内核的微处理器s3c44b0x在无线家庭网关设计中的应用,无线家庭网关硬件结构的组成和设计,以及基于?clinux操作系统的家庭网关应用程序的开发。
关键词:家庭网关;s3c44b0x;?clinux操作系统
引言
随着网络技术和信息家电的飞速发展,越来越多的家庭要求建立家庭网络。家庭网关是整个家庭网络的核心,它主要实现internet接入、远程控制,以及连接家庭内部异构子网的功能。基于pc机方案的家庭网关不仅成本较高,而且要求计算机一直处于开机并可进行通信的状态,还不能在计算机上运行干扰通信任务的软件和硬件。所以,为适应普通用户,家庭网关应设计为基于廉价的非pc机设备。但是,若采用8位、16位单片机,由于速度慢且资源有限,实现tcp/ip协议比较困难,所以也不太理想。
因此本文以arm核的32位嵌入式微处理器作为硬件平台,结合无线通信技术,通过移植嵌入式操作系统?clinux,并在其上开发相应的驱动程序、应用程序和嵌入式web服务器,实现了一个方便、实用的家庭网关。
系统的硬件设计
系统结构及工作原理
家庭网关的系统结构,它以三星公司的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 组成,存储容量为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接口相连,由于电平信号的不同以及网络冲击信号的存在,两者之间需要隔离及电平信号转换的元件,本设计中选用了网络变压器r61h58l。
串行接口电路:为完成和家庭内部网络的蓝牙通信模块、红外发射与接收模块以及电话语音控制模块的通信,家庭网关需要有异步串行通信接口,由于s3c44b0x只有两个异步串口,因此需要对串口进行扩展。
本设计中选用一片st16c554 芯片进行串口扩展。由于s3c44b0x系统的lvttl电路所定义的高、低电平信号与rs-232-c标准所定义的高、低电平信号不同,两者间要进行通信必须经过信