隨著 FPGA 在數(shù)字通信設(shè)計領(lǐng)域(蜂窩基站、衛(wèi)星通信和雷達)的高性能信號處理中成為可行的選擇,分析和調(diào)試工具必須包括能幫助您在最短時間內(nèi)得到電路最佳性能的新技術(shù)。
雖然現(xiàn)在已經(jīng)有多種連接仿真與射頻模擬信號" title="模擬信號">模擬信號的信號分析工具,但重要的要能夠測量您 FPGA 子電路中的信號質(zhì)量(譜圖、I-Q 星座圖、誤差矢量" title="誤差矢量">誤差矢量幅度[EVM])。安捷倫科技把它的 89601A 矢量信號分析(VSA)軟件與邏輯分析儀" title="邏輯分析儀">邏輯分析儀產(chǎn)品線(1680、1690 和 16900 家族)鏈接構(gòu)成數(shù)字 VSA 工具。當這一工具與Xilinx? ChipScope? Pro 及 Agilent 跟蹤內(nèi)核一起使用時,您就能快速和容易地對您 FPGA 設(shè)計內(nèi)的任何地方進行信號分析。
我們將在本文中說明這一組合工具是如何工作的 —— 以及如何幫助您從 Xilinx 基 DSP 電路獲取最多。
數(shù)字 VSA
VSA 用基于快速傅立葉變換(FFT)的數(shù)據(jù)處理提供時域和頻域顯示及測量組合。圖 1 是典型的 VSA 顯示。顯示是極為靈活和可配置的,其主要內(nèi)容包括 I-Q 星座圖(左上)、幅度譜(左下)、誤差矢量(右上)和測量結(jié)果(右下)。在測量結(jié)果部分顯示 EVM。該值是調(diào)制信號質(zhì)量的主要指示器。
通過從捕獲數(shù)據(jù)中抽取 I-Q 符號計算EVM;符號是由 QPSK、QAM 或其它調(diào)制方案定義星座圖中的網(wǎng)格點。在抽取被測信號后,即可使用符號序列建立被稱為“參考”信號的理想(理論上完美)信號。把各被測信號與參考信號比較,差值稱為誤差矢量(誤差包含 I 和 Q,或幅度和相位成分)。組合各次捕獲的誤差矢量,即完成一次 EVM 測量。
屏幕圖 |
圖 1 - VSA 顯示
?
雖然這一分析軟件的最初目的是用于分析模擬射頻信號,但它是在獨立于硬件的 PC 基軟件包中完成的開發(fā)。由于 Agilent 邏輯分析儀也是 PC 基的,因此把 VSA 軟件擴展至鏈接邏輯分析儀是很容易的。
數(shù)字基帶和 IF 信號是模擬信號的表述形式。與其用儀器通過把信號數(shù)字化執(zhí)行 FFT 分析(如射頻信號分析儀),還不如從一開始就使用數(shù)字信號。這些模擬信號的數(shù)字版本可在邏輯分析儀中以圖形風格的波形顯示,這很像是示波器的顯示(如 圖 2 所示)。
正如您所看到的,當對總線同步采樣,并且采樣率符合Nyquist 要求時,邏輯分析儀就能捕獲到“剛逝”或“即至”模擬信號的足夠精確版本。
屏幕圖 |
圖 2 – 數(shù)字總線的圖形顯示
FPGA 動態(tài)探頭
當 FPGA 動態(tài)探頭與ChipScope Pro 分析儀一道工作時,即可訪問 DSP 設(shè)計的任何部分,并且不需要重編譯。在圖 3 中,經(jīng)簡化的數(shù)字無線電發(fā)送器設(shè)計被接到 Agilent 跟蹤內(nèi)核(ATC2)。該內(nèi)核是一個開關(guān) MUX,它通過ChipScope Pro 內(nèi)核插入器融入設(shè)計中,通常為后綜合。在內(nèi)核插入期間,您可選擇連接至跟蹤內(nèi)核的內(nèi)部網(wǎng)絡(luò),以及將用于接至 MUX 輸出的物理焊盤" title="焊盤">焊盤。這些焊盤再通過電路板的走線接到邏輯分析儀探頭。
邏輯分析儀通過 JTAG 控制 FPGA(下載位圖文件和選擇線排)。在您選擇新線排時,邏輯分析儀自動重配置自身,以符合現(xiàn)在連接至探頭的網(wǎng)名。
設(shè)計例子 - QAM16 調(diào)制器
通過當?shù)?/SPAN> Xilinx DSP專家 FAE 的幫助,我們制作了一塊演示板,用以配合把 Xilinx 系統(tǒng)發(fā)生器用于 DSP 的小 Virtex(tm)-II 部件(XC2 V250-FG256)。這一工具能快速和容易地建立 DSP 設(shè)計。該設(shè)計(如 圖 3 中的框圖所示)包括 25 MHz 符號編碼器;帶 24 抽頭和 4X 內(nèi)插的根升余弦濾波器(輸出運行于 100MHz);以及帶有 25MHz 本振" title="本振">本振的 IF 調(diào)制級。
示意圖 |
圖 3 –數(shù)字總線的圖形顯示
把 ATC2 內(nèi)核集成至系統(tǒng)發(fā)生器設(shè)計中
在把該項設(shè)計編譯至 VHDL 后,我們插入 ATC2 內(nèi)核。為使邏輯分析儀顯示上的信號名更合理,我們要對 VHDL 做一些手動編輯(您可通過在系統(tǒng)發(fā)生器中仔細選擇網(wǎng)名而跳過這一步驟)。然后把絕大多數(shù)感興趣的網(wǎng)絡(luò)作為來自頂級目標的輸出端口連接,要讓這些網(wǎng)名足夠短,以適應(yīng)邏輯分析儀的屏幕。
為了使用 FPGA 動態(tài)探頭把網(wǎng)絡(luò)接到各輸出端口時,一項好的技巧是使用VHDL 中的“keep” 屬性。由于您在綜合之前尚未在設(shè)計中增加ATC2 內(nèi)核,許多網(wǎng)絡(luò)并未被優(yōu)化,因為它們沒有接到任何地方。在 VHDL中使用“keep”的語法如:
attribute keep : string;
attribute keep of i_symbol: signal is "true";
attribute keep of q_symbol: signal is "true";
我們用 4 組線排建立 ATC 內(nèi)核,每一線排為 48 個信號。使用 ATC2 內(nèi)核的 2X TDM 選項(各焊盤上任一時間有兩個時間片信號),這只要求 FPGA 上的 25 個封裝焊盤(1 個用于時鐘,24 個用于數(shù)據(jù))。這樣就能訪問 192 個信號。而實際上我們只需要觀察 92 個信號:
? ??I-Q 符號,每一符號 8 位 (16)
? ??I-Q 濾波器輸出,每一輸出 24 位 (48)
? ??IF 本振正弦和余弦,每一信號 2 位 (4)
? ??組合 IF 信號 (24)
具有 24 位 I 和 Q 信號的 RRC 濾波器輸出是最大要求,它確定了所需要的引腳數(shù)。如果不能實現(xiàn) 24 個引腳,您可去掉最低有效位,這樣做會損失一定的動態(tài)范圍,但仍能觀察到信號。
時域、邏輯和 VSA 測量
邏輯分析儀用同步采樣(或“狀態(tài)模式”)捕獲 ATC2 內(nèi)核的輸出。這意味著要在ATC2 的各輸出時鐘沿上采樣數(shù)據(jù)。在我們設(shè)計的電路中有兩個時鐘率 —— 25MHz 用于 RRC 濾波器前的符號數(shù)據(jù),100MHz 用于該濾波器后的所有元件。由于ATC2 內(nèi)核只支持一內(nèi)核一時鐘,對于調(diào)試存在兩種選擇方案:
? ??使用兩個內(nèi)核,一個時鐘率用一個內(nèi)核
? ??一個內(nèi)核用于較快的時鐘率,對 25MHz 總線進行過采樣
由于二個時鐘具有相關(guān)性 —— 一個時鐘率是另一個的整數(shù)倍? —— 因此我們可對較慢的總線作過采樣。如果不想進行過采樣,則可把邏輯分析儀設(shè)置為保存每四個樣本中的第四個樣本,從而能以每 25MHz 時鐘周期一個樣本的精度捕獲 25MHz 總線。
由于 MUX 中有額外可用的信號,因此能對某些感興趣的信號進行雙倍的探測。例如在濾波器前的線排 0 中的 I 和 Q 符號,以及 RRC 濾波器后的 I 成份。這意味著我們能在邏輯分析儀中進行某些時域分析,以測量濾波器群時延,如 圖 4 所示。兩個標記指示通常的信號特征:寬而平坦的頂部,標記測量示出其時間間隔為 250 ns。
在探測了電路的感興趣部分后,我們對信號執(zhí)行矢量信號分析,并測量RRC 濾波器和 IF 調(diào)制級的質(zhì)量。
屏幕圖 |
圖 4 – 濾波器群時延測量
為了解濾波前的 QAM16 I - Q 符號(如圖 5 所示),您可觀看 16 點的 QAM 星座圖(左上圖)。每一符號一個點,星座點間的連線是直線。譜圖(左下圖)中心在 0Hz 處,鄰道中的 25MHz 通帶有功率存在。射頻信號中的鄰道功率是不需要的,這也正是采用基帶濾波器的理由。
屏幕圖 |
圖 5 – 未濾波的 QAM16 符號
通過選擇ATC2 內(nèi)核中的不同線排(由邏輯分析儀控制),您可分析基帶濾波器后面的IQ 信號,如 圖 6 所示?,F(xiàn)在的譜圖有離開的邊帶,測量結(jié)果顯示(右下象限)示出EVM 為 0.5%。當下次您的射頻研制組抱怨基帶設(shè)計中的錯誤時,您可示出這一測量結(jié)果(因為他們相當熟悉),從而證明這并非是您濾波器故障所致。
屏幕圖 |
圖 6 – 經(jīng)濾波的 IQ 基帶數(shù)據(jù)
在許多數(shù)字無線電設(shè)計中,現(xiàn)在會把該 IQ 信號轉(zhuǎn)換成模擬信號。但我們在相同 FPGA 內(nèi)執(zhí)行數(shù)字的 IF 調(diào)制。切換 FPGA 動態(tài)探頭中的線排使我們能夠訪問數(shù)字 IF(再次說明,沒有另外的綜合、布放和路由步驟),如 圖 7 所示。注意譜圖和 I-Q 星座圖是大致相同的,只是現(xiàn)在的中心大約位于 25MHz 處。EVM 稍高一些,表明您可能需要較高質(zhì)量的本振,或另增一級濾波器。
屏幕圖 |
圖 7 – 數(shù)字 IF 信號
結(jié)論
您可通過 Xilinx 系統(tǒng)發(fā)生器、ChipScope Pro 分析儀與 Agilent 邏輯分析儀及 Agilent VSA 軟件的組合使用,對 Xilinx FPGA 內(nèi)部的數(shù)字基帶和 IF 信號作實時和深度的分析。它將節(jié)省您的時間,消除對仿真與真實硬件間差異的疑問。它也能幫助您與從事射頻設(shè)計的同事溝通,無論何種信號形式(模擬、數(shù)字、基帶、射頻),您們有著共同的語言,并使用著同樣的分析軟件。