在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

通過利用ARM9和Linux操作系統實現車載GPS定位系統的設計

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-07-26 08:12 ? 次閱讀

前言

車載定位系統作為車載信息系統的重要部分,利用GPS等裝置,以一定精度實現車輛定位,包含位置、速度和行車方向等車輛姿態信息。繼一些國家之后,我國一些科研院所和高校也開始研究自己的車載定位系統,市場空前的繁榮。但是傳統系統功能單一、集成度不高。隨著ARM處理器在全球范圍的流行,32位的RISC嵌入式處理器已經成為嵌入式應用和設計的主流。同時嵌入式Linux是一個非常好的免費的操作系統內核,具有穩定、良好的移植性、優秀的網絡功能、完備的各種文件系統的支持、以及標準豐富的API等特點。因此,本文提供了一套具有先進性及工程實用性的車載定位系統整體解決方案,使得系統的性能、集成度和可擴展性大大提高。

1 系統的硬件設計

1.1 系統的整體硬件設計

本文車載信息系統由以下幾部分組成:主控制部分、定位部分、通信部分、數據采集部分、顯示部分,如圖1所示。

通過利用ARM9和Linux操作系統實現車載GPS定位系統的設計

圖1 車載定位系統總體硬件設計方案

主控制部分采用了三星公司基于ARM920T的S3C2410和Linux的嵌入式系統平臺,完成整個系統的控制。其主要包括電源電路、時鐘電路、復位電路、存儲模塊電路、JTAG接口電路、串行口電路、LCD接口、SPI接口以及按鍵電路的設計。主控模塊通過串行口、SPI接口、LCD接口與擴展模塊相連接構成整個硬件系統。

1.2 GPS模塊的硬件設計與制作

定位部分采用了自行設計和制作了基于瑞士U-BLOX公司LEA-4S芯片的GPS接收模塊。在此給出了GPS接收模塊的整體設計,如圖2所示。

通過利用ARM9和Linux操作系統實現車載GPS定位系統的設計

圖2GPS接收模塊的整體設計

u-blox的GPS部分分為兩部分。采取數字/模擬分開設計的方法,有效提高了模塊的抗干擾能力。在硬件的設計制作過程中。也是分為兩步,即模塊部分和數字部分。模擬部分主要由天線接入端及天線供電部分/檢測電路構成。

天線選用3v供電的有源天線,增益27dB左右,噪聲系數1.5dB左右。天線接入模塊較為復雜,從GPS有源天線接收的信號頻率高選1.575C,屬于微渡范圍。PCB設計需要滿足天線座到模塊RF_IN端的阻抗匹配為50Ω。

模塊供電電源穩壓電路為5v轉3v的五腳LDO,對電壓穩定精度較高,要求輸出紋波在50mV以下,電流為150mA左右,這里選用精工的SOT-23-5封裝的LDO S-1112 3.0V,能滿足電源供應的要求。后備3V可充電微型鋰電池則為數據保存作用。

選擇電路為波特率的選擇及速率選擇?;蚴菃铀俣戎惖倪x擇,一般可以用默認值。

數字部分硬件相對簡單,LEA-4S為兩路TTL電平輸出,分別為9600/11520波特率,分別支持國際通用GPS協議NMEA及u-blox公司的UBX二進制格式。在本設計中,通過串口O提取ASCII碼,串口數據通過MAX232電平轉換為RS232電平。另外,將GPS模塊的發送端和接收端經電平轉換后與審口DB9交叉相連。

2軟件平臺的搭建

系統的軟件平臺的搭建其實就是嵌入式linux操作系統的移植移植工作,主要包括4步:建立交叉編譯環境,移植引導程序,編譯內核,生成根文件系統。

交叉編譯工具主要由gcc,binutils和glibc這幾部分組成。由于重新建立一個交叉編譯工具鏈比較復雜也沒有任何意義,所以本文使用已經做好的工具鏈。因此建立交叉編譯環境的過程實際就是對工具包cross-3.3.2.tar.bz2解包的過程。

本文移植的Bootloader是韓國Mizi公司開發的vivi.首先在根目錄下創建一個armsys2410目錄,對vivi_armsys.tgz執行解壓命令。解壓完成后進人vivi_armsys.執行命令makememmonfig,然后選擇"Load on Alternate Configuration File"菜單,再寫入arch/def-co-igs/smdk2410,進行vivi的裁剪。執行make命令進行編譯,在vivi_armsys目錄下生成vivi二進制文件。最后將其燒寫到Flash.

內核的編譯通過命令make menueorffig進行內核的配置;通過命令make dep建立依賴關系;通過命令make zlmage建立內核。得到Linux內核壓縮映像zhnage.最后通過vivi命令提示模式下使用下載命令,將壓縮映像文件zlmge裝載到flash存儲器中。

Linux支持多種文件系統。cramfs是Linus Torvalds撰寫的只具備最基本特性的文件系統。本文使用mkcramfs工具對主機里已有cramfs文件系統進行制作和壓縮。最后也要燒寫到flash的相應部分。

3 GPS模塊驅動程序的開發

Linux將設備分為最基本的兩大類,字符設備和塊設備。字符設備是單個字節為單位進行順序讀寫操作,通常不使用緩沖技術;而塊設備則是以固定大小的數據塊進行存儲和讀的。

GPS模塊驅動程序是在UART驅動程序的基礎上加入對GPS模塊初始化和對GPS模塊輸出數據處理的部分,構建一個獨立的驅動模塊,在導航系統進實時導航工作模式時掛接到系統內核中,實現GPS功能。

3.1 初始化/清除模塊

在初始化程序段中要完成對GPS設備的注冊,設備節點的創建和對串口相關寄存器的初始化。部分代碼如下:

通過利用ARM9和Linux操作系統實現車載GPS定位系統的設計

3.2 兩個數據結構定義

模塊驅動的最終目的就是取得GPS信息,因此規范GPS數據是對數據傳遞的可靠性和速率都是有益的。

struct GPS_DATA{

unsigned int hour;//小時,24小時制

unsigned int minute;//分

unsigned long Second;//秒,精度小數點后三位

unsigned long latitude;//緯度

unsigned char southornorth;//緯度屬于南北的標志碼

unsigned long longitude;//經度

unsigned char eastorwest;//經度屬于東西的標志碼

};//其中包括了在導航系統中所需的幾個重要數據。

另外還有對驅動模塊文件操作結構的定義。即:

static struct file_operations gps_fops={ead:gps_read,

rite:gps_write,

octl:gps_ioctl,

open:gps_open,

elease:gps_release,

};//定義了設備操作映射函數結構。

3.3 驅動程序的模塊操作

在導航系統進入GPS導航模式時,系統首先是將GPS模塊注冊到操作系統中,實現初始化過程,再通過gps_open函數打開設備,此過程中完成對中斷、緩沖區以及定時器等資源的申請,為GPS數據讀取做準備。通過gps_write()向模塊寫命令字來是自主地選擇工作模式,gps_ioctl()則是選擇串口傳輸模式,使之與GPS模塊傳輸模式相匹配。之后的應用程序將創立一個獨立的進程為進行GPS數據的讀取gps_read(),該進程沒有數據時進程會一直處于睡眠等待數據,有數據來,進入中斷處理模塊,完成數據的分析,生成GPS_DATA數據結構,供導航使用。這個進程是隨著導航模式的切換而終止的,此時除了關閉進程外,還需要用gps_release()釋放申請的所有資源,并關閉設備。

3.4應用程序的實現

GPS模塊通過串口輸出NMEAO183語句,而應用程序主要完成對GPS數據的采集與解析。NMEA0183輸出語句多達十余種,任意一種定位語句都包含一定的定位數據,由于以"$GPRMC"開頭的語句包含了本系統所需的所有定位信息,本系統只需研究該類型。該類型定位數據的各個符號位的含義如下所示。

表1 $GPRMC幀基本格式的描述

通過利用ARM9和Linux操作系統實現車載GPS定位系統的設計

應用程序的整體設計流程如圖3所示。

通過利用ARM9和Linux操作系統實現車載GPS定位系統的設計

圖3 軟件設計整體框圖

從圖3可以看出,系統開始運行后首先對串口的初始化就是對GPS模塊韌始化,包括設置波特率、數據位、校驗位等,然后開始接收GPS數據。即從串口讀數據。井將讀到的數據保存到BUF中;接著進入數據的解析和提取階段。通過BUF等不等于"c"判斷是苦為$GPRMC;若是,則開始提取經緯度、時間等信息并存入結構體GPS_DATA中。最后通過LCD顯示出來。

4 結束語

本文給出了基于ARM9和嵌入式操作系統Linux下,GPS定位系統的整體解決方案。包括了系統的整體設計,GPS模塊制作方案,開發平臺搭建以及GPS驅動程序和應用程序的設計。較市場上的車載定位系統相比,本設計在功能性、可擴展性和穩定性上都有所提高。由本系統作為基礎,車載定位系統的下一步工作將可以專注于應用程序的編寫,包括提高GPS定位精度的算法,以及開發更加友好的人機交互界面。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5095

    文章

    19189

    瀏覽量

    307987
  • Linux
    +關注

    關注

    87

    文章

    11351

    瀏覽量

    210504
  • 操作系統
    +關注

    關注

    37

    文章

    6900

    瀏覽量

    123810
收藏 人收藏

    評論

    相關推薦

    WKADS ARM9開發系統培訓

    WKADS ARM9開發系統培訓主要內容MXL處理器WKADS應用開發系統嵌入式Linux操作系統WKADS應用實例 [hide]
    發表于 10-31 14:19

    怎么設計一種基于ARM9 S3C2410A的智能車載系統?

    本文設計一種基于ARM9 S3C2410A的智能車載系統,它能夠通過GPS全球定位系統和GPRS
    發表于 05-17 06:03

    怎么實現基于ARM9的嵌入式智能車載系統設計?

    車載智能導航終端應具有哪些功能?怎么實現基于ARM9的嵌入式智能車載系統設計?
    發表于 05-18 06:04

    基于ARM車載GPS定位終端的設計

    論文設計了一套基于 ARM 處理器的車載GPS 系統,采用AT91RM9200 處理器為硬件平臺,在該處理器上移植Linux
    發表于 06-24 09:54 ?51次下載

    WKADS ARM9開發系統培訓

    WKADS ARM9開發系統培訓 主要內容MXL處理器WKADS應用開發系統嵌入式Linux操作系統WKADS應用實例
    發表于 02-10 10:48 ?38次下載

    基于ARM9Linux操作系統的彩色液晶驅動設計

    為了提高工業儀表的開發效率,降低人機界面的設計難度,設計了一種具有通用接口的彩色液晶驅動終端。利用高性能ARM9微控制器與嵌入式Linux操作系統相結合的方法
    發表于 12-24 16:17 ?55次下載

    基于ARM9的智能車載系統設計

    基于ARM9的智能車載系統設計 在當前的汽車產業中,出于對安全性、舒適性、方便性、低公害、低成本的要求,開發了各種各樣的電子控制系統。本文設
    發表于 05-11 10:55 ?1249次閱讀
    基于<b class='flag-5'>ARM9</b>的智能<b class='flag-5'>車載</b><b class='flag-5'>系統</b>設計

    基于ARM9車載GPS定位終端設計

    車載GPS定位終端在過去十年內已經成為汽車工業發展的焦點。在歐美國家和日本,車載GPS定位終端在
    發表于 10-27 16:24 ?2549次閱讀
    基于<b class='flag-5'>ARM9</b>的<b class='flag-5'>車載</b><b class='flag-5'>GPS</b><b class='flag-5'>定位</b>終端設計

    基于ARM9的電力負控終端系統的設計

    介紹了采用高端嵌入式單片機ARM9和嵌入式Linux操作系統構成的電力負荷終端系統,以及該系統的整體設計方案。終端
    發表于 12-23 14:55 ?51次下載
    基于<b class='flag-5'>ARM9</b>的電力負控終端<b class='flag-5'>系統</b>的設計

    基于LinuxARM9遠程客車監控系統

    針對長途客車普遍存在著超員問題,提出了一種基于GPS/GPRS的遠程監控系統設計方案,該方案采用ARM微處理器和嵌入式Linux操作系統作為
    發表于 02-08 11:31 ?28次下載
    基于<b class='flag-5'>Linux</b>的<b class='flag-5'>ARM9</b>遠程客車監控<b class='flag-5'>系統</b>

    基于ARM9和NANDFlash對uboot和Linux內核進行修改

    本文針對嵌入式Linux操作系統提出了一種新的更新機制,并且基于ARM9微處理器和NANDFlash存儲器,對uboot和Linux內核進行修改,
    發表于 04-07 11:00 ?2846次閱讀
    基于<b class='flag-5'>ARM9</b>和NANDFlash對uboot和<b class='flag-5'>Linux</b>內核進行修改

    如何使用ARM9與WindowsCE進行車輛GPS定位信息采集系統的資料說明

      ARM9微處理器S3C2440カ硬件平臺核心,WindowsCE嵌入式操作系統軟件平臺,杓建了微型化、便攜的車輌GPS定位信息采集系統。
    發表于 02-28 17:03 ?10次下載
    如何使用<b class='flag-5'>ARM9</b>與WindowsCE進行車輛<b class='flag-5'>GPS</b><b class='flag-5'>定位</b>信息采集<b class='flag-5'>系統</b>的資料說明

    基于Linux操作系統和S3C2410微處理器實現GPS實時導航系統的設計

    Linux操作系統,Linux操作系統負責系統的整體調度和控制。通過S3C2410的UART接口
    發表于 03-09 10:47 ?1119次閱讀
    基于<b class='flag-5'>Linux</b><b class='flag-5'>操作系統</b>和S3C2410微處理器<b class='flag-5'>實現</b><b class='flag-5'>GPS</b>實時導航<b class='flag-5'>系統</b>的設計

    基于ARM9手持GPS定位系統的研究與實現

    電子發燒友網站提供《基于ARM9手持GPS定位系統的研究與實現.pdf》資料免費下載
    發表于 10-12 09:44 ?0次下載
    基于<b class='flag-5'>ARM9</b>手持<b class='flag-5'>GPS</b><b class='flag-5'>定位</b><b class='flag-5'>系統</b>的研究與<b class='flag-5'>實現</b>

    基于ARM9和WinCE操作系統的機電設備監測終端設計

    電子發燒友網站提供《基于ARM9和WinCE操作系統的機電設備監測終端設計.pdf》資料免費下載
    發表于 10-23 11:37 ?0次下載
    基于<b class='flag-5'>ARM9</b>和WinCE<b class='flag-5'>操作系統</b>的機電設備監測終端設計
    主站蜘蛛池模板: 婷婷在线观看香蕉五月天 | 日本一区二区免费看 | 国产在线精品一区二区夜色 | 性欧美高清极品xx | 在线激情网址 | 一级特黄性生活大片免费观看 | 亚洲视频在线视频 | 免费人成在线观看视频播放 | 人操人摸| 亚洲一区二区三区电影 | 18性夜影院午夜寂寞影院免费 | 神马午夜嘿嘿 | 91色在线观看 | 亚洲高清一区二区三区四区 | 超级黄色毛片 | 久久国产伦三级理电影 | 午夜欧美福利视频 | 日本一区视频在线观看 | 亚欧美视频 | 午夜视频在线观看www中文 | 国产小视频在线播放 | 中文字幕天天躁夜夜狠狠综合 | 国产 麻豆 欧美亚洲综合久久 | 天天综合网站 | 亚洲成av人片在线观看无码 | 天天看天天碰 | 511韩国理论片在线观看 | 欧亚激情偷乱人伦小说视频 | 色欧美色图 | 日本视频一区在线观看免费 | 亚洲禁片 | 天天操夜夜爱 | 奇米7777第四色 | 夜夜春夜夜夜夜猛噜噜噜噜噜 | 福利色播| 亚洲夜夜骑 | 手机看片1024久久 | www.av网站 | 日日干夜夜操视频 | 九九九国产在线 | 黄页网址免费观看18网站 |