版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
精品文檔-下載后可編輯基于CDMA模塊的車載監(jiān)控終端的設(shè)計(jì)方案-技術(shù)方案【摘要】結(jié)合現(xiàn)有的車載監(jiān)控終端的解決方案,確定了基于CDMA模塊的車載監(jiān)控終端的總體設(shè)計(jì)方案,介紹了系統(tǒng)的組成、功能模塊,給出了系統(tǒng)的硬件設(shè)計(jì)以及相應(yīng)功能單元軟件的設(shè)計(jì)。
隨著無線通信技術(shù)的發(fā)展,智能交通系統(tǒng)(IntelligentTransportSystem,即ITS)已得到廣泛應(yīng)用。ITS總體來說包括四部分:交通信息采集部分、車輛調(diào)度控制部分、電子收費(fèi)系統(tǒng)與交通信息服務(wù)。其中四個(gè)部分都需要車載終端的參與,車載終端是ITS系統(tǒng)中非常重要的部分。傳統(tǒng)的車載監(jiān)控終端系統(tǒng)通常采用GSM/GPS方案。這種方案成本較低,在一些領(lǐng)域有了成功應(yīng)用。車載終端重要的功能是交通信息采集,提供車輛的準(zhǔn)確定位和車輛運(yùn)行情況(包括速度信息、行進(jìn)方向等)。而定位信息和速度信息通常都是靠外置的GPS模塊獲取,但在車輛駛?cè)胨淼阑蛘咄7旁诟邩桥裕囕v處于GPS衛(wèi)星的覆蓋盲區(qū),這段時(shí)間內(nèi)的調(diào)度中心無法準(zhǔn)確得到車輛的交通信息,影響了監(jiān)控調(diào)度系統(tǒng)的可靠性。本文提出了一種以ATMEL公司89S51為控制器,CDMA模塊DTGS800為通信、定位系統(tǒng)平臺的車載監(jiān)控終端系統(tǒng)。
1.DTGS-800簡介
DTGS800是AnyDATA公司生產(chǎn)的一款CDMA無線通信模塊。
DTGS800工作在832MHz頻段,功耗為0.32W,擁有高達(dá)153kbps的數(shù)據(jù)傳輸速率,可通過AT命令進(jìn)行遠(yuǎn)程控制,內(nèi)置TCP/IP協(xié)議棧,提供短消息服務(wù)。模塊內(nèi)部集成了具有g(shù)psOne功能的芯片,能夠采用gpsOne解決方法實(shí)現(xiàn)定位功能。
DTGS800的模塊主要接口包括:通用異步串行口UART,通用I/O口GPIO、編解碼器接口CODEC、用戶接口UserInterface、PM接口。
2.系統(tǒng)硬件設(shè)計(jì)
車載監(jiān)控終端主要用來與監(jiān)控中心進(jìn)行實(shí)時(shí)的信息交互,包括:
獲取車輛的位置信息、速度信息;發(fā)布調(diào)度信息;在車輛出現(xiàn)異常情況下進(jìn)行遠(yuǎn)程控制。另外給車輛司機(jī)提供移動(dòng)通信服務(wù),可利用此模塊撥打和接聽電話,甚至可以進(jìn)行三方通話。其硬件系統(tǒng)是一個(gè)綜合利用電子技術(shù)和通信技術(shù)的嵌入式單片機(jī)系統(tǒng),主要由控制器和通信模塊兩部分組成。
控制器是車載監(jiān)控終端的,它對整個(gè)系統(tǒng)的安全運(yùn)行、可靠性有很大影響。本設(shè)計(jì)中CPU選用了ATMEL公司的8位單片機(jī)89C51RD2,它是CMOS單片8位微控制器80C51的高性能CMOSFLASH版本。其特性包括:1個(gè)64-KbyteFLASH存儲區(qū),用于存儲代碼和數(shù)據(jù);256字節(jié)的內(nèi)部RAM,1個(gè)9源4級中斷控制器和3個(gè)定時(shí)/計(jì)數(shù)器;1個(gè)1792字節(jié)的XRAM,1個(gè)硬件看門狗定時(shí)器,SPI接口,鍵盤,1個(gè)更加通用的串行頻道,便于多處理器通信(EUART)和加速機(jī)制(X2Mode)。
這款CPU采用全靜態(tài)設(shè)計(jì),減少了系統(tǒng)功耗,允許時(shí)鐘頻率降至任何數(shù)值而不導(dǎo)致數(shù)據(jù)損失。另外有兩種軟件可選的工作模式,降低8位時(shí)鐘分頻器的活動(dòng)狀態(tài),進(jìn)一步減少了功耗??臻e模式下,CPU被凍結(jié),而外設(shè)和中斷系統(tǒng)繼續(xù)工作。在掉電模式,RAM內(nèi)容被保存,而其他所有功能都無效。
系統(tǒng)的框架圖如下所示:
圖1系統(tǒng)結(jié)構(gòu)框架圖
3.系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)以任務(wù)的形式對軟件功能進(jìn)行模塊劃分,軟件實(shí)現(xiàn)的任務(wù)包括:任務(wù)調(diào)度;車輛位置信息、速度信息的獲取;短信息的接受、處理與發(fā)送;電話的撥打與接聽;屏幕顯示。
程序流程為:車輛發(fā)動(dòng)之后,系統(tǒng)上電,首先進(jìn)行系統(tǒng)初始化,然后開定時(shí)中斷與串口中斷,啟動(dòng)完畢后啟動(dòng)進(jìn)入中斷監(jiān)聽狀態(tài),每隔10ms掃描串口buffer中的數(shù)據(jù),并根據(jù)不同的狀態(tài)調(diào)用不同的接口函數(shù)實(shí)現(xiàn)各種功能。車輛監(jiān)控終端重要的任務(wù)就是實(shí)時(shí)交通信息的獲取和傳輸數(shù)據(jù),下文著重介紹GPS信息的獲取和短消息的接收與發(fā)送。
3.1串口中斷函數(shù)
在本系統(tǒng)中,處理器對DTGS800模塊的控制是通過串口發(fā)送AT指令實(shí)現(xiàn)的,當(dāng)發(fā)送某種AT命令后,DTGS模塊會通過串口與處理器進(jìn)行數(shù)據(jù)交換。因此,如何進(jìn)行串口數(shù)據(jù)管理是系統(tǒng)性能優(yōu)劣的關(guān)鍵。在本文的設(shè)計(jì)中,采用了基于中斷的管理方式,并設(shè)置了一個(gè)200Bytes的串口緩沖區(qū),以循環(huán)隊(duì)列的形式實(shí)時(shí)讀取串口的接收數(shù)據(jù)。實(shí)現(xiàn)的步驟如下:
3.1.1定義全局變量
#defineREC_BUF_LEN200
idatavolatileBYTEdatain;輸入數(shù)據(jù)的長度
idatavolatileBYTEdataout;;輸出數(shù)據(jù)的長度
BYTExdatadat[REC_BUF_LEN];串口緩沖區(qū)
3.1.2操作函數(shù)的實(shí)現(xiàn)
bitBuffOut(BYTE*dp);從緩沖區(qū)讀出數(shù)據(jù)
bitBuffIn(BYTE*dp);向緩沖區(qū)寫入數(shù)據(jù)
3.1.3中斷函數(shù)
處理器與DTGS800模塊之間通過串口通信,當(dāng)接收短信息,有來電提醒時(shí),都會引發(fā)串口中斷,因此串口中斷函數(shù)的就是將接受數(shù)據(jù)存儲到循環(huán)隊(duì)列中。其實(shí)現(xiàn)的流程圖如下:
圖2中斷函數(shù)流程圖
3.1.4接口函數(shù)
在實(shí)際工作狀態(tài)下,通話任務(wù),短信息任務(wù)都需要通過串口向DTGS800模塊發(fā)送數(shù)據(jù),這些任務(wù)的實(shí)質(zhì)都是向串口發(fā)送字節(jié)數(shù)據(jù)。因此接口函數(shù)重要的就是定義發(fā)送字節(jié)函數(shù),定義如下:
voidWriteToComm(BYTEc)
{
SBUF=c;
while(!TI);
TI=0;
}
3.2系統(tǒng)任務(wù)設(shè)計(jì)
根據(jù)不同的任務(wù)定義了不同的系統(tǒng)狀態(tài),其中一部分定義如下:
typedefenum
{
SYS_NET_FAIL,網(wǎng)絡(luò)不通
SYS_MISSED_CALL,未接來電
SYS_CALL_SPEAKING,通話中
SYS_END_CALL,掛電話
SYS_GET_GPS_INFO,獲得GPS數(shù)據(jù)
SYS_SMS_INFO,短消息接收
SYS_SMS_DISPLAY,短信息顯示
}sys_app_sta;
系統(tǒng)啟動(dòng)完畢以后,進(jìn)入main函數(shù)中的死循環(huán),對不同狀態(tài)響應(yīng)不同的任務(wù)。以未接來電為例,定義如下函數(shù):
if(cmp_com_str("MISSED_CALL",Locat,1))判斷狀態(tài)
{
Missed_call_deal();未接來電處理函數(shù)
dataout=Locat;//go
Reccnt=Reccnt-4;
clrline(line_1);
display_app(0x82,"未接電話:");顯示函數(shù)
start_nom_ref();
Sys_state=SYS_IDLE_STATE;進(jìn)入空閑態(tài)
break;
}
3.2.1定位任務(wù)
定位任務(wù)負(fù)責(zé)采集車輛的交通信息,包括經(jīng)度、維度、速度、行進(jìn)方向等,在發(fā)送定位命令之前首先查詢模塊的工作狀態(tài),然后通過串口發(fā)送AT命令進(jìn)行定位請求,如果串口接收到"OK"信息,則系統(tǒng)進(jìn)入到SYS_GET_GPS_INFO狀態(tài)。
接收的數(shù)據(jù)首先存儲在串口的buffer中,定義了如下GPS數(shù)據(jù)處理函數(shù):
typedefstruct
{
BYTEUTC[10];//時(shí)間
BYTELatitude[10];//緯度
BYTELongitude[11];//經(jīng)度
BYTErec_flg;//狀態(tài)
BYTEVelocity[5];//速度
BYTEDirection[5];//方向
}GPS_STR;
voidGps_Data(WORDhead)將數(shù)據(jù)讀入到GPS數(shù)據(jù)buffer中
voidGpsData_PRO(void)解析GPS中的相關(guān)信息以方便進(jìn)一步處理;
GPS數(shù)據(jù)解析完成以后,再利用短消息的形式將車輛的交通信息發(fā)送到監(jiān)控中心。
3.2.2短信息任務(wù)
DTGS800提供了兩種不同的短信息服務(wù)協(xié)議,一種為簡單協(xié)議,適合于一些簡單的應(yīng)用,一種為擴(kuò)展協(xié)議,收發(fā)的格式比較復(fù)雜。本系統(tǒng)采用了擴(kuò)展的SMS協(xié)議。
短消息發(fā)送流程
1)給模塊發(fā)送命令"AT+CAD?"檢測模塊的工作狀態(tài),如果返回值為1表示模塊工作正常;如果為0則表示模塊暫時(shí)不可用,等待幾秒空閑后再進(jìn)行檢測;2)給模塊發(fā)送命令"AT+SMSS?",通過返回值檢測模塊的狀態(tài),如果模塊返回值為3,表示模塊等待接受發(fā)送的數(shù)據(jù);3)發(fā)送解析的GPS信息,又給模塊發(fā)送命令"AT+SMSS?",如果模塊返回值為1,表示發(fā)送信息成功;4)調(diào)用顯示函數(shù),在屏幕上顯示"短信息發(fā)送成功".
短消息接受流程
1)判斷系統(tǒng)狀態(tài),如收到短信,給模塊發(fā)送命令"AT+SMSR",讀取收到的短信息;2)對收到的短信息做數(shù)據(jù)處理,存放在Buffer中;調(diào)用函數(shù)UnicodeToGB()將收到的Unicode碼轉(zhuǎn)化為GBK碼;3)調(diào)用顯示函數(shù)循環(huán)顯示未讀取的短信息,當(dāng)用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 銅陵學(xué)院《飛行器結(jié)構(gòu)有限元分析及應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 桐城師范高等??茖W(xué)校《口譯理論與技巧》2023-2024學(xué)年第一學(xué)期期末試卷
- 油泵制造工藝課程設(shè)計(jì)
- 幼兒園圓圈圖課程設(shè)計(jì)
- 注射制品課程設(shè)計(jì)
- 漢字課程設(shè)計(jì)大全
- 污水廠污泥脫水課程設(shè)計(jì)
- 機(jī)電系統(tǒng)課程設(shè)計(jì)小車
- 圍堰施工課程設(shè)計(jì)
- 汽車刮水器課課程設(shè)計(jì)
- 衛(wèi)生監(jiān)督協(xié)管醫(yī)療監(jiān)督檢查培訓(xùn)課件
- 內(nèi)蒙古農(nóng)業(yè)大學(xué)會計(jì)學(xué)基礎(chǔ)期末提高試卷
- 長江引航中心公開招聘45人【共500題附答案解析】模擬試卷
- 監(jiān)控立桿規(guī)格及施工規(guī)范
- 2.軟件著作權(quán)-操作手冊編寫示例
- 行政管理專業(yè)公共政策學(xué)課程大綱
- 江蘇省無錫市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細(xì)
- 可逆性胼胝體壓部綜合癥培訓(xùn)課件
- 國家開放大學(xué)《可編程控制器應(yīng)用實(shí)訓(xùn)》形考任務(wù)4(實(shí)訓(xùn)四)
- 寵物店洗護(hù)免責(zé)協(xié)議書
- 六年級數(shù)學(xué)上冊課件-6. 百分?jǐn)?shù)的認(rèn)識-人教版(共13張PPT)
評論
0/150
提交評論