車(chē)載導(dǎo)航系統(tǒng)終端的研究
最后編寫(xiě)代碼,把經(jīng)/緯度解析出來(lái),對(duì)于gpgga類(lèi)型數(shù)據(jù),也是一樣,先了解每一位的含義,再寫(xiě)代碼把海平面高度和大地水平面高度等數(shù)據(jù)解析并顯示出來(lái)。
gprs通信模塊實(shí)現(xiàn)
gprs模塊是借助gprs無(wú)線(xiàn)網(wǎng)絡(luò)實(shí)現(xiàn)數(shù)據(jù)的無(wú)線(xiàn)傳輸,從而在不同的車(chē)輛或車(chē)輛與控制中心之間架起溝通的橋梁,所以軟件的功能主要是建立無(wú)線(xiàn)連接,按照gprs通信協(xié)議傳輸數(shù)據(jù)。gprs模塊的通信主要是通過(guò)串口驅(qū)動(dòng)實(shí)現(xiàn),在嵌入式linux內(nèi)核中已經(jīng)提供了對(duì)串設(shè)備的支持,因此在配置內(nèi)核編譯選項(xiàng)時(shí),只需要選中對(duì)串口設(shè)備的支持,就可以實(shí)現(xiàn)對(duì)gprs模塊的串口數(shù)據(jù)通信功能。為了實(shí)現(xiàn)與internet的通信,還需要在配置內(nèi)核編譯選項(xiàng)時(shí)選中ppp和tcp/ip協(xié)議。這樣一旦網(wǎng)絡(luò)連接建立,就可以使用應(yīng)用程序來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)的通信。本系統(tǒng)數(shù)據(jù)鏈路層采用ppp協(xié)議,它是一種面向字符的協(xié)議,是為在兩個(gè)對(duì)等實(shí)體間傳輸數(shù)據(jù)包連接而設(shè)計(jì)的,使用可擴(kuò)展的鏈路控制協(xié)議lcp來(lái)建立、配置和測(cè)試數(shù)據(jù)鏈路。用網(wǎng)絡(luò)控制協(xié)議族ncp來(lái)建立和配置不同的網(wǎng)絡(luò)層協(xié)議,并且允許采用多種網(wǎng)絡(luò)層協(xié)議。一個(gè)ppp會(huì)話(huà)分四個(gè)步驟:建立連接、連接質(zhì)量控制、網(wǎng)絡(luò)層協(xié)議配置和連接終止。
嵌入式linux系統(tǒng)內(nèi)核源自于linux內(nèi)核,并保留了對(duì)tcp/ip以及其他的網(wǎng)絡(luò)協(xié)議的支持。在嵌入式linux系統(tǒng)上編寫(xiě)網(wǎng)絡(luò)應(yīng)用程序與在linux上編寫(xiě)網(wǎng)絡(luò)應(yīng)用程序沒(méi)什么大區(qū)別,通常只需要做很小的修改就可以移植到嵌入式linux系統(tǒng)上。至此,gprs模塊完整地集成到嵌入式終端中。
can模塊實(shí)現(xiàn)
can總線(xiàn)驅(qū)動(dòng)程序要完成的報(bào)文發(fā)送、接收等任務(wù)都是圍繞can總線(xiàn)控制器展開(kāi)的,因此驅(qū)動(dòng)程序主要是對(duì)控制器mcp2510內(nèi)部寄存器進(jìn)行操作。can總線(xiàn)控制器mcp2510的初始化按照以下步驟進(jìn)行:(1)軟件復(fù)位,進(jìn)入配置模式;(2)設(shè)置can總線(xiàn)波特率;(3)關(guān)閉中斷,設(shè)置id過(guò)濾器;(4)切換mcp2510到正常狀態(tài);(5)清空接收和發(fā)送緩沖區(qū);(6)開(kāi)啟接收緩沖區(qū),開(kāi)啟中斷。
實(shí)驗(yàn)結(jié)果
本實(shí)驗(yàn)結(jié)果能達(dá)到基本的要求,參見(jiàn)圖4,圖的右上角是經(jīng)/緯度。本系統(tǒng)還不完善,還有很多實(shí)用的功能有待進(jìn)一步開(kāi)發(fā)。
結(jié)論
該系統(tǒng)能夠通過(guò)gps和gprs實(shí)現(xiàn)車(chē)輛定位以及車(chē)輛與控制中心之間的數(shù)據(jù)通信,還能夠通過(guò)can總線(xiàn)檢測(cè)汽車(chē)主要技術(shù)參數(shù),為交通道路的智能管理以及汽車(chē)的安全駕駛提供了可靠保
評(píng)論