隨著 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ù)字,、基帶、射頻),,您們有著共同的語言,,并使用著同樣的分析軟件,。