亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        多普勒天氣雷達高速數(shù)據(jù)采集系統(tǒng)的設計

        2015-01-05 05:54:24姚振東
        成都信息工程大學學報 2015年2期
        關鍵詞:信號處理內(nèi)核命令

        宗 安,姚振東,佘 勇,李 建

        (成都信息工程學院電子工程學院中國氣象局大氣探測重點開放實驗室,四川成都610225)

        0 引言

        X波段磁控管接收相參多普勒天氣雷達是一種較短波長的雷達,具有高性能價格比的特點,在中小尺度天氣探測方面,仍然具有優(yōu)勢[1]。在中國,這種雷達主要應用于地市級與縣級的人工影響天氣作業(yè)指揮和氣象災害應急服務,也可提供專業(yè)氣象服務的實時天氣資料,并在支線航站(機場)的氣象保障方面肩負重要作用。過去,這種雷達在較低距離分辨力(約0.5~1 km)的情況下使用,數(shù)據(jù)率相對較低,使用總線插卡式采集接口,甚至USB接口就能實現(xiàn)實時的雷達數(shù)據(jù)采集和對雷達的命令交互,不需要專門的高速數(shù)據(jù)采集系統(tǒng)。在更高的距離分辨力(不大于150 m)條件下,傳遞反射率因子、平均速度和速度譜寬(ZVW)3個基數(shù)據(jù)的同時,為了日后的數(shù)據(jù)分析和更好地完善處理算法,需保存字長增加的大動態(tài)范圍原始復基帶(I/Q)數(shù)據(jù),總數(shù)據(jù)率超過原來的10倍,需要高速數(shù)據(jù)采集系統(tǒng)才能勝任。

        為此,專門設計一個基于千兆以太網(wǎng)的多普勒天氣雷達高速數(shù)據(jù)采集系統(tǒng),實現(xiàn)較大數(shù)據(jù)率的雷達原始復基帶數(shù)據(jù)和基數(shù)據(jù)的實時采集,以及雷達控制命令和狀態(tài)數(shù)據(jù)(伺服控制系統(tǒng)、發(fā)射機系統(tǒng))的交互。

        考慮到Xilinx公司的FPGA器件zynq-7000具有很好的結(jié)構(gòu)和資源,以及可以使用的IP Core和便于開發(fā)的優(yōu)點[2-3],充分利用其片上系統(tǒng)(SOC)的結(jié)構(gòu)特點以及可實現(xiàn)軟件系統(tǒng)運行完成初始化配置和簡單運算的靈活性,極大地簡化系統(tǒng)的外部硬件構(gòu)件和提高了內(nèi)部硬件資源的利用率。

        1 硬件系統(tǒng)的構(gòu)建

        Zynq-7000系列的型號XC7Z020器件,集成了兩個雙核Cortex-A9處理器內(nèi)核,以及Artix-7系列的現(xiàn)場可編程門陣列(FPGA);并配置豐富的片內(nèi)外設資源,如DDR控制器、USB控制器、SPI flash控制器、SD/SDIO外設控制器和千兆網(wǎng)以太網(wǎng)控制器等[3]。以XC7Z020為數(shù)據(jù)采集處理系統(tǒng)的核心器件,配置必要的外圍接口和驅(qū)動硬件,形成高速數(shù)據(jù)采集系統(tǒng)如圖1所示。

        圖1 數(shù)據(jù)采集處理系統(tǒng)硬件方塊圖

        Cortex-A9雙處理器內(nèi)核有很強的處理能力,最高工作主頻可達400 MHz,是處理系統(tǒng)(Processing System,PS)的核心;片上存儲器、外部存儲接口和IO外設為其優(yōu)質(zhì)資源。系統(tǒng)用到可由PS支配的千兆以太網(wǎng)、DDR3、SD卡以及串口終端等外部設備。其中,千兆網(wǎng)控制器實現(xiàn)一個10/100/1000Mbps的以太網(wǎng)MAC、兼容IEEE802.2-2008標準、工作在全雙工或者半雙工的模式下,實現(xiàn)MAC控制發(fā)送接收、地址過濾、同步邏輯和DMA控制等操作[4-5]。與控制器相連接的物理以太網(wǎng)芯片接口(PHY)使用88E1518,該器件在噪聲環(huán)境下能以很低的功耗以每秒千兆的數(shù)據(jù)速率實現(xiàn)穩(wěn)定傳輸性能[6]。異步串行接口UART使用USB轉(zhuǎn)UART芯片CY7C64225,在計算機中安裝驅(qū)動后就可以通過USB接口對其進行異步串行數(shù)據(jù)交互。SD卡和DDR3分別用于存儲程序和數(shù)據(jù)。

        配置的ADC采集模塊用于輸入雷達中頻信號;RS232隔離與驅(qū)動模塊用于和雷達狀態(tài)控制單元通信,讀取雷達收發(fā)機與電源等工作狀態(tài)并控制雷達運行,同時實現(xiàn)內(nèi)外電路的隔離;SPI-RS422隔離與驅(qū)動模塊用于和雷達伺服系統(tǒng)通信,讀取雷達天線(座)方位俯仰與狀態(tài)信息并控制天線運動,同時實現(xiàn)內(nèi)外電路的隔離。

        FPGA中包含資源豐富的可編程邏輯PL(Programmable Logic),包括可配置邏輯塊、乘法器、時鐘管理單元、48位的累加器和預加器、大量的隨機存儲器(RAM)等,為數(shù)字中頻接收機和天氣雷達數(shù)字信號處理以及相應接口提供足夠的硬件資源。

        2 雷達數(shù)據(jù)采集

        雷達的工作是邊掃描、邊采集、邊處理和邊傳輸?shù)倪B續(xù)不間斷過程,在雷達角度和距離分辨力的前提下,數(shù)據(jù)量極大,這就要求采集系統(tǒng)必須具備穩(wěn)定可靠的高速傳輸性能。

        2.1 高速通帶采樣

        ADC采集模塊采用16位250MSPS采樣率的中頻(IF)采樣模數(shù)轉(zhuǎn)換器AD9467,在最高中頻170 MHz、全量程范圍2.5 Vp-p時,具有75.5 dBFS的信噪比,適合天氣雷達高動態(tài)范圍需要,輸出兼容LVDS電平,性價比高。

        對于1 uS發(fā)射脈沖,30 MHz雷達中頻信號的帶寬為1 MHz,屬于窄帶信號。根據(jù)仙農(nóng)通帶采樣定理,可使用欠采樣技術以降低采樣頻率。但是,考慮到過采樣及抽取增益的優(yōu)勢,采用100 MSPS的過采樣率進行通帶采樣,處理后的采樣率為1 MSPS,獲得20 dB的處理增益,信噪比相應提高20 dB,不考慮其他處理,系統(tǒng)實際動態(tài)范圍將超過95 dB。采樣后,獲得100 MSPS的數(shù)字中頻信號。

        2.2 數(shù)字下變頻

        由100 MSPS相同頻率的數(shù)控振蕩器(Numerically Controlled Oscillator,NCO)產(chǎn)生復中頻本振信號(正余弦各24位),與輸入的數(shù)字中頻信號混頻(相乘),完成數(shù)字下變頻(Digital Down-Conversion,DDC)功能。

        由基于積分級聯(lián)梳狀濾波器(Cascade Integrator Comb filter,CIC)的多次抽取電路完成對下變頻后的復基帶信號的濾波和降采樣率抽取,輸出各20位的復基帶I/Q信號,如圖2所示。此過程完成后需要進行磁控管發(fā)射微波信號的隨機初相校正。

        圖2 數(shù)字下變頻示意圖

        2.3 信號處理與信息提取

        信號處理主要實現(xiàn)地物和超折射雜波的抑制,以及ZVW參數(shù)的估計等,其他任務留給雷達系統(tǒng)的主控計算機完成。

        由于地物和超折射雜波的低頻特性,可采用高通濾波器進行抑制。但是,如果這樣做,會導致天氣回波低頻成分損失。目前普遍推崇頻域高斯模型自適應處理(GMAP)具有原理上的優(yōu)越性,能最大限度地補償天氣回波信號損失。然而,由于采樣時間不足,從時域到頻域的變換將產(chǎn)生失真,且頻率分辨力不夠,使其幾乎失去應用意義。基于時域高斯模型自適應處理(Gaussian Model Adaptive Processing in Time Domain,GMAP-TD)的方法才可兼顧雜波抑制的性能并保證天氣回波信號質(zhì)量[7]。通過FPGA的PL實現(xiàn)這些可選方法。

        ZVW參數(shù)估計可通過時域脈沖對處理(PPP)或頻域(FFT)算法實現(xiàn)。前者可實現(xiàn)通過參差重復頻率緩解速度模糊的工作模式;后者則需要改為雙(或多)批重復頻率緩解速度模糊的工作模式,而這種模式存在天線掃描目標變化問題,且時頻變換的原則性問題依然存在。因此,仍使用PPP主流算法。

        等效反射率因子Z(dBZ)的計算見公式(1),Pr為雷達測量到的平均回波功率(dBm),R為回波距離(km);LA為路徑衰減(線性表示);C為雷達常數(shù),通過公式(2)計算得到。

        式(2)中,各變量及其量綱如下:雷達常數(shù) C(mm6/m3),波長 λ(cm),發(fā)射脈沖功率 Pt(KW),發(fā)射脈寬τ(uS),饋線損耗LT、天線發(fā)射接收增益GT、GR(線性表示),方位俯仰波束寬度θ、φ(度)。

        采用參差重復頻率緩解速度模糊的工作模式,其平均徑向速度V可由公式(3)計算[8]。

        2個交替脈沖間隔τl和τh選擇5∶4比率,θτ為對應τl脈沖間隔的兩脈沖回波的1階相關 ^Rl(τl)的相角,θh則為對應于 τh的1階相關 ^Rh(τh)的相角。由此,根據(jù)相應的0階相關功率譜 ^Sl和^Sh,可以估算回波速度譜寬,如公式(4)。

        通過處理器中的PL實現(xiàn)天氣雷達的ZVW參數(shù)的估計。

        3 命令與狀態(tài)的交互

        命令與狀態(tài)的交互主要通過2個串行接口完成,分別使用SPI同步串行協(xié)議和UART異步串行協(xié)議。

        3.1 SPI通信的FPGA實現(xiàn)

        SPI同步串行通信接口(RS422電平標準)用于和伺服控制系統(tǒng)通信,通過數(shù)據(jù)采集處理系統(tǒng)的中介,由千兆以太網(wǎng)至主控計算機完成天線的角碼、轉(zhuǎn)速、工作狀態(tài)等數(shù)據(jù)的傳送,并接收控制命令。

        伺服控制系統(tǒng)通過天線座及其上安裝的旋轉(zhuǎn)變壓器獲取天線方位、俯仰角度的電信號,最后轉(zhuǎn)換成數(shù)字角碼的形式,完成軸角信息采集。由此方可實現(xiàn)天線的定位與掃描。

        SPI工作于主從模式,時鐘4 MHz,字長16位,伺服控制系統(tǒng)為主機,數(shù)據(jù)采集處理系統(tǒng)為從機。SPI接收到的數(shù)據(jù)經(jīng)由PS中的Cortex-A9周轉(zhuǎn),以存儲緩沖方式匹配時鐘差異。SPI接口的接收模塊中,設有接收數(shù)據(jù)長度計數(shù)器,計數(shù)值鎖存于寄存器數(shù)組中;每次PS中的應用程序讀取完接收數(shù)據(jù)后,將接收寄存器數(shù)組及接收長度計數(shù)器清空。發(fā)送模塊中,設有發(fā)送始能信號和發(fā)送數(shù)據(jù)長度計數(shù)器時鐘信號;當發(fā)送始能高時,長度計數(shù)時鐘的上升沿將輸入的數(shù)據(jù)鎖存到寄存器中,發(fā)送數(shù)據(jù)長度計數(shù)器加1;當發(fā)送始能信號低時,開始發(fā)送數(shù)據(jù)。

        3.2 UART通信的FPGA實現(xiàn)

        UART異步串行通信接口(RS232電平標準)用于和收發(fā)系統(tǒng)通信,與SPI相似,完成收發(fā)機的工作參數(shù)/狀態(tài)、環(huán)境參數(shù)、開機及發(fā)射時間累積等數(shù)據(jù)傳送,以及接收計算機對雷達及收發(fā)機的控制命令。

        UART由波特率發(fā)生器、接收和發(fā)送3個模塊構(gòu)成。類似代碼較多,這里從略。

        4 雷達數(shù)據(jù)傳輸

        天氣雷達數(shù)據(jù)量大,要實時傳至主控計算機。千兆以太網(wǎng)能較好地滿足這種極高的傳輸速率要求。FPGA中以Cortex-A9作為控制器,設置、調(diào)度和使用物理以太網(wǎng)接口芯片88E1518,實現(xiàn)高速傳輸功能,完成雷達數(shù)據(jù)采集過程。

        4.1 UDP通信協(xié)議及其socket類實現(xiàn)

        TCP/IP網(wǎng)絡通信協(xié)議,具有兼容性強、易于實現(xiàn),成本低的優(yōu)點。該協(xié)議含鏈路層、網(wǎng)絡層、傳輸層和應用層共4層。鏈路層數(shù)據(jù)鏈路層是負責接收IP數(shù)據(jù)包并通過網(wǎng)絡發(fā)送,或者從網(wǎng)絡上接收物理幀,抽出IP數(shù)據(jù)包,交給IP層。網(wǎng)絡層對完成數(shù)據(jù)包分組以及協(xié)議實現(xiàn);傳輸層用于格式化信息和數(shù)據(jù)的可靠傳輸,應用層完成特定功能的處理程序[9]。

        傳輸層協(xié)議有2種:傳輸控制協(xié)議TCP和用戶數(shù)據(jù)報協(xié)議UDP。TCP協(xié)議是面向連接的可靠性數(shù)據(jù)傳輸協(xié)議,UDP通信協(xié)議是面向數(shù)據(jù)報傳輸層,設計中使用UDP協(xié)議傳輸,其數(shù)據(jù)報及封裝如圖3所示。一個UDP數(shù)據(jù)報由首部和數(shù)據(jù)2部分組成。首部由源端口(發(fā)送端端口號)、目的端口(接收端端口號)、長度(包括報頭和數(shù)據(jù)部分在內(nèi)的總字節(jié)數(shù))、校驗和4個域組成,每個域占2個字節(jié)。UDP數(shù)據(jù)報封裝之后,傳送至IP協(xié)議層;IP協(xié)議層將整個UDP數(shù)據(jù)報作為數(shù)據(jù),添加IP頭后傳送至網(wǎng)絡層;網(wǎng)絡層添加幀頭和IP數(shù)據(jù)組合成一幀數(shù)據(jù)傳輸出去。

        圖3 UDP數(shù)據(jù)報及封裝示意圖

        套接字API是專門用于網(wǎng)絡通信的API函數(shù),通過調(diào)用相關的函數(shù)就可以完成數(shù)據(jù)通信。套接字API中常用的系統(tǒng)函數(shù)有:套接字創(chuàng)建函數(shù)socket、連接函數(shù)connect、IP地址與端口綁定函數(shù)blind、發(fā)送數(shù)據(jù)函數(shù) sendto、接收數(shù)據(jù)函數(shù) recvfrom 等[10]。

        UDP通信網(wǎng)絡在linux環(huán)境中設置的關鍵代碼如下:

        查詢方式接收數(shù)據(jù)時存在一個致命弱點,即程序運行到socket網(wǎng)絡通信的接收函數(shù)時,若沒有接收到數(shù)據(jù),程序?qū)⒊掷m(xù)等待,直到有數(shù)據(jù)接收到為止。這將導致程序處于等待狀態(tài)而不能及時響應其他處理任務,出現(xiàn)“假死狀態(tài)”。

        4.2 數(shù)據(jù)格式

        數(shù)據(jù)采集板與計算機之間的通信使用十六進制、“標識碼+數(shù)據(jù)”的分類格式,通過判斷后形成相應的命令。計算機發(fā)送的命令分為3大類:數(shù)據(jù)采集類、伺服控制類和發(fā)射機系統(tǒng)控制類。

        數(shù)據(jù)采集標識碼長度為6個字節(jié):SCNdBz,主要向計算機傳回標識碼、伺服方位、俯仰角度、以及經(jīng)過信號處理之后的回波數(shù)據(jù)總共1006*16 bit,共要傳送6組數(shù)據(jù)約96 kb。這些數(shù)據(jù)要在1 ms以內(nèi)傳輸完畢,傳輸速度要大于96 Mbps。

        數(shù)據(jù)采集命令分有、無雜波抑制,有、無噪聲剔除等。數(shù)據(jù)結(jié)果分等效反射率因子、平均速度及速度譜寬等。命令共有13種,常用4種。伺服控制標識符有24種,長度為4個字節(jié),包括定位、自檢、RHI掃描、PPI掃描等操作。發(fā)射機控制標識符十幾種,長度也為4個字節(jié),包括開發(fā)射機、開高壓、開燈絲、關燈絲、關高壓、發(fā)射機狀態(tài)信息等操作。

        這些命令格式很相似,以數(shù)據(jù)采集命令“SCNdBz”為例作一表述,這里S代表采集回波,C代表有雜波;N代表有噪聲,dBz代表等效反射率因子,數(shù)據(jù)格式見表1。

        表1 數(shù)據(jù)格式

        4.3 啟動文件制作

        數(shù)據(jù)采集處理系統(tǒng)有調(diào)試時的JTAG啟動和運行時的SD卡啟動2種方式。SD卡啟動的工作模式,開機時,由ARM完成對FPGA配置。SD卡啟動過程如下:

        (1)上電后,燒寫在BootROM中的程序啟動,初始化芯片,讀 SD卡第一分區(qū),尋找 Boot.bin文件,Boot.bin中須包含F(xiàn)SBL(First stage boot loader)程序。

        (2)FSBL初始化采集板。如果提供了bitstream文件,初始化FPGA之后Boot.bin中第二塊代碼將在CPU中運行。

        (3)SSBL接管CPU,做一些準備工作之后啟動Linux內(nèi)核,內(nèi)核將加載設備驅(qū)動,啟動文件系統(tǒng)等。

        (4)內(nèi)核啟動完畢后,用戶方可使用操作系統(tǒng),如運行應用程序、修改文件等。

        因此,要使高速采集系統(tǒng)正常工作就需要bitstream文件、FSBL程序、U-Boot、內(nèi)核鏡像文件、文件系統(tǒng)等文件[11]。

        4.3.1 FPGA的配置文件及啟動文件

        高速數(shù)據(jù)采集后的信號處理、SPI通信和RS232串口通信都是在PL中實現(xiàn),這些使用verilog語言實現(xiàn)的功能模塊要添加到包含PS和PL的嵌入式系統(tǒng)工程中,將PL中的處理模塊以用戶自定義IP核的模式加載在工程中,作為PS的外設,通過AXI4通信總線相連。工程創(chuàng)建過程如下:

        (1)在Xilinx Platform Studio開發(fā)環(huán)境中創(chuàng)建一個Base System Builder工程,設計中使用官方提供的帶有千兆網(wǎng)口、HDMI等外設配置的工程,并將除了千兆網(wǎng)以外的其他外設全部刪除。

        (2)在工程中添加用戶自定IP核:添加SPI核和RS232核時,在選擇文件類型時只選擇添加HDL文件即可,但添加信號處理模塊的IP核時,需要選擇添加網(wǎng)絡文件選項。本設計中的三個用戶自定義IP核均使用AXI-Lite總線的從模式,與PS交換數(shù)據(jù)使用寄存器方式,且最大寄存器個數(shù)為32個,每個寄存器的位寬32 bit。

        (3)在工程界面中的IP Catalog對話框中的Project Local PCores下的User下將顯示所用用戶自定義IP核,雙擊每個自定義IP核名稱即可將IP核添加到工程,在選擇ARM處理器時選擇處理器0中。添加完用戶自定義的IP核之后,需要對各個IP核相關文件修改,主要有:修改MPD文件,添加端口;修改用戶邏輯的頂層文件,完成端口映射以及功能模塊的頂層例化;在工程中的port標簽下修改端口連接,將端口映射到PL部分的外部端口上;在Addresses標簽下可修改IP地址,系統(tǒng)使用系統(tǒng)分配的地址;最后修改ucf外部端口映射文件[10]。

        (4)添加并修改自定義的IP核后,先編譯綜合生成PL的配置文件bitstream文件;其次點擊export design調(diào)用SDK軟件并自動加載生成的beatstream文件,創(chuàng)建ZYNQ FSBL工程,編譯生成FSBL啟動配置文件;最后將FPGA配置文件、FSBL啟動配置文件、設備文件u-boot.elf文件一起,使用創(chuàng)建ZYNQ啟動文件(Creat ZYNQ Boot Image)工具生成系統(tǒng)啟動文件Boot.bin。系統(tǒng)啟動的u-boot文件需要在linux環(huán)境中創(chuàng)建,詳見文獻[10]構(gòu)建嵌入式Linux系統(tǒng)中的內(nèi)容。

        4.3.2 設備樹及內(nèi)核鏡像文件

        內(nèi)核鏡像文件以及設備樹文件的生成需要在linux操作系統(tǒng)中完成。為方便起見,在Windows開發(fā)環(huán)境中安裝的VMware虛擬機系統(tǒng)中安裝Ubuntu 12.04版本的linux操作系統(tǒng),并將官方網(wǎng)站下載的適用于Zedboard平臺的linux內(nèi)核文件解壓后放入linux系統(tǒng)中的/home目錄下面[12]。

        在linux內(nèi)核文件中的scripts/dtc目錄下的digilent-zed.dts文件進行修改,修改后使用如下命令編譯:

        ./scripts/dtc/dtc-I dts-O dtb-o./devicetree.dtb arch/arm/boot/dts/digilent-zed.dts

        此命令的輸入文件在arch/arm/boot/dts/digilentzed.dts,輸出文件devicetree.dtb存放于當前目錄下,運行完成之后產(chǎn)生設備樹文件。

        內(nèi)核鏡像文件的生成分配置和編譯兩步,可使用以下命令進行配置:

        make ARCH=arm digilent-zed-defconfig

        make ARCH=arm menuconfig

        配置完成后,使用make命令編譯即可得到內(nèi)核鏡像文件,至此啟動所需文件已齊備。

        4.4 驅(qū)動及應用程序設計

        驅(qū)動程序是操作系統(tǒng)中的應用程序和硬件設備數(shù)據(jù)交互的橋梁,分為字符型設備驅(qū)動、塊設備驅(qū)動和網(wǎng)絡設備驅(qū)動3大類。系統(tǒng)的外設驅(qū)動主要是網(wǎng)絡型設備驅(qū)動和字符型設備驅(qū)動,其中千兆網(wǎng)驅(qū)動程序已經(jīng)集成于內(nèi)核系統(tǒng)中,SPI、RS232串口和信號處理3個設備使用字符型設備驅(qū)動。應用程序是系統(tǒng)運行的靈魂,直接影響到數(shù)據(jù)傳輸系統(tǒng)的可靠性、穩(wěn)健性。系統(tǒng)中,程序要實現(xiàn)千兆網(wǎng)UDP通信、異步串口通信和同步SPI通信,通信速度各不相同,串口通信速率為9600 bps,SPI通信速度為4 Mbps,信號處理之后的數(shù)據(jù)為96 kb。且要求1 ms內(nèi)傳輸完畢,否則幀與幀之間存在數(shù)據(jù)覆蓋,因此傳輸?shù)乃俣却笥?6 Mbps。這3種通信速度和數(shù)據(jù)量大小都不同,如果只用單線程的順序執(zhí)行程序是無法實現(xiàn)系統(tǒng)的要求,要使用定時器、多線程等處理。

        4.4.1 驅(qū)動程序設計

        串口和SPI接收到的數(shù)據(jù)存儲在一定長度的寄存器中,每個數(shù)據(jù)都有幀頭,以防止數(shù)據(jù)混亂。每次讀取串口數(shù)據(jù)和SPI中的數(shù)據(jù)后,將緩存寄存器中的所有數(shù)據(jù)清空。信號處理后獲得視頻信號數(shù)據(jù)存儲在深度為1024、位寬為16 bit的雙端口ROM中。雙端口ROM讀寫使用不同的時鐘,解決讀寫速率不匹配的問題。

        以信號處理模塊的驅(qū)動程序為例。信號處理后的數(shù)據(jù)存儲在雙端RAM中,同時設置一些控制端口。驅(qū)動中數(shù)據(jù)交換是通過總線模式進行,使用10個寄存器,其功能見表2。

        表2 數(shù)據(jù)采集寄存器及功能表

        字符型設備驅(qū)動程序包含設備加載、卸載以及文件操作函數(shù)。驅(qū)動程序加載時系統(tǒng)調(diào)用module-init宏實現(xiàn)模塊的初始化操作,在驅(qū)動中radar-processinit函數(shù)主要完成以下工作:

        (1)內(nèi)核注冊MISC型設備驅(qū)動;

        (2)將信號處理模塊物理地址映射到虛擬地址;

        調(diào)用module-exit宏實現(xiàn)信號處理模塊的驅(qū)動卸載,radar-process-exit函數(shù)完成模塊的清除工作,具體實現(xiàn)虛擬地址釋放和刪除設備文件[13]。

        驅(qū)動程序中定義了對信號處理處理模塊的讀寫和打開、關閉等操作接口函數(shù),文件操作結(jié)構(gòu)為:

        其中,radar-process-open 和 radar-process-release為打開和關閉操作封裝函數(shù) 在 radar-processopen中完成打開設備,radar-process-ioctl函數(shù)用于對雷達處理器的寫操作,通過內(nèi)核函數(shù)copy-from-user實現(xiàn)。

        radar-process-read函數(shù)實現(xiàn)雷達數(shù)據(jù)讀取并傳到應用層程序中,數(shù)據(jù)傳遞使用地址傳輸模式,而不是使用內(nèi)核函數(shù)copy-to-user,具體實現(xiàn)代碼如下:

        驅(qū)動程序中讀取數(shù)據(jù)通過buffer指針傳到應用程序。驅(qū)動設計完成后,在linux環(huán)境中編譯生成ko文件,并將其加載到內(nèi)核中運行,才能在應用程序中讀寫硬件設備。驅(qū)動文件可使用insmod和rmsmod命令動態(tài)添加模塊加載,也可將驅(qū)動編譯到內(nèi)核中,系統(tǒng)啟動時自動將驅(qū)動運行。動態(tài)添加驅(qū)動的方式比較靈活,易于調(diào)試[14]。

        4.4.2 應用程序設計

        在Linux系統(tǒng)中運行的應用程序要實現(xiàn)數(shù)據(jù)傳輸和命令交互的功能,包括UDP網(wǎng)絡通信、發(fā)射機系統(tǒng)控制及狀態(tài)讀取和伺服系統(tǒng)控制及角度、轉(zhuǎn)速等信息獲取。由于RS232異步串口通信速率較慢、狀態(tài)獲取不能影響其他功能的正常運行,UDP接收函數(shù)在沒接收到數(shù)據(jù)時一直等待而不做其他操作,這使單線程程序無法滿足設計的要求,因此使用多線程編程和定時器編程。應用程序設計使用一個主線程和兩個子線程,共三個線程,UDP接收程序占用一個線程,spi接收占用一個線程,主線程中完成服務器發(fā)送的命令的解析以及相關函數(shù)的調(diào)用,線程之間通信使用變量,定時器函數(shù)用于RS232串口通信的數(shù)據(jù)讀取。多線程的創(chuàng)建可使用 pthread-create函數(shù)[15]。

        UDP網(wǎng)絡接收函數(shù)使用一個線程,此線程中除了接收計算機中傳輸?shù)臄?shù)據(jù)外,還要對接收到的命令進行檢測,除數(shù)據(jù)采集命令外,其他控制命令只執(zhí)行一次,此線程的實現(xiàn)代碼如下:

        定時器函數(shù)用于異步串口通信數(shù)據(jù)讀取,每隔一秒鐘調(diào)用串口讀取函數(shù)并將數(shù)據(jù)清空,更新全局變量數(shù)據(jù),當接收到計算機應用程序的讀取發(fā)射機系統(tǒng)狀態(tài)命令時,無需等待即可將發(fā)射機的相關數(shù)據(jù)傳送至計算機。

        主函數(shù)完成UDP網(wǎng)絡通信套接字創(chuàng)建及IP地址、通信端口綁定,定時器初始化,創(chuàng)建線程,打開SPI模塊、RS232模塊和信號處理設備,命令解析以及數(shù)據(jù)讀取傳送,具體流程如圖4所示。應用程序設計完成之后,在linux環(huán)境中使用交叉編譯工具生成的可執(zhí)行文件才能在數(shù)據(jù)采集系統(tǒng)中運行。

        圖4 主線程流程圖

        5 系統(tǒng)測試與結(jié)果

        一個制作完成的高速數(shù)據(jù)采集系統(tǒng)如圖5所示。

        圖5 高速數(shù)據(jù)采集系統(tǒng)

        對高速數(shù)據(jù)采集系統(tǒng)的測試主要分為功能測試和穩(wěn)定性測試。功能測試主要有通信速率測試、伺服系統(tǒng)控制、發(fā)射機系統(tǒng)控制、數(shù)據(jù)采集測試,穩(wěn)定性測試限于條件,考慮采用正常采集數(shù)據(jù)時系統(tǒng)連續(xù)正常工作時間長度的方法考量。

        功能測試時由計算機終端應用軟件發(fā)送控制命令,經(jīng)信號采集板接收后傳送至相應的控制分系統(tǒng)。經(jīng)測試,數(shù)據(jù)采集系統(tǒng)中的千兆網(wǎng)通信速率容易達到640 Mbps;能準確地控制伺服系統(tǒng)完成定位、自檢、RHI掃描、PPI掃描等控制;控制發(fā)射機系統(tǒng)完成開(關)高壓(端接假負載,未送到天線上發(fā)射)、開(關)燈絲等控制以及發(fā)射機當前工作狀態(tài)信息的回傳;用信號源潰入中頻信號,經(jīng)采集系統(tǒng)的前端——中頻接收機和信號處理器后的反射率因子、平均徑向速度和速度譜寬等雷達基數(shù)據(jù)能實時無丟失地送到計算機中。

        穩(wěn)定性測試時使用計算機終端處理軟件正常的控制數(shù)據(jù)采集系統(tǒng)連續(xù)工作168小時,其間數(shù)據(jù)采集系統(tǒng)沒有出現(xiàn)數(shù)據(jù)丟失、命令不響應、系統(tǒng)重啟等故障問題。有限時間和次數(shù)的試驗,表明系統(tǒng)在多普勒天氣雷達數(shù)據(jù)采集傳輸中的適用性;在實際應用中,還需考驗其抗干擾能力等環(huán)境適應性以及長期穩(wěn)定可靠工作等性能。

        6 結(jié)論與展望

        多普勒天氣雷達數(shù)據(jù)采集系統(tǒng)是以Xilinx公司的具有SOC結(jié)構(gòu)的FPGA器件zynq7000芯片聯(lián)合千兆以太網(wǎng)物理芯片88E1518實現(xiàn)硬件結(jié)構(gòu),通過內(nèi)嵌處理器和嵌入式系統(tǒng),運行軟件配置和操作調(diào)度來完成大量的數(shù)據(jù)傳輸和命令及狀態(tài)交互的。通過FPGA邏輯資源和內(nèi)嵌處理器的軟件運行,系統(tǒng)的功能可以進一步增加;由于軟硬件的“可編程”特性,系統(tǒng)也可用于其他需要高速數(shù)據(jù)采集功能的場合。

        采集系統(tǒng)同時具有天氣雷達信號處理的功能。中國有望逐步吸收發(fā)達國家已經(jīng)出現(xiàn)的雙波長、雙偏振、多普勒天氣雷達(Dual-Frequency Dual-Polarized Doppler Radar,D3R)先進探測技術,其處理的數(shù)據(jù)量和復雜程度將大為增加,“硬件處理-高速傳輸-計算機處理”的方式將經(jīng)常性地被采用,基于千兆以太網(wǎng)的采集系統(tǒng)的結(jié)構(gòu)將極為有用。而基于無線千兆以太網(wǎng)的構(gòu)思,對雷達系統(tǒng)的連接簡化和維修維護將帶來更大的便利。

        [1] David McLaughlin,David Pepyne,Brenda Philips,et al.Short-Wavelength Technology and the Potential For Distributed Networks of Small Radar Systems[J].Bull.Amer.Meteor.SoC.,2009,90:1797-1817.

        [2] Xilinx.Inc.,A Generation Ahead for Smarter Systems:9 Reasons Why the Xilinx Zynq-7000 all Programmable Soc Platform is the Smartest Solution[BE/OL].http://www.xilinx.com/publications/prod-mktg/zynq-7000-generation-aheadbackgrounder.2014.

        [3] Xilinx.Inc.,Zynq-7000 All Programmable SoC O-verview[BE/OL].http://www.xilinx.com/support/documentation/data-sheets/ds190-Zynq-7000-Overview.2014.

        [4] Xilinx.Inc.,Zynq-7000 All Programmable SoC Technical Reference Manual[BE/OL].http://www.xilinx.com/support/documentation/userguides/ug585-Zynq-7000-TRM.2013.

        [5] Xilinx.Inc.,7 Series FPGAs Memory Interface Solutions User Guide[BE/OL].http://www.xilinx.com/support/documentation/ip-documentation/ug586-7Series-MIS.pdf,2012.

        [6] 朱晴,吳寧,顧薛平.基于FPGA的千兆網(wǎng)絡數(shù)據(jù)采集系統(tǒng)設計與實現(xiàn)[J].微型機與應用,2011,30(21):53-59.

        [7] Cuong M,Nguyen,V Chandrasekar.Gaussian Model Adaptive Processing in Time Domain(GMAPTD)for Weather Radars[J].J.Atmos.Oceanic Technol.,2013,30:2571-2584.

        [8] M Sachidananda,D S Zrnic.Clutter Filtering and Spectral Moment Estimation for Doppler Weather Radars Using Staggered Pulse Repetition Time(PRT)[J].J.Atmos.Oceanic Technol.,2000,17:323-331.

        [9] 馬文星,一種考慮QoS的多媒體業(yè)務跨層設計[J].重慶理工大學學報(自然科學),2011,25(6).

        [10] 王雷.TCP/IP網(wǎng)絡編程技術基礎[M].北京:清華大學出版社,2012.

        [11] 陸佳華,江舟,馬岷.嵌入式系統(tǒng)軟硬件協(xié)同設計實戰(zhàn)指南[M].北京:機械工業(yè)出版社,2013.

        [12] 陳可.虛擬機在計算機實踐中的應用研究[J].科協(xié)論壇,2007,(5):26-27.

        [13] 陳濤,余學才,朱良銷,等.信號發(fā)生模塊的Linux驅(qū)動程序設計[J].化工自動化及儀表,2010(11):88-91.

        [14] Digilent.Inc.,Getting Started With Embedded Linux-ZedBoard[EB/OL].http://www.digilentinc. com/Data/Products/EMBEDDEDLINUX/ZedBoard-GSwEL-Guide.2013.

        [15] 陳向群,陳渝,譯.操作系統(tǒng)——精髓與設計原理(第七版)[M].北京:電子工業(yè)出版社,2012.

        猜你喜歡
        信號處理內(nèi)核命令
        萬物皆可IP的時代,我們當夯實的IP內(nèi)核是什么?
        只聽主人的命令
        強化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
        基于嵌入式Linux內(nèi)核的自恢復設計
        Linux內(nèi)核mmap保護機制研究
        《信號處理》征稿簡則
        信號處理(2018年5期)2018-08-20 06:16:02
        《信號處理》第九屆編委會
        信號處理(2018年5期)2018-08-20 06:16:00
        《信號處理》征稿簡則
        信號處理(2018年8期)2018-07-25 12:25:42
        《信號處理》第九屆編委會
        信號處理(2018年8期)2018-07-25 12:24:56
        移防命令下達后
        国语对白三级在线观看| 高清不卡一区二区三区| 性色av 一区二区三区| 日本久久久免费高清| 日本精品啪啪一区二区| 日本一区二区三区视频在线观看| 国产莉萝无码av在线播放| 亚洲一区二区综合色精品| 日韩精品成人一区二区三区久久久| 亚洲中文字幕久久精品色老板 | 精品久久久无码人妻中文字幕豆芽| 免费无码av片在线观看| 亚洲xx视频| 人妻精品一区二区三区蜜桃| 丰满少妇a级毛片| 亚洲影院天堂中文av色| 国产三级黄色的在线观看| a黄片在线视频免费播放| 免费无码a片一区二三区| 国产精品黄网站免费观看| av免费网站在线免费观看| 免费在线观看播放黄片视频| 日韩吃奶摸下aa片免费观看| 人妻无码中文专区久久综合| 一区二区国产视频在线| 极品老师腿张开粉嫩小泬| 乱码精品一区二区三区| 成年视频网站在线观看777| 久久中文字幕一区二区| 中文字幕乱码亚洲精品一区| 国产一级毛片卡| 日韩人妻美乳中文字幕在线| 少妇爆乳无码专区 | 五月婷婷影视| 国产毛片精品av一区二区| 亚洲中文字幕久久精品无码a | 亚洲av不卡一区二区三区| 国产欧美久久久另类精品| 亚洲一区二区av免费观看| 97精品人人妻人人| 国产成人综合久久精品推|