基于基于ARM-Linux和和GPRS技术的家庭智能控制终端设计技术的家庭智能控制终端设计
利用GPRS技术,结合嵌入式系统的ARM-Linux平台,设计实现了一种智能家居控制器。通过使用手机短信和
互联网等方式解决了用户在异地对家庭智能系统的远程查询,控制等问题。同时采用RS485拓扑总线结构解决
了家庭设备布线及控制问题。硬件上介绍了系统构成及接口的转换和扩展;软件上则详细阐述了GPRS的无线通
讯在ARM-Linux下的实现和RS485总线协议设计的具体流程。为家庭智能系统实施无线远程控制提供了一种实
际的可行方案。
摘 要:利用
关键词:智能家居控制器; GPRS;
1 引言
随着网络技术和通信技术的不断发展,人们希望即使在工作或外出时也能通过某种方式及时了解和控制家中的情况,同时
伴随着数字化家庭的普及,实现智能家居的远程控制已经成为一种趋势。家庭智能控制系统通过家庭总线技术,把家庭中各种
家用电器、家庭保安装置和各种计量设备连接到一起组成一个家庭内部网络,由家庭智能控制器进行统一管理[1]。远程控制
就是通过某种通讯方式将智能家庭控制器与外界相连,使人们能够在本地或异地对家庭系统进行集中的监视、控制。本文中介
绍的方案,结合了GPRS(General Packet Radio Service)技术永远在线,速度快,接入范围广,体积小,功耗低等优点[2],采
用RS485工业总线,设计实现了一种基于嵌入式系统的家庭智能控制器。用户可以通过短信及互联网等方式现远程无线监
控,在手机和互联网相当普及的今天,为用户提供了更简单、方便的选择。同时由于该控制器RS485接口的特殊设计,外挂
节点可以由原来的32个扩展到64个,解决了家用设备的布线组网以及控制等问题。
2 系统设计
从结构上看主要分为用户,控制器,和RS485总线的家用设备控制三个部分。用户通过手机短信或网络方式向控制器的
GPRS模块发送命令,而控制器也通过GPRS模块向用户反馈信息或发出报警通知。从而实现了用户和控制器无线互联,实现
远程控制。
3 硬件设计
硬件部分的结构框图如图1所示,控制器是整个系统的核心部分,经过串口扩展与GPRS模块相连;通过电平转换芯片提供
RS485总线接口与家用设备相连接;同时还提供LCD,键盘等交互接口。控制器的主控芯片采用三星S3C44B0,使用
ARM7TDMI核,工作频率在66MHz[1]。处理器外接 4MFlash(用于存储控制器的启动代码和系统代码以及当天事件的文本日
志)分配到存储器Bank0空间和4M×16的SDRAM,分配到存储器的 Bank6空间。
GPRS 模块外围电路:GPRS模块采用西门子公司的MC35模块,支持数据、语音、短消息和传真等多种通信方式可以通过
AT命令对其实现控制。串行线通过 MAX3238电平转换后可直接和RS232串口相连。串口扩展:44B0通过外接双通道的通用
异步收发器ST16C2550为GPRS modem拨号上网提供完整的9线串口。其主要特点是接收﹑发送各有16字节的FIFO(先入先
出) 缓冲区,独立的波特率产生器可提供50bps到4Mbps的收发时钟。用户可方便地通过芯片的状态寄存器来进行错误定位和
对操作状态进行判断。该芯片内存空间使用保留的存储空间bank4。采用总线方式控制。RS485接口设计:采用TI公司的
RS485接口芯片75L BC184,可实现了44B0串行口的TTL电平与RS485电平之间的转换,该芯片的输入阻抗为RS485标准输
入阻抗的2倍(≥24KΩ),故可以在总线上连接64个节点(相当于原来的两倍)。且它有一个独特的设计,当输入端开路
时,其输出为高电平,这样可保证接收器输入端电缆有开路故障时,不影响系统的正常工作。
4 RS485总线协议设计
用RS-485总线进行系统通讯需要对其传输协议做规定,最重要的就是帧结构的设计。本系统数据帧的构造包括:起始,
地址,类型,数据长度,数据,校验和及结束帧七个部分,除数据帧为N字节外(根据从机传送的数据而定),其余均占1个
字节。类型字定义如表1所示, 类型帧中的“SEN DDATA”帧为数据帧,用于存放从机设备的状态信息,其它4种为指令帧,用于
存放主机发送给从机的命令字[3]。
主机发查询请求 主机发读请求 从机准备好接收 从机处于忙碌 主/从机发送数据
本系统采用LRC帧校验的方法。LRC值由传输设备来计算并放到消息帧中,接收设备在接收消息的过程中计算LRC,并将
它和接收到消息中LRC域中的值比较,如果两值不等,说明有传输错误。除了帧结构的定义以外,整个系统的通信还需要遵守
下面的规则:(a)主机查询方式:由主机轮询各从机,并要求从机提交状态信息,从机不能主动发出请求。(b)当主机发
出“ASK”命令后,若从机反馈“BUSY”帧,则主机启动计时和计数,超时3次,则任务执行失败。(c)主机接收到从机发回
的“READY”信号后,向从机发送“GETDATA”指令,进入接收状态,同时开启超时控制。若在规定时间未接收到从机发回的数
据,则计数器加1,并继续发出“GETDATA”信号。如果超时3次,则取消这次查询。(d)从机等待主机发送指令,并根据具体指
令作相应操作。如果接受到的指令帧错误,则会直接丢弃该帧。
评论0
最新资源