一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于GPS定位技術(shù)和GPRS通信模塊實現(xiàn)車載導(dǎo)航系統(tǒng)終端的設(shè)計

電子設(shè)計 ? 來源:電子測試 ? 作者:凡書明,朱建光,余 ? 2021-04-13 10:44 ? 次閱讀

作者:凡書明, 朱建光, 余紅英

引言

面對龐大的汽車市場以及隨著全國各省市高速公路路網(wǎng)的建設(shè)與完善,對交通管理信息化的要求越來越高,gps車載系統(tǒng)的潛力不可估量,其發(fā)展前景比較樂觀。日本和西方各大公司都參與了這場高科技的角逐。各發(fā)達國家的很多生產(chǎn)商都加快了車載導(dǎo)航系統(tǒng)的研究步伐。隨著嵌入式技術(shù)的發(fā)展,很多資源不足的瓶頸問題都很大程度上得到了解決。車載定位系統(tǒng)由車載定位終端、無線通信鏈路和車載監(jiān)控管理系統(tǒng)三部分組成。其主要功能是將移動目標的動態(tài)位置(經(jīng)度和緯度)、時間和海拔等對用戶有用的信息,通過無線通信鏈路傳送到監(jiān)控中心,而后在電子地圖上對移動目標的運動軌跡進行顯示,并對車輛的準確位置、速度、運動方向和車輛狀態(tài)等用戶感興趣的參數(shù)進行監(jiān)控和查詢,為調(diào)度管理提供可視化依據(jù),提高車輛運行效率,還能起到節(jié)能減排的作用。也在一定程度上起到保護地球的作用。本文將gps定位技術(shù)應(yīng)用于氣車,與現(xiàn)有定位技術(shù)組合起來共同完成定位監(jiān)控任務(wù),將大大提高定位準確性及安全性,同時能夠降低資金投入,具有很廣闊的發(fā)展空間。

系統(tǒng)總體設(shè)計

系統(tǒng)硬件的結(jié)構(gòu)設(shè)計

車輛監(jiān)控系統(tǒng)由車載端(包括arm工控機、觸摸屏、gps接收模塊和電源等)、通信系統(tǒng)(gprs)、監(jiān)控中心三大部分組成。車載端的gps模塊實時接收全球定位衛(wèi)星的位置、時間等數(shù)據(jù),一方面發(fā)送給車內(nèi)的arm微型工控機,得到車輛的當(dāng)前位置并且在電子地圖上顯示:另一方面,數(shù)據(jù)將通過gprs終端模塊發(fā)送到遠程監(jiān)控中心服務(wù)器,使得監(jiān)控中心能實時得到所有車輛的位置信息,給車輛的安全監(jiān)控以及遠程凋度提供了基礎(chǔ)。通過spi接口can總線相連,利用can總線掛接傳感器,檢測汽車主要技術(shù)參數(shù),can總線模塊可以使本系統(tǒng)與其他車載模塊的連接,完成收集車輛的狀態(tài)信息以及進一步控制。can總線模塊主要包括can總線的控制器收發(fā)器,在這里分別選用的是microchip公司的mcp2510和飛利浦公司的pca82c250。其中,can總線控制器mcp2510實現(xiàn)了can總線的協(xié)議,can總線收發(fā)器pca82c250提供協(xié)議控制器和物理傳輸線路之間的接口。由于can總線控制器mcp2510具有spi接口,因此,系統(tǒng)中將其與s3c2440的spi0相連。故障檢測模塊主要是對汽車的主要技術(shù)參數(shù)進行檢測,并顯示到lcd顯示器上,如果檢測到故障,會發(fā)出報警信號。本文主要檢測的技術(shù)參數(shù)包括燃油消耗量、制動力、轉(zhuǎn)向力、發(fā)動機溫度、冷卻液溫度、前照燈,以及車內(nèi)噪聲和尾氣等方面。該模塊主要是通過各種傳感器把各種信號轉(zhuǎn)換為電信號,再利用信號處理電路把電信號進行相應(yīng)的處理,使其能與can總線模塊進行數(shù)據(jù)傳輸。車載端的硬件組成框圖,如圖1所示。

圖1 車載端的硬件組成框圖

應(yīng)用程序總結(jié)構(gòu)

應(yīng)用程序的總體流程圖如圖2所示。由于gprs模塊和gps模塊都是通過串口和監(jiān)控終端連接的,程序系統(tǒng)初始化的工作就是對串口進行初始化,使串口按gprs及gps模塊的要求工作。之后創(chuàng)建共享內(nèi)存是為gprs通信子進程與gps子進程之間的通信做準備。gps子進程負責(zé)從串口接收gps信息并把這些信息寫入共享內(nèi)存內(nèi),gprs子進程則將共享內(nèi)存內(nèi)的gps信息通過網(wǎng)絡(luò)送到遠方的監(jiān)控服務(wù)器。

gps驅(qū)動程序的編寫

為了使arm上的應(yīng)用程序能夠處理gps接收到的導(dǎo)航信號,要編寫gps的驅(qū)動程序。

這個gps驅(qū)動程序也是屬于字符型驅(qū)動程序,首先了解嵌入式開發(fā)中應(yīng)用程序、庫、內(nèi)核、驅(qū)動程序的關(guān)系:應(yīng)用程序調(diào)用應(yīng)用程序庫函數(shù)完成功能;應(yīng)用程序以文件形式訪問各種資源;應(yīng)用程序函數(shù)庫的一部分直接完成功能,一部分函數(shù)通過系統(tǒng)調(diào)用由內(nèi)核完成,內(nèi)核處理系統(tǒng)調(diào)用,調(diào)用設(shè)備驅(qū)動程序,設(shè)備驅(qū)動程序直接與硬件通信。如圖3所示

一般linux的設(shè)備驅(qū)動有三種類型,字符設(shè)備、塊設(shè)備、網(wǎng)絡(luò)設(shè)備。而我要講的gps模塊的驅(qū)動程序是屬于字符設(shè)備。對于字符設(shè)備發(fā)出讀/寫請求時,實際的硬件i/o操作一般緊接著發(fā)生。在設(shè)備管理中,除了設(shè)備類型外,內(nèi)核還需要一對被稱為主從設(shè)備號的參數(shù),才能唯一標識一個設(shè)備。主設(shè)備號相同的設(shè)備使用相同的驅(qū)動程序,從設(shè)備號用于區(qū)分具體設(shè)備的實例。用命令cat/proc/devices可以查看系統(tǒng)中所有設(shè)備對應(yīng)的主設(shè)備號。所以在gps驅(qū)動程序的開始定義設(shè)備名稱#define device_name “s3c2440-gps”再定義主設(shè)備號,我是讓系統(tǒng)自動分配的,以防主設(shè)備號已被占用,static int gps_major=0;驅(qū)動程序以一個模塊初始化函數(shù)作為入口,如module_init(s3c2440_gps_init)向內(nèi)核聲明當(dāng)前模塊的初始化函數(shù);再寫gps的初始化函數(shù):static int __init s3c2440_gps_init(void)函數(shù),在這個函數(shù)里面注冊一個設(shè)備,返回主設(shè)備號,可以寫成:gps_major=register_chrdev(0,device _name,&s3c2440_gps_fops),s3c2440_gps_fops是定義了的結(jié)構(gòu)體,規(guī)定了驅(qū)動程序向應(yīng)用程序提供的操作接口。如:static struct file_operations s3c2440_gps _fops ={.owner= this_module,。

open= s3c2440_gps_open,.release= s3c2440_gps_release=s3c2440_gps_release, .ioctl=s3c2440_gps_ioctl};繼續(xù)向下寫,gps_class=class_create(this_module,device_name);在/sysfs目錄下創(chuàng)建這個設(shè)備的類。再是注冊這個設(shè)備的類,如device_create(gps_class,null,mkdev(gps_major,0),null,device_name)。

gps應(yīng)用程序即定位功能的實現(xiàn)

要實現(xiàn)gps的定位必須先要對gps數(shù)據(jù)包進行解析,gps上電后,每隔一定的時間就會返回一定格式的數(shù)據(jù),數(shù)據(jù)格式為$信息類型,每行開頭的字符都是$,接著是信息類型,后面的是數(shù)據(jù),以逗號分開,完整的數(shù)據(jù)類型如下:$gprmc,080655.00,a,4546.40891,n,12639.65641,e,1.045,328.42,170809,,,a*60信息類型為:gpgsv:可見衛(wèi)星信息、gpgll:地理定位信息、gprmc:推薦最小定位信息、gpvtg:地面速度信息、gpgga:gps定位信息、gpgsa:當(dāng)前衛(wèi)星信息、這里我只解析gprmc和gpgga的信息。一.gprmc數(shù)據(jù)詳解:$gprmc,《1》,《2》,《3》,《4》,《5》,《6》,《7》,《8》,《9》,《10》,《11》,《12》*hh《1》utc時間,hhmmss(時分秒)格式《2》定位狀態(tài),a=有效定位,v=無效定位《3》緯度ddmm.mmmm(度分)格式(前面的0也將被傳輸)《4》緯度半球n(北半球)或s(南半球)《5》經(jīng)度dddmm.mmmm(度分)格式(前面的0也將被傳輸)《6》經(jīng)度半球e(東經(jīng))或w(西經(jīng))……。

最后編寫代碼,把經(jīng)/緯度解析出來,對于gpgga類型數(shù)據(jù),也是一樣,先了解每一位的含義,再寫代碼把海平面高度和大地水平面高度等數(shù)據(jù)解析并顯示出來。

gprs通信模塊實現(xiàn)

gprs模塊是借助gprs無線網(wǎng)絡(luò)實現(xiàn)數(shù)據(jù)的無線傳輸,從而在不同的車輛或車輛與控制中心之間架起溝通的橋梁,所以軟件的功能主要是建立無線連接,按照gprs通信協(xié)議傳輸數(shù)據(jù)。gprs模塊的通信主要是通過串口驅(qū)動實現(xiàn),在嵌入式linux內(nèi)核中已經(jīng)提供了對串設(shè)備的支持,因此在配置內(nèi)核編譯選項時,只需要選中對串口設(shè)備的支持,就可以實現(xiàn)對gprs模塊的串口數(shù)據(jù)通信功能。為了實現(xiàn)與internet的通信,還需要在配置內(nèi)核編譯選項時選中ppp和tcp/ip協(xié)議。這樣一旦網(wǎng)絡(luò)連接建立,就可以使用應(yīng)用程序來實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)的通信。本系統(tǒng)數(shù)據(jù)鏈路層采用ppp協(xié)議,它是一種面向字符的協(xié)議,是為在兩個對等實體間傳輸數(shù)據(jù)包連接而設(shè)計的,使用可擴展的鏈路控制協(xié)議lcp來建立、配置和測試數(shù)據(jù)鏈路。用網(wǎng)絡(luò)控制協(xié)議族ncp來建立和配置不同的網(wǎng)絡(luò)層協(xié)議,并且允許采用多種網(wǎng)絡(luò)層協(xié)議。一個ppp會話分四個步驟:建立連接、連接質(zhì)量控制、網(wǎng)絡(luò)層協(xié)議配置和連接終止。

嵌入式linux系統(tǒng)內(nèi)核源自于linux內(nèi)核,并保留了對tcp/ip以及其他的網(wǎng)絡(luò)協(xié)議的支持。在嵌入式linux系統(tǒng)上編寫網(wǎng)絡(luò)應(yīng)用程序與在linux上編寫網(wǎng)絡(luò)應(yīng)用程序沒什么大區(qū)別,通常只需要做很小的修改就可以移植到嵌入式linux系統(tǒng)上。至此,gprs模塊完整地集成到嵌入式終端中。

can模塊實現(xiàn)

can總線驅(qū)動程序要完成的報文發(fā)送、接收等任務(wù)都是圍繞can總線控制器展開的,因此驅(qū)動程序主要是對控制器mcp2510內(nèi)部寄存器進行操作。can總線控制器mcp2510的初始化按照以下步驟進行:(1)軟件復(fù)位,進入配置模式;(2)設(shè)置can總線波特率;(3)關(guān)閉中斷,設(shè)置id過濾器;(4)切換mcp2510到正常狀態(tài);(5)清空接收和發(fā)送緩沖區(qū);(6)開啟接收緩沖區(qū),開啟中斷。

實驗結(jié)果

本實驗結(jié)果能達到基本的要求,參見圖4,圖的右上角是經(jīng)/緯度。本系統(tǒng)還不完善,還有很多實用的功能有待進一步開發(fā)。

結(jié)論

該系統(tǒng)能夠通過gps和gprs實現(xiàn)車輛定位以及車輛與控制中心之間的數(shù)據(jù)通信,還能夠通過can總線檢測汽車主要技術(shù)參數(shù),為交通道路的智能管理以及汽車的安全駕駛提供了可靠保障。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • gps
    gps
    +關(guān)注

    關(guān)注

    22

    文章

    2949

    瀏覽量

    168160
  • GPRS
    +關(guān)注

    關(guān)注

    21

    文章

    985

    瀏覽量

    130520
  • 導(dǎo)航系統(tǒng)
    +關(guān)注

    關(guān)注

    2

    文章

    269

    瀏覽量

    31121
收藏 人收藏

    評論

    相關(guān)推薦

    GPS/GPRS定位定向導(dǎo)航系統(tǒng)車載終端應(yīng)用設(shè)計與實現(xiàn)

    GPS_GPRS定位定向導(dǎo)航系統(tǒng)車載終端應(yīng)用設(shè)計與實現(xiàn)一、引言   &nbs
    發(fā)表于 09-26 17:00

    車載GPS智能終端的設(shè)計與實現(xiàn)

    ,通過專用的GPS模塊即可方便地獲得車載GPS智能終端所在的全球定位坐標。其
    發(fā)表于 07-11 19:11

    最受工程師歡迎的車載設(shè)計方案——基于STM32+GPRS+GPS+Google Earth的車載導(dǎo)航定位系統(tǒng)

    基于Google Earth的軟件。軟件實現(xiàn)后的界面以及三維衛(wèi)星地圖如圖所示。上位機軟件界面:實現(xiàn)了googleearth的內(nèi)嵌,后臺掛了數(shù)據(jù)庫,存儲定位及溫度等信息。附件內(nèi)容包括:下位機源代碼;上位機vc6.0源代碼(程序運行
    發(fā)表于 08-28 15:32

    ADXL202和GPS怎么組合成車載導(dǎo)航系統(tǒng)?

    隨著定位導(dǎo)航技術(shù)的飛速發(fā)展和日臻成熟,車載導(dǎo)航系統(tǒng)在相關(guān)領(lǐng)域得到了越來越廣泛的應(yīng)用。車載
    發(fā)表于 10-25 07:17

    怎么實現(xiàn)基于DSP的車載GPS/DR組合導(dǎo)航系統(tǒng)硬件設(shè)計?

    本文介紹了以浮點DSPTMS320VC33為組合導(dǎo)航算法實現(xiàn)的核心處理器,利用TL16C554進行通信口擴展的GPS/DR組合導(dǎo)航系統(tǒng)的設(shè)計
    發(fā)表于 05-12 06:28

    請問怎樣去設(shè)計車載GPS/DR組合導(dǎo)航系統(tǒng)?

    車載GPS/DR組合導(dǎo)航系統(tǒng)是由哪些部分組成的?基于DSP的車載GPS/DR組合導(dǎo)航系統(tǒng)的設(shè)計
    發(fā)表于 05-12 06:56

    請問怎樣去設(shè)計車載定位定向導(dǎo)航系統(tǒng)?

    車載定位定向導(dǎo)航系統(tǒng)是由哪些部分組成的?怎樣去設(shè)計車載定位定向導(dǎo)航系統(tǒng)
    發(fā)表于 05-13 06:46

    怎么實現(xiàn)GPS_GPRS定位定向導(dǎo)航系統(tǒng)車載終端應(yīng)用設(shè)計?

    本文介紹了作者設(shè)計的一種車載監(jiān)控系統(tǒng)(以下簡稱為車載系統(tǒng)),并重點介紹了車載系統(tǒng)
    發(fā)表于 05-18 06:57

    基于GPS的汽車導(dǎo)航系統(tǒng)的設(shè)計與實現(xiàn)

    設(shè)計并實現(xiàn)了一種以單片機為主要控制器件、基于GSP 模塊的新型智能電動汽車底盤的導(dǎo)航系統(tǒng)。GPS定位系統(tǒng)
    發(fā)表于 08-31 15:51 ?44次下載

    基于ARM的車載導(dǎo)航定位終端硬件設(shè)計

            本文研究與設(shè)計了一種新型車載導(dǎo)航定位系統(tǒng)車載
    發(fā)表于 09-05 08:35 ?54次下載

    GPS導(dǎo)航系統(tǒng),GPS導(dǎo)航系統(tǒng)是什么意思

    GPS導(dǎo)航系統(tǒng),GPS導(dǎo)航系統(tǒng)是什么意思 GPS百科名片GPS 是英文Global Posit
    發(fā)表于 03-10 11:48 ?9338次閱讀

    ARM與GPRS導(dǎo)航系統(tǒng)終端設(shè)計與實現(xiàn)

    ARM /GPRS導(dǎo)航系統(tǒng)終端系統(tǒng)是基于ARM硬件平臺,集GPRS/GPS/GIS于一體的
    發(fā)表于 09-13 14:20 ?25次下載
    ARM與<b class='flag-5'>GPRS</b>自<b class='flag-5'>導(dǎo)航系統(tǒng)</b><b class='flag-5'>終端</b>設(shè)計與<b class='flag-5'>實現(xiàn)</b>

    北斗+GPS雙模定位導(dǎo)航模塊

    北斗+GPS雙模定位導(dǎo)航模塊 北斗+GPS雙模,是指導(dǎo)航終端既可以支持北斗衛(wèi)星
    發(fā)表于 09-07 15:07 ?49次下載

    定位有漂移? 您選對車載導(dǎo)航GPS模塊廠家了嗎?

    問題就迎刃而解了,SKYLAB針對弱信號環(huán)境下GPS信號漂移、定位不精準等問題研發(fā)推出了采用GNSS/INS組合導(dǎo)航定位技術(shù)
    的頭像 發(fā)表于 08-28 15:56 ?1.1w次閱讀

    基于嵌入式Linux的GPS車載定位導(dǎo)航系統(tǒng)設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于嵌入式Linux的GPS車載定位導(dǎo)航系統(tǒng)設(shè)計.pdf》資料免費下載
    發(fā)表于 10-13 10:29 ?1次下載
    基于嵌入式Linux的<b class='flag-5'>GPS</b><b class='flag-5'>車載</b><b class='flag-5'>定位</b><b class='flag-5'>導(dǎo)航系統(tǒng)</b>設(shè)計