基于GSM短信模块的定位跟踪系统设计方案

时间:2012-05-11来源:网络

2 软件系统设计

软件设计采用了模块化的设计方式,系统软件由一个主程序和若干个子程序构成。主程序负责完成对各个功能模块(子程序)的调用。系统软件的其他部分还涉及到单片机与GSM 模块之间的串行通信、单片机控制模块中主机和从机间的SPI 模式通信、单片机对GPS 信息的解码、对GSM-At 指令的编码等。

主程序功能是:系统开机后对GPS 模块、GSM模块初始化,控制主机部分接收来自GPS 接收模块的GPS 信息,筛选出其中的特定部分存储,将数据以SPI 通信方式传给从机;控制从机部分对信息进行编码并传送给GSM 模块。主程序功能框图如图5所示。


图5 软件系统的流程框图。

2.1 系统初始化子程序

系统初始化子程序完成设置系统串口波特率、启动串口、初始化数据存储单元任务,实现单片机控制模块、外围器件以及GSM 模块的初始化工作。

单片机控制模块从机部分和GSM 短信模块进行异步串行通信,需对串口进行设置:

(1)工作方式。

GSM 通信模块的数据接口配置为8 位数据位、1 位停止位、无校验位,因此设置单片机的串行口工作方式为异步通信模式。

(2)波特率设定。

Atmega16L 单片机控制系统的晶振为3.6864M,波特率需为9600b/s,所以根据记数初值的计算公式:X=256-fose × (1/384) × 波特率,UBRRL=0x16 (USART 通信)。

2.2 软件定时程序

系统通过设置16 位定时器1 的寄存器初始值实现定时功能。系统采用频率为3.6864MHz 的晶振, 机器周期近似为0.3 us , 初始化时预置TCNT1H=0xD4,TCNT1L=0xFF,(FFFFH-D4FFH)×0.3us=3.3ms,因此每3.3ms 中断一次。流程图如图6 所示。


图6 定时器中断子程序

2.3 SPI 同步串行通信

使用SPI 主从模式进行通信关键是时钟同步,一般为主机输出同步时钟,从机输入同步时钟。系统设定主机定时在第5 个时间段时开始发送数据,从机每收到一个字节数据就产生一次SPI 中断,在中断程序中将数据取走放到相应的存储单元。

2.4 单片机给GSM 模块发送AT 指令程序设计

单片机通过GSM-AT 指令控制GSM 模块发送短消息。指令执行过程需要单片机与GSM 模块完成交互应答,每次发送或接收的字节数都有严格规定,二者必须依据规定实现数据交换。本段子程序主要实现的功能是系统上电、完成初始化后,将数据形成短信发送到GSM 网。程序的流程图如图8所示。


图7 SPI 串行通信流程图

1 2 3 4

关键词: 系统 设计 方案 跟踪 定位 GSM 短信 模块 基于

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版