色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

基于雙緩存技術實現地圖漫游速度的問題解決方案

電子設計 ? 來源:微計算機信息 ? 作者:奚玲,高博,于陸,宋 ? 2020-11-19 11:02 ? 次閱讀

作者:奚玲,高博,于陸,宋國民

1 引言

隨著人們物質生活的極大豐富,旅行已經成為了日常生活中重要的一部分。在戶外旅行中最重要的信息莫過于位置信息,于是地理信息系統(GIS)、衛星定位系統(GPS)、導航系統逐漸開始走入人們的視線,GPS車輛導航系統,腕表式GIS系統等都為人們的出行提供了極大的方便。這些產品在外形上要滿足體積小、便于攜帶的要求;在性能上要滿足信息完備、實時性強、處理速度快的要求。綜合考慮以上因素,嵌入式應用成為這些產品的首選。嵌入式芯片體積小,耗電低,適合開發功能單一的便攜式產品,但是和臺式機的CPU相比,嵌入式處理器的速度要慢得多。在嵌入式芯片上開發GIS系統時,信息完備性要求使得系統的數據處理量非常大,因此處理器速度的限制將使系統的性能受到嚴重的影響。例如,在嵌入式GIS系統的應用中,地圖漫游速度是衡量系統性能優劣的一項重要指標,地圖漫游的速度在很大程度上受限于嵌入式CPU的處理速度,因此在嵌入式GIS設計中,如何提高地圖的瀏覽速度就成為一個重要課題。

提高地圖瀏覽速度應該從以下幾個方面著手:

(1)提高芯片的處理速度 這是從選型時就應該考慮的問題,一旦芯片選定,這種方法就失去了作用

(2)設計地圖數據結構時對數據的有效性和冗余性進行綜合考慮 這種方法是從減小地圖數據量從而減小處理器的工作負荷考慮的,但地圖信息完備性要求使這種改進對于地圖漫游速度的提高有限

(3)提高對芯片的利用率 本文即從這個方面考慮,采用雙緩存技術,利用芯片的空閑時間進行數據的預處理,達到提高芯片利用率的目的,從而加快地圖漫游速度

2 雙緩存技術實現地圖快速漫游的基礎

基于對圖像的開窗處理顯示矢量地圖是很多臺式機上的GIS系統采用的方法之一,這種算法的主要思想是:從數字地圖數據庫中提取出顯示范圍內的地圖要素,將描述這些地理要素的坐標轉換成屏幕坐標,用顯示窗口對這些數據進行剪裁,將剪裁后的地理要素直接繪制在屏幕窗口內。這種算法的優點是算法簡單,實現方便。同時,由于臺式機CPU處理速度能夠滿足實時剪裁圖像的要求,使得用該算法實現的GIS系統在臺式機上的實時性不受影響。但是對于嵌入式系統來說,速度限制是不容忽視的問題。如果仍然用同樣的方法實現地圖漫游,則會發現地圖的漫游成為難以忍受的過程,在屏幕上將地圖移動實際距離為兩公里的路程,需要的時間是在臺式機上實現同樣過程的十倍多。究其原因,可以發現速度的瓶頸在于兩點:1:嵌入式GIS產品從便攜式角度考慮,大多采用液晶顯示屏,液晶屏的顯示是由其自帶的緩存和顯示處理器存儲處理的,屏幕顯示數據通過異步方式和系統處理器間實現通信,導致液晶屏顯示緩存的讀寫慢,產生系統速度的瓶頸,這使得直接在顯示緩存上繪制地圖需要花費很長的時間;2:預處理數據量大,預處理包括對地理要素的讀取、坐標的轉換以及裁剪,因此預處理活動占用系統時間長。這兩點使得在單任務嵌入式操作系統中,地圖漫游的過程不僅很緩慢而且常常需要停頓下來等待數據的處理和顯示。因此,要實現嵌入式系統中地圖的平滑快速漫游,必須首先解決好這兩個問題。

讀寫顯示緩存的速度極大的影響了地圖的繪圖速度。在筆者開發的車載導航系統中,使用分辨率為640*480的液晶顯示屏,在這樣的屏幕上繪制一幅地圖數據經測試平均需要400毫秒;而系統RAM的讀寫速度是幾十Mbytes/s的速度,也就是說在系統RAM上繪制同樣大小的區域僅需要幾十毫秒甚至幾毫秒。因此,我們采用這樣的方法加快繪圖過程的速度:首先在系統內存中開辟專門用于繪制地圖圖像的空間,稱之為虛擬屏幕,虛擬屏幕的范圍應遠大于實際顯示屏的顯示范圍,同時,我們在顯示緩存中開辟和虛擬屏幕大小相同的空間用于緩存地圖圖像。這樣,我們首先用開窗法在虛擬屏幕上繪制地圖,繪制操作是對于系統RAM的讀寫,速度很快,然后從虛擬屏幕上將實際屏幕上應該顯示的地圖圖像拷貝到緩存空間,圖像拷貝要花費一定的時間,但是虛擬屏幕遠大于實際屏幕范圍,這樣的拷貝工作不需要每移動一步都進行一次,而是積累一段時間以后才進行一次拷貝。顯示屏幕上的圖像實際上是顯示緩存的一個窗口,也就是從顯示緩存的某個地址開始的一塊連續空間。因此,使用了顯示緩存后,地圖的移動過程就是在緩存空間上移動圖像的起始指針的過程(見圖1)。我們知道,指針移動是幾乎沒有時間消耗的,因此,這樣的方法使得當虛擬屏幕上的一幅地圖組織好并拷貝到顯示緩存空間之后,地圖的移動滿足快速、實時的要求。此時速度的問題就轉移到在虛擬屏幕上組織地圖和將虛擬屏幕的圖像拷貝到顯示緩存空間的過程中,也就是說,此時地圖的移動是快速但并不平滑的,因為虛擬屏幕的組織和圖像拷貝將引起地圖移動的停頓。雖然對于屏幕的顯示緩存來說,圖像拷貝的速度遠大于單點讀寫的速度,但是,我們仍然無法滿意它所造成的地圖移動的不連續的后果。因此,我們仍然需要進一步采取措施解決組織虛擬屏幕和圖像拷貝的時間消耗,這使得我們在緩存法的基礎上研究了一種新的顯示技術——雙緩存法——來實現地圖的快速漫游。

3 利用雙緩存技術實現地圖快速漫游

3.1 雙緩存技術實現地圖平滑漫游的基本原理

雙緩存技術實現地圖平滑漫游是在緩存法的基礎上提出的一種為解決嵌入式系統下,使用遙控器連續移動地圖,地圖漫游速度慢或不連續的問題的新方法。雙緩存的方法解決了緩存法實現地圖漫游中遺留下來的問題:移動過程中的停頓問題。它的實現基礎在于:即使是連續發送移動命令,在遙控器的兩個命令脈沖之間,仍然存在一定的時間間隔,根據地圖移動的方向趨勢,利用命令脈沖之間的時間間隔進行數據組織和圖像拷貝工作是雙緩存法的實現依據。圖2是遙控器連續移動命令脈沖的時序和單緩存實現地圖移動過程的對應。

基于雙緩存技術實現地圖漫游速度的問題解決方案

圖1 移動命令時序

從上圖我們可以看出:

(1)兩次連續的移動命令之間的時間至少為190ms, 實際顯示圖像在虛擬屏幕的范圍之內時,圖像的移動是顯示緩存指針移動的過程,處理器在這段時間內空閑。

(2)實際顯示圖像達到虛擬屏幕的邊界時,如果連續接收到移動的命令,則只能在以新的顯示中心重新組織虛擬屏幕上的地圖并將虛擬屏幕上的圖像拷貝到顯示緩存之后,才能繼續移動顯示緩存的指針,在此過程中,起碼有三個移動命令沒有及時處理。

從以上兩點可以得出,在單緩存法實現地圖移動的過程中,處理器的并不總處于忙狀態,而是時忙時閑,因此如果將虛擬屏幕數據的組織和圖像的拷貝工作平均分配到各個移動命令脈沖之間的處理器空閑時段,就能解決達到移動邊界時,要長時間等待數據處理的問題。

3.2 雙緩存實現地圖平滑移動的方法及實現

利用雙緩存技術實現地圖平滑移動的內存空間分配圖如下:

圖2 雙緩存實現地圖平滑移動

如上圖所示,雙緩存實現地圖漫游的方法是:將顯示緩存劃分為兩個和虛擬屏幕顯示范圍相同的緩存空間,我們稱之為緩存A,和緩存B。定義預處理邊界為范圍小于虛擬屏幕范圍的一個內邊界。當顯示屏幕的圖像移動到預處理邊界時,如果仍然接受到同一方向的連續移動命令,則開始在虛擬屏幕組織移動方向上的新圖像,并拷貝該圖像到緩存B;同時,在緩存A上,屏幕指針移動的過程仍在進行,當顯示屏幕移動到緩存A的實際邊界時,緩存B上已經準備好了顯示方向上的新地圖,此時將屏幕指針跳到緩存B相應位置的地址,就可以保證地圖移動動作的連續性。

雙緩存法實現地圖平滑移動的過程流程圖描述如圖4所示。

圖3雙緩存法實現地圖移動過程示意圖

在采用雙緩存法實現地圖的平滑漫游的處理過程中,預處理邊界的選取是一個決定其效果的重要因素,預處理邊界如果和實際邊界離得太近,則預留的時間不足以完成所有的預處理任務,無法滿足平滑移動的要求,而如果預處理邊界范圍太小,則使得預測方向可信度降低,有可能使預處理過程無效。該邊界的選取和系統讀寫屏幕的速度以及遙控器的靈敏度都是相關的,選取方法同時和預測方向的算法也有一定的聯系,因此仁者見仁智者見智,可以根據各自系統設計的不同進行選擇。

4 實驗與結論

筆者在開發嵌入式環境下車載導航系統的軟件中使用了雙緩存法實現地圖漫游,在使用該方法之前,對開窗法、緩存法和雙緩存法實現的地圖移動的速度的進行了比較試驗,表1是試驗結果。該試驗是在同一幅地圖數據,同樣的數據量下,移動同樣的距離得出的:

表1幾種漫游方法顯示速度試驗

在我們的地圖漫游軟件采用了這種雙緩存法來實現地圖的平滑移動后,人們從視覺上幾乎感覺不到地圖移動的停頓,因此系統的整體性能得以提高。

雙緩存法是在嵌入式系統中實現地圖平滑顯示的一種實用方法,但用此法是以犧牲內存為代價提高地圖的漫游速度,因此采用這種算法的系統必須有足夠的內存(包括系統內存和顯示緩存),預處理邊界也需要根據系統要求科學選取。同時這個算法的實現代碼也比前兩種復雜,因此,大家可以根據自己系統的實際情況進行算法的選擇。

責任編輯:gt

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

    關注

    68

    文章

    19339

    瀏覽量

    230202
  • 嵌入式
    +關注

    關注

    5086

    文章

    19143

    瀏覽量

    306047
  • 液晶顯示屏
    +關注

    關注

    1

    文章

    208

    瀏覽量

    27569
收藏 人收藏

    評論

    相關推薦

    長虹等離子50638X50738X模組紅點問題解決方案相關資料分享

    長虹等離子(50638X、50738X)模組紅點問題解決方案文件下載
    發表于 06-03 06:54

    步進電機基礎(8.2)-步進電機的問題解決方案-降低振動噪音的解決方法 相關資料分享

    步進電機基礎(8.2)-步進電機的問題解決方案-降低振動噪音的解決方法前言基本信息前言說明8.2 降低振動噪音的解決方法1. 與驅動電路有關的方法2. 與電機有關的方法降低振動和噪音效果好的方法如下
    發表于 07-08 09:40

    protues仿真常見問題解決方案分享

    protues仿真常見問題解決方案!來源:電子工程師成長日記
    發表于 01-17 08:52

    WebGIS地圖圖片緩存技術研究

    提出并實現了基于嵌入式數據庫的地圖圖片緩存方案。對該方案所用地圖切割、存儲、清除、一致性維護等圖
    發表于 12-08 11:16 ?16次下載

    SMT無鉛制程工藝要求及問題解決方案

    SMT無鉛制程工藝要求及問題解決方案   一、錫膏絲印工藝要求   1、解凍、攪拌   首先從冷藏庫中取出錫膏解
    發表于 11-18 14:08 ?2978次閱讀

    通用智能后視鏡常見問題解決方法

    通用后視鏡常見問題解決方法以及高德地圖的下載和安裝方法。
    發表于 11-17 15:37 ?23次下載

    大眾車系加倒車攝像頭問題解決方案

    大眾車系加倒車攝像頭問題解決方案,感興趣的小伙伴們可以看看。
    發表于 08-03 16:32 ?38次下載

    altium_designer_Summer09出現的問題解決方案

    altium-designer-Summer09出現的問題解決方案,感興趣的小伙伴們可以瞧一瞧。
    發表于 09-18 16:12 ?0次下載

    手機快充的噪聲問題解決方案資料下載

    電子發燒友網為你提供手機快充的噪聲問題解決方案資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發表于 04-10 08:47 ?3次下載
    手機快充的噪聲<b class='flag-5'>問題解決方案</b>資料下載

    N76E003的EEPROM問題解決方案:使用Data Flash模擬EEPROM

    N76E003的EEPROM問題解決方案:使用Data Flash模擬EEPROM(嵌入式開發與應用專業開學要買電腦嗎)-N76E003的EEPROM問題解決方案,官方文檔,找了很久才找到。這份文件
    發表于 07-30 09:28 ?29次下載
    N76E003的EEPROM<b class='flag-5'>問題解決方案</b>:使用Data Flash模擬EEPROM

    protues仿真常見問題解決方案

    protues仿真常見問題解決方案!來源:電子工程師成長日記
    發表于 01-17 10:33 ?4次下載
    protues仿真常見<b class='flag-5'>問題解決方案</b>

    水泥設備自主維修之:球磨機問題解決方案圖文案例匯總,這種修復技術值得推薦

    「修舊利廢 成本管控 節能降耗」球磨機問題解決方案匯總
    的頭像 發表于 06-22 15:48 ?1037次閱讀
    水泥設備自主維修之:球磨機<b class='flag-5'>問題解決方案</b>圖文案例匯總,這種修復<b class='flag-5'>技術</b>值得推薦

    芯片不斷的復位問題解決方案-HK32F030M應用筆記(二十五)

    芯片不斷的復位問題解決方案-HK32F030M應用筆記(二十五)
    的頭像 發表于 09-18 10:56 ?1497次閱讀
    芯片不斷的復位<b class='flag-5'>問題解決方案</b>-HK32F030M應用筆記(二十五)

    C2000 F28004x系列MCU PLL鎖相失敗問題解決方案

    電子發燒友網站提供《C2000 F28004x系列MCU PLL鎖相失敗問題解決方案.pdf》資料免費下載
    發表于 09-27 11:24 ?0次下載
    C2000 F28004x系列MCU PLL鎖相失敗<b class='flag-5'>問題解決方案</b>

    MLCC斷裂問題解決方案

    MLCC斷裂問題解決方案
    的頭像 發表于 10-16 09:43 ?520次閱讀
    主站蜘蛛池模板: 亚洲日产2020乱码草莓毕| 亚洲大片免费看| 视频一区亚洲中文字幕| 中国老太60old mantv| 国产女合集第六部| 色老板美国在线观看| G0GO人体大尺香蕉| 男人电影天堂手机| 最新色导航| 久久这里只有精品国产精品99 | 国产亚洲国际精品福利| 神马伦理2019影院不卡片| 成人18视频在线| 日韩人妻无码专区一本二本| 白丝女仆被强扒内裤| 欧美日韩一级黄色片| 啊好深啊别拔就射在里面| 欧美性情video sexo视频| jjzz动漫| 人人插人人射| 成人影院久久久久久影院| 色婷婷五月综合中文字幕| 父亲猜女儿在线观看| 手机在线国产视频| 国产婷婷午夜精品无码A片| 亚洲AV色香蕉一区二区三区 | 高hnp肉文| 婷婷亚洲五月色综合久久| 国产乱色伦影片在线观看| 亚洲高清视频一区| 久久国产露脸老熟女熟69| 最新亚洲中文字幕在线观看| 欧美人妖12p| 国产叼嘿久久精品久久| 亚洲精品久久久992KVTV| 久久综久久美利坚合众国| 99久久精品国产自免费| 日日日操操操| 国语自产偷成人精品视频| 这里只有精品在线视频| 欧美人成人亚洲专区中文字幕|