摘要:介紹了一種基于LXI總線數(shù)字化儀模塊的總體設(shè)計(jì)方案。該數(shù)字化儀模塊以FPGA和DSP作為采集控制和信號(hào)處理核心單元,兼容兩種標(biāo)準(zhǔn)頻率中頻信號(hào)的采集與數(shù)據(jù)處理,采用基于IEEE15/88精密時(shí)鐘協(xié)議提供的時(shí)間基準(zhǔn)進(jìn)行精確定時(shí)觸發(fā)。軟件系統(tǒng)在Windows NT平臺(tái)上實(shí)現(xiàn),開(kāi)發(fā)了基于Lab Windows/CVI的虛擬儀器軟面板,保證了模塊運(yùn)行的穩(wěn)定性和人機(jī)界面的友好。本數(shù)字化儀模塊的特點(diǎn)在于該模塊在高性能FPGA的控制下實(shí)現(xiàn)兩種中頻信號(hào)采集,最高采樣頻率可達(dá)130MHz,可靠性、穩(wěn)定性好,具有較好的實(shí)用價(jià)值。
關(guān)鍵字:LXI總線;FPGA;DSP;IEEE1588
引言
LXI是基于以太網(wǎng)技術(shù)等工業(yè)標(biāo)準(zhǔn),由中小型總線模塊組成的新型儀器平臺(tái)。它由安捷倫公司和VXI科技公司于2004年9月共同合作成立的LXI聯(lián)盟提出的,利用現(xiàn)有Ethernet標(biāo)準(zhǔn)、Internet工具、LAN協(xié)議、IEC物理尺寸和IVI驅(qū)動(dòng)程序的各方優(yōu)點(diǎn),使測(cè)試系統(tǒng)的互連平臺(tái)轉(zhuǎn)向更高速的PC標(biāo)準(zhǔn)的I/O,是構(gòu)成新一代合成儀器平臺(tái)的標(biāo)準(zhǔn)。
LXI總線數(shù)字化儀模塊能夠?qū)煞N標(biāo)準(zhǔn)頻率的中頻信號(hào)進(jìn)行數(shù)據(jù)采集和數(shù)字中頻處理與分析、并且給出幅頻特性分析結(jié)果、也可以直接輸出數(shù)字中頻I/Q數(shù)據(jù),提供給其他分析設(shè)備進(jìn)行用戶需要的特定分析。
總體實(shí)現(xiàn)方案
LXI總線數(shù)字化儀模塊主要包括中頻信號(hào)處理通路、高速ADC、基于FPGA與DSP的數(shù)字中頻信號(hào)處理、數(shù)據(jù)存儲(chǔ)單元以及嵌入式微處理器等部分,具體實(shí)現(xiàn)方案如圖1所示。中頻信號(hào)處理通路部分主要完成模擬中頻信號(hào)預(yù)采樣處理、程控增益控制、抗混疊濾波等,處理后的中頻信號(hào)經(jīng)過(guò)高速ADC采樣,采樣得到的數(shù)字中頻信號(hào)首先送到FPGA進(jìn)行數(shù)字下變頻、數(shù)字濾波等處理后得到IQ兩路數(shù)據(jù),再存儲(chǔ)在存儲(chǔ)器中,然后由DSP進(jìn)行本地?cái)?shù)據(jù)運(yùn)算,以得到要分析信號(hào)相應(yīng)的特性信息。IQ數(shù)據(jù)也可以直接送到模塊前面板,即IQ數(shù)據(jù)輸出。嵌入式微處理器是整個(gè)模塊的控制核心,完成系統(tǒng)間的通訊、圖形控制,同時(shí)提供豐富的接口。
關(guān)鍵電路實(shí)現(xiàn)
中頻信號(hào)處理通路設(shè)計(jì)

由于中頻數(shù)字化儀模塊能夠?qū)煞N頻率的中頻信號(hào)進(jìn)行采樣與信號(hào)處理,因此整個(gè)中頻信號(hào)通道覆蓋兩種中頻帶寬。中頻信號(hào)處理通路主要完成中頻信號(hào)濾波、信號(hào)放大、抗混疊濾波以及對(duì)數(shù)檢波和預(yù)采樣等。中頻信號(hào)在進(jìn)入模塊通道后,首先進(jìn)行低通濾波,濾除中頻信號(hào)中的高頻分量,濾波后需要對(duì)信號(hào)進(jìn)行放大控制,以滿足ADC的采樣要求。信號(hào)進(jìn)入ADC之前要進(jìn)行抗混疊濾波處理,在抗混疊濾波電路部分信號(hào)通道分成兩路,進(jìn)行第一種中頻信號(hào)分析時(shí),通過(guò)控制開(kāi)關(guān)選擇第一中頻濾波通道;進(jìn)行第二種中頻信號(hào)分析時(shí),選擇第二中頻濾波通道。信號(hào)通道前端的對(duì)數(shù)檢波及預(yù)采樣電路輔助程控增益放大器實(shí)現(xiàn)模塊整個(gè)通道0dB~30dB的自動(dòng)增益功能。同時(shí)為提高模塊的動(dòng)態(tài)范圍,在中頻信號(hào)進(jìn)入高速ADC之前設(shè)計(jì)有噪聲疊加電路。具體實(shí)現(xiàn)原理如圖2所示。
ADC電路設(shè)計(jì)
數(shù)字化儀模塊ADC采用14位、130Msps模數(shù)轉(zhuǎn)換器(ADC),為減小信號(hào)干擾,采用模擬差分輸入方式。轉(zhuǎn)換器的數(shù)字輸出為低功耗LVDS、二元補(bǔ)碼數(shù)據(jù)格式,以方便后續(xù)數(shù)據(jù)處理。
為滿足模塊能夠完成對(duì)兩種中頻信號(hào)采集,ADC電路部分設(shè)計(jì)了可變采樣時(shí)鐘電路,模塊會(huì)根據(jù)用戶的測(cè)試需要自動(dòng)選擇不同的采樣時(shí)鐘,并且采樣時(shí)鐘始終鎖定在模塊內(nèi)部或外部參考上。采樣時(shí)鐘發(fā)生電路由參考電路、集成鎖相環(huán)路(內(nèi)部自帶VCO)及DDS電路三部分組成,如圖3所示?;贔PGA的控制電路控制集成鎖相環(huán)路內(nèi)部自帶的VCO鎖定在一個(gè)固定輸出頻率上,采樣時(shí)鐘信號(hào)則由DDS對(duì)VCO輸出的信號(hào)分頻得到。

基于FPGA和DSP的數(shù)字中頻信號(hào)處理電路設(shè)計(jì)
FPGA主要完成數(shù)字中頻信號(hào)處理和硬件電路的控制。其中信號(hào)處理部分包括數(shù)字下變頻、數(shù)字濾波等,總體結(jié)構(gòu)上由DDS、下混頻器、MAC濾波器、系數(shù)存儲(chǔ)器等組成,DDS完成數(shù)控本振(NCO)的功能,用來(lái)產(chǎn)生下變頻所需的本振信號(hào):硬件電路控制部分包括中頻信號(hào)處理通路控制、采樣時(shí)鐘控制、數(shù)據(jù)存儲(chǔ)控制及觸發(fā)控制等。
FPGA處理后數(shù)據(jù)的最終處理與運(yùn)算工作由DSP完成,包括中頻檢波、對(duì)數(shù)處理、視頻濾波、視頻檢波以及對(duì)運(yùn)算結(jié)果進(jìn)行誤差修正等任務(wù),處理完成的數(shù)據(jù)通過(guò)LXI總線接口送到虛擬儀器軟面板進(jìn)行結(jié)果顯示。由于要進(jìn)行兩種中頻信號(hào)測(cè)量,數(shù)據(jù)處理復(fù)雜程度高,而DSP和FPGA的存儲(chǔ)空間有限,因此采用動(dòng)態(tài)更新DSP程序和FPGA程序的方法。根據(jù)用戶選擇的功能,重新配置DSP和FPGA代碼到芯片,此方法提高了軟件的靈活性和可擴(kuò)展性,同樣縮小了硬件體積,減少了硬件成本。
LXI觸發(fā)電路設(shè)計(jì)
LXI規(guī)范提供了3種觸發(fā)方式:基于LAN的觸發(fā);基于IEEE1588精密時(shí)鐘協(xié)議提供的時(shí)間基準(zhǔn)進(jìn)行定時(shí)觸發(fā):通過(guò)專用LXI觸發(fā)總線的觸發(fā)。
本數(shù)字化儀模塊采用基于IEEE1588精密時(shí)鐘協(xié)議提供的時(shí)間基準(zhǔn)進(jìn)行定時(shí)觸發(fā),該觸發(fā)需要通過(guò)網(wǎng)線來(lái)實(shí)現(xiàn)IEEE1588協(xié)議,使各設(shè)備的實(shí)時(shí)時(shí)鐘保持同步、各設(shè)備根據(jù)同步的時(shí)間實(shí)現(xiàn)事件的同步。由帶有以太網(wǎng)外設(shè)的CPU處理器和FPGA組成。FPGA仍然實(shí)現(xiàn)IEEE 1588時(shí)間戳和硬件觸發(fā)的功能,這樣可以大大提高同步精度,同時(shí)有利于LXI測(cè)試模塊的升級(jí)和維護(hù)。

模塊軟件設(shè)計(jì)
驅(qū)動(dòng)軟件設(shè)計(jì)
在以NT為核心的WIN2K、WINXP操作系統(tǒng)中,由于安全性、穩(wěn)定性的考慮,操作系統(tǒng)不允許應(yīng)用程序直接訪問(wèn)硬件資源,要實(shí)現(xiàn)對(duì)LXI總線中頻數(shù)字化儀硬件電路的控制就必須開(kāi)發(fā)硬件設(shè)備驅(qū)動(dòng)程序,作為下層硬件和上層應(yīng)用程序的紐帶,實(shí)現(xiàn)應(yīng)用程序?qū)Φ讓佑布脑L問(wèn)。
在中頻數(shù)字化儀軟件開(kāi)發(fā)中,我們利用工具軟件DriverStudio,按照Windows驅(qū)動(dòng)程序模型(WDM)設(shè)計(jì)了本數(shù)字化儀模塊驅(qū)動(dòng)程序,在驅(qū)動(dòng)程序中實(shí)現(xiàn)端口的讀寫、中斷的響應(yīng)及DMA傳輸?shù)取?/p>
在中頻數(shù)字化儀模塊中、主機(jī)與模塊交互的數(shù)據(jù)量很大、通過(guò)CPU控制讀寫很耗費(fèi)CPU資源,經(jīng)常導(dǎo)致計(jì)算機(jī)響應(yīng)遲緩,為此我們采用了DMA數(shù)據(jù)傳輸方式。DMA是利用PCI9054的DMA控制器,在本地設(shè)備與計(jì)算機(jī)內(nèi)存之間進(jìn)行數(shù)據(jù)傳輸。由于DMA控制器與CPU是并行操作,所以在數(shù)據(jù)傳輸?shù)倪^(guò)程中,CPU可以空閑下來(lái)做數(shù)據(jù)處理等工作,這種傳輸方式特別適合大數(shù)據(jù)量、多線程的處理。在DriverStudio中,類KdmaAdapter封裝了DMA適配器。
模塊測(cè)控軟件設(shè)計(jì)
考慮到調(diào)用設(shè)備驅(qū)動(dòng)程序操作比較復(fù)雜,并且需要一定的硬件知識(shí),不利于用戶二次開(kāi)發(fā)使用,在模塊中我們對(duì)設(shè)備驅(qū)動(dòng)程序進(jìn)行了封裝、將設(shè)備的功能模塊封裝為一個(gè)個(gè)直觀易用的高層函數(shù),屏蔽了模塊的具體的控制方式,減少用戶在開(kāi)發(fā)應(yīng)用程序時(shí)對(duì)模塊的了解。
為了實(shí)現(xiàn)模塊驅(qū)動(dòng)程序的兼容性和規(guī)范性,統(tǒng)一采用虛擬儀器接口,對(duì)虛擬儀器的接口函數(shù)進(jìn)行了統(tǒng)一的命名約定,統(tǒng)一的函數(shù)輸出格式,能夠滿足在Microsoft Visual c++、c++Builder、Lab Windows/CVI、Lab View等多種語(yǔ)言環(huán)境的二次開(kāi)發(fā)的需要,以動(dòng)態(tài)庫(kù)的形式提供用戶。
由于LXI總線數(shù)字化儀模塊本身不具有顯示控制界面,因此開(kāi)發(fā)了一個(gè)可視化的虛擬儀器軟面板控制界面,方便用戶對(duì)模塊的控制與使用,虛擬儀器軟面板控制軟件將隨模塊一并提供給用戶。
模塊自動(dòng)識(shí)別
LXI測(cè)試模塊在連接到總線上時(shí)應(yīng)能自動(dòng)被發(fā)現(xiàn)并識(shí)別。該機(jī)制主要通過(guò)實(shí)現(xiàn)LXI測(cè)試模塊內(nèi)部的RPC服務(wù)器和VXI-11協(xié)議來(lái)實(shí)現(xiàn)。具體的工作原理是:客戶端(主控計(jì)算機(jī))首先向服務(wù)器發(fā)出RPC請(qǐng)求服務(wù),當(dāng)服務(wù)器接收到該請(qǐng)求后,必須將VXI11內(nèi)核的網(wǎng)絡(luò)端口號(hào)發(fā)送給客戶端,客戶端接收到該端口號(hào)后,與服務(wù)器建立TCP/IP通訊鏈路,并向LXI測(cè)試模塊發(fā)送“*IDN?”查詢信息,LXI數(shù)字化儀模塊隨后將儀器的信息,包括廠商、型號(hào)、版本號(hào)等信息回發(fā)給客戶端,同時(shí),客戶端和服務(wù)器也通過(guò)該鏈路來(lái)實(shí)現(xiàn)SCPI命令的傳輸。
結(jié)語(yǔ)
LXI總線數(shù)字化儀模塊可實(shí)現(xiàn)最高130MSa/s的采樣速率,可以進(jìn)行兩種標(biāo)準(zhǔn)中頻信號(hào)數(shù)據(jù)采集與信號(hào)處理,同時(shí)具有參考輸入輸出、IQ數(shù)據(jù)輸出、觸發(fā)輸入輸出等功能。此模塊已應(yīng)用于某LXI總線合成化測(cè)試儀器系統(tǒng),用于頻譜分析和功率測(cè)量,圖4為進(jìn)行頻譜測(cè)量時(shí)波形圖。
通過(guò)測(cè)試,LXI總線數(shù)字化儀模塊各項(xiàng)技術(shù)指標(biāo)達(dá)到預(yù)先設(shè)計(jì)要求,具有較高的穩(wěn)定性、可靠性及系統(tǒng)兼容性。隨著LXI總線模塊化產(chǎn)品的發(fā)展及LXI總線微波測(cè)試系統(tǒng)的需求,LXI總線數(shù)字化儀模塊將具有更好的應(yīng)用和市場(chǎng)前景。