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

基于NIOS II的多串口數(shù)據(jù)通信的實現(xiàn)

2011-03-13 08:55:04向樂樂盧艷娥
電子設計工程 2011年2期

向樂樂,盧艷娥

(空軍工程大學 電 訊工程學院, 陜西 西 安710077)

通用異步接收/發(fā)送器(UART)是一種通用串行數(shù)據(jù)總線,用于異步通信,可以實現(xiàn)全雙工通信。UART IP核是用在外部設備和Atera FPGA芯片上的SOPC間進行串行通信的一種實現(xiàn)方式。它可以替代RS-232實現(xiàn)芯片與外設的輸入/輸出(I/O)操作[1]。

GPS RTK(Real Time Kinematic)可以即時提供厘米級的定位解。在進行動態(tài)定位時,基準站將精確已知的GPS坐標和觀測數(shù)據(jù)實時用微波鏈路傳給流動站,在流動站實時進行差分處理,得到基準站和流動站坐標差;坐標差加上基準站坐標得到流動站每個點坐標。基準站向終端用戶接收機提供的信息包括對GPS衛(wèi)星鐘、星歷數(shù)據(jù)、用戶測量偽距和載波相位等參數(shù)的修正[2-3]。

本文所用的信號處理板可以作為GPS RTK基站使用,可以與其他基站組網(wǎng)接收差分修正數(shù)據(jù)定位或者本身的高精度單點定位輸出定位結果和差分修正數(shù)據(jù)。作為基準站,不僅要實時輸出精確定位信息,而且需要與外界進行差分數(shù)據(jù)交換。由于同一時間需要大量持續(xù)差分數(shù)據(jù)的輸入與輸出和用戶控制指令的輸入,設計采用了3個串口。

1 硬件結構

信號處理板為FPGA+DSP結構,具有多路A/D、D/A轉換器件。中頻信號經(jīng)A/D采樣后進入FPGA完成去載波,PRN碼相關運算,IQ變換等操作后由DSP芯片進行定位解算。通過串口輸入的用戶控制指令任意選擇串口對GPS定位結果的輸出和GPS差分修正數(shù)據(jù)的輸入輸出。

圖1信號處理板框圖Fig.1Structure block diagram of signal processing board

FPGA芯片上配置了3個串口,分別為UART0、UART1、UART2,由SOPC Builder分配相對應的存儲映射空間和中斷請求。每個模塊均使用默認的基地址,并分別設定UART0、UART1、UART2的數(shù)據(jù)輸入中斷請求號為IRQ1,IRQ2,IRQ3。另外,DSP芯片可能在任意時刻通過3個串口發(fā)送不同數(shù)據(jù)。

如果DSP對每個串口發(fā)送數(shù)據(jù)時均向NIOS II CPU發(fā)出中斷申請,則需要3根PIO管腳,占用太多針腳資源。本實現(xiàn)方案通過增加個串口控制寄存器,僅占用1根PIO管腳。同時,對和DSP芯片進行交互控制的PIO信號分配中斷請求號為IRQ0。

每個UART口都有輸入、輸出兩塊RAM作為緩存,數(shù)據(jù)位寬為16bits。其中,串口輸入緩存命名為ReadFromMemInterface,串口輸出緩存命名為WriteToMemInterface(見圖2)。需要注意的是實際傳輸數(shù)據(jù)時,外部設備的串口參數(shù)的數(shù)據(jù)位長度設置為8 bits,因此需要在串口的軟件處理進行字與字節(jié)的轉換。

圖2 NIOS II CPU的地址映射Fig.2Memory map of NIOS II CPU

圖3是NIOS II CPU在Quatus中的連線示意圖,即位于中心的inst6模塊。該CPU主要管腳定義如表1所示。

圖3 NIOS II CPU的管腳連接示意圖Fig.3Pin conections of NIOS II CPU

表1 NIOS II CPU主要管腳定義Tab.1Definitions of NIOS II CPU’s primary pins

值得說明的是,ts_clk輸入時鐘20.46 MHz即為NIOS II CPU的時鐘頻率,串口波特率為115 200 bps,可由該時鐘分頻得到。DSP6713的EMIF為輸入輸出雙向32位[4-5],在本設計中串口部分僅使用低16位,使用三態(tài)門來控制數(shù)據(jù)流向。三態(tài)門輸入輸出的使能信號是dsp給出的ce空間使能信號ce_6713。

串口輸入數(shù)據(jù)先由NIOS II CPU寫入每個串口的輸入緩存,當滿足條件時由out_pio管腳向dsp發(fā)出中斷,用以告知其可以讀取相應串口的數(shù)據(jù)了,緩存的數(shù)據(jù)由dspread0傳遞至三態(tài)門tri_16,dsp讀取時三態(tài)門為dsp輸入方向,dsp的EMIF數(shù)據(jù)線evm_D隨即出現(xiàn)數(shù)據(jù),配合EMIF地址線evm_A即可完成串口輸入數(shù)據(jù)向dsp傳遞;當dsp有數(shù)據(jù)要經(jīng)串口輸出時,數(shù)據(jù)由dsp的EMIF數(shù)據(jù)線evm_D輸入,dsp通過in_pio向NIOS II CPU發(fā)出中斷信號,請求發(fā)送數(shù)據(jù)。詳細的發(fā)送接收流程見下文。

2 軟件設計

NIOS II CPU的控制代碼部分分為主函數(shù)和各種中斷響應函數(shù)。在主函數(shù)里完成寄存器初始化、各串口數(shù)據(jù)輸出的任務。串口的中斷響應函數(shù)則主要完成數(shù)據(jù)的輸入任務。

為了便于FPGA和DSP之間的控制信息交換,每個串口設有地址固定的長度各為32位(4字節(jié))的輸入和輸出兩個控制寄存器。通過對各標志位的讀寫操作即可實現(xiàn)系統(tǒng)對各串口的控制。串口的輸入控制寄存器定義見表2,輸出控制寄存器與之類似。

表2 UART輸入控制寄存器定義Tab.2 Definition of the UART input control register

由于用戶控制指令(包括信號處理板配置參數(shù)、輸出數(shù)據(jù)類型控制等)與差分修正數(shù)據(jù)的數(shù)據(jù)長度和數(shù)據(jù)持續(xù)性有很大區(qū)別,在常規(guī)數(shù)據(jù)傳輸方式之外對每個串口增設數(shù)據(jù)塊傳輸模式。數(shù)據(jù)塊傳輸模式可用于持續(xù)性大量數(shù)據(jù)的輸入,采用每個串口對兩塊RAM進行乒乓讀寫操作的來方案實現(xiàn)。是否采用數(shù)據(jù)塊傳輸模式由串口的控制寄存器中的第14位(P_flag)決定。對于非數(shù)據(jù)塊輸入模式中緩存大小需要根據(jù)常規(guī)數(shù)據(jù)最大長度來設定,過小會導致部分數(shù)據(jù)丟失。

當有數(shù)據(jù)需要輸出時,由DSP向NIOS II CPU的RAM寫入各UART輸出控制寄存器的設定值,并通過GPIO向其發(fā)出中斷信號。可在NIOS II CPU的main函數(shù)中設置一個循環(huán)檢測是否有由DSP輸入的中斷信號,若有再檢測各UART的輸出控制寄存器。輸出流程圖如圖4所示。

圖4串口數(shù)據(jù)輸出流程Fig.4Process of data output

圖4中SET_EN用于設置個串口的輸入模式(是否乒乓輸入及乒乓輸入時緩存的大小)和串口使能等操作,輸入控制寄存器的默認值在系統(tǒng)初始化時由DSP寫入。

當數(shù)據(jù)輸入時,NIOS II CPU檢測到來自串口的中斷請求,進入對應的中斷響應程序。首先對數(shù)據(jù)傳輸模式進行判斷,P_flag默認值為0,表示非數(shù)據(jù)塊輸入模式。該模式下輸入的數(shù)據(jù)有特定的結尾標志符組合,一旦檢測到結束標志則發(fā)送已緩存的數(shù)據(jù)并完成狀態(tài)清零以便下次接收;P_flag為1則為連續(xù)數(shù)據(jù)塊輸入,當Half_RAM0或Half_RAM1其中一塊寫滿時即向DSP發(fā)出中斷信號,DSP即進入中斷服務程序讀取數(shù)據(jù)[6]。程序流程圖如圖5所示。

3 結束語

采用Altera FPGA芯片上的NIOS II CPU控制串口的優(yōu)點是充分使用硬件資源,可以減輕DSP芯片的計算量。測試表明,NIOS II CPU工作頻率為20.46 MHz,串口波特率設置為115 200,數(shù)據(jù)位為8 bit,各串口可以同時正常輸入輸出。多串口可以同時輸入輸出數(shù)據(jù),由指令可以靈活配置傳輸模式,以適應不同數(shù)據(jù)傳輸類型的需求。

圖5串口輸入(連續(xù)數(shù)據(jù)塊模式)Fig.5Process of data input(continuous data input mode)

本文解決了單串口傳輸不能滿足GPS高精度接收機對多種數(shù)據(jù)同時輸入輸出的要求,實現(xiàn)了GPS定位結果、RTK差分數(shù)據(jù)與外界的實時交換以及用戶控制命令的輸入。本方案的優(yōu)點是通過增加各串口的輸入/輸出控制寄存器,使DSP芯片可以僅以兩個GPIO資源實現(xiàn)原本需要3個串口輸入/輸出功能相對應的6個中斷操作;采用NIOS II CPU進行多串口控制可以減少硬件調試時間,節(jié)約FPGA片內資源。不足之處是未實現(xiàn)串口波特率、數(shù)據(jù)位等實時配置。

[1]李蘭英.NIOS II嵌入式軟核SOPC設計原理與應用[M].北京:北京航空航天大學出版社,2006

[2]Kaplan E D.Hegarty C J.Understanding GPS Principles and Applications Second Edition[M].Boston:Artech House,2006.

[3]French G T.Understanding the GPS[M].GeoResearch Inc.1996.

[4]劉偉,魏芹芹.TMS320C672X系列DSP原理與應用[M].北京:北京航空航天大學出版社,2008.

[5]TexasInstrumentsIncorporated.TMS320C6713,TMS320C6713B floating-point digital signal processors[EB/OL].(2004-05)[2010-06-12].http://focus.ti.com.cn/cn/lit/ds/symlink/tms 320 c6713.pdf

[6]田耘,徐文波.無線通信FPGA設計[M].北京:電子工業(yè)出版社,2007.

主站蜘蛛池模板: 一级一级一片免费| 久久情精品国产品免费| 亚洲成人精品在线| 色偷偷男人的天堂亚洲av| 国产夜色视频| 在线国产欧美| 伊在人亚洲香蕉精品播放| 日本人妻一区二区三区不卡影院| 国产99视频精品免费观看9e| 色综合婷婷| 青青草综合网| 国产色婷婷视频在线观看| 91成人在线免费观看| 最新国产精品鲁鲁免费视频| 国产精品偷伦视频免费观看国产| 免费中文字幕在在线不卡| 视频一本大道香蕉久在线播放 | 欧美中文字幕一区| 国产精品播放| 日韩欧美国产三级| 国产精品亚洲综合久久小说| 婷婷六月在线| 亚洲第一色视频| 欧美色香蕉| 国产精品美女网站| 国产成人精品无码一区二| 伊人久久久大香线蕉综合直播| 国产欧美日韩另类| 一级做a爰片久久毛片毛片| 在线观看精品自拍视频| 欧美日本中文| 国产精品不卡永久免费| 九九九国产| 欧美不卡视频一区发布| 免费va国产在线观看| 久久久久久久97| 精品日韩亚洲欧美高清a| 亚洲精品波多野结衣| 亚洲永久色| 中文字幕在线看| 婷婷色一区二区三区| 色偷偷一区二区三区| 国产精品.com| 亚洲精品无码在线播放网站| 亚洲欧洲免费视频| 99热这里都是国产精品| 中文字幕在线视频免费| 国产欧美在线观看一区| 亚洲久悠悠色悠在线播放| 欧美视频在线不卡| 日本a级免费| 欧美在线一二区| 成人韩免费网站| 精品无码国产一区二区三区AV| 婷婷色在线视频| 国产成人a在线观看视频| 天天干天天色综合网| 欧美精品导航| 香蕉视频在线观看www| 99re在线视频观看| 亚洲中文精品久久久久久不卡| 亚洲成在线观看| 国产精品主播| 国产成人毛片| 成人日韩欧美| 尤物特级无码毛片免费| 最新加勒比隔壁人妻| www.亚洲天堂| 五月综合色婷婷| 欧美中出一区二区| 92午夜福利影院一区二区三区| 欧美激情首页| 国产一级二级在线观看| 97久久超碰极品视觉盛宴| 国产成人精品午夜视频'| 一级毛片在线播放| 夜夜操国产| 亚洲日本韩在线观看| 欧美第二区| 亚洲人成电影在线播放| 91色老久久精品偷偷蜜臀| 免费一极毛片|