位置:51电子网 » 技术资料 » 测试测量

基于ARM智能家居控制器设计与实现

发布时间:2008/6/3 0:00:00 访问次数:458

        

    

    

    来源:微计算机信息 作者:朱华生 冯祥胜

    

    摘 要: 如何将家庭里相对独立的设备连接成一个系统,从而方便进行本地和远程控制?本文通过采用arm构成智能家居控制器来实现这个目标。智能家居控制器使用s3c2410、sim100-e等元件来组成硬件平台,再将linux系统移植到硬件平台上,然后设计好相应的驱动程序和应用程序,最后将软件下载到硬件平台来对家电进行本地和远程控制。

    

    关键词: arm;gprs;嵌入式

    

    0 前言

    

    随着数字化家用电器的飞速发展,如何对家庭中相对独立的家用电器进行智能化管理和操作?这是人们非常关心的一个问题。智能家居控制器能够将许多相对独立的家用电器构成一个统一的系统,从而方便对家用电器进行本地操作,也可通过互联网或gprs系统对家用电器实现远程控制等等。本文主要讨论智能家居控制的设计和实现。

    

    1 智能家居控制器的硬件设计

    

    在设计智能家居控制器时,考虑到系统的稳定性和扩展性,因此将控制器硬件设计成核心板和控制板2部分。核心板主要用来构成一台嵌入式计算机系统,控制板主要是一些外围接口。系统硬件如图1所示。

    

    

    图1 智能家居硬件结构图

    

    核心板采用三星公司生产的s3c2410微处理器。rom采用samsung k9f1208芯片构成64m nand flash,将flash芯片连接到系统的ngcs0,所以它的起始地址为:0x00000000。ram采用2片hy57v561620at-h构成64m ,将它连接到系统ngcs6,所以它的起始地址为:0x03000000。为了让系统从nand flash启动,要将s3c2410的om0和om1引脚都接地。最后将s3c2410处理器的串口控制信号、usb主机控制信号、lcd控制信号、触摸屏信号、数据总线、地址总线、控制总线、外部中断等信号全部连接到核心板上的200芯插座上。

    

    gprs模块采用simcom公司生产的sim100-e芯片。通过第三个串口信号线txd2和rxd2和处理器相连接。

    

    lcd直接由cpu来控制,不过要增加驱动电路。

    

    触摸屏采用4线电阻式,直接将它和cpu的nypon、ymon、nxpon、xmon相连。

    

    传感器接口的输出信号连接到cpu的eint9外部中断引脚上,当传感器接收到某个信号时,就可以通过外部中断引脚向cpu申请服务。

    

     家电控制接口的输入控制信号连接到cpu的gpio端口,当要对某个家电进行控制时,只需向指定的端口写入0或1,然后再由家电控制接口发遥控信号去控制相应的家电。

    

    2 智能家居控制器操作系统的移植及裁剪

    

    考虑到成本,以及系统对实时性的要求不高等因素,所以决定选用linux操作系统。目前发行的linux操作系统都能支持arm机的体系结构,所以只要根据平台的具体结构进行移植。移植主要包括建立交叉编译环境、修改内核源码、内核裁剪和内核编译4等个环节。

    

    2.1 建立交叉编译环境

    

    交叉编译是指利用运行在某台计算机上的编译器编译某个源程序生成在另一种结构计算机上运行的目标代码的过程。编译器的生成依赖于相应的函数库,而这些函数库又得依靠编译器来编译。建立交叉编译环境就是将arm使用的编译器(如:arm-linux-gcc)和函数库(如:glibc)安装到指定目录,并使用configure配置好makefile文件。

    

    2.2 修改内核源代码

    

    修改内核源代码主要包括启动代码的修改、内核的链接及装入、参数传递和内核引导几个部分。linux内核分为体系结构相关部分和体系结构无关部分。在linux启动的第一阶段,内核与体系结构相关部分首先执行,它会完成硬件寄存器设置,内存映射等初始化工作。然后把控制权转给内核中与系统体系结构无关的部分。在移植工作中要修改的代

        

    

    

    来源:微计算机信息 作者:朱华生 冯祥胜

    

    摘 要: 如何将家庭里相对独立的设备连接成一个系统,从而方便进行本地和远程控制?本文通过采用arm构成智能家居控制器来实现这个目标。智能家居控制器使用s3c2410、sim100-e等元件来组成硬件平台,再将linux系统移植到硬件平台上,然后设计好相应的驱动程序和应用程序,最后将软件下载到硬件平台来对家电进行本地和远程控制。

    

    关键词: arm;gprs;嵌入式

    

    0 前言

    

    随着数字化家用电器的飞速发展,如何对家庭中相对独立的家用电器进行智能化管理和操作?这是人们非常关心的一个问题。智能家居控制器能够将许多相对独立的家用电器构成一个统一的系统,从而方便对家用电器进行本地操作,也可通过互联网或gprs系统对家用电器实现远程控制等等。本文主要讨论智能家居控制的设计和实现。

    

    1 智能家居控制器的硬件设计

    

    在设计智能家居控制器时,考虑到系统的稳定性和扩展性,因此将控制器硬件设计成核心板和控制板2部分。核心板主要用来构成一台嵌入式计算机系统,控制板主要是一些外围接口。系统硬件如图1所示。

    

    

    图1 智能家居硬件结构图

    

    核心板采用三星公司生产的s3c2410微处理器。rom采用samsung k9f1208芯片构成64m nand flash,将flash芯片连接到系统的ngcs0,所以它的起始地址为:0x00000000。ram采用2片hy57v561620at-h构成64m ,将它连接到系统ngcs6,所以它的起始地址为:0x03000000。为了让系统从nand flash启动,要将s3c2410的om0和om1引脚都接地。最后将s3c2410处理器的串口控制信号、usb主机控制信号、lcd控制信号、触摸屏信号、数据总线、地址总线、控制总线、外部中断等信号全部连接到核心板上的200芯插座上。

    

    gprs模块采用simcom公司生产的sim100-e芯片。通过第三个串口信号线txd2和rxd2和处理器相连接。

    

    lcd直接由cpu来控制,不过要增加驱动电路。

    

    触摸屏采用4线电阻式,直接将它和cpu的nypon、ymon、nxpon、xmon相连。

    

    传感器接口的输出信号连接到cpu的eint9外部中断引脚上,当传感器接收到某个信号时,就可以通过外部中断引脚向cpu申请服务。

    

     家电控制接口的输入控制信号连接到cpu的gpio端口,当要对某个家电进行控制时,只需向指定的端口写入0或1,然后再由家电控制接口发遥控信号去控制相应的家电。

    

    2 智能家居控制器操作系统的移植及裁剪

    

    考虑到成本,以及系统对实时性的要求不高等因素,所以决定选用linux操作系统。目前发行的linux操作系统都能支持arm机的体系结构,所以只要根据平台的具体结构进行移植。移植主要包括建立交叉编译环境、修改内核源码、内核裁剪和内核编译4等个环节。

    

    2.1 建立交叉编译环境

    

    交叉编译是指利用运行在某台计算机上的编译器编译某个源程序生成在另一种结构计算机上运行的目标代码的过程。编译器的生成依赖于相应的函数库,而这些函数库又得依靠编译器来编译。建立交叉编译环境就是将arm使用的编译器(如:arm-linux-gcc)和函数库(如:glibc)安装到指定目录,并使用configure配置好makefile文件。

    

    2.2 修改内核源代码

    

    修改内核源代码主要包括启动代码的修改、内核的链接及装入、参数传递和内核引导几个部分。linux内核分为体系结构相关部分和体系结构无关部分。在linux启动的第一阶段,内核与体系结构相关部分首先执行,它会完成硬件寄存器设置,内存映射等初始化工作。然后把控制权转给内核中与系统体系结构无关的部分。在移植工作中要修改的代

相关IC型号

热门点击

 

推荐技术资料

音频变压器DIY
    笔者在本刊今年第六期上着重介绍了“四夹三”音频变压器的... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!