基于ARM-Linux与GPRS技术的家庭智能控制终端

来源:
导读 大家好,我是本期栏目编辑小友,现在为大家讲解基于ARM-Linux与GPRS技术的家庭智能控制终端问题。 通过家庭总线技术,家庭智能控制系统连接

大家好,我是本期栏目编辑小友,现在为大家讲解基于ARM-Linux与GPRS技术的家庭智能控制终端问题。

通过家庭总线技术,家庭智能控制系统连接各种家用电器、家庭安防设备和各种计量设备,形成家庭内部网络,由家庭智能控制器管理[1]。远程控制是通过一定的通信方式将智能家居控制器与外界连接起来,使人们可以在本地或异地集中监控家居系统。

本文介绍的方案结合了GPRS技术始终在线、速度快、接入范围广、体积小、功耗低等优点,采用RS485工业总线设计并实现了一种基于嵌入式系统的家庭智能控制器。用户可以通过短信和互联网进行远程和无线监控,在手机和互联网相当普及的今天,这为用户提供了更简单、更方便的选择。同时,由于控制器RS485接口的特殊设计,外部节点数量可以从32个扩展到64个,解决了家庭设备的布线组网和控制问题。

1系统设计。

在结构上,主要分为三个部分:用户、控制器和基于RS485总线的家用设备控制。用户通过手机短信或网络向控制器的GPRS模块发送命令,控制器也通过GPRS模块向用户反馈信息或发送报警通知。从而实现用户与控制器无线互联,实现远程控制。

2硬件设计。

硬件框图如图1所示。控制器是整个系统的核心部分,通过串口扩展与GPRS模块连接。电平转换芯片提供RS485总线接口连接家用设备;还提供LCD、键盘等交互界面。控制器的主控芯片采用三星S3C44B0和ARM7TDMI内核,工作频率为66MHz[1]。处理器的外部4MFlash(用于存储控制器的启动代码和系统代码以及当天事件的文本日志)分配给Bank0空间和4倍内存;16个软件随机存取存储器,分配给内存的第6组空间。

GPRS模块外围电路:GPRS模块采用西门子公司的MC35模块,支持数据、语音、短信、传真等多种通信方式,可通过AT命令进行控制。通过MAX3238进行电平转换后,串口线可以直接与RS232串口连接。串口扩展:44B0通过外部双通道通用异步收发机ST16C2550为GPRS调制解调器拨号上网提供完整的9线串口。它的主要特点是有16字节的FIFO缓冲区用于接收和发送,独立的波特率发生器可以提供50bps到4Mbps的时钟用于接收和发送。用户可以通过芯片的状态寄存器方便地定位错误和判断运行状态。芯片的存储空间使用预留的存储空间bank4。它由总线控制。RS485接口设计:采用TI公司的RS485接口芯片75L BC184,可实现44B0串口TTL电平与RS485电平的转换。芯片的输入阻抗是RS485标准输入阻抗的2倍( 24k),因此总线上可以连接64个节点(相当于原来的两倍)。而且它有一个独特的设计,当输入端开路时,它的输出是高电平,这可以保证当接收机输入端的电缆出现开路故障时,系统的正常运行不会受到影响。

3 RS485总线协议设计。

RS-485总线用于系统通信的传输协议需要明确,最重要的是帧结构的设计。系统数据帧的结构包括七个部分:开始、地址、类型、数据长度、数据、校验和和结束帧。除了数据帧是n个字节(取决于从机传输的数据)之外,其他所有数据帧都占用一个字节。单词定义如表1所示。类型帧中的“SEN DDATA”帧是用于存储从设备状态信息的数据帧,其他四种类型是用于存储主设备发送给从设备的命令字的指令帧。

主机发送查询请求,主机发送读取请求,从机忙时准备接收主/从机发送的数据。

该系统采用LRC帧校验方法。LRC值由发送设备计算并放入消息帧中。接收设备在接收消息的过程中计算LRC,并将其与接收消息的LRC字段中的值进行比较。如果这两个值不相等,则存在传输错误。除了帧结构的定义,整个系统的通信还需要遵守以下规则:(a)主查询模式:主轮询所有从机,要求其提交状态信息,但从机不能主动发出请求。(b)主机发出“ASK”命令后,如果从机反馈“BUSY”帧,主机开始计时计数,如果超时3次,任务执行失败。(c)主机收到从机发回的“READY”信号后,向从机发送“GETDATA”指令,进入接收状态,启动超时控制。如果在指定时间内没有收到从机发回的数据,计数器将增加1,并继续发送“GETDATA”信号。如果超时3次,取消查询。(d)从机等待主机发送指令,并根据具体指令进行相应操作。如果接收到的指令帧错误,该帧将被直接丢弃。

4软件设计。

部分软件设计主要基于ARM-Linux,因为操作系统有完整的TCP/IP协议,还支持很多其他网络协议,可以为GPRS调制解调器连接互联网提供完整的协议支持。此外,该操作系统具有良好的稳定性和实时性,能够满足家庭智能控制器对系统可靠性的要求。另外,Linux源代码开放,可移植性强,为系统开发中的问题提供了很好的技术支持。该系统的软件设计主要包括两个应用。

部分: GPRS的无线数传;RS485总线控制控制。

  4.1 RS485总线控制

  基于上一部分RS485的总线协议,主从控制主要分为:轮询、查询、控制三部分。(1)轮询:主机定时对各从机进行查询,如果发现报警信息,保存后及时触发报警并反馈给用户。如果出现超时或帧错误等状态时主机放弃此次查询,并将该事件存储在主机中。(2)查询:查询的工作流程和轮询大致相同,但是只对指定的从机和指定状态进行查询。(3)控制:把控制指令发到指定从机,并要求从机反馈执行结果。

  家庭智能控制系统通过家庭总线技术,把家庭中各种家用电器、家庭保安装置和各种计量设备连接到一起组成一个家庭内部网络,由家庭智能控制器进行统一管理[1]。远程控制就是通过某种通讯方式将智能家庭控制器与外界相连,使人们能够在本地或异地对家庭系统进行集中的监视、控制。

本文中介绍的方案,结合了GPRS(General Packet Radio Service)技术永远在线,速度快,接入范围广,体积小,功耗低等优点[2],采用RS485工业总线,设计实现了一种基于嵌入式系统的家庭智能控制器。用户可以通过短信及互联网等方式现远程无线监控,在手机和互联网相当普及的今天,为用户提供了更简单、方便的选择。同时由于该控制器RS485接口的特殊设计,外挂节点可以由原来的32个扩展到64个,解决了家用设备的布线组网以及控制等问题。

  1 系统设计

  从结构上看主要分为用户,控制器,和RS485总线的家用设备控制三个部分。用户通过手机短信或网络方式向控制器的GPRS模块发送命令,而控制器也通过GPRS模块向用户反馈信息或发出报警通知。从而实现了用户和控制器无线互联,实现远程控制。

  2 硬件设计

  硬件部分的结构框图如图1所示,控制器是整个系统的核心部分,经过串口扩展与GPRS模块相连;通过电平转换芯片提供RS485总线接口与家用设备相连接;同时还提供LCD,键盘等交互接口。控制器的主控芯片采用三星S3C44B0,使用ARM7TDMI核,工作频率在66MHz[1]。处理器外接 4MFlash(用于存储控制器的启动代码和系统代码以及当天事件的文本日志)分配到存储器Bank0空间和4M&TImes;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个节点(相当于原来的两倍)。且它有一个独特的设计,当输入端开路时,其输出为高电平,这样可保证接收器输入端电缆有开路故障时,不影响系统的正常工作。

  3 RS485总线协议设计

  用RS-485总线进行系统通讯需要对其传输协议做规定,最重要的就是帧结构的设计。本系统数据帧的构造包括:起始,地址,类型,数据长度,数据,校验和及结束帧七个部分,除数据帧为N字节外(根据从机传送的数据而定),其余均占1个字节。类型字定义如表1所示, 类型帧中的“SEN DDATA”帧为数据帧,用于存放从机设备的状态信息,其它4种为指令帧,用于存放主机发送给从机的命令字。

  

  主机发查询请求 主机发读请求 从机准备好接收 从机处于忙碌 主/从机发送数据

  本系统采用LRC帧校验的方法。LRC值由传输设备来计算并放到消息帧中,接收设备在接收消息的过程中计算LRC,并将它和接收到消息中LRC域中的值比较,如果两值不等,说明有传输错误。除了帧结构的定义以外,整个系统的通信还需要遵守下面的规则:(a)主机查询方式:由主机轮询各从机,并要求从机提交状态信息,从机不能主动发出请求。(b)当主机发出“ASK”命令后,若从机反馈“BUSY”帧,则主机启动计时和计数,超时3次,则任务执行失败。(c)主机接收到从机发回的“READY”信号后,向从机发送“GETDATA”指令,进入接收状态,同时开启超时控制。若在规定时间未接收到从机发回的数据,则计数器加1,并继续发出“GETDATA”信号。如果超时3次,则取消这次查询。(d)从机等待主机发送指令,并根据具体指令作相应操作。如果接受到的指令帧错误,则会直接丢弃该帧。

  4 软件设计

  软件部分的设计主要是基于ARM-Linux,因为该操作系统具有完整的 TCP/IP协议,同时还支持许多其他网络协议,可以为GPRS modem连接互联网提供完整的协议支持,并且该操作系统具有良好的稳定性和实时性可以满足家庭智能控制器对系统可靠性的要求,另外Linux的源代码开放,可移植性强,为系统开发中的问题提供了良好的技术支持。本系统的软件设计主要是应用程序的两个部分: GPRS的无线数传;RS485总线控制控制。

  4.1 RS485总线控制

  基于上一部分RS485的总线协议,主从控制主要分为:轮询、查询、控制三部分。(1)轮询:主机定时对各从机进行查询,如果发现报警信息,保存后及时触发报警并反馈给用户。如果出现超时或帧错误等状态时主机放弃此次查询,并将该事件存储在主机中。(2)查询:查询的工作流程和轮询大致相同,但是只对指定的从机和指定状态进行查询。(3)控制:把控制指令发到指定从机,并要求从机反馈执行结果。

   技术专区 TLE9842-2QX主要特性_PCB设计图 CMU机器人研究所_无人驾驶上路测试牌照Gatik.AI DRV10983-Q1主要特性_功能框图 自动驾驶汽车由自动驾驶机器人系统操控 汽车电子:全球前十大车用半导体供应商排行榜

标签:

版权声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢您的支持与理解。