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

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

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

3天內不再提示

基于Linux和MPC823E嵌入式處理器實現船舶導航系統的設計

電子設計 ? 來源:電子技術應用 ? 作者:胡力,陳耀武,汪 ? 2021-06-21 17:01 ? 次閱讀

作者:胡力,陳耀武,汪樂宇

介紹了一種基于GPS和電子海圖、使用嵌入式Linux操作系統的船舶導航系統,討論了船舶導航GUI、電子海圖數據的預海圖顯示等關鍵技術,并給出了解決方案。

以GPS和電子海圖為技術核心,為航海用戶提供安全航行所必需的海圖、航路等信息的船舶導航系統目前正在全世界得到廣泛應用,大大提高了船舶導航技術與船航行的安全性。

船舶導航系統目前主要有PC機系統、單片機系統和嵌入式系統等三種實現方式。常見的PC機船舶導航系統采用基于Windows的GIS軟件(如MapInfo、MapGIS)設計,具有系統功能豐富、響應速度快、人機交互界面友好等特點,但成本較高、系統集成度差,不適合用為專業系統使用。單片機電子海圖應用系統由于處理器運算能力較弱,資源有限,支持網絡化困難,而且在圖形用戶界面實現較為困難,近年來已較少使用。隨著嵌入式系統的發展,電子海圖應用系統有了更好的選擇,使用嵌入式32位處理器和嵌入式操作系統的產品逐漸出現。由于系統集成度高、硬件成本較低等特點,在近幾年獲得較多應用。而采用WindowsCE、Vxworks、Palm OS等商用嵌入式操作系統,存在軟件開發成本較高的缺點。

本文提出并設計了一種基于GPS和電子海圖,使用嵌入式32位處理器和嵌入式Linux的船舶導航系統。該系統采用Motorola公司的MPC823E嵌入式處理器,外接GPS接收儀和256色液晶顯示器,基于嵌入式Linux操作系統,具有源碼開放、易移植、模塊化、資源豐富的優勢。圖形用戶界面(GUI)采用QT/Embedded圖形開發庫,電子海圖用海司航保部的符合國家軍用標準的矢量海圖,并預先對電子海圖數據進行預處理,刪除冗余數據,進行二維幾何數據壓縮、建立網絡索引。在此基礎上進行船舶導航系統軟件設計,使得系統響應速度大大加快。

1 系統硬件結構和軟件開發平臺

系統整體結構如圖1所示。本系統使用Motolora公司的MPC823E嵌入式處理器,該處理器采用嵌入式PowerPC處理核,采用RISC技術,主頻為75MHz,具有強大的處理能力,并針對通信進行優化,通過獨立的通信模塊(CPM)專門處理通信事務。系統通過通用串行總線控制器USB)外接鍵盤和鼠標;通過液晶顯示(LCD)控制器外接一個256色的TFT LCD 640%26;#215;480彩色液晶顯示器,用于圖形用戶界面的顯示;通過RS232外接GPS接收儀;系統外擴32MB Flash空間,用于存儲Linux內核、應用程序和電子海圖數據;系統外擴32MB SDRAM,用于操作系統內存空間,存放動態數據和運行程序。

系統軟件基于嵌入式Linux操作系統,使用C++語言進行軟件開發,并選擇QT/Embedded作為圖形用戶界面(GUI)開發環境。QT是Trolltech公司推出的跨平臺C++圖形用戶開發庫,QT/Embedded是QT面向嵌入式應用的版本,具有可移植性強,支持Linux、Windows、Mac的優點,移值到新平臺時,只需用該平臺的編譯器重新編譯即可;面向對象,采用C++語言,加上特有的信號/槽(singal/slot)機制,使得面向對象的程序設計變得簡單而有效;可裁剪,通過去掉無關模塊可以調整庫文件的大小、適合嵌入式系統使用;GUI界面支持大量標準的窗口部件,并提供了界面設計工具designer;支持國際化,支持中文顯示,并提供了多語言支持工具linguist。QT/Embedded強大的圖形繪制功能在電子海圖的應用系統中得到了充分的應用。

系統從全球定位系統GPS實時獲取船舶位置(包括經緯度與時間等)和航行信息(包括船速與航向等),在電子海圖上顯示相關導航信息,用戶通過精簡的鼠標鍵盤操作,提供海圖漫游、海圖查詢和航行信息管理等功能。

2 電子海圖數據處理

2.1電子海圖數據組織結構

本系統使用海司航保部的軍用矢量格式MVCF(Military Vector Chart Format)海圖。MVCF以圖幅為單位組織,采用目錄結構,目錄名即為電子海圖的編號。一個圖幅目錄由一個元數據文件和多個海圖層次文件組成。元數據文件記錄每幅圖的比例尺、基準緯度等控制信息,海圖層次文件由40多種圖層文件組成。例如海洋陸地層、港口設施層等。每一種圖層文件由圖形文件、索引文件和屬性文件組成。其中圖形文件記錄了海圖要素的墨卡托投影坐標數據,索引文件記錄了對應的圖形文件中海圖要素在圖形文件中的偏移量,

屬性文件是dbase表文件,記錄了海圖要素屬性,包括要素的名字、備注等。

這樣一幅海圖包括130多個文件,本系統使用的海圖包括中國總圖、沿海航行圖、港灣圖等共74幅海圖,占用空間260多兆字節。由于嵌入式系統存儲空間和處理器運算能力的限制,需要在PC機上對電子海圖進行數據精簡壓縮和優化,以提高系統響應速度。

2.2 電子海圖數據壓縮

(1)刪除冗余數據

MVCF海圖數據量大,線狀要素和多邊形要素細節豐富,而周期入式電子海圖應用系統由于液晶顯示器的大小和分辨率的限制,有相當一部分數據浪費。本系統使用的液晶顯示器分辨率為640%26;#215;480,長和寬為21cm%26;#215;15cm,可以計算出像素間距約為0.031cm。用各種比例尺的電子海圖顯示時,線狀或面狀實體的某些點的間隔如果小于像素間距,顯然無法顯示,應刪除這種冗余點。以像素間距作為閥值,刪除海圖冗余數據,算法如下:

選定一個線狀或面狀實體,順序遍歷其坐標點,除起點和終點外,對每個點計算該點與上一個點的距離,若小于閥值,則刪除該點。

(2)二維幾何壓縮

使用合適的二維幾何壓縮算法能使電子海圖在保持形狀的前提下減少數據量。本系統使用DouglasPoiker算法進行線狀和面狀實體的壓縮。該算法的思想是,從一個近似的形狀開始,逐步修正。該算法同樣需要一個閥值,本系統可使用上文的同一閥值。以面狀實體為例,算法過程如下:

選擇多邊形P的兩個頂點V1和V2,考慮V1、V2,V1組成的多邊形Q是P的一個近似,掃描P中其他頂點,選擇距離Q的邊最遠的頂點W,把W加入到Q中形成新的多邊形,繼續掃描P中的其他頂點,直到P中剩余的頂點距離Q邊的最長距離小于閥值為止。多邊形Q即為壓縮結果。

2.3建立網格索引

高效的索引結構是提高數據訪問效率的關鍵。MVCF海圖數據量大,電子海圖應用系統實際使用過程中,顯示的區域通常只是一個圖幅的一部分,如果能快速搜索到這部分的海圖數據,系統的響應速度將大大提高。本系統使用網格索引,MVCF海圖按比例尺分為從1:4000000到1:25000共10多級,對每一種比例尺的海圖,都建立一個網格索引,方法如下:

用一個矩形網格與海圖要素逐個進行相交或包容判斷,凡是在網格中的海圖要素,就記錄下該要素在圖形文件內的偏移量,最后形成網格索引文件。其中,多邊形要素與矩形網格的相交判斷方法是,若多邊形的一部分端點落在矩形內,而另一部分卻落在矩形的外部,則兩者是相交的;多邊形與矩形的包容判斷是,若多邊形所有的端點落在矩形內則是包容于關系,若矩形所有的端點落在多邊形內則是包容關系。線狀要素也可用相似的方法判斷。

3 系統軟件的設計與實現

系統軟件如圖2所示,主要由以下模塊組成:系統界面與管理模塊、海圖數據模塊、海圖算法模塊、海圖顯示模塊、航行信息管理模塊、GPS接收模塊等。

系統界面與管理模塊:實現系統主界面和操作菜單,通過調用其它模塊實現海圖漫游、自動對中、海圖查詢、管理航線、保存航行記錄等功能。

海圖數據模塊:負責讀取電子海圖文件,實現海圖查詢功能。通過dbase屬性文件搜索地圖要素,可以通過SQL語句在屬性文件中找到該要素,從而得到該要素在索引文件中的位置。

海圖算法模塊:包括程序中用到的各種算法,如地理坐標、墨卡托投影坐標和屏幕坐標之間的相互轉換,點與點、點與線之間距離,線的長度,多邊形的周長和面積等。

海圖顯示模塊:海圖顯示是系統的核心模塊。該模塊根據管理模塊給出的中心點位置及顯示范圍的參數,確定需要繪圖的網格,根據網格索引,快速完成繪制海圖的功能。考慮到海圖漫游通常是連續的,使用了位圖緩存來提高響應速度,每次畫圖的時候,先在緩存中找,找不到則擴大范圍畫圖,并保存到位圖緩存,對緩存的管理采用最近最少使用替換算法(LRU)。具體流程如圖3所示。

航行信息管理模塊:完成航線設置、航線偏移報警、保存航跡等航行管理功能。航線設置是根據航海用戶對目的點的連續選擇,形成一條航線,并對該航線設置一個偏航極限。本模塊定時從GPS接收模塊獲取地圖坐標信息,判斷當前位置到航線的距離,若超出偏航極限,則發出報警。航跡保存是定時記錄船舶位置并顯示,醒目、直觀的航跡顯示可以使航海人員對船位信息、航行歷程及周邊環境有清楚的了解。

GPS接收模塊:負責定時讀取GPS接收儀的數據,解析出地理經緯度坐標、時間、航速與航向等信息。外置的GPS接收儀通過RS232連接到系統,GPS接收儀會定時往系統發送符合NMEA(美國航海電子協會)標準的數據。該模塊只需定向讀取RS232串口數據,根據NMEA格式解析出地理經緯度坐標、時間、航速與航向的信息即可。

本系統的部分界面如圖4所示。目前本系統已經出海試運行,實踐證明本系統能實時顯示船舶當前航行狀況,快速響應用戶操作,為航海人員提供可靠的電子海圖信息。

隨著嵌入式技術的發展,嵌入式系統設備的性能逐步提高,船舶導航系統的構建有了更多的選擇。本文提出的基于GPS和電子海圖的嵌入式船舶導航系統,使用嵌入式32位處理器和嵌入式Linux操作系統,具有海圖漫游、海圖查詢和航行信息管理等豐富的功能,具有經濟實用、操作簡便、功能可靠、快速響應的優點,已經得到實際的海上應用。

責任編輯:gt

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

    關注

    68

    文章

    19657

    瀏覽量

    232456
  • 嵌入式
    +關注

    關注

    5119

    文章

    19403

    瀏覽量

    312256
  • Linux
    +關注

    關注

    87

    文章

    11402

    瀏覽量

    212059
收藏 人收藏

    評論

    相關推薦

    嵌入式導航系統DIY分享

    地理整合性應用與其因應方案,也就是手持、車載 GPS 全球衛星導航系統,便可解決對此人們急迫的需求性。基于 S3C2440A 微處理器和 Win CE 5.0 嵌入式操作
    發表于 12-10 14:25

    DIY分享:嵌入式導航系統硬件+軟件設計教程

    地理整合性應用與其因應方案,也就是手持、車載 GPS 全球衛星導航系統,便可解決對此人們急迫的需求性。基于 S3C2440A 微處理器和 Win CE 5.0 嵌入式操作
    發表于 02-12 08:00

    怎么實現基于Linux嵌入式車載導航系統的設計?

    怎么實現基于Linux嵌入式車載導航系統的設計?
    發表于 05-18 06:12

    怎么實現基于嵌入式S3C2440的船舶導航系統設計?

    怎么實現基于嵌入式S3C2440的船舶導航系統設計?
    發表于 05-21 06:19

    請問怎樣去設計一種嵌入式船舶導航系統

    本文介紹了一種基于GPS和電子海圖、使用嵌入式Linux操作系統船舶導航系統
    發表于 06-04 06:43

    如何實現基于Linux嵌入式車載導航系統的設計?

    如何實現基于Linux嵌入式車載導航系統的設計?
    發表于 12-27 07:52

    請問MPC823MPC823E是否引腳兼容?

    MPC823MPC823E 是否引腳兼容?或者不同的家庭會有不同的管腳排列?
    發表于 03-23 08:44

    嵌入式Linux下LCD界面應用程序開發

    介紹了MPC823e 的LCD 控制。根據10. 16 cm(4 in) STN2LCD LCBA7 T211W顯示模塊的時序要求設計了該LCD 顯示模塊與MPC823e LCD 控制
    發表于 04-24 10:39 ?41次下載

    基于MPC823e嵌入式多媒體信息終端硬件開發平臺設計

    介紹了嵌入式系統開發多媒體的應用前景、基于PowerPC 內核的嵌入式控制芯片MPC823e, 及一種開發
    發表于 08-24 09:18 ?13次下載

    基于嵌入式LINUX的車載導航系統設計

    本文提出了以ARM 器件為CPU,以嵌入式Linux 為軟件內核的GPS 車載導航系統的設計思想,Linux 操作系統是一個開源、免費的
    發表于 01-13 16:42 ?23次下載

    基于GPS和電子海圖的嵌入式船舶導航系統設計

    介紹了一種基于GPS和電子海圖、使用嵌入式Linux操作系統船舶導航系統,討論了船舶
    發表于 07-05 16:39 ?18次下載

    基于Linux嵌入式車載導航系統的設計

    基于Linux嵌入式車載導航系統的設計 1.前言HMS30C7202 嵌入式微處理器是目前性價比交優秀的芯片,由于其優良的性能用于替代早期的芯片,在車輛
    發表于 11-06 10:01 ?3415次閱讀
    基于<b class='flag-5'>Linux</b>的<b class='flag-5'>嵌入式</b>車載<b class='flag-5'>導航系統</b>的設計

    HHPPC823e-WLAN-LCD-USB-R1:基于MPC823嵌入式開發套件

    HHPPC823e-WLAN-LCD-USB-R1是基于MPC823處理器,是華恒HHPPC SDK系列產品的嵌入式Linux開發套件;它保
    發表于 04-19 21:06 ?18次下載

    嵌入式導航系統是在怎樣的設計下實現

    構成嵌入式導航系統的硬件核心是 S3C2440A 微處理器。它是一款 ARM920T 的內核 RISC 處理器
    發表于 01-10 14:05 ?1033次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>導航系統</b>是在怎樣的設計下<b class='flag-5'>實現</b>的

    基于嵌入式Linux的GPS車載定位導航系統設計

    電子發燒友網站提供《基于嵌入式Linux的GPS車載定位導航系統設計.pdf》資料免費下載
    發表于 10-13 10:29 ?1次下載
    基于<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>的GPS車載定位<b class='flag-5'>導航系統</b>設計
    主站蜘蛛池模板: heyzo在线播放4k岛国 | 欧美一级片网站 | 1300部小u女视频免费 | 久久精品夜夜夜夜夜久久 | 午夜精 | 午夜免费的国产片在线观看 | 国产精品无码永久免费888 | 午夜社区 | 性夜影院爽黄a爽在线看香蕉 | 欧美在线区| 四虎免费久久影院 | 特级黄一级播放 | 欧美伦理影院 | 国产午夜视频在永久在线观看 | 99视频在线永久免费观看 | 亚洲成人网在线播放 | 9久热久re爱免费精品视频 | 欧美高清一区二区 | 精品久久久久国产免费 | 啪啪免费网站视频观看 | 浓厚な接吻と肉体の交在线观看 | 青草悠悠视频在线观看 | 在线天堂中文www官网 | 特级黄色毛片 | 国产免费久久精品99 | 欧美乱码视频 | 国产精品久久久久久久久免费观看 | 视频在线一区二区 | 午夜欧美性视频在线播放 | 日韩亚洲欧洲在线rrrr片 | 国产你懂的视频 | 刺激一区 | 欧美地区一二三区 | 在线你懂的| 色欧美亚洲 | 色在线视频网站 | 手机在线观看一级午夜片 | 激情综合网五月激情 | 天堂日韩| 国产老师的丝袜在线看 | 国产亚洲视频在线播放大全 |