關鍵詞:PCI總線,數(shù)據(jù)采集,VHDL,CPLD
1 引 言
數(shù)據(jù)采集技術是信號處理一個非常重要的環(huán)節(jié),廣泛應用于雷達、通信、遙測遙感等領域。在研制基于新型連續(xù)波噪聲雷達體制的新型連續(xù)波雷達時,為了研究更加有效靈活的雷達信號處理算法,利用計算機這個通用的計算和控制平臺,先將雷達信號采集到計算機上,然后在計算機上進行雷達信號處理算法的研究。課題要求對雷達I和Q兩個通道的信號進行采集,采樣精度為12位,最高的采樣頻率為20兆。傳統(tǒng)的基于ISA、EISA和VL總線的數(shù)據(jù)采集,受到總線帶寬、控制方式和實現(xiàn)難易程度的制約,不能滿足課題要求。而PCI總線以其峰值傳輸速率高達每秒132兆字節(jié)、支持突發(fā)傳輸?shù)韧怀龅男阅?,成為我們雷達數(shù)據(jù)采集首選的計算機IO接口。本文介紹了采用PLX9054作為PCI總線接口芯片的大容量雷達數(shù)據(jù)采集系統(tǒng)的開發(fā),系統(tǒng)包括數(shù)據(jù)采集卡和配套軟件。
2 數(shù)據(jù)采集卡系統(tǒng)結構的介紹
數(shù)據(jù)采集卡的系統(tǒng)結構如圖1所示。雷達輸出的I和Q兩通道視頻信號通過數(shù)據(jù)采集卡的信號調理模塊,經隔離限幅放大后,送到模數(shù)轉換模塊,在這里,兩路模擬信號分別被轉換成12位的數(shù)字信號。兩路12位的數(shù)字信號經鎖存后,被送到FIFO模塊緩存起來,這些緩存的數(shù)據(jù)將通過PCI總線接口模塊以DMA方式存入計算機內存。當數(shù)據(jù)采集完成后,這些內存中的數(shù)據(jù)將存入硬盤,生成雷達數(shù)據(jù)文件。每個通道的雷達信號只用了16位中的12位,還有4位未用,我們利用這4位來傳輸雷達隨機二相碼碼字等一些數(shù)字狀態(tài)信息,這些信息將從鎖存模塊輸入,隨雷達信號同步采集到計算機中。
數(shù)據(jù)采集卡的控制是由控制模塊來完成的。內部時鐘模塊提供內觸發(fā)信號,它和外觸發(fā)信號一起接到控制模塊,由控制模塊根據(jù)用戶要求來選擇使用不同的觸發(fā)信號。EEPROM內存儲有PCI總線接口芯片PLX9054的配置信息。

3.1 接口模塊
接口模塊的功能是由PLX9054來實現(xiàn)的。PLX9054是PLX公司的一種功能強、使用靈活、并符合PCIV2.2規(guī)范的32位33MHz PCI總線接口控制器,它可以作為PCI總線的主控設備去控制總線,也可以作為目標設備去響應總線。PLX9054提供了PCI總線、EEPROM、LOCAL總線三個接口。LOCAL總線有三種工作模式:M模式、C模式和J模式,在實際的數(shù)據(jù)采集時,將LOCAL總線設置為C模式。選用Fairchild Semiconductor公司的串行EEPROM-NM93CS56L作為PLX9054的配置芯片,該芯片通過EEPROM接口和PLX9054相連。PLX9054的長配置方式要求68個字節(jié)的信息,主要包括:設備識別號、供應商代碼號、Local總線三個空間的大小以及三個空間的基址等,可以利用編程器事先將要配置的信息寫入配置芯片中。在計算機啟動時,系統(tǒng)將根據(jù)配置信息分配我們申請的系統(tǒng)資源。PLX9054作為一種“橋”芯片,在PCI總線和LOCAL總線之間有三種直接的數(shù)據(jù)傳輸模式:
?。?)PCIInitiator數(shù)據(jù)傳輸模式:LOCAL總線主設備通過PLX9054訪問PCI總線存儲空間和I/O空間。
(2)PCITarget數(shù)據(jù)傳輸模式:PCI總線主設備通過PLX9054訪問LOCAL總線存儲空間和I/O空間。
?。?)DMA數(shù)據(jù)傳輸模式:PLX9054作為兩總線的主設備,從PCI總線存儲空間讀數(shù)據(jù)到LOCAL總線存儲空間或者從LOCAL總線存儲空間讀數(shù)據(jù)到PCI總線存儲空間。
在實際的數(shù)據(jù)采集中,我們僅用到PCITarget和DMA兩種數(shù)據(jù)傳輸模式,PCITarget用于對控制模塊中的寄存器進行讀寫,用于采集方式的設定,DMA用于雷達數(shù)據(jù)的采集。
3.2 信號調理模塊和模數(shù)轉換模塊
采用AD843構成的信號調理模塊,對輸入的雷達信號進行隔離限幅放大。經過調理后的雷達信號送到高速模數(shù)轉換芯片AD9042AD的模擬輸入端進行模數(shù)轉換,模數(shù)轉換時鐘由控制模塊產生。AD9042AD的模擬電源由DC-DC饋電,DC-DC輸出電壓的在線穩(wěn)定度為1.25%,滿足AD9042AD模擬電壓穩(wěn)定度5%的要求。AD9042AD是一種高速、高性能、低功耗的12位高速模數(shù)轉換芯片;它采用兩級轉換模式,并以與CMOS兼容的模式輸出二進制補碼,+5V供電,內部提供采樣/保持電路以及參考電壓;它的轉換速率高達41MSPS。
3.3 FIFO模塊
利用DMA方式進行數(shù)據(jù)傳輸時,接口芯片PLX9054內部用于數(shù)據(jù)緩沖的FIFO只有32 DWord大小,遠不能滿足高速連續(xù)大容量雷達數(shù)據(jù)采集的要求。所以,采用在LOCAL總線上外加FIFO的方法來增加用于數(shù)據(jù)緩沖FIFO的容量,我們采用的FIFO芯片IDT7206L12為16K×9位,所以每路要用兩片IDT7206L12來構成16K×18位(只用了16位),兩路共要用四片IDT7206 L12。
3.4 控制模塊
Xilinx公司的CPLD器件XC95144XL采用了最先進的FastFlash技術,有144個宏單元,3200個門電路,并且具有在系統(tǒng)可編程(ISP)和信號延遲可預測特性,使得它很適合構成較復雜控制器件。在數(shù)據(jù)采集卡的開發(fā)中,采用XC95144XL作為控制模塊。控制模塊主要協(xié)調各個模塊的工作,完成數(shù)據(jù)采集功能??刂颇K除了實現(xiàn)數(shù)據(jù)采集的控制邏輯外,還在其中實現(xiàn)了分頻、觸發(fā)源選擇、命令等一些控制和狀態(tài)寄存器,通過對上述寄存器的讀或寫,進行數(shù)據(jù)采集工作方式設定。
由于PLX9054的LOCAL總線工作在C模式,所以XC95144XL經編程后的工作時序要滿足C模式的要求。我們采用VHDL邏輯輸入方式,利用Xilinx公司的配套軟件Foundation Series 2.1對XC95144XL芯片進行編程。由于控制邏輯比較復雜,在編寫控制模塊的VHDL程序時,采用了分層設計的設計方法。
4 配套軟件的實現(xiàn)
雷達數(shù)據(jù)的采集由數(shù)據(jù)采集卡在控制模塊的控制下自動進行,這就為數(shù)據(jù)存儲提供了有利條件,使主機在對PCI總線控制器和控制模塊中的控制寄存器進行必要的初始化后,只進行數(shù)據(jù)存儲工作,提高了數(shù)據(jù)實時采集與實時存儲的速度。在數(shù)據(jù)采集軟件的實現(xiàn)中,采用了DMA工作方式。具體工作過程為:當系統(tǒng)啟動后,首先對采集卡進行檢測,如采集卡存在則申請并分配系統(tǒng)資源,如內存、中斷和DMA資源等,接著,對數(shù)據(jù)采集卡進行工作方式的設置,并且,啟動DMA進行數(shù)據(jù)傳輸。在該程序中,以中斷方式進行工作,即DMA先將采集的數(shù)據(jù)傳輸至主機內存中,當傳輸達到預定量時,采集結束,調用中斷處理程序,將內存中的數(shù)據(jù)存儲到硬盤中,生成雷達數(shù)據(jù)文件。數(shù)據(jù)采集軟件流程如圖2所示。


5 利用雙緩沖技術實現(xiàn)大容量數(shù)據(jù)采集
在DOS操作系統(tǒng)下,如果不用擴展內存管理軟件,可以分配的系統(tǒng)內存要小于640KB。在Windows操作系統(tǒng)下,可以分配的系統(tǒng)內存雖然要比在DOS操作系統(tǒng)下分配的大,但要分配幾十兆甚至幾百兆的連續(xù)的內存空間是很困難的,所以采用雙緩沖技術來實現(xiàn)大容量雷達數(shù)據(jù)的采集。
在計算機中申請一段連續(xù)的內存作為DMA操作的數(shù)據(jù)緩沖區(qū),其在邏輯上是一個環(huán)行緩沖區(qū),它被分成相等的兩個部分。另外,根據(jù)要采集數(shù)據(jù)的多少,申請若干個采集緩沖區(qū),其容量為環(huán)行緩沖區(qū)容量的一半,所申請采集緩沖區(qū)的總容量要大于或等于要采集數(shù)據(jù)的容量。當數(shù)據(jù)采集啟動后,數(shù)據(jù)先寫入環(huán)行緩沖區(qū)的第一部分(如圖3a所示)。當數(shù)據(jù)寫滿環(huán)行緩沖區(qū)的第一部分后開始寫環(huán)行緩沖區(qū)的第二部分時,我們將環(huán)行緩沖區(qū)的第一部分中的數(shù)據(jù)移到第一個采集緩沖區(qū),這樣就可以騰空環(huán)行緩沖區(qū)第一部分的空間給以后的DMA數(shù)據(jù)傳輸(如圖3b所示)。當環(huán)行緩沖區(qū)的第二部分寫滿,采集數(shù)據(jù)將重新往騰空的環(huán)行緩沖區(qū)第一部分寫,這時我們可以將環(huán)行緩沖區(qū)的第二部分的數(shù)據(jù)移到第二個采集緩沖區(qū)(如圖3c所示),這樣就可以騰空環(huán)行緩沖區(qū)第二個部分的空間給以后的DMA數(shù)據(jù)傳輸。當環(huán)行緩沖區(qū)的第一部分寫滿后,采集數(shù)據(jù)將重新往騰空的環(huán)行緩沖區(qū)第一部分寫,同時將寫滿的環(huán)行緩沖區(qū)的第一部分中的數(shù)據(jù)移到第三個采集緩沖區(qū)(如圖3d所示)。以后的采集過程重復前面的工作,如此循環(huán)直到數(shù)據(jù)采集傳輸結束。當數(shù)據(jù)采集完成后,將內存中所有采集緩沖區(qū)的數(shù)據(jù)按照采集順序存入硬盤。
6 結束語
本設計利用了PCI總線突出的數(shù)據(jù)傳輸性能,加上采用雙緩沖技術,有效地解決了高速大容量數(shù)據(jù)采集的問題,成功地實現(xiàn)了一百多兆字節(jié)雷達數(shù)據(jù)連續(xù)高速采集。PCI總線控制芯片的出現(xiàn)則大大縮短了PCI總線硬件設備的開發(fā)周期,同時也使得硬件設備的可靠性和穩(wěn)定性都有了較大的提高。
2 張長隆等.PCI總線接口技術及其在雷達數(shù)據(jù)采集通道中的應用.微處理機,2000(1)
電子發(fā)燒友App

















評論