预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

如何将家庭里相对独立的设备连接成一个系统从而方便进行本地和远程控制?本文通过采用ARM构成智能家居控制器来实现这个目标。智能家居控制器使用S3C2410、SIM100-E等元件来组成硬件平台再将Linux系统移植到硬件平台上然后设计好相应的驱动程序和应用程序最后将软件下载到硬件平台来对家电进行本地和远程控制。随着ARM智能家居控制器数字化家用电器的飞速发展如何对家庭中相对独立的家用电器进行智能化管理和操作?这是人们非常关心的一个问题。智能家居控制器能够将许多相对独立的家用电器构成一个统一的系统从而方便对家用电器进行本地操作也可通过互联网或GPRS系统对家用电器实现远程控制等等。本文主要讨论智能家居控制的设计和实现。1智能家居控制器的硬件设计在设计智能家居控制器时考虑到系统的稳定性和扩展性因此将控制器硬件设计成核心板和控制板2部分。核心板主要用来构成一台ARM智能家居控制器嵌入式计算机系统控制板主要是一些外围接口。系统硬件如图1所示。图1智能家居硬件结构图核心板ARM智能家居控制器采用三星公司生产的S3C2410微处理器。ROM采用SAMSUNGK9F1208芯片构成64MNANDFLASH将FLASH芯片连接到系统的nGCS0所以它的起始地址为:0x00000000。RAM采用2片HY57V561620AT-H构成64M将它连接到系统nGCS6所以它的起始地址为:0x03000000。为了让系统从NANDFLASH启动要将S3C2410的OM0和OM1引脚都接地。最后将S3C2410处理器的串口控制信号、USB主机控制信号、LCD控制信号、触摸屏信号、数据总线、地址总线、控制总线、外部ARM智能家居控制器中断等信号全部连接到核心板上的200芯插座上。GPRS模块采用SIMCOM公司生产的SIM100-E芯片。通过第三个串口信号线TXD2和RXD2和处理器相连接。LCD直接由CPU来控制不过要增加ARM智能家居控制器驱动电路。触摸屏采用4线电阻式直接将它和CPU的nYPON、YMON、nXPON、XMON相连。传感器接口的输出信号连接到CPU的EINT9外部中断引脚上当传感器接收到某个信号时就可以通过外部中断引脚向CPU申请服务。家电ARM智能家居控制器控制接口的输入控制信号连接到CPU的GPIO端口当要对某个家电进行控制时只需向指定的端口写入0或1然后再由家电控制接口发遥控信号去控制相应的家电。2智能家居控制器操作系统的移植及裁剪考虑到成本以及系统对实时性的要求不高等因素所以决定选用Linux操作系统。目前发行的Linux操作系统都能支持ARM机的体系结构所以只要根据平台的具体结构进行ARM智能家居控制器移植。移植主要包括建立交叉编译环境、修改内核源码、内核裁剪和内核编译4等个环节。2.1建立交叉编译环境交叉编译ARM智能家居控制器是指利用运行在某台计算机上的编译器编译某个源程序生成在另一种结构计算机上运行的目标代码的过程。编译器的生成依赖于相应的函数库而这些函数库又得依靠编译器来编译。建立交叉编译环境ARM智能家居控制器就是将ARM使用的编译器(如:arm-linux-gcc)和函数库(如:glibc)安装到指定目录并使用configure配置好Makefile文件。2.2修改内核源代码修改内核源代码主要包括启动代码的修改、内核的链接及装入、参数传递和内核引导几个部分。Linux内核分为体系结构相关部分和体系结构无关部分。在Linux启动的第一阶段内核与体系结构相关部分首先执行它会完成硬件寄存器设置内存映射等初始化工作。然后ARM智能家居控制器把控制权转给内核中与系统体系结构无关的部分。在移植工作中要修改的代码主要集中在与体系结构相关的部分。ARM芯片的体系结构在arch/arm目录下。首先根据芯片手册修改boot/init.S文件中的:片选组基地址寄存器、DRAM存储配置寄存器、DRAM片选寄存器、中断屏蔽寄存器等。然后ARM智能家居控制器修改内核的链接及装入ELF。最后将系统中可用页面的数目、文件系统大小等信息以参数形式从启动代码传给内核完成设置陷阱初始化中断初始化计时器初始化控制台等一系列操作而使内核正常启动。2.3内核裁剪和编译内核裁剪ARM智能家居控制器是根据控制系统的要求将不需要的模块从内核中裁剪了Linux内核的裁剪有好几个版本可以使用命令makemenuconfig对系统进行裁剪。内核裁剪之后最后要进行交叉编译生成内核映象文件zImage。具体命令如下:makeclean//清理编译环境makedep//编译依赖文件makezImage//编译内核3驱动程序的设计智能家居控制器要多个设