當(dāng)前位置:首頁(yè) > 汽車(chē)電子 > 汽車(chē)電子
[導(dǎo)讀]【摘要】結(jié)合現(xiàn)有的車(chē)載監(jiān)控終端的解決方案,確定了基于CDMA 模塊的車(chē)載監(jiān)控終端的總體設(shè)計(jì)方案,介紹了系統(tǒng)的組成、功能模塊,給出了系統(tǒng)的硬件設(shè)計(jì)以及相應(yīng)功能單元軟件的設(shè)計(jì)。隨著無(wú)線通信技術(shù)的發(fā)展, 智能交通

【摘要】結(jié)合現(xiàn)有的車(chē)載監(jiān)控終端的解決方案,確定了基于CDMA 模塊的車(chē)載監(jiān)控終端的總體設(shè)計(jì)方案,介紹了系統(tǒng)的組成、功能模塊,給出了系統(tǒng)的硬件設(shè)計(jì)以及相應(yīng)功能單元軟件的設(shè)計(jì)。

隨著無(wú)線通信技術(shù)的發(fā)展, 智能交通系統(tǒng)(Intelligent TransportSystem,即ITS)已得到廣泛應(yīng)用。ITS 總體來(lái)說(shuō)包括四部分:交通信息采集部分、車(chē)輛調(diào)度控制部分、電子收費(fèi)系統(tǒng)與交通信息服務(wù)。其中四個(gè)部分都需要車(chē)載終端的參與,車(chē)載終端是ITS 系統(tǒng)中非常重要的部分。傳統(tǒng)的車(chē)載監(jiān)控終端系統(tǒng)通常采用GSM/GPS 方案。這種方案成本較低,在一些領(lǐng)域有了成功應(yīng)用。車(chē)載終端最重要的功能是交通信息采集,提供車(chē)輛的準(zhǔn)確定位和車(chē)輛運(yùn)行情況(包括速度信息、行進(jìn)方向等)。而定位信息和速度信息通常都是靠外置的GPS 模塊獲取,但在車(chē)輛駛?cè)胨淼阑蛘咄7旁诟邩桥?,?chē)輛處于GPS 衛(wèi)星的覆蓋盲區(qū),這段時(shí)間內(nèi)的調(diào)度中心無(wú)法準(zhǔn)確得到車(chē)輛的交通信息,影響了監(jiān)控調(diào)度系統(tǒng)的可靠性。本文提出了一種以ATMEL 公司89S51 為控制器,CDMA 模塊DTGS800 為通信、定位系統(tǒng)平臺(tái)的車(chē)載監(jiān)控終端系統(tǒng)。

1.DTGS-800 簡(jiǎn)介

DTGS800 是AnyDATA 公司生產(chǎn)的一款CDMA 無(wú)線通信模塊。

DTGS800 工作在832MHz 頻段,功耗為0.32W,擁有高達(dá)153kbps 的數(shù)據(jù)傳輸速率,可通過(guò)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、用戶接口User Interface、PM 接口。

2.系統(tǒng)硬件設(shè)計(jì)

車(chē)載監(jiān)控終端主要用來(lái)與監(jiān)控中心進(jìn)行實(shí)時(shí)的信息交互, 包括:

獲取車(chē)輛的位置信息、速度信息;發(fā)布調(diào)度信息;在車(chē)輛出現(xiàn)異常情況下進(jìn)行遠(yuǎn)程控制。另外給車(chē)輛司機(jī)提供移動(dòng)通信服務(wù),可利用此模塊撥打和接聽(tīng)電話,甚至可以進(jìn)行三方通話。其硬件系統(tǒng)是一個(gè)綜合利用電子技術(shù)和通信技術(shù)的嵌入式單片機(jī)系統(tǒng),主要由控制器和通信模塊兩部分組成。

控制器是車(chē)載監(jiān)控終端的核心,它對(duì)整個(gè)系統(tǒng)的安全運(yùn)行、可靠性有很大影響。本設(shè)計(jì)中CPU 選用了ATMEL 公司的8 位單片機(jī)89C51RD2, 它是CMOS 單片8 位微控制器80C51 的高性能CMOSFLASH 版本。其特性包括:1 個(gè)64-Kbyte FLASH 存儲(chǔ)區(qū),用于存儲(chǔ)代碼和數(shù)據(jù);256 字節(jié)的內(nèi)部RAM,1 個(gè)9 源4 級(jí)中斷控制器和3 個(gè)定時(shí)/計(jì)數(shù)器;1 個(gè)1792 字節(jié)的XRAM,1 個(gè)硬件看門(mén)狗定時(shí)器,SPI 接口,鍵盤(pán),1 個(gè)更加通用的串行頻道,便于多處理器通信(EUART)和加速機(jī)制(X2 Mode)。

這款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)容被保存,而其他所有功能都無(wú)效。

系統(tǒng)的框架圖如下所示:

圖1 系統(tǒng)結(jié)構(gòu)框架圖

3.系統(tǒng)軟件設(shè)計(jì)

系統(tǒng)以任務(wù)的形式對(duì)軟件功能進(jìn)行模塊劃分,軟件實(shí)現(xiàn)的任務(wù)包括:任務(wù)調(diào)度;車(chē)輛位置信息、速度信息的獲取;短信息的接受、處理與發(fā)送;電話的撥打與接聽(tīng);屏幕顯示。

程序流程為:車(chē)輛發(fā)動(dòng)之后,系統(tǒng)上電,首先進(jìn)行系統(tǒng)初始化,然后開(kāi)定時(shí)中斷與串口中斷,啟動(dòng)完畢后啟動(dòng)進(jìn)入中斷監(jiān)聽(tīng)狀態(tài),每隔10ms 掃描一次串口buffer 中的數(shù)據(jù),并根據(jù)不同的狀態(tài)調(diào)用不同的接口函數(shù)實(shí)現(xiàn)各種功能。車(chē)輛監(jiān)控終端最重要的任務(wù)就是實(shí)時(shí)交通信息的獲取和傳輸數(shù)據(jù), 下文著重介紹GPS 信息的獲取和短消息的接收與發(fā)送。

3.1 串口中斷函數(shù)

在本系統(tǒng)中,處理器對(duì)DTGS800 模塊的控制是通過(guò)串口發(fā)送AT 指令實(shí)現(xiàn)的, 當(dāng)發(fā)送某種AT 命令后,DTGS 模塊會(huì)通過(guò)串口與處理器進(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 定義全局變量

#define REC_BUF_LEN 200

idata volatile BYTE datain;輸入數(shù)據(jù)的長(zhǎng)度

idata volatile BYTE dataout;;輸出數(shù)據(jù)的長(zhǎng)度

BYTE xdata dat[REC_BUF_LEN]; 串口緩沖區(qū)

3.1.2 操作函數(shù)的實(shí)現(xiàn)

bit BuffOut(BYTE *dp);從緩沖區(qū)讀出數(shù)據(jù)

bit BuffIn( BYTE *dp);向緩沖區(qū)寫(xiě)入數(shù)據(jù)

3.1.3 中斷函數(shù)

處理器與DTGS800 模塊之間通過(guò)串口通信,當(dāng)接收短信息,有來(lái)電提醒時(shí),都會(huì)引發(fā)串口中斷,因此串口中斷函數(shù)的核心就是將接受數(shù)據(jù)存儲(chǔ)到循環(huán)隊(duì)列中。其實(shí)現(xiàn)的流程圖如下:

圖2 中斷函數(shù)流程圖

3.1.4 接口函數(shù)

在實(shí)際工作狀態(tài)下,通話任務(wù),短信息任務(wù)都需要通過(guò)串口向DTGS800 模塊發(fā)送數(shù)據(jù), 這些任務(wù)的實(shí)質(zhì)都是向串口發(fā)送字節(jié)數(shù)據(jù)。因此接口函數(shù)最重要的就是定義發(fā)送字節(jié)函數(shù),定義如下:

void WriteToComm(BYTE c)

{

SBUF = c;

while (! TI);

TI = 0;

}

3.2 系統(tǒng)任務(wù)設(shè)計(jì)

根據(jù)不同的任務(wù)定義了不同的系統(tǒng)狀態(tài),其中一部分定義如下:

typedef enum

{

SYS_NET_FAIL, 網(wǎng)絡(luò)不通

SYS_MISSED_CALL, 未接來(lái)電

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),對(duì)不同狀態(tài)響應(yīng)不同的任務(wù)。以未接來(lái)電為例,定義如下函數(shù):

if(cmp_com_str(“MISSED_CALL ”,Locat,1)) 判斷狀態(tài)

{

Missed_call_deal(); 未接來(lái)電處理函數(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é)采集車(chē)輛的交通信息,包括經(jīng)度、維度、速度、行進(jìn)方向等,在發(fā)送定位命令之前首先查詢模塊的工作狀態(tài),然后通過(guò)串口發(fā)送AT 命令進(jìn)行定位請(qǐng)求,如果串口接收到“OK”信息,則系統(tǒng)進(jìn)入到SYS_GET_GPS_INFO 狀態(tài)。

接收的數(shù)據(jù)首先存儲(chǔ)在串口的buffer 中,定義了如下GPS 數(shù)據(jù)處理函數(shù):

typedef struct

{

BYTE UTC[10]; //時(shí)間

BYTE Latitude[10]; //緯度

BYTE Longitude[11]; //經(jīng)度

BYTE rec_flg; //狀態(tài)

BYTE Velocity[5]; //速度

BYTE Direction[5]; //方向

}GPS_STR;

void Gps_Data(WORD head) 將數(shù)據(jù)讀入到GPS 數(shù)據(jù)buffer 中

void GpsData_PRO(void) 解析GPS 中的相關(guān)信息以方便進(jìn)一步處理;

GPS 數(shù)據(jù)解析完成以后,再利用短消息的形式將車(chē)輛的交通信息發(fā)送到監(jiān)控中心。

3.2.2 短信息任務(wù)

DTGS800 提供了兩種不同的短信息服務(wù)協(xié)議,一種為簡(jiǎn)單協(xié)議,適合于一些簡(jiǎn)單的應(yīng)用,一種為擴(kuò)展協(xié)議,收發(fā)的格式比較復(fù)雜。本系統(tǒng)采用了擴(kuò)展的SMS 協(xié)議。

3.2.2.1 短消息發(fā)送流程

1)給模塊發(fā)送命令“AT+CAD? ”檢測(cè)模塊的工作狀態(tài),如果返回值為1 表示模塊工作正常;如果為0 則表示模塊暫時(shí)不可用,等待幾秒空閑后再進(jìn)行檢測(cè);2)給模塊發(fā)送命令“AT+SMSS? ”,通過(guò)返回值檢測(cè)模塊的狀態(tài),如果模塊返回值為3,表示模塊等待接受發(fā)送的數(shù)據(jù);3)發(fā)送解析的GPS 信息,又一次給模塊發(fā)送命令“AT+SMSS? ”,如果模塊返回值為1,表示發(fā)送信息成功;4)調(diào)用顯示函數(shù),在屏幕上顯示“短信息發(fā)送成功”。

3.2.2.2 短消息接受流程

1)判斷系統(tǒng)狀態(tài),如收到短信,給模塊發(fā)送命令“AT+SMSR”,讀取收到的短信息;2) 對(duì)收到的短信息做數(shù)據(jù)處理, 存放在Buffer 中; 調(diào)用函數(shù)UnicodeToGB()將收到的Unicode 碼轉(zhuǎn)化為GBK 碼;3)調(diào)用顯示函數(shù)循環(huán)顯示未讀取的短信息,當(dāng)用戶讀取信息后,系統(tǒng)返回到空閑態(tài),等待下一步的指令。

4.結(jié)論

通過(guò)系統(tǒng)實(shí)測(cè),發(fā)現(xiàn)本車(chē)載監(jiān)控終端系統(tǒng)可以很好的實(shí)現(xiàn)車(chē)輛交通信息的采集,接收監(jiān)控中的調(diào)度信息、控制信息,具有通信可靠、良好的擴(kuò)展性等特點(diǎn)。
 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉