李獻球
(中國衛星導航定位應用管理中心,北京 100088)
波形發生器廣泛應用于雷達、通信、測控、電子對抗以及現代化儀器儀表等領域,能夠為電子測量工作提供各種激勵信號,和示波器、頻率計、電壓表一樣,是最普通、最基本也是應用最廣泛的電子儀器之一,幾乎所有電參量的測量都要用到波形發生器。波形發生器采用Xilinx 公司生產的FPGA 芯片作為控制核心,結合高速高精度數模轉換器和高速運算放大器,實現了六通道的高速信號輸出,輸出信號的數據更新率達到400Msps,輸出信號種類包括正弦波、方波、三角波、ASK 信號、FSK 信號、PSK 信號,還能進行幅度和頻率調制。
系統原理框圖如圖1 所示。
波形發生器主要由DDS 模塊、時鐘模塊、電源模塊、放大濾波模塊以及PCI 接口組成。
DDS 模塊是系統的核心,它的性能將大大影響整個系統的性能。為了達到400MSPS的數據采樣速率,必須采用高速的元器件才能滿足設計要求。尤其是處理核心FPGA 和數模轉換器的最高工作頻率必須大于400MHz。在設計中,DDS 模塊采用FPGA芯片XC4VSX35 來實現DDS 硬件算法,用FPGA內部RAM 存儲波形信息,并且采用高速高精度DA芯片MAX5887 實現數模轉換。可編程邏輯器件XC4VSX35FF668-12是Xilinx 公司生產的vertex4系列FPGA 芯片,具有強大的功能和靈活的配置方式。它具有34560個邏輯單元,15360個slice,最大IO 數達到了448個,集成存儲器支持500MHz時鐘,500MHz XtremeDSP slice 可以有強大的運算能力。高速高精度數模轉換器MAX5887是精度為14 位、最高工作頻率為500MSPS的數模轉換器,是一款高速高精度數模轉換器,能夠滿足轉換速度和精度要求。
在DDS 模塊的軟件實現方面,采用Verilog 硬件描述語言編寫DDS 程序,充分利用Xilinx 公司的IP 核使設計變得簡單。為了提高DDS 模塊的運行速度,編寫軟件時對影響DDS 運行速度的關鍵部件進行了優化,采用了流水線技術使相位累加器的運行速度有了大大提高。
時鐘模塊為整個系統提供統一的時鐘源,使整個系統達到同步。本設計有內時鐘、外時鐘以及基板時鐘,內時鐘信號由時鐘芯片ICS8430 提供,外時鐘由SMA 接口輸入到系統中,基板時鐘由上位機提供。時鐘模塊產生的時鐘頻率要可以達到400MHz,才能滿足輸出信號400MSPS的數據更新速率要求。設計中采用集成鎖相環時鐘產生芯片ICS8430,它的最高輸出時鐘頻率為500MHz,輸出時鐘信號的抖動非常小,最大均方根周期抖動為6 皮秒,是一款性能非常優良的時鐘芯片。

圖1 系統原理框圖
放大濾波模塊將DA 輸出的低幅度低功率模擬信號放大到合適的幅度和功率,并且濾除信號中的高頻雜波。放大濾波電路采用二階有源低通橢圓濾波器實現,通帶頻率為400MHz,阻帶頻率為450MHz。構成有源低通濾波器的運算放大器為AD8045,它的單位增益帶寬為1GHz,可以滿足設計要求。放大濾波電路的電路圖如圖2 所示。

圖2 放大濾波電路圖
電源模塊為整個設計提供穩定的電源。由于系統需要的電源電壓種類較多,有5V、-5V、3.3V、2.5V、1.8V 以及1.2V,因此采用了多個電源芯片,包括PTN04050、TPS62040 和AAT1145。電源模塊PTN04050是正電壓到負電壓轉換器,具有很寬的輸出范圍,輸出電壓范圍為-15V~-3.3V,同時有很高的效率,最大轉換效率可達到80%。電源芯片TPS62040是高效的開關電壓轉換芯片,最高轉換效率達95%,最大負載電流1.2A,可以滿足高功率輸出電源的要求。
為了實現上位機與系統之間的通信,同時上位機需要通過接口傳輸數據使系統產生特定的波形,需要設計能與上位機進行高速數據通信的接口。綜合考慮需求和實現難度,本設計采用PCI 接口作為與上位機通信的接口。PCI 模塊采用了PLX 公司的PCI9045 接口芯片作為PCI 橋芯片。PCI9045 提供了兩個可編程的DMA 控制器,傳輸速度達到了132MB/s。內部有六種可編程的FIFO 存儲器,可以實現零等待突發傳輸以及本地總線和PCI 總線之間的異步操作。采用這種專用接口芯片可以避免復雜的PCI 接口協議,降低設計難度,縮短研制周期。
系統的關鍵技術包括多級流水線相位累加器設計、高速時鐘產生技術、IP 核復用技術、高頻微弱信號調理技術、PCI 接口及芯片配置。下面重點介紹DDS 技術和高速時鐘產生技術。
DDS 模塊的硬件算法核心是相位累加器,在400MSPS的數據更新率下,為了達到0.1Hz的頻率分辨率,相位累加器的位數必須達到32 位。而相位累加器實質上是帶有反饋的加法器,當它的位數越多時,完成一次加法的時間就會越長。由于本設計中相位累加器的位數達到了32 位,因此它嚴重影響了DDS的速度。為了改善性能,提高DDS的速度,本設計采用流水線設計。將32 位累加器分成4 條流水線,每條流水線完成8 位加法運算,流水線按進位進行級聯,運用流水線結構可以提高累加器的運算速度3 倍多。為了提高運算速度,加法器采用的是目前速度較快的預先進位算法;為了避免因預先進位傳輸鏈過長而影響速度,每8 位加法器由兩個4 位加法器實現。四級流水線累加器結構框圖如圖3 所示。
為了達到400MSPS的數據更新率,同時保證輸出信號穩定,抖動小,系統需要一個具有高時間穩定度,最高時鐘頻率達到400MHz的時鐘源。同時,這個時鐘源需要一個時鐘分配器,將其分成同步的七路時鐘,分別輸入到FPGA 和六個DA 通道中。為了達到設計目的,波形發生器采用集成鎖相環芯片ICS8430 來產生時鐘信號。ICS8430是一個集成鎖相環頻率合成器,它的最高輸出頻率為500MHz,輸出時鐘最大周期抖動為30ps,最大均方根周期抖動為6ps,可以滿足設計要求。ICS8430 有兩種配置模式,串行SPI 配置和并行配置,為了實現可以快速改變系統時鐘值,采用并行配置方式配置ICS8430。系統上電后,ICS8430 通過并行配置口由FPGA 配置工作參數,輸出時鐘頻率為400MHz。并行配置過程中,將并行數據加載信號nP_LOAD 保持低電平超過5nS 即可以將并行數據加載到時鐘芯片內部的寄存器中。并行配置時序圖如圖4 所示。

圖3 四級流水線累加器結構框圖

圖4 ICS8430 并行配置時序圖
設計中,輸入時鐘芯片的晶振頻率是20MHz,要輸出400MHz的時鐘,可以選擇N的值為1,M的值為320,因此可以得出N2、N1、N0的值為000,M8~M0的值為10100000。
仿真采用目前在FPGA 仿真領域使用最為廣泛的仿真工具modelsim 作為仿真平臺。仿真時鐘為400MHz,部分仿真輸出波形如圖5-圖7 所示。

圖5 正弦波輸出仿真圖


圖7 調幅信號輸出仿真圖
測試時信號發生器輸出頻率可調的正弦信號,用泰克數字示波器TDS3012 觀察和獲取信號參數。

表1 正弦波測試結果
設計采用直接數字頻率合成(DDS)技術,以FPGA為核心,運用流水線技術、IP 核復用技術、高速時鐘產生技術來實現400MSPS 數據更新率的波形產生,通過仿真測試可以看出波形發生器輸出的信號種類豐富,頻率較高,具有較強的實用性和適應性,實現了高速信號的發生。
[1]徐志軍,徐光輝.CPLD/FPGA的開發與應用[M].北京:電子工業出版社,2003.
[2]王永,劉志強,劉碩.DDS 在任意波形發生器中的應用[J].儀表技術,2001(4):22-23.
[3]羊梅君.基于PCI 總線的任意波形發生器設計[J].儀器儀表用戶,2004(4):24-25.
[4]周俊峰,陳濤.基于FPGA的直接數字頻率合成器的設計和實現[J].國外電子元器件,2003(1):25-28.
[5]Analog Devices.Inc.A Technical tutorial on Digital Signal Synthesis[R].1999:5-11.