设计一个可以实现短信收发与数据无线传输的模块的要求,本文采用了 ARM Cortex——M3 内核的主流产品 STM32 作为主控芯片,采用 SIMCom 公司的 SIM900A 作为通信芯片。在查阅大量相关文献以及相关芯片的数据手册之后,本文设计了一个远程无线通信模块。该模块在实验室试运行一周后,没有出现掉线的情况,数据收发的速度也很快。该模块具有性能稳定,外形小巧,性价比高等优点。厂方投入使用之后,反应良好。
无线通信模块整体设计方案
模块主要有电源部分、主控部分、通信部分、数据传输部分 4 个部分组成。通信模块采用 SIM900A 进行无线通信。主控模块采用 STM32 作为主控芯片,来控制短信的收发与数据传输的顺利进行。远程终端可以是手机或者上位机的数据中心软件,经过处理之后,储存下来,方便日后的查询。本模块具有低功耗,方便灵活,操作简单并且稳定,掉线之后可以自动连接,运行过程十分稳定,并且成本较低。
电源电路设计
在主电路中,主控芯片 STM32 的工作电压为 2.0~3.6V,通信芯片 SIM900A 的工作电压为 3.1~4.6V,为使模块各个部分正常工作,必须对两者进行分别供电,电源供电电路如下:
图中 V12 外接 12V 电源,经过电容滤波后输入到 LM2576,实现 12V 到 4V 的转换,R1、R2 在线路中起到分压作用,D2 灯亮起时,表示模块已经正常供电。LM2576 是美国国家半导体公司生产的 3A 电流输出降压开关型集成稳压电路,具有完善的保护电路,比较稳定。

图 2 电源模块
主控芯片电路设计
主控模块采用 STM32 单片机作为微控制器,该芯片能工作于-40~105℃的温度范围,MAX3232 芯片用于串行口的电平变换,实现控制器与通信接口之间的通信。串口 1 与电源电平转换芯片 Max3223 相连,USART1_TX(输出,所以在配置 GPIO 时,定义该口的模式为推拉输出,USART1_ RX 为输入,定义为悬浮输入模式。串口 2 与 SN65LBC184D 通信,实现数据的收发,USART2_RTS、USART2_RX 为输入端口,模式定义为悬浮输入模式,USART2_CTS、USART2_TX 为输出端口,模式定义为推拉输出。串口 3 用来控制 SIM900A 芯片,USART3_RTS、USART3_RX 为输入端口,模式定义为悬浮输入,USART3_CTS、USART3_TX 为输出端口,模式定义为推拉输出。

图 3 主控芯片 STM32
通信芯片电路设计
通信芯片采用 SIMCom 公司的新型紧凑型产品 SIM900A,它属于双频 GSM/GPRS 模块,完全采用 SMT 封装形式,性能稳定,外观精巧,性价比高,并且能够满足用户的多种需求。在实现断线自动重连功能时,涉及到 DCD、RI 两个引脚的使用。DCD 引脚用来实现模数转换,当模块掉线时,会给 DCD 引脚一个高电平,当这个电平被 DCD 引脚检测到之后,模块就是采取相应的动作,来重新连接上线。RI 引脚在模块上线之后,就一直保持高电平,在有电话和短信进来的时候,RI 管脚就会有一个低电平出现,当 RI 引脚检测到这个低电平的时候,模块就会采取相应动作,进入到短信或者电话模式。

图 4 SIM900A 通信芯片
本文设计的无线通信模块,是利用 STM32 来控制 SIM900A 芯片,来实现短消息的收发与数据的无线传输。本设计完成了无线通信的硬件部分和软件部分的设计与实现。在多次运行试验时,本模块没有出现掉线以及发热等问题,非常稳定。本次设计成本较低,运行稳定可靠,应用范围十分广泛,利用 SIM900A,降低了模块的成本,使其更加具有商业价值。