基于STM32的GSM短信报警系统的设计与实现
10um左右的红外线,被动式红外探头就是靠探测人体发射的10um左右的红外线而进行工作的。人体发射的10um左右的红外线通过菲泥尔滤光片增强后聚集到红外感应源上。由实验证明,传感器不加菲涅尔透镜,其检测距离小于2m,而加上菲涅尔透镜后,其检测距离可增加到10m左右。红外感应源通常采用热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,经后续电路检测处理后就能产生电信号发送给单片机处理。
热释电BISS0001模块的原理图如图4所示。图中,运算放大器OP1(芯片内部)将热释电红外传感器的输出信号作第一级放大,然后由C104耦合给运算放大器OP2(芯片内部)进行第二级放大,再经由电压比较器COP1和COP2构成的双向鉴幅器处理后,检出有效触发信号Vs去启动延迟时间定时器,输出信号Vo经晶体管T1放大驱动继电器去接通负载。CDS1为光敏电阻,用来检测环境照度。当作为照明控制时,若环境较明亮,CDS1的电阻值会降低,使9脚的输入保持为低电平,从而封锁触发信号Vs。JP1是工作方式选择开关,当JP1跳线帽跳2、3口时,与1端连通,芯片处于不可重复触发工作方式,这种工作方式下即使检测区域有人活动模块也会自动停止输出一段时间(封锁延时)然后再检测,这种工作方式一般习惯称为脉冲输出;当JP1跳线帽跳1、2口时,与2端连通,芯片则处于可重复触发工作方式,只要检测区域有人模块就一直有输出,这种模式一般称为电平输出。另外,输出延迟时间T x由外部的R33和CY2的大小调整,触发封锁时间Ti由外部的R13和CY1的大小调整。 模块采用低功耗稳压器件7133A-1,可以保证在很宽的输入电压下稳定提供3.3V的工作电压,确保模块能正常工作。
图4 热释电模块原理图
2.4 电源
电源模块分两部分:单片机供电模块和GSM供电模块。单片机电源采用典型的电源设计方案,如图5所示。其中C9和C10是旁路电容,起到抑制干扰的作用,而C11和C12 是电解电容,起到滤波的作用;一般大电容旁边并联一个小电容的目的是降低高频内阻,因为大的电解电容一般采用卷绕工艺制造,所以等效电感较大;小电容可以提供一个小内阻的高频通道,降低电源全频带内阻。这个电路在实际中比较常见。
图5 电源部分电路
而SIM900A模块电源采用VBAT为3.4V到4.5V的单电源供电,由于和单片机工作电压不同,由单独电源模块供电,如图6所示。VBAT端输出电压4.2V给GSM模块使用。
图6 GSM 模块的电源
2.5 扬声器
扬声器部分主要包括一个继电器,当单片机相应端口置为高电平时,驱动继电器,使得扬声器电路接通,发出声响以起到报警作用。
3 系统软件设计
3.1 AT 指令
AT指令集是从TEC(Terminal Equipment)或DTE (DataTerminal Equipment)向TA (Terminal Adapter)或DCE (DataCircuit Terminating Equipment发送的通过TATE发送AT命令来控制MS (Mobile Station)的功能与GSM网络业务进行交互,用户可以通过AT命令进行呼叫短信电话本数据业务补充业务传真等方面的控制。下面是一些短消息相关的常用AT指令:
目前,发送短消息常用Text和PDU(Protocol Data Unit,协议数据单元)模式。使用Text模式收发短信代码简单,实现起来十分容易,但最大的缺点是不能收发中文短信;而PDU模式不仅支持中文短信,也能发送英文短信。所以此处使用PDU模式来收发短信。PDU模式收发短信可以使用3种编码:7-bit、8-bit和UCS2编码。7-bit编码用于发送普通的ASCII字符,8-bit 编码通常用于发送数据消息, UCS2 编码用于发送Unicode字符。该模块集射频电路和基带于一体,提供标准的AT命令接口,为数据、语音、短消息和传真提供快速、可靠、安全的传输。
首先使用命令"AT + CMGF = 0<CR><LF>"来选择PDU模式,比如SMSC(短信中心)号码是+8613800471500,对方号码是13656639676,消息内容是:"你好"。则手机发送的PDU串是
08 91 68 31 08 40 17 05 F0 11 000D 91 68 31 49 17 87 90 F6 00 08 00 06 4F60597D0021。
3.2 系统程序主流程图
系统程序主流程图如图7所示,系统先初始化,然后检测是否设防。因为单片机利用AT指令控制GSM模块,将数据传送出去。AT指令按照GSM模块支持的AT指令格式书写,通过单片机的串口发送出去。所以此模块的"设防","撤防"则可以通过以下方式:如果模块被命令"AT+CFUN=0"设置成最小功能模式, 则关闭射频功能和SIM卡的功能,在这种情况下,串口仍然可以继续使用,但是和射频功能及SIM卡功能相关的AT命令不能使用。 此时为撤防状态。当模块通过"AT+CFUN=0"设置为最小功能,模块可以通过"AT+CFUN=1"命令返回
- STM32-FSMC机制的NOR Flash存储器扩展技术(11-20)
- 基于Cortex-M3的 STM32微控制器处理先进电机控制方法(11-23)
- 基于STM32控制的声音导引系统(01-16)
- 基于Cortex-M3的STM32微控制器处理先进电机控制方法(03-07)
- 基于STM32的嵌入式语音识别模块设计(03-29)
- 新一代嵌入式微处理器STM32F103开发与应用(05-08)