新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于GSM短信模塊的定位跟蹤系統(tǒng)設(shè)計方案

基于GSM短信模塊的定位跟蹤系統(tǒng)設(shè)計方案

作者: 時間:2012-05-11 來源:網(wǎng)絡(luò) 收藏

2 軟件

軟件采用了化的方式,軟件由一個主程序和若干個子程序構(gòu)成。主程序負(fù)責(zé)完成對各個功能(子程序)的調(diào)用。軟件的其他部分還涉及到單片機與 之間的串行通信、單片機控制模塊中主機和從機間的SPI 模式通信、單片機對GPS 信息的解碼、對-At 指令的編碼等。

主程序功能是:系統(tǒng)開機后對GPS 模塊、模塊初始化,控制主機部分接收來自GPS 接收模塊的GPS 信息,篩選出其中的特定部分存儲,將數(shù)據(jù)以SPI 通信方式傳給從機;控制從機部分對信息進(jìn)行編碼并傳送給GSM 模塊。主程序功能框圖如圖5所示。


圖5 軟件系統(tǒng)的流程框圖。

2.1 系統(tǒng)初始化子程序

系統(tǒng)初始化子程序完成設(shè)置系統(tǒng)串口波特率、啟動串口、初始化數(shù)據(jù)存儲單元任務(wù),實現(xiàn)單片機控制模塊、外圍器件以及GSM 模塊的初始化工作。

單片機控制模塊從機部分和GSM 模塊進(jìn)行異步串行通信,需對串口進(jìn)行設(shè)置:

(1)工作方式。

GSM 通信模塊的數(shù)據(jù)接口配置為8 位數(shù)據(jù)位、1 位停止位、無校驗位,因此設(shè)置單片機的串行口工作方式為異步通信模式。

(2)波特率設(shè)定。

Atmega16L 單片機控制系統(tǒng)的晶振為3.6864M,波特率需為9600b/s,所以根據(jù)記數(shù)初值的計算公式:X=256-fose × (1/384) × 波特率,UBRRL=0x16 (USART 通信)。

2.2 軟件定時程序

系統(tǒng)通過設(shè)置16 位定時器1 的寄存器初始值實現(xiàn)定時功能。系統(tǒng)采用頻率為3.6864MHz 的晶振, 機器周期近似為0.3 us , 初始化時預(yù)置TCNT1H=0xD4,TCNT1L=0xFF,(FFFFH-D4FFH)×0.3us=3.3ms,因此每3.3ms 中斷一次。流程圖如圖6 所示。


圖6 定時器中斷子程序

2.3 SPI 同步串行通信

使用SPI 主從模式進(jìn)行通信關(guān)鍵是時鐘同步,一般為主機輸出同步時鐘,從機輸入同步時鐘。系統(tǒng)設(shè)定主機定時在第5 個時間段時開始發(fā)送數(shù)據(jù),從機每收到一個字節(jié)數(shù)據(jù)就產(chǎn)生一次SPI 中斷,在中斷程序中將數(shù)據(jù)取走放到相應(yīng)的存儲單元。

2.4 單片機給GSM 模塊發(fā)送AT 指令程序設(shè)計

單片機通過GSM-AT 指令控制GSM 模塊發(fā)送短消息。指令執(zhí)行過程需要單片機與GSM 模塊完成交互應(yīng)答,每次發(fā)送或接收的字節(jié)數(shù)都有嚴(yán)格規(guī)定,二者必須依據(jù)規(guī)定實現(xiàn)數(shù)據(jù)交換。本段子程序主要實現(xiàn)的功能是系統(tǒng)上電、完成初始化后,將數(shù)據(jù)形成發(fā)送到GSM 網(wǎng)。程序的流程圖如圖8所示。


圖7 SPI 串行通信流程圖



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉