<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于NIOSⅡ的GPS信息接收系統設計與實(shí)現

基于NIOSⅡ的GPS信息接收系統設計與實(shí)現

作者: 時(shí)間:2013-06-14 來(lái)源:網(wǎng)絡(luò ) 收藏

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

本文引用地址:http://dyxdggzs.com/article/189581.htm

e.JPG


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

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

f.jpg


將五向按鍵分別向上和向下?lián)軇?dòng),液晶屏顯示信息可以在第一屏和第二屏之間進(jìn)行切換??梢?jiàn)系統設計正確,能夠提供正確的實(shí)時(shí)位置和時(shí)間信息。

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


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: NIOS GPS 接收系統

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>