隨著FPGA成為數位通訊設計領域(行動電話基地台、衛星通訊和雷達)可行的高效能信號處理選項,分析與除錯工具有必要採用新的技術,以協助您在最短的時間內讓電路達到最佳的效能。
雖然可以找到能連接模擬與RF類比信號的信號分析工具,但具備量測FPGA次電路信號品質(頻譜、I-Q星狀圖及錯誤向量幅度)的能力也很重要。於是安捷倫整合旗下的89601A向量信號分析(VSA)軟體與邏輯分析儀產品,推出全新的數位VSA工具。當結合Xilinx ChipScope Pro Agilent Trace Core時,這項工具可以在FPGA設計內的任何位置迅速而容易地執行信號分析。
本文將介紹此工具組合的運作方式,以及該工具如何協助您使基於Xilinx的DSP電路發揮最大的效益。
數位VSA
VSA採用基於快速傅立葉轉換(FFT)的資料處理技術,將時域和頻域的顯示與量測結合在一起。(圖一)是一典型的VSA顯示畫面。雖然這個顯示畫面具有相當大的彈性並可任意配置,但主要成分不外I-Q星狀圖(左上方)、幅度頻譜(左下方)、錯誤向量(右上方)和量測(右下方)。EVM值會在量測部分顯示,其為調變信號品質的重要指標。
計算EVM時必須先從擷取到的資料萃取I-Q符號,這些符號是星狀圖中由QPSK、QAM或其他調變模式所定義的格點。從量測信號萃取出來的符號序列可用來產生一個理想(理論上是完美的)信號,亦即“參考”信號。每個量測信號都必須與參考信號比較,而兩者的差異即為錯誤向量。(此錯誤可包含I和Q,亦即幅度和相位成分)。結合單次擷取的各個錯誤向量,即構成一次EVM量測。
這個分析軟體原本是為了分析類比RF信號而設計,但卻以獨立於硬體且基於PC的軟體套件形式來開發。由於安捷倫的邏輯分析儀同樣是基於PC,所以很容易延伸VSA軟體使其與邏輯分析儀結合。
數位基頻與IF信號是類比信號的代表。這些信號一開始就屬於數位性質,而非使用能將信號數位化的儀器來啟動FFT分析(就像RF信號分析儀一樣)。這些類比信號的數位版本可在邏輯分析儀中以圖表形式的波形顯示,其與示波器顯示畫面很類似,如(圖二)所示。
當同步取樣匯流排,且取樣率符合Nyquist需求時,邏輯分析儀會擷取「曾經是」或「即將是」類比信號的正確版本。
FPGA動態測試探棒
將FPGA動態測試探棒搭配ChipScope Pro分析儀使用,不必重新編譯便能存取DSP設計的任何部分。(圖三)是一個簡化的數位無線電發射器設計,其結合Agilent Trace Core 2(ATC2)。此核心是一個切換多工器,可利用ChipScope Pro Core Inserter將其納入設計中,這個動作通常會在合成後進行。在插入核心時,必須選擇要連接追蹤核心的內部網路,以及要連接多工器輸出的實體焊墊。接著電路板上的這些焊墊會繞遞到邏輯分析儀測試探棒。
邏輯分析儀可經由JTAG來控制FPGA(下載位元檔及選擇信號槽)。選擇新的信號槽時,邏輯分析儀會自動重新配置,以對應目前連接到測試探棒的網路的名稱。
設計範例──QAM16調變器
在Xilinx DSP應用工程師協助下,使用Xilinx System Generator for DSP來演示一個小型的Virtex-II元件(XC2V250-FG256)設計。這項工具使DSP設計的進行變得既快又容易。在設計(圖三的方塊圖)中包含了一個25MHz的符號編碼器、一個帶有24條路徑和4X內插的根升餘弦濾波器(輸出速度為100MHz)、以及含25MHz本地振盪器的IF調變階段。
在System Generator設計中整合ATC2核心
將此設計編譯成VHDL之後,插入ATC2核心。為使出現在邏輯分析儀顯示器上的信號名稱更合乎邏輯,用手動的方式稍微編輯VHDL。(只要在System Generator中謹慎選擇網路名稱,就可省掉此步驟。)接著從上層物件連接大部份感興趣的網路到輸出埠,讓網路名稱的長度不致超出邏輯分析儀的螢幕。
如果將網路連接到輸出埠只是為了搭配使用FPGA動態測試探棒,那麼在VHDL中使用「keep」屬性是不錯的辦法。必須等到合成之後才將ATC2核心加入設計,但許多網路並未連接任何東西,因此必須以其他的方法來最佳化。在VHDL中的語法會使用像這樣的keep屬性:
attribute keep:string;
attribute keep of i_symbol:signal is "true";
attribute keep of q_symbol:signal is "true";
建立一個含有四個信號槽的ATC2核心,每個信號槽有48個信號。使用ATC2核心的2X TDM選項(每次對一個焊墊上的兩個信號進行時間分割),則FPGA上只需要25個封裝焊墊(一個用於時脈,其餘24個用於資料)。如此便可以存取192個信號,但實際上只需查看約92個信號:
- ●I-Q符號,每個符號包含8個位元(16);
- ●I-Q濾波器輸出,每個輸出包含24個位元(48);
- ●IF本地振盪器正弦和餘弦,每種波形包含2個位元(4);
- ●合併的IF信號(24)。
- @內文:含24位元I和Q信號的RRC濾波器輸出是最高的需求,其定義所需的接腳數。如果沒有24個接腳可用,則須捨棄最不重要的位元,雖然會損失部分的動態範圍,但仍可查看信號。
時域、邏輯與VSA量測
邏輯分析儀使用同步取樣(或狀態模式)來擷取ATC2核心的輸出,這表示資料是從ATC2輸出時脈的每個邊緣取樣。設計的電路中有兩個時脈速率-RRC濾波器前的符號資料為25MHz,濾波器後的所有部分為100MHz。ATC2核心的每個核心只支援一個時脈,所以有兩個選項可供除錯:
- ●使用兩個核心,每個時脈速率一個核心;
- ●使用一個具有較快時脈速率的核心,並對25 MHz匯流排進行過度取樣。
這兩個時脈具有相關性,而且其中一個時脈是另一個的整數倍數,因此只能對速度較慢的匯流排進行過度取樣。如果過度取樣並不理想,邏輯分析儀可以使用每四個取樣就儲存一個的設定,如此便能以每25MHz時脈一個取樣的速度來準確擷取25MHz匯流排。
因為多工器中有額外的信號,所以能重複探測一些感興趣的信號。舉例來說,在信號槽0中的濾波器前有I和Q符號,在RRC濾波器後也有I成分。因此可以在邏輯分析儀中執行一些時域分析,以量測濾波器中的波群延遲,如(圖四)所示。兩個游標指出了一個常見的信號特性:寬廣又平坦的頂部,而游標量測顯示畫面則指出間隔為250 ns。
探測感興趣的電路部份之後,對信號執行向量信號分析,並量測RRC濾波器與IF調變階段的品質。
觀察濾波前的QAM16 I-Q符號,如(圖五)所示,可以看到包含16個取樣點的QAM星狀圖(左上方圖表)。由於每個符號一個取樣點,所以在星狀圖各個取樣點之間的線條都是直的。頻譜(左下方圖表)的中心位在0Hz,並有一個25MHz帶通,而且在相鄰通道中還出現了功率。RF信號中並不適合出現相鄰通道功率,這正是使用基頻濾波器的原因。
在ATC2核心中選擇一個不同的信號槽(由邏輯分析儀控制),即可對基頻濾波器後的IQ信號進行分析,如(圖六)所示。現在頻譜的旁帶已被移除,而量測顯示畫面(在右下象限)指出EVM為0.5%。下回當RF小組抱怨基頻設計有錯誤時,可以舉出此量測來證明問題並非出在濾波器。
在許多數位無線電設計中,這個IQ信號如今都已被轉換成類比信號,但還是在相同的FPGA內部,以數位的方式來執行IF調變。切換FPGA動態測試探棒中的信號槽,便可存取數位IF信號(同樣不必執行另一次合成及配置與傳遞步驟),如(圖七)所示。請注意,頻譜和I-Q星狀圖大致相同,只不過這次的中心點大約在25MHz。EVM值有點高,這表示必須使用較高品質的本地振盪器或另一個濾波器階段。
結語
將Xilinx System Generator和ChipScope Pro分析儀,搭配安捷倫的邏輯分析儀和VSA軟體使用,便可以對Xilinx FPGA內部的數位基頻與IF信號執行即時而深入的分析。這麼做不但節省時間,也能消除對於模擬與真實硬體間差異的疑慮。此工具組合還能協助與RF設計小組的成員溝通,瞭解他們的語言並使用相同的分析軟體,而不必管信號的格式為何(類比、數位、基頻或RF)。
(作者任職於安捷倫科技)