《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > 變參差工作雷達(dá)數(shù)據(jù)采集系統(tǒng)

變參差工作雷達(dá)數(shù)據(jù)采集系統(tǒng)

2008-07-10
作者:王 帥,鄧思穎,劉 釗

??? 摘 要: 介紹了基于計(jì)算機(jī)PCI總線的變參差工作雷達(dá)數(shù)據(jù)采集" title="數(shù)據(jù)采集">數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)方法。該系統(tǒng)提供一路20MHz最高采樣頻率、8位采樣精度的數(shù)據(jù)采集通道,在FPGA邏輯控制下,系統(tǒng)可以對(duì)16種參差模式的雷達(dá)信號(hào)" title="雷達(dá)信號(hào)">雷達(dá)信號(hào)進(jìn)行預(yù)置采樣。實(shí)驗(yàn)證明,數(shù)據(jù)采集速率滿足設(shè)計(jì)要求,數(shù)據(jù)傳輸最高達(dá)到100MB/s,可供后續(xù)雷達(dá)信號(hào)實(shí)時(shí)處理。
??? 關(guān)鍵詞: PCI總線? 數(shù)據(jù)采集? 變參差工作模式? PLX9054? FPGA? SDRAM

?

??? 數(shù)據(jù)采集技術(shù)是現(xiàn)代信號(hào)處理的基礎(chǔ),廣泛應(yīng)用于雷達(dá)、通信等領(lǐng)域。為了給雷達(dá)數(shù)據(jù)處理提供更加精細(xì)的數(shù)據(jù),高速、大容量并具有可變參差模式的雷達(dá)數(shù)據(jù)采集系統(tǒng)" title="數(shù)據(jù)采集系統(tǒng)">數(shù)據(jù)采集系統(tǒng)是現(xiàn)代雷達(dá)需要解決的迫切問題。利用計(jì)算機(jī)通用平臺(tái),可以將16種參差工作模式的雷達(dá)信號(hào)采集到計(jì)算機(jī)上,為后續(xù)信號(hào)處理做好準(zhǔn)備。在板卡向計(jì)算機(jī)進(jìn)行數(shù)據(jù)傳輸時(shí), PCI總線[1][2]以其峰值傳輸速率高達(dá)132MB/s、支持突發(fā)傳輸?shù)韧怀龅男阅?,成為雷達(dá)數(shù)據(jù)采集首選的計(jì)算機(jī)I/O接口。
1 雷達(dá)信號(hào)及采集容量
??? 本課題涉及的雷達(dá)天線掃描周期為1s;雷達(dá)脈沖重復(fù)頻率可為2kHz、4kHz、6kHz、8kHz,在一個(gè)天線掃描周期內(nèi)可以指定變換頻率;每個(gè)雷達(dá)回波采樣有效個(gè)數(shù)可為1000、800、600、400。在天線掃描一個(gè)周期內(nèi),4個(gè)可變采樣頻率和4個(gè)可變采樣點(diǎn)數(shù)構(gòu)成了16種參差工作模式。密耳為圓周方位角刻度單位,一個(gè)圓周有6000個(gè)密耳。用戶可以任意設(shè)定在不同的密耳之間,選擇任意的參差工作模式。
??? 從最高脈沖重復(fù)頻率8kHz計(jì)算,兩次發(fā)射脈沖方位角差為0.75密耳。一幀雷達(dá)掃描時(shí)間內(nèi)需要存儲(chǔ)的采集樣本容量至少為8MB。
??? 16種參差模式體現(xiàn)在不同的觸發(fā)信號(hào)上,分為幀同步信號(hào)和脈沖同步信號(hào)。幀同步信號(hào)(Frame_syn)也叫正北信號(hào),代表雷達(dá)掃描線為正北方向,每一秒產(chǎn)生一次。脈沖同步信號(hào)(Pulse_syn)代表脈沖回波的開始,即對(duì)每個(gè)回波采樣的開始,由雷達(dá)脈沖重復(fù)頻率確定,如圖1所示。

????????????????????
2 數(shù)據(jù)采集系統(tǒng)的結(jié)構(gòu)
??? 數(shù)據(jù)采集系統(tǒng)的結(jié)構(gòu)如圖2所示。具有16種參差模式的雷達(dá)輸出視頻信號(hào)通過數(shù)據(jù)采集卡的信號(hào)調(diào)理電路,經(jīng)隔離限幅放大后,送到模數(shù)轉(zhuǎn)換器。這里,采用TI公司的TLC5510芯片,模擬信號(hào)將被轉(zhuǎn)換成8位的數(shù)字信號(hào)。然后將8位數(shù)字信號(hào)經(jīng)過FPGA內(nèi)部生成的雙口RAM,并在FPGA的控制下以16位的數(shù)據(jù)寬度送入SDRAM中緩存。由于需要充足的RAM資源和PLL資源,選用Altera公司的低成本高效Cyclone系列的EP1C12型號(hào)芯片。兩片SDRAM起到乒乓緩存的作用,當(dāng)一塊SDRAM存滿一幀數(shù)據(jù)后,在FPGA的控制下,這一幀緩存數(shù)據(jù)以32位的數(shù)據(jù)寬度通過PCI橋接芯片PLX9054,以DMA方式傳輸?shù)接?jì)算機(jī)內(nèi)存,并生成雷達(dá)數(shù)據(jù)文件,留給后續(xù)信號(hào)處理用。同時(shí),F(xiàn)PGA向另一個(gè)SDRAM寫入下一幀雷達(dá)數(shù)據(jù)。SDRAM大小為8M×16位,滿足緩存要求。

????????????????????
??? 采集卡上電后,用戶通過程序界面設(shè)置16種參差模式,由PLX9054將參數(shù)傳入FPGA內(nèi)部寄存器中,完成初始化工作。16種參差模式體現(xiàn)在不同的觸發(fā)信號(hào)上。在FPGA內(nèi)部生成了一個(gè)內(nèi)觸發(fā)源,用于產(chǎn)生幀同步信號(hào)(Frame_syn)和脈沖同步信號(hào)(Pulse_syn)。內(nèi)觸發(fā)源和外觸發(fā)信號(hào)一起接到FPGA邏輯控制模塊,由控制模塊根據(jù)用戶設(shè)置的參差來選擇使用不同的觸發(fā)信號(hào)。
3 數(shù)據(jù)采集卡主要功能模塊的實(shí)現(xiàn)
3.1 PCI接口模塊

??? 實(shí)現(xiàn)PCI總線接口的方法主要有2種:一種是采用可編程器件實(shí)現(xiàn),這種方法比較靈活,多用于實(shí)現(xiàn)PCI接口部分的功能,但設(shè)計(jì)難度大。另一種采用專用的PCI接口芯片,它可提供可靠的PCI邏輯和功能模塊,實(shí)現(xiàn)簡(jiǎn)便。綜合考慮,本設(shè)計(jì)采用PLX公司的PLX9054作為PCI總線接口芯片。
??? PLX9054[3]是一種符合PCI V2.2規(guī)范的32位33MHz PCI總線接口控制器,它可以作為PCI總線的主控設(shè)備控制總線,也可以作為目標(biāo)設(shè)備響應(yīng)總線。PLX9054提供了PCI總線、LOCAL總線、EEPROM三個(gè)接口。LOCAL總線是與PCI總線相對(duì)應(yīng)的用戶端總線,PCI端的接口由PLX9054完成,它可以完成完整的PCI總線規(guī)范2.2版的要求。LOCAL總線有M、C和J三種模式。本設(shè)計(jì)采用C模式工作。
??? C模式下的數(shù)據(jù)傳輸模式分為PCI Initiator操作和PCI Target操作。在PCI Initiator操作過程中,本地處理器或本地總線主控設(shè)備能夠直接通過PLX9054訪問PCI總線,發(fā)起Local-to-PCI的數(shù)據(jù)傳輸。而在PCI Target操作過程中,PCI總線主控設(shè)備可以以可編程的等待狀態(tài)、總線寬度和突發(fā)傳輸功能訪問PLX9054的三個(gè)本地空間(空間0、空間1和擴(kuò)充ROM空間)。
????PLX9054還支持DMA數(shù)據(jù)傳輸模式,它作為PCI和LOCAL總線的主設(shè)備,從PCI總線存儲(chǔ)空間讀數(shù)據(jù)到LOCAL總線存儲(chǔ)空間或者從LOCAL總線存儲(chǔ)空間讀數(shù)據(jù)到PCI總線存儲(chǔ)空間。
??? 在實(shí)際的數(shù)據(jù)采集中。PCI Target模式用于將16種參差模式寫入到FPGA內(nèi)部的采集卡工作參數(shù)寄存器。DMA模式用于雷達(dá)數(shù)據(jù)采集后,從LOCAL端到PCI端的數(shù)據(jù)傳輸。
??? PLX9054提供一個(gè)串行EEPROM配置接口。在EEPROM中存放了廠家標(biāo)示、設(shè)備標(biāo)示、本地總線的基地址空間、I/O空間、中斷控制信號(hào)等信息。當(dāng)初始化時(shí),系統(tǒng)自動(dòng)將EEPROM中的配置參數(shù)裝入PCI配置寄存器,并根據(jù)本地總線對(duì)內(nèi)存、I/O口和中斷的需求統(tǒng)一劃分,自動(dòng)配置。在設(shè)計(jì)時(shí)采用93LC56作為EEPROM。
3.2 信號(hào)調(diào)理和模數(shù)轉(zhuǎn)換
??? 本設(shè)計(jì)的雷達(dá)信號(hào)峰峰值為1V,而模數(shù)轉(zhuǎn)換器TLC5510的輸入量程為2V,所以需要對(duì)輸入的雷達(dá)信號(hào)進(jìn)行隔離限幅放大。信號(hào)調(diào)理模塊由運(yùn)放MAX4223構(gòu)成。經(jīng)過調(diào)理后的雷達(dá)信號(hào)送到模數(shù)轉(zhuǎn)換芯片TLC5510進(jìn)行模數(shù)轉(zhuǎn)換,模數(shù)轉(zhuǎn)換時(shí)鐘由FPGA產(chǎn)生,并且根據(jù)參差設(shè)置的不同,模數(shù)轉(zhuǎn)換時(shí)鐘將進(jìn)行變化。
3.3 FPGA邏輯控制模塊
??? 設(shè)計(jì)中對(duì)A/D轉(zhuǎn)換器、PLX9054、SDRAM的控制都是在FPGA中完成的。選用EP1C12型號(hào)芯片,采用Verilog語言設(shè)計(jì)[4][6]。在自頂向下的模塊設(shè)計(jì)中,主要?jiǎng)澐至巳齻€(gè)模塊:AD_control,sdram_control,9054_control,以同步狀態(tài)機(jī)的形式實(shí)現(xiàn)。圖3為FPGA邏輯控制模塊框圖。

?????????????????????
??? 具體工作流程為:
??? (1)開機(jī)或者復(fù)位后,系統(tǒng)進(jìn)入初始化狀態(tài),對(duì)SDRAM進(jìn)行初始化,并且等待主機(jī)發(fā)出的配置命令REG_CMD。當(dāng)REG_CMD有效時(shí),主機(jī)通過PLX9054以PCI Target方式向FPGA內(nèi)部工作參數(shù)寄存器寫入16種參差工作模式參數(shù),完成系統(tǒng)初始化。A/D轉(zhuǎn)換器將按照工作參數(shù)在采樣過程中運(yùn)行。
??? (2)系統(tǒng)進(jìn)入空閑狀態(tài),當(dāng)接收到觸發(fā)源產(chǎn)生的幀同步信號(hào)Frame_syn后,系統(tǒng)進(jìn)入工作狀態(tài),開始采樣和傳輸。
??? (3)系統(tǒng)進(jìn)入工作狀態(tài)后,又分為以下子過程:
??? ①將第一個(gè)脈沖同步信號(hào)Pulse_syn后的采樣數(shù)據(jù)存入FPGA內(nèi)部生成的AD_ram0中,將第二個(gè)Pulse_syn后的采樣數(shù)據(jù)存入AD_ram1中,同時(shí)將AD_ram0中數(shù)據(jù)讀到SDRAM0中。二者交替,AD_ram0和AD_ram1形成乒乓式存儲(chǔ)。
?? ?②當(dāng)SDRAM0存滿第一幀數(shù)據(jù)后,F(xiàn)PGA向PLX9054發(fā)出sdram0_ready信號(hào),進(jìn)而PLX9054向主機(jī)發(fā)出INTA#中斷,要求主機(jī)讀SDRAM0。同時(shí)由SDRAM1存放第二幀數(shù)據(jù)。SDRAM0和SDRAM1形成乒乓式存儲(chǔ)。
??? ③主機(jī)響應(yīng)中斷,向PLX9054發(fā)出讀命令Lwr#、Ads#、Blast#等,在FPGA的控制下,把SDRAM0中數(shù)據(jù)讀到FPGA內(nèi)部生成的PCI_ram0或PCI_ram1中,又從PCI_ram0或PCI_ram1中將數(shù)據(jù)通過PLX9054讀到主機(jī)內(nèi)存中。PCI_ram0和PCI_ram1形成乒乓式存儲(chǔ)。
??? ④主機(jī)內(nèi)存讀滿一幀數(shù)據(jù),可以進(jìn)行后續(xù)處理或?qū)⑵浔4娉衫走_(dá)數(shù)據(jù)文件。
??? 用FPGA生成內(nèi)部RAM的目的有兩點(diǎn):一是作為緩存,實(shí)現(xiàn)時(shí)序匹配;二是數(shù)據(jù)位擴(kuò)展,將8位A/D數(shù)據(jù)擴(kuò)展到16位SDRAM數(shù)據(jù),再擴(kuò)展到32位PCI數(shù)據(jù),提高傳輸效率。
3.4 SDRAM模塊
??? 高速數(shù)據(jù)采集具有數(shù)據(jù)吞吐率高的特點(diǎn),大容量的數(shù)據(jù)存儲(chǔ)能力是設(shè)計(jì)關(guān)鍵之一。SRAM和FIFO存在容量小的缺點(diǎn),所以本設(shè)計(jì)應(yīng)用兩塊Mircon公司產(chǎn)128Mbit的16位SDRAM組成乒乓式緩存空間,完全滿足采集要求。
??? SDRAM的控制涉及刷新、預(yù)充電、行列地址復(fù)用等復(fù)雜問題,為此自行設(shè)計(jì)了SDRAM控制器。SDRAM采取了8字節(jié)突發(fā)讀寫模式,工作于80MHz,工作時(shí)鐘由FPGA的PLL倍頻得到。SDRAM控制器包括:命令產(chǎn)生器" title="產(chǎn)生器">產(chǎn)生器、地址產(chǎn)生器、刷新定時(shí)器、仲裁電路等。SDRAM控制器實(shí)現(xiàn)對(duì)SDRAM的初始化,產(chǎn)生SDRAM存儲(chǔ)器工作時(shí)所需要的各種時(shí)序信號(hào)。其中,命令產(chǎn)生器根據(jù)時(shí)序要求產(chǎn)生讀、寫、刷新、預(yù)充電、配置等命令;地址產(chǎn)生器產(chǎn)生SDRAM控制器所需的行地址和列地址;刷新定時(shí)器對(duì)SDRAM控制器進(jìn)行定時(shí)刷新;當(dāng)PCI讀請(qǐng)求和刷新定時(shí)電路的刷新請(qǐng)求同時(shí)到達(dá)時(shí),由仲裁電路對(duì)兩者進(jìn)行優(yōu)先權(quán)判定。SDRAM控制器的時(shí)序狀態(tài)圖見圖4。

????????????????????????
4 數(shù)據(jù)采集卡配套軟件的開發(fā)
??? 數(shù)據(jù)采集系統(tǒng)應(yīng)用于通用的計(jì)算機(jī)平臺(tái),其配套軟件的開發(fā)要做到:設(shè)定16種參差模式(即在可變方位內(nèi)設(shè)定采樣頻率和設(shè)定有效采樣點(diǎn)數(shù))、傳達(dá)主機(jī)命令、返回板卡的配置和狀態(tài)信息、按每一幀存儲(chǔ)雷達(dá)數(shù)據(jù)等功能。采用PCI SDK軟件開發(fā)包4.2版,在Windows XP下利用Visual C++開發(fā)驅(qū)動(dòng)程序和相應(yīng)的應(yīng)用程序。PCI SDK軟件開發(fā)包向用戶提供自己的PCI產(chǎn)品的總線開發(fā)驅(qū)動(dòng)程序。其中,將用到的開發(fā)驅(qū)動(dòng)程序包括:PLX主機(jī)端API函數(shù)庫、PLX器件驅(qū)動(dòng)、用戶API函數(shù)。使用PCI SDK可以很容易地執(zhí)行DMA操作、訪問IO端口和存儲(chǔ)器空間、處理器中斷以及訪問PCI寄存器空間和LOCAL寄存器空間。這種易用性是通過開發(fā)者調(diào)用API來產(chǎn)生驅(qū)動(dòng)程序代碼。這樣就不需要詳細(xì)學(xué)習(xí)操作系統(tǒng)的內(nèi)部原理和內(nèi)核API(DDK),降低了開發(fā)難度。
??? 利用PCI SDK開發(fā)設(shè)備驅(qū)動(dòng)程序的步驟如下:
??? (1)安裝PCI SDK軟件開發(fā)包。
??? (2)經(jīng)過硬件調(diào)試,確認(rèn)板卡設(shè)計(jì)正確后,將板卡插入PCI插槽,上電。系統(tǒng)顯示發(fā)現(xiàn)新硬件,安裝PLX9054.sys驅(qū)動(dòng)文件。
??? (3)用Visual C++生成基于對(duì)話框的工程文件,將plxapi.lib以及其余所需的SDK提供的源文件和頭文件加入工程。
??? (4)調(diào)用合適的API函數(shù),并按照實(shí)際需要修改,編譯并運(yùn)行程序。
??? 程序流程如圖5所示。
????????????????????????
??? 采集的數(shù)據(jù)利用DMA方式傳輸?shù)接?jì)算機(jī)內(nèi)存,需要為DMA在計(jì)算機(jī)存儲(chǔ)空間分配緩沖區(qū),并且需要修改注冊(cè)表,達(dá)到相應(yīng)設(shè)置。
??? 本文以16種可變參差工作模式為核心介紹了基于PCI總線的變參差工作雷達(dá)數(shù)據(jù)采集系統(tǒng)的硬件、軟件設(shè)計(jì)方案。在FPGA邏輯控制下,系統(tǒng)能夠?qū)?6種參差模式的雷達(dá)信號(hào)進(jìn)行預(yù)置采樣。PCI總線橋接芯片PLX9054功能強(qiáng)大、接口簡(jiǎn)潔,用戶只需要關(guān)心Local總線接口電路的設(shè)計(jì),使用方便。實(shí)驗(yàn)證明,在DMA方式的數(shù)據(jù)傳輸下,成功實(shí)現(xiàn)最高100MBps的雷達(dá)數(shù)據(jù)高速傳輸,解決了數(shù)據(jù)采集的瓶頸問題,使得系統(tǒng)可以滿足實(shí)時(shí)性的要求。
參考文獻(xiàn)
[1] 李貴山,戚德虎.PCI局部總線開發(fā)者指南.西安:西安電子科技大學(xué)出版社,1997.
[2] SHANLEY T,ANDERSON D.PCI系統(tǒng)結(jié)構(gòu).北京:電子工業(yè)出版社,2000.
[3] PCI9054 Data Book,Version 2.1.PLX Technology,2000.
[4] 夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程.北京:北京航空航天大學(xué)出版社,2003.
[5] 王誠,吳繼華,范麗珍,等.Altera FPGA/CPLD 設(shè)計(jì)(基礎(chǔ)篇).北京:人民郵電出版社,2005.
[6] 吳繼華,王誠.Altera FPGA/CPLD設(shè)計(jì)(高級(jí)篇).北京:人民郵電出版社,2005.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。