版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、 基于 ARM 的嵌入式車載 GPS 定位系統(tǒng)設計鹿存波,鄧飛賀,趙龍章(南京工業(yè)大學自動化與電氣工程學院,江蘇南京 210009摘要:介紹了嵌入式 GPS 定位系統(tǒng)的整體設計方案,著重對基于 ARM9和嵌入式 Linux 的系統(tǒng)進行硬件設計和內(nèi)核移植,同 時介紹了 GPS 接收模塊的制作方案 。 最后對 GPS 驅(qū)動程序及應用程序進行了設計 。關(guān)鍵詞:GPS ; ARM ; 嵌入式 Linux 操作系統(tǒng)Design of Embedded Vehicle GPS Location System Based on ARMLU Cunbo , DENG Feihe , ZHAO Longzhan
2、g(College of Automation and Electric Engineering , Nanjing University of Techonology , Nanjing Jiangsu 210009, China Abstract :The whole design of embedded GPS system is introducedThe paper mainly designed the hardware and makes Linux kernel transplantedAnd it particularly implemented the execution
3、of GPS moduleFinally , the paper designed the GPS driver and the application programKeywords :GPS ; ARM ; Embedded Linux OS0引言車載定位系統(tǒng)作為車載信息系統(tǒng)的重要部分,利用 GPS 等裝置,以一定精度實現(xiàn)車輛定位,包含位置 、 速度和行車方向 等車輛姿態(tài)信息 。 繼一些國家之后,我國一些科研院所和高校 也開始研究自己的車載定位系統(tǒng),市場空前地繁榮 。 但是傳統(tǒng) 系統(tǒng)功能單一 、 集成度不高 。 隨著 ARM 處理器在全球范圍的 流行, 32位的 RISC 嵌入式處理器已經(jīng)
4、成為嵌入式應用和設計 的主流 。 同時嵌入式 Linux 是一個非常好的免費的操作系統(tǒng)內(nèi) 核,具有穩(wěn)定 、 良好的移植性,優(yōu)秀的網(wǎng)絡功能,完備的各種 文件系統(tǒng)的支持以及標準豐富的 API 等特點 。 因此,本文提供 了一套具有先進性及工程實用性的車載定位系統(tǒng)整體解決方 案,使得系統(tǒng)的性能 、 集成度和可擴展性大大提高 。1系統(tǒng)的硬件設計1. 1系統(tǒng)的整體硬件設計本文車載信息系統(tǒng)由主控制 、 定位 、 通信 、 數(shù)據(jù)采集 、 顯示等幾部分組成,如圖 1所示 。圖 1車載定位系統(tǒng)總體硬件設計方案主控制部分采用了三星公司基于 ARM920T 的 S3C2410和 Linux 的嵌入式系統(tǒng)平臺,完成整
5、個系統(tǒng)的控制 。 其主要包括電源電路 、 時鐘電路 、 復位電路 、 存儲模塊電路 、 JTAG 接口 電路 、 串行口電路 、 LCD 接口 、 SPI 接口以及按鍵電路的設計 。 主控模塊通過串行口 、 SPI 接口 、 LCD 接口與擴展模塊相連接 構(gòu)成整個硬件系統(tǒng) 。1. 2GPS 模塊的硬件設計與制作定位部分采用了自行設計和制作的基于瑞士 U-BLOX 公司 LEA-4S 芯片的 GPS 接收模塊 。 在此給出了 GPS 接收模塊的整 體設計,如圖 2所示 。圖 2GPS 接收模塊的整體設計u-blox 的 GPS 部分分為兩部分,采取數(shù)字 /模擬分開設計 的方法,有效提高了模塊的抗
6、干擾能力 。 在硬件的設計制作過程中,也是分為兩步,即模塊部分和數(shù)字部分 。 模擬部分主要 由天線接入端及天線供電部分 /檢測電路構(gòu)成 。天線選用 3V 供電的有源天線,增益 27dB 左右,噪聲系數(shù) 1. 5dB 左右 。 天線接入模塊較為復雜,從 GPS 有源天線天線接收的信號頻率高達 1. 575G ,屬于微波范圍 。 PCB 設計需要滿足 天線座到模塊 RF_IN 端的阻抗匹配為 50。模塊供電電源穩(wěn)壓電路為 5V 轉(zhuǎn) 3V 的五腳 LDO ,對電壓穩(wěn) 定精度較高,要求輸出紋波在 50mV 以下,電流為 150mA 左車載導航儀右,這里選用精工的 SOT-23-5封裝的 LDO S-1
7、1123. 0V ,能滿 足電源供應的要求 。 后備 3V 可充電微型鋰電池則為數(shù)據(jù)保存 作用 。選擇電路為波特率的選擇及速率選擇,或是啟動速度之類 的選擇,一般可以用默認值 。數(shù)字部分硬件相對簡單, LEA-4S 為兩路 TTL 電平輸出, 分別為 9600/11520波 特 率, 分 別 支 持 國 際 通 用 GPS 協(xié) 議 NMEA 及 u-blox 公司的 UBX 二進制格式 。 在本設計中,通過串 口 O 提取 ASCII 碼,串口數(shù)據(jù)通過 MAX232電平轉(zhuǎn)換為 RS232電平 。 另外,將 GPS 模塊的發(fā)送端和接收端經(jīng)電平轉(zhuǎn)換后與串 口 DB9交叉相連 。2軟件平臺的搭建系統(tǒng)
8、的軟件平臺的搭建其實就是嵌入式 linux 操作系統(tǒng)的 移植工作,主要包括 4步:建立交叉編譯環(huán)境; 移植引導程 序; 編譯內(nèi)核; 生成根文件系統(tǒng) 。交叉編譯工具主要由 gcc 、 binutils 和 glibc 這幾部分組成 。 由于重新建立一個交叉編譯工具鏈比較復雜也沒有任何意義, 所以本文使用已經(jīng)做好的工具鏈 。 因此建立交叉編譯環(huán)境的過 程實際就是對工具包 cross 3. 3. 2. tar. bz2解包的過程 。本文移植的 Bootloader 是韓國 Mizi 公司開發(fā)的 vivi 。 首先 在根目錄下創(chuàng)建一個 armsys2410目錄,對 vivi_armsystgz 執(zhí) 行
9、解壓命 令 。 解 壓 完 成 后 進 入 vivi _armsys 。 執(zhí) 行 命 令 make menuconfig ,然后選擇 “ Load on Alternate Configuration File ” 菜 單,再寫入 arch /def-configs /smdk2410,進行 vivi 的裁剪 。 執(zhí)行 make 命令進行編譯,在 vivi_armsys 目錄下生成 vivi 二進制文 件 。 最后將其燒寫到 Flash 。內(nèi)核的編譯通過命令 make menuconfig 進行內(nèi)核的配置; 通 過命令 make dep 建立依賴關(guān)系; 通過命令 make zImage 建立內(nèi)
10、 核 。 得到 Linux 內(nèi)核壓縮映像 zImage 。 最后通過 vivi 命令提示 模式下使用下載命令,將壓縮映像文件 zImage 裝載到 flash 存 儲器中 。Linux 支持多種文件系統(tǒng) 。 cramfs 是 Linus Torvalds 撰寫的 只具備最基本特性的文件系統(tǒng) 。 本文使用 mkcramfs 工具對主機 里已有 cramfs 文件系統(tǒng)進行制作和壓縮 。 最后也要燒寫到 flash 的相應部分 。3GPS 模塊驅(qū)動程序的開發(fā)Linux 將設備分為最基本的兩大類,字符設備和塊設備 。 字符設備是單個字節(jié)為單位進行順序讀寫操作,通常不使用緩 沖技術(shù); 而塊設備則是以固定
11、大小的數(shù)據(jù)塊進行存儲和讀的 。 GPS 模塊驅(qū)動程序是在 UART 驅(qū)動程序的基礎上加入對 GPS 模塊初始化和對 GPS 模塊輸出數(shù)據(jù)處理的部分,構(gòu)建一個 獨立的驅(qū)動模塊,在導航系統(tǒng)進實時導航工作模式時掛接到系 統(tǒng)內(nèi)核中,實現(xiàn) GPS 功能 。3. 1初始化 /清除模塊在初始化程序段中要完成對 GPS 設備的注冊,設備節(jié)點的 創(chuàng)建和對串口相關(guān)寄存器的初始化 。 部分代碼如下:if (register_chrdev(GPS_MAJOR, GPS_NAME, gps_fops 0/注冊 GPS 字符設備printk (KERN _INFO ” registering of “ GPS ” is
12、failed n ” ;return ret ;devfs_GPS_dir=devfs_mk_dir(NULL , “ GPS ” , NULL ; devfs_handle=devfs_register(devfs_GPS_dir, “ GPS ” DEVFS _FL_DEFAULT, GPS_MAJOR, 0, S_IFCHR|S_IRUSR|S_IWUSR, GPS_fops, NULL ;printk (“ GPS suecessfully initialized n” ;*UCON0=OxO211; /串口工作模式定義*UBDRO =OxOO17; /波特率的選擇相反, 清除模塊函數(shù)
13、 GPS_Cleanup(, 完成注銷字符設備 。 devfs_unregister_chrdev(GPS_MAJOR, GPS_NAME;printk (“ GPSmoduleremoved n” ;3. 2兩個數(shù)據(jù)結(jié)構(gòu)定義模塊驅(qū)動的最終目的就是取得 GPS 信息,因此規(guī)范 GPS 數(shù) 據(jù)是對數(shù)據(jù)傳遞的可靠性和速率都是有益的 。struct GPS_DATAunsigned int hour ; /小時, 24小時制unsigned int minute ; /分unsigned long Second ; /秒, 精度小數(shù)點后三 位unsigned long latitude ; /緯度u
14、nsigned char southornorth ; /緯度屬于南北的 標志碼unsigned long longitude ; /經(jīng)度unsigned char eastorwest ; /經(jīng)度屬于東西的標 志碼; /其中包括了在導航系統(tǒng)中所需的幾個重 要數(shù)據(jù) 。另外還有對驅(qū)動模塊文件操作結(jié)構(gòu)的定義 。 即:static struct file_operationsgps_fops=ead :gps_read,rite :gps_write,octl :gps_ioctl,open :gps_open ,elease :gps_release,; /定義了設備操作映射 函數(shù)結(jié)構(gòu) 。3. 3
15、驅(qū)動程序的模塊操作在導航系統(tǒng)進入 GPS 導航模式時,系統(tǒng)首先是將 GPS 模塊 注冊到操作系統(tǒng)中,實現(xiàn)初始化過程,再通過 gps_open 函數(shù) 車載導航儀 打開設備,此過程中完成對中斷 、 緩沖區(qū)以及定時器等資源的 申請,為 GPS 數(shù)據(jù)讀取做準備 。 通過 gps_write ( 向模塊寫 命令字來是自主地選擇工作模式, gps_ioctl ( 則是選擇串口 傳輸模式,使之與 GPS 模塊傳輸模式相匹配 。 之后的應用程序 將創(chuàng)立一個獨立的進程來進行 GPS 數(shù)據(jù)的讀取 gps_read (, 該進程沒有數(shù)據(jù)時進程一直處于睡眠狀態(tài)等待數(shù)據(jù),有數(shù)據(jù) 來,進入中斷處理模塊,完成數(shù)據(jù)的分析,生
16、成 GPS_DATA 數(shù)據(jù)結(jié)構(gòu),供導航使用 。 這個進程是隨著導航模式的切換而終 止的,此時除了關(guān)閉進程外,還需調(diào)用 gps_release ( 釋放 申請的所有資源,并關(guān)閉設備 。3. 4應用程序的實現(xiàn)GPS 模塊通過串口輸出 NMEAO183語句,而應用程序主要 完成對 GPS 數(shù)據(jù)的采集與解析 。 NMEA0183輸出語句多達十余 種,任意一種定位語句都包含一定的定位數(shù)據(jù),由于以 “ $G-PRMC ” 開頭的語句包含了本系統(tǒng)所需的所有定位信息,本系 統(tǒng)只需研究該類型 。$GPRMC , 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, *hh , CR LF 等該類
17、型定位數(shù)據(jù)的各個符號位的含義如表 1所示 。表 1$GPRMC 幀基本格式的描述域 描述$GPRMC 定位語句起始標志1協(xié)調(diào)世界時 UTC2GPS 定位狀態(tài)指示, A 為有效定位, V 為無效定位 3緯度4緯度標志, N 為北緯, S 為南緯5經(jīng)度6經(jīng)度標志, E 為東經(jīng), W 為西經(jīng)7相對于地面的速度8:軌道相對于地面的夾角9UTC 日期,日月年10磁偏角*hh 校驗標志符CR LF 語句中止符應用程序的整體設計流程如圖 3所示 。從圖 3可以看出,系統(tǒng)開始運行后首先對串口的初始化就 是對 GPS 模塊初始化,包括設置波特率 、 數(shù)據(jù)位 、 校驗位等; 然后開始接收 GPS 數(shù)據(jù),即從串口讀
18、數(shù)據(jù),并將讀到的數(shù)據(jù)保 存到 BUF 中; 接著進入數(shù)據(jù)的解析和提取階段,通過 BUF 5等不等于 “ c ” 判斷 是 否 為 $GPRMC ,若 是,則 開 始 提 取 經(jīng) 緯 度 、 時間等信息并存入結(jié)構(gòu)體 GPS_DATA 中,最后通過 LCD 顯示出來 。圖 3軟件設計整體框圖4結(jié)束語本文給出了基于 ARM9和嵌入式操作系統(tǒng) Linux 下, GPS 定位系統(tǒng)的整體解決方案 。 包括了系統(tǒng)的整體設計, GPS 模塊 制作方案,開發(fā)平臺搭建以及 GPS 驅(qū)動程序和應用程序的設 計 。 與市場上的車載定位系統(tǒng)相比,本設計在功能性 、 可擴展 性和穩(wěn)定性上都有所提高 。 以本系統(tǒng)作為基礎,車載定位系統(tǒng) 的下一步工作將可以專注于應用程序的編寫,包括提高 GPS 定 位精度的算法,以及開發(fā)更加友好的人機交互界面 。參考文獻:【 1】 徐俊仕 基于嵌入式 Linux 的車載 GPS 導航系統(tǒng)設計與實現(xiàn) D 西安:西北工業(yè)大學, 2007【 2】 宋凱, 嚴麗平, 甘嵐, 黃曉生 ARM Linux 在 S3C2410上的移植
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鋼結(jié)構(gòu)安裝施工方案模板
- 2026年綠色氫能工業(yè)項目投資計劃書
- 2025-2030中國稀有氣體氪市場發(fā)展狀況與前景規(guī)劃建議研究報告
- 2025-2030中國唇刷行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2026中國復合硅酸鹽保溫材料行業(yè)發(fā)展?jié)摿εc需求前景預測報告
- 2025-2030中國薯蕷皂素市場前景調(diào)研與未來發(fā)展規(guī)模研究報告
- 2025-2030中國臭氧洗衣機行業(yè)供需前景與市場未來需求量預測研究報告
- 2026米哈游秋招試題及答案
- 廣東省潮州市潮安區(qū)2024-2025年七年級上學期期末道德與法治試題(含答案)
- 2026年碳金融衍生品項目投資計劃書
- 2025年國家開放大學(電大)《企業(yè)戰(zhàn)略與政策》期末考試備考題庫及答案解析
- 儲藏物害蟲與防治課件
- 醫(yī)用煮沸槽使用課件
- 初中寒假計劃課件
- 中西醫(yī)結(jié)合外科學(副高)2025年考試試題及答案
- 專升本語文教學課件
- 吞咽功能指南解讀
- 腦卒中吞咽障礙評估護理
- 別人買房子給我合同范本
- 電力通信培訓課件
- 工程項目風險評估與控制方案
評論
0/150
提交評論