基于CDMA模塊的車載監控終端的設計方案(2)
2012年05月14日 10:42 來源:本站整理 作者:秩名 我要評論(0)
3.系統軟件設計
系統以任務的形式對軟件功能進行模塊劃分,軟件實現的任務包括:任務調度;車輛位置信息、速度信息的獲取;短信息的接受、處理與發送;電話的撥打與接聽;屏幕顯示。
程序流程為:車輛發動之后,系統上電,首先進行系統初始化,然后開定時中斷與串口中斷,啟動完畢后啟動進入中斷監聽狀態,每隔10ms 掃描一次串口buffer 中的數據,并根據不同的狀態調用不同的接口函數實現各種功能。車輛監控終端最重要的任務就是實時交通信息的獲取和傳輸數據, 下文著重介紹GPS 信息的獲取和短消息的接收與發送。
3.1 串口中斷函數
在本系統中,處理器對DTGS800 模塊的控制是通過串口發送AT 指令實現的, 當發送某種AT 命令后,DTGS 模塊會通過串口與處理器進行數據交換。因此,如何進行串口數據管理是系統性能優劣的關鍵。在本文的設計中,采用了基于中斷的管理方式,并設置了一個200Bytes 的串口緩沖區,以循環隊列的形式實時讀取串口的接收數據。實現的步驟如下:
3.1.1 定義全局變量
#define REC_BUF_LEN 200
idata volatile BYTE datain;輸入數據的長度
idata volatile BYTE dataout;;輸出數據的長度
BYTE xdata dat[REC_BUF_LEN]; 串口緩沖區
3.1.2 操作函數的實現
bit BuffOut(BYTE *dp);從緩沖區讀出數據
bit BuffIn( BYTE *dp);向緩沖區寫入數據
3.1.3 中斷函數
處理器與DTGS800 模塊之間通過串口通信,當接收短信息,有來電提醒時,都會引發串口中斷,因此串口中斷函數的核心就是將接受數據存儲到循環隊列中。其實現的流程圖如下:
圖2 中斷函數流程圖
本文導航
- 第 1 頁:基于CDMA模塊的車載監控終端的設計方案(1)
- 第 2 頁:系統軟件設計
- 第 3 頁:接口函數
- 第 4 頁:定位任務