基于ARM和Clinux的家庭网关系统
块可采用夏普公司生产的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的无线家庭网关的软硬件设计。该家庭网关控制方式多样,并且能随时随地通过浏览网页实现对家电的远程控制。该家庭网关成本较低,易于升级,便于推广应用。
- 基于DSP的音频会议信号合成算法研究(05-10)
- 基于DSP的广播级数字音频延时器(06-07)
- TMS320C6727的音频采集处理回放系统设计(01-05)
- 朗谷数字音频处理技术在音频及网络通讯领域的应用(05-19)
- 带DSP功能的超低功率音频编解码器帮助解决音频方案挑战(05-04)
- 基于S3C4480X控制的蓝牙音频网关设计与实现(07-12)