• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于μC/O S的校園G P S導(dǎo)航系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)

    2010-08-15 00:44:26周博
    電腦與電信 2010年5期
    關(guān)鍵詞:代碼嵌入式處理器

    周博

    (天津工業(yè)大學(xué)信息與通信工程學(xué)院,天津300160)

    1.引言

    早期高校校園面積相對(duì)較小,學(xué)校的教學(xué)區(qū)、生活區(qū)、學(xué)校的各個(gè)部門都相對(duì)集中,從校園一個(gè)區(qū)域到另一個(gè)區(qū)域只需要很短的時(shí)間,部門的搬遷也可能在同一棟或相鄰的兩棟之間,即使導(dǎo)航出錯(cuò),帶來的負(fù)面影響也相對(duì)較小。校園導(dǎo)航基本上采用平面示意圖即可解決。

    隨著高校的發(fā)展,校園面積也由原來的上百畝擴(kuò)大到上千畝,教學(xué)區(qū)、辦公區(qū)、生活區(qū)、活動(dòng)區(qū)等在地理位置上相對(duì)變得疏遠(yuǎn),那么跨區(qū)域活動(dòng)在區(qū)間往復(fù)的時(shí)間成本越來越高,中間稍有耽誤,將不能按照預(yù)定時(shí)間到達(dá)目的地,給我們的生活學(xué)習(xí)帶來不便。早期的校園平面示意圖導(dǎo)航表現(xiàn)出種種弊端,逐漸不能滿足新形勢(shì)下校園導(dǎo)航的要求。新的導(dǎo)航系統(tǒng)的設(shè)計(jì)勢(shì)在必行。

    2.系統(tǒng)概述

    2.1 S3C2410處理器

    s3C2410X微處理器是Samsung公司推出的16/32位RISC處理器(RAM920T內(nèi)核),適用于手持設(shè)備、POS機(jī)、數(shù)字多媒體播放設(shè)備等等,具有價(jià)格低、低功耗、高性能等特點(diǎn)。S3C2410X提供了豐富的內(nèi)部設(shè)備,采用ARM920T內(nèi)核,0.18um工藝的CMOS標(biāo)準(zhǔn)宏單元和存儲(chǔ)器單元。它的低功耗、精簡(jiǎn)和出色的全靜態(tài)設(shè)計(jì)特別適用于對(duì)成本和功耗敏感的應(yīng)用。同樣它還采用了AMBA新型總線結(jié)構(gòu)。S3C2410X提供了一系列完整的系統(tǒng)外圍設(shè)備,消除了為系統(tǒng)配置額外器件的需要,大大減少了整個(gè)系統(tǒng)的成本。S3C2410X主要特征如下[4]:

    (1)203Mhz的ARM920T內(nèi)核,支持JTAG仿真調(diào)試。

    (2)16KB的1-Cache;

    (3)具有MMU,支持WinCE、EPOC32、Linux等操作系統(tǒng);

    (4)外部存儲(chǔ)器控制器(SDRAM控制和片選邏輯),共分8個(gè)Bank,每個(gè)Bank可以訪問128MB空間。

    (5)片內(nèi)4KB SDRAM,可用作NAND Flash系統(tǒng)引導(dǎo)的緩沖區(qū);

    (6)LCD控制器(最大支持4K色STN和256K色TFT),1通道LCD專用DMA;

    (7)4通道DMA,有外部請(qǐng)求引腳;

    (8)3個(gè)UART(IrDA1.0,16字節(jié)RxFIFO);

    (9)2個(gè)SPI總線接口;

    (10)1個(gè)多主IIC總線接口;

    (11)1個(gè)IIS總線接口;

    (12)兼容SD主接口協(xié)議1.0版和MMC卡協(xié)議2.11兼容版;

    (13)NAND Flash/SM卡接口,支持NANDFlash系統(tǒng)引導(dǎo);

    (14)2個(gè)USB主機(jī)接口,I個(gè)USB設(shè)備接口(V1.1);

    (15)4個(gè)PWM定時(shí)器和1個(gè)內(nèi)部定時(shí)器;

    (16)看門狗定時(shí)器;

    (17)117個(gè)通用I/O口;

    (18)24個(gè)外部中斷;

    (19)8通道10位ADC和觸摸屏接口;

    (20)具有日歷和時(shí)鐘功能的RTC;

    (21)1.8V內(nèi)核供電,3.3V存儲(chǔ)器供電,3.3V外部I/O供電;

    (22)功耗控制模式:普通,慢速,空閑和掉電模式;

    (23)具有片內(nèi)PLL時(shí)鐘發(fā)生器。

    2.2 μC/OS-II操作系統(tǒng)

    μC/OS-II是一個(gè)完整的、可移植、可固化、可剪裁的、占先式實(shí)時(shí)多任務(wù)內(nèi)核。μC/OS-II是用ANSI C語言寫的,包含一部分匯編語言,使之可以供不同架構(gòu)的微處理器使用。μC/OS-II可以管理64個(gè)任務(wù),具有信號(hào)量、互斥信號(hào)量、事件標(biāo)志組、消息郵件、消息隊(duì)列、任務(wù)管理、時(shí)間管理和內(nèi)存塊管理等系統(tǒng)功能[1,2]。

    μC/OS-II包括以下三個(gè)部分:

    (1)μC/OS-II核心代碼:包括10個(gè)C程序文件和1個(gè)頭文件,主要實(shí)現(xiàn)了系統(tǒng)調(diào)度、任務(wù)管理、內(nèi)存管理、信號(hào)量、消息郵箱和消息隊(duì)列等系統(tǒng)功能。此部分的代碼與處理器無關(guān)。

    (2)μC/OS-II配置代碼:包括2個(gè)頭文件,用于裁剪和配置μC/OS-II。此部分的代碼與用戶實(shí)際應(yīng)用相關(guān)。

    (3)μC/OS-II移植代碼:包括1個(gè)匯編文件、1個(gè)C程序文件和1個(gè)頭文件,這是移植μC/OS-II所需要的代碼。此部分的代碼與處理器相關(guān)。(說明:移植代碼的文件名不是固定的,但為了保持μC/OS-II系統(tǒng)的一致性,文件名一般也不要改變。即:OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C)。

    2.3 全球定位系統(tǒng)(GPS)的簡(jiǎn)介

    GPS(全球定位系統(tǒng))具有全球、全天候工作,定位精度高、功能多、應(yīng)用廣的特點(diǎn),通過GPS接收機(jī)可以實(shí)現(xiàn)精確的自主定位,為實(shí)現(xiàn)精準(zhǔn)的定位和導(dǎo)航奠定了基礎(chǔ)。GPS系統(tǒng)包括三大部分:空間部分—GPS衛(wèi)星星座;地面控制部分—地面監(jiān)控系統(tǒng);用戶設(shè)備部分—GPS信號(hào)接收機(jī)。本文主要涉及GPS信號(hào)接收機(jī)部分。它的硬件和機(jī)內(nèi)軟件以及GPS數(shù)據(jù)的后處理軟件包,構(gòu)成完整的GPS用戶設(shè)備。主要任務(wù)是:能夠捕獲到按一定衛(wèi)星高度截止角所選擇的待測(cè)衛(wèi)星的信號(hào),并跟蹤這些衛(wèi)星的運(yùn)行,對(duì)所接收到的GPS信號(hào)進(jìn)行變換、放大和處理,以便測(cè)量出GPS信號(hào)從衛(wèi)星到接收機(jī)天線的傳播時(shí)間,解譯出GPS衛(wèi)星所發(fā)送的導(dǎo)航電文,實(shí)時(shí)地計(jì)算出測(cè)站的三維位置、三維速度和時(shí)間。

    3.硬件系統(tǒng)的設(shè)計(jì)理念

    本嵌入式導(dǎo)航系統(tǒng)的硬件核心是三星公司的ARM9系列中的16/32位RISC處理器S3C2410芯片,該芯片強(qiáng)大的實(shí)時(shí)處理能力和豐富的外圍接口非常適合嵌入式系統(tǒng)的開發(fā),本系統(tǒng)正是基于該芯片的這些特點(diǎn)而設(shè)計(jì)的。

    該系統(tǒng)以S3C2410微處理器為核心,與一片64MB的SDRAM、一片64MB的NAND Flash和一片2MB NOR FLASH組成。外部添加了用于接收GPS信號(hào)的GPS模塊,用于顯示的液晶面板以及鍵盤輸入模塊。

    4.軟件系統(tǒng)的設(shè)計(jì)

    該嵌入式系統(tǒng)采用uC/OSII操作系統(tǒng),由于MCU的處理功能有限,所以在具體的軟件實(shí)現(xiàn)過程中采用多線程技術(shù)。主控線程主要實(shí)現(xiàn)界面功能、導(dǎo)航功能中的地圖匹配和導(dǎo)航引導(dǎo)模塊、瀏覽功能中的地圖瀏覽模塊以及這些模塊間的消息派送、接收和處理,同時(shí)協(xié)調(diào)各個(gè)工作線程異步運(yùn)行。

    4.1 移植μC/OS-II操作系統(tǒng)S3C2410處理器

    移植μC/OS-II之前需要注意,目標(biāo)處理器必須滿足以下幾點(diǎn)要求:

    (1)處理器的C編譯器能產(chǎn)生可重入型代碼;

    (2)處理器支持中斷,并且能產(chǎn)生定時(shí)中斷;

    (3)用C語言就可以開/關(guān)中斷;

    (4)處理器能夠支持一定數(shù)量的數(shù)據(jù)存儲(chǔ)硬件堆棧(可能是幾千字節(jié));

    (5)處理器有將堆棧指針以及其它CPU寄存器的內(nèi)容讀出,并保存到堆?;騼?nèi)存中去的指令。

    S3C2410A微控制器可以滿足第2、4和5點(diǎn)要求,使用ADS 1.2的C編譯器可以滿足第1、3點(diǎn)要求。使用ARM公司提供的ADS1.2集成開發(fā)工具新建一個(gè)工程,將μC/OS-Ⅱ2.52V的源代碼拷貝到工程文件下相同目錄中,并添加到工程中,按照移植實(shí)施中的步驟修改或添加代碼在文件OS_CPU.H,OS_CPU_C.C,OS_CPU_A.S后,通過JTAG口下載到目標(biāo)平臺(tái)中運(yùn)行即可。

    4.2 導(dǎo)航軟件的設(shè)計(jì)理念

    導(dǎo)航軟件是以導(dǎo)航數(shù)據(jù)庫(kù)為數(shù)據(jù)基礎(chǔ)的。主要包括導(dǎo)航功能模塊和人機(jī)交互功能。其導(dǎo)航功能是在動(dòng)態(tài)行進(jìn)過程中進(jìn)行導(dǎo)航定位、地圖匹配、路徑規(guī)劃和路徑引導(dǎo)等。人機(jī)交互功能主要是在靜態(tài)過程中對(duì)導(dǎo)航的地理信息提供瀏覽查詢服務(wù)。

    導(dǎo)航功能模塊主要包括以下4個(gè)模塊:(1)導(dǎo)航定位模塊;(2)地圖匹配模塊;(3)路徑規(guī)劃模塊;(4)導(dǎo)航引導(dǎo)模塊。

    人機(jī)交互功能模塊設(shè)計(jì)主要包括以下2個(gè)模塊:(1)地圖瀏覽模塊;(2)地圖查詢模塊。

    導(dǎo)航軟件設(shè)計(jì)實(shí)現(xiàn)流程如下:(1)運(yùn)行導(dǎo)航定位線程從輸入口讀取GPS天線接收到的當(dāng)前位置的經(jīng)緯度坐標(biāo)值;(2)將經(jīng)緯度坐標(biāo)轉(zhuǎn)換到屏幕的像素坐標(biāo);(3)根據(jù)當(dāng)前位置結(jié)合導(dǎo)航地圖進(jìn)行匹配處理,把當(dāng)前位置信息匹配到地圖上;(4)顯示并實(shí)時(shí)刷新導(dǎo)航地圖和當(dāng)前位置;(5)是否求解最佳路徑;(6)在導(dǎo)航數(shù)據(jù)庫(kù)中選擇起始和終止位置,運(yùn)行路徑規(guī)劃線程在道路網(wǎng)數(shù)據(jù)中解算出最佳路徑并顯示到地圖上。

    4.3 GPS數(shù)據(jù)提取、顯示、查詢

    GPS板只要處于工作狀態(tài)就會(huì)源源不斷地把接收并計(jì)算出的GPS導(dǎo)航定位信息通過串口傳送到嵌入式系統(tǒng)中。從串口接收的數(shù)據(jù)幀(長(zhǎng)串ASCII碼字節(jié)流)通過程序?qū)⒏鱾€(gè)字段的信息從接收到的字節(jié)流中提取出來,將其轉(zhuǎn)化成有實(shí)際意義的、可供高層決策使用的定位信息數(shù)據(jù)。

    對(duì)GPS信息進(jìn)行提取必須首先明確其幀結(jié)構(gòu),數(shù)據(jù)幀主要由幀頭、幀尾和幀內(nèi)數(shù)據(jù)組成。對(duì)于不同的數(shù)據(jù)幀,其幀頭是不同的,主要有“$GPGGA”、“$GPGSA”、“$GPGSV”以及“$GPRMC"等。這些幀頭標(biāo)識(shí)了后續(xù)幀內(nèi)數(shù)據(jù)的組成和結(jié)構(gòu)特點(diǎn)。各幀均以回車符<CR〉和換行符<LF〉作為幀尾,標(biāo)識(shí)一幀的結(jié)束。

    對(duì)數(shù)據(jù)幀處理,是先對(duì)幀頭進(jìn)行判斷,然后只對(duì)感興趣的幀進(jìn)行數(shù)據(jù)的提取處理。由于幀內(nèi)各數(shù)據(jù)段被逗號(hào)分割,因此在處理接收數(shù)據(jù)時(shí)一般是首先通過搜尋ASCII碼“$”來判斷是否是幀頭,接著對(duì)幀頭的類別進(jìn)行識(shí)別,然后再根據(jù)識(shí)別出來的幀類型以及逗號(hào)‘,’個(gè)數(shù)來確定當(dāng)前正在讀取的是哪個(gè)定位導(dǎo)航參數(shù),并作出相應(yīng)的提取和存儲(chǔ)。

    最后,通過GPS和人工輸入接收到的數(shù)據(jù),經(jīng)過MCU的處理,在地圖上用醒目的顏色顯示出來。

    5.總結(jié)

    經(jīng)過實(shí)驗(yàn),系統(tǒng)能夠穩(wěn)定可靠地運(yùn)行,進(jìn)一步驗(yàn)證了以ARM9處理器+μC/OS-II操作系統(tǒng)+GPS接收機(jī)模式開發(fā)的校園導(dǎo)航系統(tǒng)具有開發(fā)簡(jiǎn)單、性能可靠的特點(diǎn),有著良好的應(yīng)用前景。

    [1]杜春雷.ARM體系結(jié)構(gòu)與編程[M].北京:清華大學(xué)出版社,2003.

    [2]任哲.嵌入式實(shí)時(shí)操作系統(tǒng)[M].北京:北京航空航天大學(xué)出版社,2005.

    [3]吳迪.嵌入式系統(tǒng)原理、設(shè)計(jì)與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2004.

    [4]周立功.嵌入式系統(tǒng)基礎(chǔ)教程[M].廣州:北京航空航天大學(xué)出版社,2006.

    [5]Jean J.Labrosse.嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ[M].北京:北京航空航天大學(xué)出版社,2003.

    猜你喜歡
    代碼嵌入式處理器
    創(chuàng)世代碼
    創(chuàng)世代碼
    創(chuàng)世代碼
    創(chuàng)世代碼
    搭建基于Qt的嵌入式開發(fā)平臺(tái)
    嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
    Imagination的ClearCallTM VoIP應(yīng)用現(xiàn)可支持Cavium的OCTEON? Ⅲ多核處理器
    ADI推出新一代SigmaDSP處理器
    汽車零部件(2014年1期)2014-09-21 11:41:11
    呼嚕處理器
    Altera加入嵌入式視覺聯(lián)盟
    崇阳县| 思茅市| 嵊州市| 贵定县| 靖江市| 洛隆县| 鞍山市| 黄石市| 新龙县| 衡水市| 胶南市| 黄陵县| 阜新市| 隆安县| 屏南县| 远安县| 上杭县| 长葛市| 西安市| 阿拉善右旗| 平果县| 洞头县| 仙桃市| 叙永县| 金阳县| 东兰县| 邵武市| 兴化市| 双桥区| 阳西县| 长兴县| 五台县| 班玛县| 稷山县| 广灵县| 惠水县| 千阳县| 梧州市| 安国市| 江油市| 二连浩特市|