當(dāng)前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀]摘要:全球衛(wèi)星定位系統(tǒng)(CPS)可以時海陸空進行全方位的實時定位與導(dǎo)航,其應(yīng)用日益廣泛,通過GPS定位系統(tǒng)及其信息接收裝置可以實現(xiàn)對當(dāng)前所在位置的確定 系統(tǒng)使用天線接收GPS衛(wèi)星信號,并在μC/OS操作系統(tǒng)下用NIO

摘要:全球衛(wèi)星定位系統(tǒng)(CPS)可以時海陸空進行全方位的實時定位與導(dǎo)航,其應(yīng)用日益廣泛,通過GPS定位系統(tǒng)及其信息接收裝置可以實現(xiàn)對當(dāng)前所在位置的確定 系統(tǒng)使用天線接收GPS衛(wèi)星信號,并在μC/OS操作系統(tǒng)下用NIOS處理器進行分析處理,以保證其實時性,最終輸出位置、速度等信息進行定位。本系統(tǒng)通過實驗測試驗證,定位具有較高的準(zhǔn)確性和實時性。
關(guān)鍵詞:GPS;衛(wèi)星定位;NIOS處理器;μC/OS操作系統(tǒng)

0 引言
    GPS全球衛(wèi)星定位系統(tǒng)在天空中是由24顆衛(wèi)星組成的GPS星座構(gòu)成,它們特定的排列方式可以使地球上任何地方任何時刻都可以觀測到四顆及以上衛(wèi)星,定位精度高,是現(xiàn)有的衛(wèi)星定位系統(tǒng)中最常用的技術(shù)比較成熟和穩(wěn)定的定位系統(tǒng),因此在當(dāng)今社會GPS的應(yīng)用十分廣泛,涵蓋陸地、海洋以及航空航天方面的應(yīng)用,尤其是車輛導(dǎo)航、航程航線測定、船只實時調(diào)度與導(dǎo)航等都可以看成是一個個GPS顯示系統(tǒng)??梢?,GPS顯示系統(tǒng)能為人們的生活和工作帶來許多方便,所以GPS信息接收和顯示裝置的設(shè)計開發(fā)具有廣闊的發(fā)展前景。
    GPS信息的接收模塊技術(shù)如今比較成熟,主要可以分為軍事和民用的兩類。民用的GPS芯片對于精度的要求并不是很高,但基本都能滿足人們的實用要求。由于GPS模塊接收到的數(shù)據(jù)無法直接讀取,因此需要設(shè)計一個合理的信息接收轉(zhuǎn)換及顯示系統(tǒng),將GPS模塊接收的定位數(shù)據(jù)轉(zhuǎn)化為能夠直接讀取的格式并顯示出來。
    本文設(shè)計的基于NIOS處理器的GPS定位信息顯示系統(tǒng)的主要目的是接收GPS定位衛(wèi)星的定位信息并實現(xiàn)時間、經(jīng)度、緯度以及速度等信息的實時顯示,為人們的日常生活帶來便利。

1 系統(tǒng)的原理及整體設(shè)計
1.1 系統(tǒng)原理
   
GPS模塊接收GPS定位衛(wèi)星發(fā)射的信號,并在其內(nèi)部經(jīng)過一系列的信息處理解析出具有一定格式的、可讀性較強的導(dǎo)航電文,其中包含了經(jīng)緯度和速度等定位信息。系統(tǒng)設(shè)計的GPS信息接收系統(tǒng),主要是基于FPGA完成的,通過Verilog硬件描述語言在FPGA上嵌入NIOSⅡ處理器,并引入μC/OS實時操作系統(tǒng)來優(yōu)化整個系統(tǒng)的工作,通過C語言編程從GPS模塊輸出的定位信息中提取經(jīng)緯度和速度等信息,并利用液晶顯示器顯示出來。
    GPS的輸出數(shù)據(jù)遵循NMEA-0183協(xié)議標(biāo)準(zhǔn),即美國海軍的電子設(shè)備標(biāo)準(zhǔn)。該協(xié)議定義了GPS接收模塊輸出的標(biāo)準(zhǔn)信息,最常用、兼容性最廣的語句格式包括:$GPRMC,$GPGGA,$GPGSV,$GPGSA,$GPGLL等。本設(shè)計選用$GPRMC,其數(shù)據(jù)格式為:
    $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh
    其中:<1>為格林尼治時間;<2>為定位狀態(tài),A=有效定位;<3>為緯度;<4>為緯度半球;<5>為經(jīng)度;<6>為經(jīng)度半球;<7>為地面速率;<8>為地面航向;<9>為格林尼治日期。
1.2 系統(tǒng)整體設(shè)計
   
系統(tǒng)總體分為五大部分:GPS接收模塊、FPGA及其內(nèi)部NIOSⅡ處理器部分、擴展存儲部分、液晶顯示部分及下載線部分。其整體結(jié)構(gòu)框圖如圖1所示。


    (1)GPS接收模塊。能夠捕獲到按一定衛(wèi)星高度截止角所選擇的待測衛(wèi)星的信號,并跟蹤這些衛(wèi)星的運行,對所接收到的GPS信號進行變換、放大等處理,測出GPS信號從衛(wèi)星到接收機天線的傳輸時間,從而解譯出GPS所發(fā)送的導(dǎo)航電文。此過程完全在現(xiàn)有的GPS模塊中完成,本設(shè)計只需要了解其輸出數(shù)據(jù)的格式并完成對它的解析即可。
    (2)FPGA及其內(nèi)部NIOSⅡ處理器部分。通過使用Verilog硬件描述語言在FPGA上搭建一個MOSⅡ處理器,并描述出FPGA內(nèi)部邏輯電路的連接方式,然后在NIOSⅡ處理器中移植入一個μC/OS操作系統(tǒng),采用C語言編程控制整個系統(tǒng)的工作,對GPS導(dǎo)航電文進行解析并控制液晶顯示等。
    (3)擴展存儲部分。片外的FLASH和SDRAM擴展了系統(tǒng)的容量,可以實現(xiàn)大規(guī)模的編程,完成復(fù)雜的任務(wù),本設(shè)計由于需要操作系統(tǒng)的植入,需要更大的存儲空間,因此在FPGA的外圍設(shè)置了FLASH和SDRAM。
    (4)液晶顯示部分。FPGA將從GPS模塊解析出來的位置、速度等信息送給液晶,由液晶顯示器顯示出來,并且要保證其能夠?qū)崟r更新。
    (5)下載線部分。通過Altera USB Blaster把電腦里編譯好的程序下載到FPGA中的NIOSⅡ處理器上,并進行在線調(diào)試。

2 系統(tǒng)硬件設(shè)計
   
系統(tǒng)硬件設(shè)計根據(jù)各部分的功能需求主要包括2個部分:FPGA及其外圍電路、GPS模塊及液晶顯示電路。GPS模塊負(fù)責(zé)接收衛(wèi)星的定位信息并輸出導(dǎo)航電文,F(xiàn)PGA及其嵌入的NIOS處理器是分析和處理導(dǎo)航電文的核心,液晶顯示屏則顯示可直接讀取的定位信息。
2.1 FPCA及其外圍電路
    FPGA芯片選用Altera公司的CyeloneⅢ系列芯片,該芯片有相應(yīng)的完善的設(shè)計開發(fā)平臺,方便系統(tǒng)的設(shè)計與調(diào)試。
    FPGA配置采用AS+JTAG方式,這樣在調(diào)試階段可以使用JTAG方式,最后當(dāng)程序調(diào)試無誤后在使用AS模式把程序燒到配置芯片里去。這樣做的一個明顯的優(yōu)點是:在AS模式不能下載的時候,可以利用Quartus自帶的工具將配置程序生成.jic文件,用JTAG模式來驗證配置芯片是否損壞。通過JTAG將FPGA的配置程序?qū)懭氲狡馀渲眯酒?,掉電不丟失,每次上電時再將其中的程序讀入到FPGA中。另外在FPGA的I/O引腳接入一些LED燈,方便觀察測試結(jié)果,也可用來檢驗設(shè)計的正確與否。
2.2 GPS接收模塊及液晶顯示電路
   
GPS接收模塊采用Ublox NEO-6M模塊,它是一個現(xiàn)有的GPS接收模塊,輸出的導(dǎo)航電文格式清晰,便于處理。它將接收到的衛(wèi)星定位信息在其內(nèi)部經(jīng)過簡單的處理輸出給FPGA的I/O端口,在FPGA內(nèi)部解析之后又通過另外的I/O端口發(fā)送給液晶顯示器。液晶顯示選用12864液晶顯示器,并采用串行數(shù)據(jù)輸入方式,將接收到的數(shù)據(jù)顯示出來。
2.3 供電部分
   
因FPGA各管腳所需輸入電壓包括3.3 V,2.5 V和1.2 V,12864液晶需要5 V,GPS模塊所需電壓為3.3 V,因此整個電路板需要多種供電電壓,供電電路的設(shè)計思想是輸入5 V電壓,再通過電平轉(zhuǎn)換電路轉(zhuǎn)換出其他所需要的電平。


    系統(tǒng)供電模塊如圖2所示。其中電源與地之間的電容主要作用是去除電源中耦合的其他信號,以減小甚至是消除這些信號對電源的影響。

3 系統(tǒng)軟件設(shè)計
    FPGA內(nèi)部使用Quartus內(nèi)嵌的工具SoPC Builder搭建NIOSⅡ處理器,并用Verilog硬件描述語言來描述FPGA內(nèi)部電路結(jié)構(gòu),而μC/OS實時操作系統(tǒng)的植入及系統(tǒng)的控制程序則是由C語言編程完成的。
3.1 FPGA內(nèi)部邏輯實現(xiàn)
   
首先構(gòu)建NIOSⅡ處理器,包括一個CPU和它的內(nèi)存單元、JTAG和UART部分,如圖3所示。


    從圖3中可以看出NIOS處理器和外圍設(shè)備及接口的大概結(jié)構(gòu),各部分通過Avalon總線連接起來,并可以自動分配地址和中斷。
    根據(jù)設(shè)計對實時性的需要,其中NIOS軟核選擇NIOSⅡ/f,它占資源最多,但速度最快,并且功能最多;RS 232串口根據(jù)NMEA-0183協(xié)議,為了獲取GPS定位信息,必須將波特率設(shè)置為9 600 b/s,數(shù)據(jù)位設(shè)置為8 b,停止位設(shè)置為1 b,校驗為設(shè)置為無。


    然后用Verilog硬件描述語言實現(xiàn)FPGA內(nèi)部邏輯,包括NIOSⅡ處理器、鎖相環(huán)等。最后,F(xiàn)PGA內(nèi)部綜合后的RTL結(jié)構(gòu)如圖4所示。
3.2 系統(tǒng)功能程序設(shè)計
   
在構(gòu)建好NIOS處理器的基礎(chǔ)上,采用C語言編程將μC/OS實時操作系統(tǒng)移植到處理器中,并編寫實現(xiàn)設(shè)計功能的程序,如接收CPS定位數(shù)據(jù)、GPS信息解碼、延時和LCD液晶顯示程序等。主程序及主要子程序流程圖如圖5所示。
    本文中μC/OS操作系統(tǒng)的使用,即是建立若干個任務(wù),將實現(xiàn)功能的各程序函數(shù)放入各任務(wù)中,并分別對任務(wù)設(shè)置不同的優(yōu)先級,任務(wù)之間的通信是通過發(fā)送信號量實現(xiàn)。當(dāng)任務(wù)創(chuàng)建完成之后,將操作權(quán)交給操作系統(tǒng),由操作系統(tǒng)對各任務(wù)的執(zhí)行順序進行安排。μC/OS操作系統(tǒng)可以實現(xiàn)在一個任務(wù)掛起時,馬上開始執(zhí)行另一個處于等待狀態(tài)的優(yōu)先級最高的任務(wù),從而提高系統(tǒng)的實時性。任務(wù)的執(zhí)行流程如圖6所示。


    設(shè)計中,出于對系統(tǒng)功能的考慮,在μC/OS操作系統(tǒng)中設(shè)置這樣四個任務(wù)和一個按鍵中斷:串口接收GPS定位數(shù)據(jù),GPS定位數(shù)據(jù)解碼,液晶顯示經(jīng)緯度和速度信息,液晶顯示航向、時間、日期和設(shè)計者信以及按鍵中斷。開機首先GPS模塊初始化,初始化結(jié)束串口接收完第一幀完整的數(shù)據(jù)時,開始對定位數(shù)據(jù)進行解碼;當(dāng)解碼完成后,把解碼出的定位信息顯示在液晶顯示屏上并開始接收下一幀定位數(shù)據(jù);通過五向按鍵的上下?lián)軇涌梢詫崿F(xiàn)定位信息在液晶屏幕上的交替顯示。

4 系統(tǒng)測試
   
檢查完電路連接無誤后,首先在QuartusⅡ軟件中建立工程,然后在SoPC Builder中構(gòu)建好的NIOSⅡ處理器進行編譯,編譯完成后回到QuartusⅡ界面,將編寫好的對FPGA內(nèi)部電路邏輯進行描述的Verilog語言程序?qū)懭氲焦こ汤铮瑢ζ溥M行編譯,結(jié)果如圖7所示。
    從圖中可以看出該設(shè)計占用的FPGA內(nèi)部資源。然后將編譯生成的FPGA配置文件下載到FPGA片外的EPCS4芯片中,至此,F(xiàn)PGA配置完成,下面開始對軟件程序的測試。本設(shè)計的軟件調(diào)試在NIOS IDE軟件環(huán)境下完成。首先,在NIOS IDE軟件環(huán)境下新建一個工程,在選擇工程模板時可以選擇Hello MicroC/OS-Ⅱ,這樣在工程建立之時,μC/OS操作系統(tǒng)就已經(jīng)被嵌入使用,接下來在NIOS IDE工程內(nèi)輸入用C語言編寫的功能程序,對工程進行編譯,驗證程序的正確性。
     在分別完成硬件電路和軟件程序測試的基礎(chǔ)上,將FPGA的硬件配置文件下載到電路中的片外EPCS4芯片中,將軟件程序下載到已經(jīng)構(gòu)建好的NIOSⅡ處理器中,然后進行總體測試。
    連接上GPS天線,程序下載完成并等待一段時間后,天線收到定位數(shù)據(jù),系統(tǒng)開始解碼并顯示定位信息,這時液晶屏上顯示第一屏定位信息,即經(jīng)緯度和速度信息,如圖8所示。此時,若按下五向按鍵的向下鍵,液晶顯示信息翻屏,顯示第二屏定位信息,包括航向、時間、
日期和設(shè)計者信息。


    將五向按鍵分別向上和向下?lián)軇?,液晶屏顯示信息可以在第一屏和第二屏之間進行切換??梢娤到y(tǒng)設(shè)計正確,能夠提供正確的實時位置和時間信息。

5 結(jié)語
   
本文基于GPS定位原理及FPCA設(shè)計了一種基于NIOS處理器的CPS信息接收系統(tǒng),設(shè)計所用到的NlOSⅡ處理器專為嵌入式系統(tǒng)設(shè)計,μC/OS操作系統(tǒng)具有良好的實時性,有助于提高定位信息的實時顯示,以保證其正確性。系統(tǒng)整體設(shè)計思想是首先將NIOSⅡ處理器嵌入到FPGA內(nèi),F(xiàn)PGA內(nèi)部電路結(jié)構(gòu)用Verilog硬件語言描述,然后把μC/OS操作系統(tǒng)移植到處理器內(nèi)部,通過C語言編程完成系統(tǒng)功能。經(jīng)實際測試驗證,本文所設(shè)計的硬件電路及C語言功能程序完全能夠達到要求,并且能夠?qū)崿F(xiàn)GPS信息接收與顯示的功能,實時地為使用者提供精確的經(jīng)緯度、速度、時間和航向等定位信息。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉