基于SIM900A儿童防丢器终端设计

2015-01-18 01:45贺婷
电脑与电信 2015年11期
关键词:SIM卡寄存器串口

贺婷

(广东石油化工学院自动化系,广东 茂名 525000)

基于SIM900A儿童防丢器终端设计

贺婷

(广东石油化工学院自动化系,广东 茂名 525000)

针对市面儿童防丢器功能单一的情况,设计一款智能儿童防丢器满足人们需求。儿童防丢器的终端包含主控STM32F103C及外设部分和SIM900A模块。主要实现当终端识别主控端发送的AT指令信息,执行基站定位并将位置信息发送给主控端或拨打主控端电话等相关功能。

儿童防丢器;终端;SIM900A

1 引言

智能儿童防丢器相关产品主要有智能手环、电话手表等[1,2]。前者价格便宜,但功能简单;后者只能称为缩小版电话,而且价格高昂[3]。本文将二者部分功能结合,设计一款新的儿童防丢器满足人们的需求,主要包括主控端和终端两部分,主控端和终端都采用STM32F103C,结合SIM900A模块实现相关功能[4]。

儿童防丢器终端的主要功能是接收主控端发送来的信息,终端的主控模块通知SIM900A模块进行基站定位,将位置通过GSM发送回主控端,并自动给主控端拨打电话让主控端监听终端周围的状况[5-9]。

2 终端硬件设计

2.1 STM32及外设模块

终端STM32的外围功能模块有电源,GPIO,RS232串口,LED灯。

由AMS1117电压转换器将5V电压转换3.3V供STM32F103C及外围模块使用,如图1所示,电路由稳定的电源VDD供电,VDD的范围在2V-3.6V之间。

图15V转3.3V电压电路

GPIO口是连接CPU和片上外设的接口,终端的ADC转换模块接口是PA2,SDA总线接口是PB8,LED灯的接口是PA5,按 键 KEY的 接 口 是 PE2,PE4,USART_TX和USART_RX是PA9,PA10。

RS232串口的USART_TX和USART_RX分别接到了J10-1和J10-2,串口是连接STM32和SIM900A的唯一途径,STM32的USART_TX接SIM900A的USART_RX,而STM32的USART_RX接SIM900A的USART_TX。

2.2 SIM900A模块

2.2.1 SIM900A及其电源模块

SIM900A采用单电源供电,VBAT的电压输入范围是3.2V到4.8V,一般是4.0V最为合适,因为模块发射的突发性会使电压跌落,这时电流的峰值会达到2A,因此,电源的供流能力不能低于2A。SIM900A的电源模块电路原理图如图2所示,智能儿童防丢器是采用5V电池供电,而在SIM900A的电源模块中,有一个线性稳压器,可以将5V电压转为4V电压,给SIM900A的外设模块使用。

图2 SIM900A模块电源电路

图3 SIM900A电路连接

2.2.2 SIM卡接口模块

SIM900A的SIM卡接口支持GSM Phase 1规则,同时也支持新的GSM Phase 2+规范和FAST 64 kbps SIM卡,支持1.8V和3.0V,SIM卡的接口电源由模块内部的电压稳压器提供,正常电压值为2.8V或者1.8V。

SIM900A模块是一个双频的GSM/GPS模块,它既能够实现GSM通讯,也能够实现GPS定位,是由于模块拥有GSM基带和GSM射频,GSM和GPRS的使用是由模块的AT指令控制。

图4 SIM卡接口电路

3 终端程序设计

主程序过程为首先使能GPIO接口和USART串口的时钟,然后初始化GPIO口,使能GPIOA的相关寄存器,之后设置延时函数,串口定时检查接收引脚RX有没有信息,进入循环检查等待,一旦接收到相关信息,就通知CPU让串口的发送器发送相关AT指令给SIM900A,根据不同AT指令控制SIM900A模块进行相关工作。

3.1 使能时钟

寄存器RCC_APB1ENR的0-5位是使能TIM2-TIM7定时器时钟,17-20位是使能USART串口2-5的时钟。RCC_APB2ENR的2-6位是使能GPIO接口GPIOA-GPIOE时钟,11位使能TIM1的时钟,14位使能USART1的时钟。其中置‘1'为时钟开启,置‘0'为关闭时钟。

3.2 GPIO口配置

LED灯的GPIO接口是PA5,配置GPIOA->CRL寄存器的CNF5和MODE5,即20到23位,配置为推挽输出模式:CNF5=00,MODE5=11。之后设置GPIOA->ODR输出寄存器,由于LED灯低电平点亮,所以先赋予它高电平后待命。

TIM3定时器的GPIO接口是PB5,配置GPIOB->CRL的MODE5和CNF5。TIM3定时器是复用功能推挽输出:CNF= 10,MODE=11,将1011赋予GPIOB->CRL寄存器的20到23位。

USART1串口有发送接口和接收接口,分别的GPIO接口是PA9和PA10,配置GPIOA->CRH的MODE9、CNF9和MODE10、CNF10。USART1串口的发送接口是复用功能推挽输出:CNF=10,MODE=11,将1011赋予GPIOA->CRH寄存器的0到3位。USART1串口的接收接口是上拉/下拉输入模式:CNF=10,MODE=00,将1000赋予GPIOA->CRH寄存器的4到7位。

3.3 USART串口配置

通过置位USART_CR1寄存器上UE位激活USART;编程USART_CR1的M位定义字长;设置USART_CR2定义1位停止位;如果采用多缓冲器通信;利用USART_BRR寄存器设置波特率;设置USART_CR1中的TE位,第一次数据发送一个空闲帧;把发送的数据写进USART_DR寄存器(此动作清除TXE位),并重复此步骤直到数据发送完毕;最后等待TC=1,表示数据传输完毕。

3.4 防丢器终端基站定位

基站定位流程图如图5所示,先开启SIM900A的GPRS和基站定位模块,并让串口处于检测等待状态,并以AT+ CSTT;AT+CIICR;AT+CIFSR三条指令开启GPRS数据连接指令;使用以下四条指令开启基站定位,AT+SAPBR=1,1“Contype”,“GPRS”;AT+SAPBR=1,1“APN”,“CMNET”;AT+ SAPBR=1,1;AT+CIPGSMLOC=1,1;可获取SIM卡当前位置反馈给串口,串口检测到位置经纬度信息后,就返回信息到STM32,再通过STM32控制SIM900A以短信方式发送经纬度到主控端。

图5 防丢器终端的基站定位流程

3.5 信息发送与接收

STM32的串口支持printf()直接输入函数,智能防丢器终端控制SIM900A模块的方式是直接向SIM900A模块输入AT命令,由于串口支持printf()函数,可以把AT命令写在printf()函数里面。

当智能防丢器终端接收到主控端SIM900A模块发送过来内容是“work”的短信时,主控端就发送后续的工作指令给终端的SIM900A,让其定位并存储位置经纬度到终端SIM卡的内存。当终端的STM32主控模块串口检测到SIM900A模块的SIM卡内存中有位置经纬度时,读取位置信息,通过串口发送拨打电话和发送短信的AT功能指令到SIM900A模块,将刚读取到的位置信息发送给主控端,之后给主控端拨打电话,让主控端监听终端周围情况。

4 结语

据统计,我国每年大约有20万儿童走丢,一个孩子的丢失能同时毁灭三个家庭,而且只有相当少的孩子能够找回。而目前市面上的儿童防丢器功能太单一,所以设计一款在带孩子外出时,儿童与父母距离过远时发出警报声提醒父母;儿童丢失后,通过预设按键发送预设短信获取儿童位置信息或监听儿童周围情况;而且造价低廉的儿童防丢器来满足人们的需要具有相当的必要性和价值。

[1]王磊.基于蓝牙4.0技术的防丢器的研究与设计[D].太原理工大学,2013.

[2]霍丙乾.基于蓝牙4.0的防丢系统的研究与设计[D].北京邮电大学,2015.

[3]张艳红,刘建炜,黄万里.基于移动定位的儿童安全保障技术研究[J].西南民族大学学报(自然科学版),2015,01:99-106.

[4]王闯,崔雯博.基于STC89C52的无线电子防丢器的设计[J].无线互联科技,2015,01:81-82.

[5]王啸东,尤凤翔.基于单片机的智能防丢器系统设计[J].河南科技,2011,21:61.

[6]郭亮,余祖龙,赵广山.一种新型防丢器的设计[J].科技资讯,2011,34:1.

[7]熊中刚,罗素莲.基于定位模块的防盗防丢定位系统设计[J].黑龙江科技信息,2014,13:69+190.

[8]阚力丰,郭明明,韩洋,林宇豪.基于蓝牙技术的双向防丢器的研究与设计[J].电子制作,2014,15:11-12.

[9]刘磊,陈栋梁,赵宏伟,许耀华.基于ARM11和Zigbee的人员定位防丢器[J].赤峰学院学报(自然科学版),2012,17:11-13.

Design of Children Anti-loss Device Terminal Based on SIM900A

He Ting
(Guangdong University of Petrochemical Technology,Maoming 525000,Guangdong)

Aiming at the single function of children anti-loss device in the market,a smart children anti-loss device is designed to meet with people's needs.The terminal contains the main control STM32F103C,the peripheral part and the SIM900A module. The main function is to realize station location and send the location information to the main control terminal or call the main control terminal when the terminal identifies the AT command sending by the main control terminal.

children anti-loss device;terminal;SIM900A

TP2

B

1008-6609(2015)11-0032-03

贺婷,女,湖南株洲人,硕士,讲师,研究方向:智能控制与信号处理。

广东省云机器人(石油化工)工程技术研究中心开放基金。

猜你喜欢
SIM卡寄存器串口
STM32和51单片机寄存器映射原理异同分析
浅谈AB PLC串口跟RFID传感器的通讯应用
SIM卡防盗很关键 小喻教你如何给它“上保险”
Lite寄存器模型的设计与实现
铁路GSM-R SIM卡读写次数测试方法研究
SIM卡的“减肥史”
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
串口技术的实物调试和虚拟仿真联合教学模式
高速数模转换器AD9779/AD9788的应用