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
主站蜘蛛池模板: 国产chinese男男gay视频网| 国产精品露脸视频| 国产熟女一级毛片| 中文字幕啪啪| 美女视频黄频a免费高清不卡| 制服丝袜一区| 国产aaaaa一级毛片| 18禁影院亚洲专区| 一级毛片无毒不卡直接观看| 伊人丁香五月天久久综合| 久久77777| 国产一在线观看| 亚洲日韩AV无码精品| 在线观看av永久| 亚洲aaa视频| 欧美日韩动态图| 无码国内精品人妻少妇蜜桃视频| 波多野结衣久久高清免费| 色婷婷啪啪| 亚洲国产理论片在线播放| 视频二区中文无码| 色婷婷天天综合在线| 亚洲一区色| 国产簧片免费在线播放| 成人午夜免费观看| 中文国产成人精品久久一| 国产成人综合久久精品下载| 老司机aⅴ在线精品导航| 国产精品手机在线播放| 激情综合婷婷丁香五月尤物| 99久久精品国产自免费| vvvv98国产成人综合青青| 精品1区2区3区| 色婷婷久久| 国产经典在线观看一区| 亚洲午夜18| 中文字幕有乳无码| 亚洲精品自拍区在线观看| 国产成熟女人性满足视频| 狠狠色香婷婷久久亚洲精品| 精品综合久久久久久97超人| 国产91av在线| 国产成人91精品| 人人爽人人爽人人片| 久久中文字幕av不卡一区二区| 国产成人超碰无码| 喷潮白浆直流在线播放| av无码一区二区三区在线| 国产网友愉拍精品| 久久精品中文字幕免费| 欧美成人在线免费| 欧美va亚洲va香蕉在线| 亚洲自偷自拍另类小说| 国产精品亚洲综合久久小说| 免费啪啪网址| 中文字幕在线观看日本| 日韩乱码免费一区二区三区| 亚洲动漫h| 91娇喘视频| 国产手机在线ΑⅤ片无码观看| 亚洲成人在线免费| 久久精品娱乐亚洲领先| 久久精品国产一区二区小说| 欧美在线导航| 99人妻碰碰碰久久久久禁片| 99久久亚洲精品影院| 2020国产精品视频| 精品久久久久久中文字幕女| 中文字幕在线观| 欧美综合中文字幕久久| 九九九九热精品视频| 久久中文字幕av不卡一区二区| 久久精品国产电影| 99re免费视频| 伊人激情综合网| 一本色道久久88| 22sihu国产精品视频影视资讯| 欧美人人干| 国产一区三区二区中文在线| 91精品人妻一区二区| 国产视频资源在线观看| 亚洲精品国产自在现线最新|