999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種緊耦合Ubuntu系統的衛星導航接收機設計

2016-11-26 08:17:52李春明李雪燕王曉君
單片機與嵌入式系統應用 2016年10期
關鍵詞:系統設計

李春明,李雪燕,王曉君

(河北科技大學信息科學與工程學院,石家莊050000)

一種緊耦合Ubuntu系統的衛星導航接收機設計

李春明,李雪燕,王曉君

(河北科技大學信息科學與工程學院,石家莊050000)

提出了一種采用ARM+FPGA架構的緊耦合Ubuntu系統的衛星導航接收機的設計,ARM上運行Ubuntu系統, ARM與FPGA之間通過ARM自帶的GPMC接口進行通信,重點解決Ubuntu系統與GPMC通信相關的驅動軟件設計問題。首先介紹了ARM Cortex-A8的GPMC接口原理,然后給出了Ubuntu系統的主要軟件驅動模塊的設計思路。本設計結合了ARM和FPGA各自的優點,借助Ubuntu系統自身強大的功能,加快了接收機的研發速度,增加了其穩定性。

ARM+FPGA;緊耦合;GPMC;AM3354;Virtex-6

引 言

隨著科技的不斷發展,嵌入式系統的應用越來越廣泛,ARM公司的微處理器也受到了越來越多的關注,其可以在很短的時間內處理大量的數據,但信號處理能力有限[1];FPGA芯片規模越來越大,速度非常快,可以實現十分復雜的高速邏輯,但是FPGA在控制和驅動程序處理方面比較薄弱[2]。因此,本文采用了ARM+FPGA的組合方式,設計了緊耦合Ubuntu系統的衛星導航接收機。該方式以ARM微處理器為控制核心,FPGA為協處理器[3],設計簡潔,結構緊湊,成本較低,功能強大,可以應用于很復雜的場合。

1 衛星導航接收機

1.1 衛星導航接收機的原理

衛星導航接收機接收衛星發射的導航信號,經過捕獲、跟蹤處理以及PVT解算,得到用戶的位置、速度和時間等信息[4]。衛星導航接收機的工作原理為:首先天線接收到來自衛星的信號,經過前置放大器把信號放大,放大后的信號下變頻到近基頻,而不是真正的基帶,此過程完成了射頻前端的功能;接著基帶數字信號處理模塊處理來自射頻前端的中頻信號,從中獲得導航的相關信息,解調出對應的導航電文;最后導航定位模塊通過對基帶處理模塊傳送出來的信息進行PVT解算,計算出用戶當前的位置、速度和時間等信息,完成接收機的定位[5-6]。衛星導航接收機框圖如圖1所示。

圖1 衛星導航接收機框圖

1.2 ARM與FPGA之間的通信

在設計衛星導航接收機時,基帶處理模塊基本上是在FPGA中完成的,而定位解算模塊基本上是在ARM中完成的。導航定位模塊需要從基帶處理模塊中獲取導航的相關信息[7],也就是說ARM需要從FPGA中獲取信息,因此ARM和FPGA之間就需要相互通信。

ARM和FPGA之間不是通過一個普通的串口來進行通信的,而是采用并行通信,也就是總線傳輸的方式, ARM和FPGA之間通過GPMC總線進行通信。GPMC總線是ARM本身自帶的總線接口,內部具有強大的訪問性能控制寄存器組,可以自動協調總線訪問的速度,還可以與更大范圍的外圍存儲芯片進行通信。

通信之前首先要初始化ARM,在ARM初始化過程中要配置GPMC_CONFIG1_i、GPMC_CONFIG2_i、GPMC_CONFIG5_i、GPMC_CONFIG6_i、GPMC_IRQ等寄存器,依次對GPMC的時鐘和地址/數據總線、片選信號、讀使能、寫使能、中斷信號等進行配置,為ARM與FPGA的數據傳輸做準備。

初始化完成之后,FPGA接收來自外界的數據,當檢測到數據存滿之后,FPGA會通過ARM本身自帶的GPMC總線向ARM發出中斷請求,此時ARM會響應FPGA的中斷,通過GPMC進行數據傳輸,這種傳輸方式速度較快,而且相對穩定。ARM和FPGA的連接示意圖如圖2所示。

圖2 ARM和FPGA的連接示意圖

2 驅動程序設計

ARM和FPGA之間的通信,采用了緊耦合的方式,即把硬件的驅動模塊充分嵌入到系統內部,與系統無縫耦合在一起。采用緊耦合的好處是使ARM參與了大部分的信號處理過程和全部的信息處理,利用Ubuntu框架本身的優勢,可以節省開發資源。因此需要設計嵌入式Ubuntu系統下的驅動程序[8],在驅動程序中需要中斷驅動程序和總線驅動程序的配合[9]。

2.1 中斷驅動程序

在Ubuntu系統中,并不直接從中斷向量表中調用設備驅動程序的中斷服務子程序,而是由Ubuntu系統接收硬件中斷,再由系統調用中斷服務子程序。設備驅動程序在設備第一次打開、硬件被告知產生中斷之前,調用request_irq()函數來申請中斷,在最后一次關閉、硬件設備被告知不再用中斷處理器后,調用free_irq()函數來釋放中斷[10]。

函數定義為:

參數irq表示要申請的硬件中斷號,handler指向中斷處理函數,dev_id為設備標識,regs為中斷發生時寄存器內容,flags為0,或者是下列一個或多個標志的位掩碼, device為設備名。

首先系統上電,request_irq()函數為FPGA的中斷分配中斷請求號,當FPGA數據存滿之后,通過GPMC向ARM發送中斷請求,此時中斷請求號會發生變化。當ARM檢測到中斷請求號的變化之后,request_irq()函數會給請求函數一個返回值,來表明請求是否成功。若request_irq()函數返回給請求函數的值為0,表示請求成功;返回值為負值,表示為錯誤碼;返回值為_EBUSY,表示現在有另一個驅動程序占用了要請求的中斷信號線[11]。由于中斷請求號和中斷處理例程是一一對應的[12],所以當請求成功之后,就會處理中斷請求號對應的中斷處理例程。

在執行中斷例程時,首先清除ARM中斷寄存器相應的位;然后對狀態寄存器相應的位進行寫操作,這是為了能繼續響應來自FPGA的中斷請求;最后設置數據傳輸標志位。當主程序檢測到標志位時,調用總線驅動程序進行數據傳輸,這樣可以提高系統的傳輸效率。中斷服務程序流程圖如圖3所示。

2.2 總線驅動程序

ARM響應FPGA的中斷之后,通過GPMC總線來讀寫FPGA中的數據,即實現對FPGA的訪問。

調用總線驅動程序進行數據傳輸時,用戶空間對FPGA的訪問采用內存映射方式,這樣用戶程序就可以直接訪問設備內存[13],大大加快了數據傳輸的速度。Ubuntu環境提供了mmap函數,用來將某個文件內容映射到內存中,對該內存區域的存取即是直接對該文件內容的讀寫。

在int(*mmap)(struct file*,struct vm_area_ struct*)中,參數struct vm_area_struct就是內核為找到的用戶空間的進程虛擬內存區域,這就是驅動程序需要映射到設備內存的地址。

圖3 中斷服務程序流程圖

首先驅動分配一塊內存,然后調用mmap函數把內存的物理地址轉換成頁幀號[14],調用mmap函數的過程就是對函數的初始化,mmap函數原型如下:

參數start指向想要讀取的內存首地址,一般設為NULL,代表讓系統自動選定地址,對應成功后返回該地址;length代表映射到內存中的文件長度;prot代表映射區域的保護方式;flags代表影響映射區域的各種特性;fd代表要映射到內存中的文件描述符;offsize代表文件映射的偏移量,通常設置為0(代表從最前方開始對應),offsize必須是分頁大小的整數倍。

再調用remap_page_range函數,通過頁號來建立頁表,并映射到用戶空間,這樣就可以完成用戶空間與內核空間的數據傳輸[15]。

remap_page_range函數原型為:

其中from是映射開始的虛擬地址,這個函數為虛擬地址空間from和from+size之間的范圍構造頁表;to是虛擬地址應該映射到的物理地址;size是被映射區域的大小;prot是保護標志。

結 語

本文介紹了一種基于ARM+FPGA組合方式的衛星導航接收機設計方案,ARM處理器體積小、功耗低、性能高,控制接收機的整體流程;FPGA費用低、硬件資源豐富,可以實現大規模的數據運算,適用于基帶處理模塊的設計。ARM與FPGA之間采用GPMC的16位總線傳輸方式進行通信,傳輸速度快。在Ubuntu下進行了驅動程序的編寫,這樣ARM就可以通過調用FPGA驅動程序進行數據的傳輸。此架構在成本和實時性上具有一定的實用價值。

[1]趙愛萍.基于ARM的嵌入式系統開發及其在GPS接收機中的應用研究[D].西安:中國科學院國家授時中心,2006.

[2]沈孝龍.基于ARM+FPGA的北斗導航終端的研究與設計[D].南京:南京理工大學,2014.

[3]邢增強.基于ARM+FPGA的GPS接收機設計[J].傳感器與微系統,2011,30(7):108-110.

[4]賀陽.BD2接收機基帶系統的FPGA設計與實現[D].武漢:武漢理工大學,2013.

[5]劉競超,鄧中亮.基于ARM+FPGA北斗接收機設計[J].軟件,2012,33(12):38-39.

[6]謝鋼.GPS原理與接收機設計[M].北京:電子工業出版社, 2011.

[7]楊樹偉.基于FPGA與DSP嵌入式北斗/GPS兼容型接收機設計與試驗[D].鎮江:江蘇科技大學,2012.

[8]付陽.基于ARM9的嵌入式Linux移植和驅動程序設計[D].武漢:華中科技大學,2012.

[9]劉剛,趙劍川.Linux系統移植[M].北京:清華大學出版社, 2011:26-30.

[10]程科.嵌入式Linux設備驅動程序的設計與研究[D].成都:電子科技大學,2007.

[11]弓雷.ARM嵌入式Linux系統開發詳解[M].2版.北京:清華大學出版社,2014.

[12]張淑梅.基于ARM+FPGA的高精度數據采集系統設計[J].國外電子測量技術,2014,33(11):63-64.

[13]朱曉鵬,肖鐵軍,趙蕙.ARM+FPGA的實時數據采集系統設計[J].計算機工程與設計,2009,30(13):3088-3090.

[14]mmap函數系統調用(內核空間到用戶空間的映射)[EB/ OL].[2016-04].http://blog.csdn.net/ahstusujian/article/details/8065810.

[15]關于驅動開發中mmap函數的實現[EB/OL].[2016-04].http://www.cnblogs.com/hoys/archive/2012/06/26/2563319. html.

李春明(副教授)、李雪燕(研究生),主要從事運動目標檢測、模式識別;王曉君(教授),主要研究方向為衛星應用技術。

(責任編輯:薛士然收修改稿日期:2016-04-26)

Satellite Navigation Receiver Design Based on Tight Coupling Ubuntu System

Li Chunming,Li Xueyan,Wang Xiaojun

(Hebei Universityof Science&Technology,Shijiazhuang 050000,China)

Tight coupling Ubuntu system design of satellite navigation receiver using ARM+FPGA architecture is proposed,Ubuntu system runs on the ARM,the GPMC interface is used for communication of ARM and FPGA.The design of driving software related to GPMC communication in Ubuntu system is the key point of this paper.First,the GPMC interface principle of ARM Cortex-A8 is introduced,and the main driver software module design ideas of the Ubuntu system is given.This design combines the advantages of ARM and FPGA,which increases the speed and stability of the receiver.

ARM+FPGA;tight coupling;GPMC;AM3354;Virtex-6

TP332

A

猜你喜歡
系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 美女亚洲一区| 国产女人18毛片水真多1| 国产jizz| 国产三级国产精品国产普男人| 日本一本正道综合久久dvd| 日本成人一区| 亚洲美女一区二区三区| 国产91在线免费视频| 香蕉网久久| 久久这里只有精品2| 高清无码手机在线观看| 国产香蕉97碰碰视频VA碰碰看| 欧美中文字幕第一页线路一| 丁香亚洲综合五月天婷婷| 日韩中文无码av超清| 四虎综合网| 99久久这里只精品麻豆| 成人字幕网视频在线观看| 国产丝袜一区二区三区视频免下载| 久久99精品久久久久纯品| 青青操国产视频| 成人小视频在线观看免费| 91网红精品在线观看| 国产毛片不卡| 久久久久久尹人网香蕉| 国产 日韩 欧美 第二页| 啊嗯不日本网站| 午夜啪啪网| 国产91av在线| 国产在线精品人成导航| 国产正在播放| 91极品美女高潮叫床在线观看| 热久久综合这里只有精品电影| 天天综合网亚洲网站| 亚洲第一视频区| 亚洲精品爱草草视频在线| 亚洲天堂自拍| 人妻少妇乱子伦精品无码专区毛片| 一级成人欧美一区在线观看| 色欲国产一区二区日韩欧美| 人与鲁专区| 永久免费AⅤ无码网站在线观看| 亚洲成人网在线播放| 久久久91人妻无码精品蜜桃HD | 激情国产精品一区| 91在线视频福利| 亚洲一道AV无码午夜福利| 国产在线精品美女观看| 欧美国产综合色视频| 青草娱乐极品免费视频| 日韩精品亚洲人旧成在线| 国产免费a级片| 黑色丝袜高跟国产在线91| 国产精品不卡永久免费| 日韩精品无码一级毛片免费| 欧美天堂在线| 日韩免费无码人妻系列| 婷婷五月在线| 99精品欧美一区| 国产在线91在线电影| 欧美日韩国产一级| 秋霞一区二区三区| 成年女人18毛片毛片免费| 久久综合五月婷婷| 97在线免费| 亚洲va视频| 精品国产网| 日本午夜视频在线观看| 国产永久在线视频| 国产成人超碰无码| 日韩黄色大片免费看| 国产亚洲视频中文字幕视频| 成人午夜免费观看| 国产成人乱无码视频| 九九热精品在线视频| 中文字幕无码制服中字| 91小视频在线观看| 午夜视频在线观看区二区| 在线国产毛片手机小视频| 午夜老司机永久免费看片| 在线看片中文字幕| 伊人久久影视|