• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

    2011-03-13 08:55:04向樂樂盧艷娥
    電子設計工程 2011年2期
    關鍵詞:數(shù)據(jù)位輸入輸出管腳

    向樂樂,盧艷娥

    (空軍工程大學 電 訊工程學院, 陜西 西 安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ù)定位或者本身的高精度單點定位輸出定位結(jié)果和差分修正數(shù)據(jù)。作為基準站,不僅要實時輸出精確定位信息,而且需要與外界進行差分數(shù)據(jù)交換。由于同一時間需要大量持續(xù)差分數(shù)據(jù)的輸入與輸出和用戶控制指令的輸入,設計采用了3個串口。

    1 硬件結(jié)構(gòu)

    信號處理板為FPGA+DSP結(jié)構(gòu),具有多路A/D、D/A轉(zhuǎn)換器件。中頻信號經(jīng)A/D采樣后進入FPGA完成去載波,PRN碼相關運算,IQ變換等操作后由DSP芯片進行定位解算。通過串口輸入的用戶控制指令任意選擇串口對GPS定位結(jié)果的輸出和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é)的轉(zhuǎn)換。

    圖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ā)出中斷信號??稍贜IOS 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ù)有特定的結(jié)尾標志符組合,一旦檢測到結(jié)束標志則發(fā)送已緩存的數(shù)據(jù)并完成狀態(tài)清零以便下次接收;P_flag為1則為連續(xù)數(shù)據(jù)塊輸入,當Half_RAM0或Half_RAM1其中一塊寫滿時即向DSP發(fā)出中斷信號,DSP即進入中斷服務程序讀取數(shù)據(jù)[6]。程序流程圖如圖5所示。

    3 結(jié)束語

    采用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定位結(jié)果、RTK差分數(shù)據(jù)與外界的實時交換以及用戶控制命令的輸入。本方案的優(yōu)點是通過增加各串口的輸入/輸出控制寄存器,使DSP芯片可以僅以兩個GPIO資源實現(xiàn)原本需要3個串口輸入/輸出功能相對應的6個中斷操作;采用NIOS II CPU進行多串口控制可以減少硬件調(diào)試時間,節(jié)約FPGA片內(nèi)資源。不足之處是未實現(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.

    猜你喜歡
    數(shù)據(jù)位輸入輸出管腳
    A320飛機大氣數(shù)據(jù)的采集和計算在排故中的應用
    Camtasia Studio高清視頻輸入輸出原理及方法
    鐵路信號系統(tǒng)安全輸入輸出平臺
    輸入輸出理論在大學英語聽說課堂中的教學探索
    輸入輸出視角下高職英語教學研究
    一種適用于FPGA系統(tǒng)中的變速箱電路設計
    基于圖像處理的異型電子元器件管腳偏移誤差檢測方法研究
    CMOS數(shù)字IC管腳電容的估算與測量
    減少調(diào)度自動化設備通訊串口丟包率的措施
    電子測試(2016年3期)2016-03-12 04:46:52
    HC08芯片JVT測試方法的探究
    電子測試(2013年22期)2013-09-26 06:03:52
    明水县| 文登市| 类乌齐县| 融水| 信丰县| 陇南市| 容城县| 渭南市| 孟连| 交城县| 靖宇县| 竹山县| 天气| 呼玛县| 东阿县| 荣昌县| 浑源县| 榆社县| 西贡区| 富蕴县| 雅安市| 吉安县| 黄陵县| 抚顺市| 奇台县| 大姚县| 耿马| 普安县| 西平县| 灵宝市| 连城县| 军事| 宝丰县| 丹凤县| 化德县| 马鞍山市| 澄迈县| 石台县| 婺源县| 凌源市| 宝清县|