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
主站蜘蛛池模板: 青草午夜精品视频在线观看| 欧美成在线视频| 中国一级特黄视频| 99免费视频观看| 国内毛片视频| 久久综合结合久久狠狠狠97色| 一级一毛片a级毛片| 亚洲第一成年免费网站| 日韩大片免费观看视频播放| 国产自视频| 国产美女叼嘿视频免费看| 色老头综合网| 性欧美久久| 国产免费久久精品99re丫丫一| 亚洲av综合网| 国产爽妇精品| 亚洲a免费| 精品国产免费观看一区| 1769国产精品视频免费观看| 97精品国产高清久久久久蜜芽| 91精品国产综合久久香蕉922| 色妞www精品视频一级下载| 亚洲综合九九| 色九九视频| 日本免费新一区视频| 免费人成在线观看成人片| 国产草草影院18成年视频| 一区二区日韩国产精久久| www.亚洲天堂| 亚洲综合日韩精品| 农村乱人伦一区二区| 超碰aⅴ人人做人人爽欧美| 在线无码av一区二区三区| 国产又黄又硬又粗| 三级欧美在线| 女同国产精品一区二区| 亚洲精品中文字幕午夜| 国产成人高精品免费视频| 香蕉视频在线精品| 中国一级毛片免费观看| 97精品伊人久久大香线蕉| 国产91在线|日本| 亚洲免费黄色网| 亚洲不卡av中文在线| 欧洲亚洲一区| 欧美亚洲国产一区| 噜噜噜综合亚洲| 亚洲欧美一区二区三区麻豆| 国产杨幂丝袜av在线播放| 亚洲av成人无码网站在线观看| 国产精品13页| 亚洲精品无码高潮喷水A| 亚洲一道AV无码午夜福利| 天天视频在线91频| 亚洲国产日韩在线成人蜜芽| 狠狠躁天天躁夜夜躁婷婷| 国产精品成人一区二区不卡| 国产十八禁在线观看免费| 2020国产精品视频| а∨天堂一区中文字幕| 国产成人免费手机在线观看视频| 国产毛片片精品天天看视频| 这里只有精品在线| 手机永久AV在线播放| 91免费在线看| 国产主播在线一区| 国产视频久久久久| 成人在线不卡| 九九热免费在线视频| 亚洲va视频| 亚洲无码一区在线观看| 国产欧美精品一区aⅴ影院| 国产精品视频久| 五月六月伊人狠狠丁香网| 久久精品66| 3D动漫精品啪啪一区二区下载| a毛片免费在线观看| 免费在线色| 精品国产美女福到在线直播| 九九视频免费在线观看| aⅴ免费在线观看| 成人免费网站久久久|