一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于雙緩存技術(shù)實(shí)現(xiàn)地圖漫游速度的問題解決方案

電子設(shè)計 ? 來源:微計算機(jī)信息 ? 作者:奚玲,高博,于陸,宋 ? 2020-11-19 11:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

1 引言

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

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

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

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

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

2 雙緩存技術(shù)實(shí)現(xiàn)地圖快速漫游的基礎(chǔ)

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

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

3 利用雙緩存技術(shù)實(shí)現(xiàn)地圖快速漫游

3.1 雙緩存技術(shù)實(shí)現(xiàn)地圖平滑漫游的基本原理

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

基于雙緩存技術(shù)實(shí)現(xiàn)地圖漫游速度的問題解決方案

圖1 移動命令時序

從上圖我們可以看出:

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

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

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

3.2 雙緩存實(shí)現(xiàn)地圖平滑移動的方法及實(shí)現(xiàn)

利用雙緩存技術(shù)實(shí)現(xiàn)地圖平滑移動的內(nèi)存空間分配圖如下:

圖2 雙緩存實(shí)現(xiàn)地圖平滑移動

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

雙緩存法實(shí)現(xiàn)地圖平滑移動的過程流程圖描述如圖4所示。

圖3雙緩存法實(shí)現(xiàn)地圖移動過程示意圖

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

4 實(shí)驗(yàn)與結(jié)論

筆者在開發(fā)嵌入式環(huán)境下車載導(dǎo)航系統(tǒng)的軟件中使用了雙緩存法實(shí)現(xiàn)地圖漫游,在使用該方法之前,對開窗法、緩存法和雙緩存法實(shí)現(xiàn)的地圖移動的速度的進(jìn)行了比較試驗(yàn),表1是試驗(yàn)結(jié)果。該試驗(yàn)是在同一幅地圖數(shù)據(jù),同樣的數(shù)據(jù)量下,移動同樣的距離得出的:

表1幾種漫游方法顯示速度試驗(yàn)

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

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

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19890

    瀏覽量

    235128
  • 嵌入式
    +關(guān)注

    關(guān)注

    5150

    文章

    19665

    瀏覽量

    317454
  • 液晶顯示屏
    +關(guān)注

    關(guān)注

    1

    文章

    217

    瀏覽量

    28930
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    長虹等離子50638X50738X模組紅點(diǎn)問題解決方案相關(guān)資料分享

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

    步進(jìn)電機(jī)基礎(chǔ)(8.2)-步進(jìn)電機(jī)的問題解決方案-降低振動噪音的解決方法 相關(guān)資料分享

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

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

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

    WebGIS地圖圖片緩存技術(shù)研究

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

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

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

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

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

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

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

    altium_designer_Summer09出現(xiàn)的問題解決方案

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

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

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

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

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

    protues仿真常見問題解決方案

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

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

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

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

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

    MLCC斷裂問題解決方案

    MLCC斷裂問題解決方案
    的頭像 發(fā)表于 10-16 09:43 ?1301次閱讀

    超聲波焊接常見問題解決方案

    超聲波焊接常見問題解決方案 1. 焊接不牢固 **問題描述:**焊接后的塑料部件強(qiáng)度不足,容易斷裂。 解決方案: **檢查焊接參數(shù):**確保焊接時間、壓力和振幅設(shè)置正確。 **清潔焊接面:**去除
    的頭像 發(fā)表于 01-19 11:07 ?791次閱讀