BENQ2M23 GSM /GPRS 模块在远程智能家居控制中的应用

时间:2010-11-03

     摘 要: 针对智能家居的应用场合, 提出采用BENQ 公司的M23 模块, 借助SMS 平台实现远程控制, 详细介绍了M23GSM/ GPRS 通信模块的性能特点, 电源与通信电路设计及调试方法, 并分析了M23 模块在远程智能家居控制应用中的软件设计方法。综合调试与实验结果表明, 利用上述方法构建的远程智能家居控制系统工作稳定可靠, 实用性强, 对于其他需要应用M23 模块的系统也有很好的参考价值。

  0 引 言

  对家居环境进行远程监控可以采取多种方式, 其中借助短信( SMS) 服务平台或通用分组无线业务(GPRS) 的数据业务功能传送数据或命令是重要方式之一 。

  BENQ 公司的M22/ M23 模块是目前市场上的主流GSM/ GPRS 模块之一, 可以应用于GSM 短信息通信以及语音通信。其中, 短信息适合对实时性要求不高, 数据量不大的数据通信。由于支持GPRS 和嵌入式的TCP/ IP, M23 还可以用于实时性要求较高, 数据量相对较大, 传输速度相对较快的数据通信领域。

  1 M23 模块功能简介与电源设计

  M23 主要由GSM 基带控制器、射频模块、供电模块(VBAT) 、闪存、ZIF 连接器、音频、天线接口、常用接口等部分组成。该模块具有短消息服务、语音通话、数据传输等功能, 对外可提供天线接口、模拟音频接口、异步串接口、SIM 卡接口等, 给用户设计带来很大的方便。

  无线通信模块的耗电具有不稳定的特点, 在待机状态、基站的握手状态、通话状态、拨号状态或是在信号强弱不同的地方这些因素都会直接影响无线模块的耗电,因此电源设计非常重要。M23 推荐的电源电压范围为3. 6~ 4. 2 V 直流, 在工作中模块的瞬间电流能够达到1. 7 A。考虑到大电流的需要, 电源设计方案采用LM7805 和LM2576 开关稳压芯片的联合设计。直流电源( + 12 V) 输入给LM7805, 输出的5 V 直流电压对单片机进行供电, 与此同时通过LM2576 产生4 V 直流电压供给M23。

  2 M23 模块与MCU 和PC 机间的通信电路设计

  M23 模块配备了UART / RS 232 接口, 通过它可以与MCU, PC 连接, 将MCU 和PC 机作为系统的控制, 方便了控制中心的后台设计。当M23 模块与MCU 通信时, 只需要将模块的RXD, TXD 与MCU 的RXD, TXD 交叉相连就可以了。由于M23 模块与PC的逻辑电平不一致, 因此模块与PC 机通信时, 必须进行信号的电平转换。这种转换可以由专用电平转换芯片SIPEX3238 实现。

  开发人员初次使用M23 模块, 可以利用M23 与PC 间的串口通信功能, 借助串口调试助手或超级终端, 理解M23 的工作过程。例如, 在系统电路设计中,可以采用8 位平拨开关, 分别控制M23 的串口与MCU连接或者与DB9 连接。当开关1 断开, 开关2 连通时,模块的串口与DB9 连通, 此时模块不受MCU 控制, 可以用PC 机通过串口调试程序直接对模块进行配置或者测试。在测试正常后, 就可以将开关1 连通, 开关2断开。此时, MCU 与M23 模块通信。

  3 M23 模块常用指令与调试方法

  下面以智能家居防盗报警远程控制中主要用到的短消息命令为例, 介绍与SMS 相关的AT 命令、调试方法及程序设计。

  3. 1 常用的AT 指令

  在SMS 短消息的编码方式中, T extMode 是纯文本方式。Text 模式的短信息发送和接收比较简单, 只能发送ASCII 码信息, 如不需要传中文, 则采用Text 模式发送和接收短信息。这种模式对于智能家居远程控制而言已经足够。

  GMS 模块的通信全部采用Al+ XXX 的格式完成, 与SMS 相关的主要AT 指令如表1 所示。


  3. 2 AT 指令调试方法

  任何一个GSM 模块首次使用时, 必须要测试其工作是否正常。利用上面介绍的PC 机通信电路, 可以采用Windows 自带的超级终端, 也可以使用各种串口调试助手软件进行调试。下面以串口调试助手为例, 介绍调试过程。

  图1 为通过串口发送各AT 命令后M23 模块的返回结果。根据返回的数据即可判断M23 的工作情况,为后续控制程序的编写提供了依据。值得注意的是, 在通信的波特率上, M23 是一个自适应的波特率, 即M23支持从1 200~ 115 200 b/ s 的任何一个标称的波特率,而不必另外使用AT 指令去设置波特率。

  如图1 所示, 在发送连机、模式设置、设置短消息中心等命令后, 正常情况下M23 原样返回指令, 并在回车换行后添加OK 字符。AT + CMGL = / REC UN2READ0为列出未读短信的命令, M23 返回SIM 卡中未读短信的位置、电话号码、接收日期、短信内容等信息。图1 中的未读短信内容为/ GOOD LUCK! 0。


图1 串口调试助手调试AT 指令过程

  3. 3 单片机与M23 通信模块的软件设计

  单片机作为整个系统的控制, 承担着系统初始化、短信息的接收/ 解释、发送控制命令, 以向用户发送家居环境和报警信号短信息的功能。M23 模块初始化以及单片机与GSM 通信的流程图分别如图2、图3所示。


图2 初始化M23模块流程图


图3 单片机与M23 模块通信程序流程图

  程序开始处需要定义各命令及函数, 如下:



  4 结 语

  经过调试运行, 依据上述方法构建的智能家居远程控制系统能够可靠稳定的运行, 较好地完成了控制任务。值得注意的是, M23 对电源有较高要求, 这一点不容忽视。例如, 在M23 初步调试阶段, 使用了数字程控电源YB3203, 结果发现M23 无法连机。在电源输出端加上2 000 LF 的大电容, 并且将电源电压调整至5. 1 V时, M23 才正常工作。实际设计方案中, 由于LM2576具有可靠的工作性能、较高的工作效率和较强的输出电流驱动能力, 从而为M23 的稳定、可靠工作提供了强有力的保证。软件编程方面, 在给M23 发送AT 命令时,一定要先多发送几遍连机命令, 以保证M23 正常连机,而且在发送不同AT 命令时, 命令间加上2 s 左右的延时, 以保证指令被可靠接收和执行。


  
上一篇:模拟量式电感传感器在螺纹孔径识别中的应用
下一篇:基于以太网通信技术的智能型低压断路器

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料