新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ETX與VxWorks的嵌入式車輛導航系統(tǒng)的設計

基于ETX與VxWorks的嵌入式車輛導航系統(tǒng)的設計

作者: 時間:2012-05-21 來源:網絡 收藏

(4)無線通訊模塊

本系統(tǒng)的無線通訊部分采用了短消息方式,選用了深圳科靈通科技有限公司生產的短消息模塊DTR2000。它主要由西門子公司生產的工業(yè)級GSM模塊和一款高性能的處理器組成,可通過短消息功能實現無線數據傳送的功能,且支持中文傳輸。其傳輸數據透明,協(xié)議簡單,能夠方便的進行模塊之間以及模塊與手機之間的通訊。

(5)其它

本系統(tǒng)采用了GPS定位方式,通過彩色LCD進行電子地圖及定位點的顯示,并采用了可與直接相連的CF卡作為存儲設備。

4 系統(tǒng)的軟件設計

由于對多任務性、實時性、穩(wěn)定性的要求比較高,因此本系統(tǒng)采用了嵌入式操作系統(tǒng)。它包括了進程管理、存儲管理、設備管理、文件系統(tǒng)管理、網絡協(xié)議及系統(tǒng)應用等幾個部分,而且高度可裁減,只占用很小的存儲空間,保證了其能以較高的效率運行于導航系統(tǒng)中。包括微內核wind、高級的網絡支持、強有力的文件系統(tǒng)和I/O管理、C++和其他標準支持等核心功能。微內核wind處于操作系統(tǒng)的核心,支持所有的實時特征:快速任務切換、中斷支持、搶占式和時間片輪轉調度等,能夠很好的滿足導航系統(tǒng)對實時性和多任務的要求。

本系統(tǒng)的軟件功能框圖如圖-3所示,分為VxWorks環(huán)境下的驅動程序和應用軟件兩部分。前者主要是對TL16C554驅動的開發(fā),而其它設備(如顯卡,網卡等)由于VxWorks自帶了X86的相關驅動而不必涉及。TL16C554的驅動開發(fā)可參照VxWorks自帶的串行驅動模板來進行,這里只簡單描述一下開發(fā)步驟。VxWorks系統(tǒng)的串行設備驅動不是直接掛在IO系統(tǒng)中,而是由虛擬設備ttyDrv在中間充當轉換層。因此驅動需要根據系統(tǒng)接口實現驅動并掛到ttyDrv上。首先需要修改config.h、sysSerial.c等文件中的相關參數,然后再編寫具體的驅動程序實現設備的 I/O操作,包括TL16C554的初始化函數、I/O控制函數、中斷處理函數等。這樣,系統(tǒng)在初始化時就會將設備和驅動程序安裝好,應用程序就可以按照與設備無關的統(tǒng)一方式進行I/O操作了。

應用軟件的開發(fā)包括電子地圖和導航應用程序設計兩部分的設計:

(1)電子地圖的設計

電子地圖的設計包括圖形界面和地圖數據庫兩部分。本系統(tǒng)通過VxWorks的WindML(Wind River Multimedia Library)實現了電子地圖的圖形界面。WindML主要是用來實現基本的圖形、視頻和音頻技術以及設計標準設備驅動程序框架,它提供了一個統(tǒng)一的圖形硬件接口以及處理輸入設備和輸入設備事件的能力。電子地圖數據庫的數據結構采用了Arc—Node結構。該結構的基本原理是采用“以直代曲”的思想,即在允許的精度范圍內,通過加入多個節(jié)點將現實中的真實道路用一系列線段來模擬或近似表示,整個道路網絡就是由Arc(小段的線段)和Node(Arc的兩個端點)組成,并具有明確的拓撲關系,可以實現路徑規(guī)劃。本系統(tǒng)實現了北京市四環(huán)以內的電子地圖,并實現了地圖瀏覽、地點查詢、路徑規(guī)劃等功能。

(2)導航應用程序的設計

導航應用程序包括了對電子地圖的操作、GPS定位、收發(fā)短消息、語音提示、人機接口等功能的實現。在設計中,根據VxWorks提供的良好的多任務特性,將不同的導航功能模塊分給了不同任務去執(zhí)行,通過任務間通信機制保證多任務的同步。其中系統(tǒng)的主任務負責實現硬件設備的初始化(如串口、看門狗的配置等)、電子地圖的初始化和首次顯示、發(fā)起子任務等功能,其流程圖可如圖-4所示。

主任務中發(fā)起了四個子任務,分別負責響應用戶的輸入、標準串口的數據輸入、ISA總線16C554的數據輸入以及實現路徑規(guī)劃算法。前三個功能獨立出來是因為這些功能的觸發(fā)時間都是不確定的,需要單獨監(jiān)視;最后一個則因為需要較大的運算量。這里只以接收串口數據的子任務為例進行分析。該任務需要監(jiān)視兩個串口的信息:GPS數據和從語音模塊返回的狀態(tài)信息。VxWorks將I/O系統(tǒng)設計成為與設備無關的接口,因此對串口的操作可以視為對文件的操作。串口的打開,關閉和寫操作均比較簡單,而串口的讀操作采用了select函數,利用其觸發(fā)機制阻塞任務。有數據到來時,任務才會被激活并從串口讀取數據,然后通過任務間通信機制,通知主任務進行相應的處理,如進行地圖更新、輸出語音提示等操作。

5 結束語

經過實驗,本系統(tǒng)能夠穩(wěn)定可靠的運行。系統(tǒng)的實驗結果可如圖-5所示,展示了其GPS定位和路徑規(guī)劃的功能。本系統(tǒng)功能的實現證明了平臺以及VxWorks操作系統(tǒng)的優(yōu)良性能,表明兩者的結合具有開發(fā)簡單、性能可靠等優(yōu)點,有著良好的應用前景。

參 考 文 獻

[1] 張其善等. 智能車輛定位導航系統(tǒng)及應用. 北京:科學出版社,2002

[2] 探矽工作室. 嵌入式系統(tǒng)開發(fā)圣經. 北京:中國鐵道出版社,2003

[3] 陳智育等. VxWorks程序開發(fā)實踐. 北京:人民郵電出版社,2004

[4] 何江水等. VxWorks漢字的顯示支持. 微計算機信息,2005年第五期


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉