
图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存储空

&nbs
p; 图3 Internet 远程控制程序流图