華南師范大學(xué)物理與電子信息工程學(xué)院 黃浩然 李 燁 鄧 輝
基于復(fù)用OSERDES的任意波形發(fā)生器的設(shè)計(jì)
華南師范大學(xué)物理與電子信息工程學(xué)院 黃浩然 李 燁 鄧 輝
基于直接數(shù)字合成技術(shù)(DDS,Direct Digital Synthesic)的任意波形發(fā)生器應(yīng)用廣泛?,F(xiàn)場可編程邏輯陣列(FPGA)利用DDS技術(shù)輸出數(shù)字信號,再通過DA芯片輸出模擬信號,其采樣速率一般只有200MS/S。而集成于FPGA內(nèi)部的并串轉(zhuǎn)換器OSERDES的復(fù)用技術(shù)給出一種更高速率的任意波形發(fā)生器設(shè)計(jì)方案,任意波形采樣速率可達(dá)1GS/S。最后通過仿真驗(yàn)證了方法的可行性。
直接數(shù)字合成;任意波形發(fā)生器;現(xiàn)場可編程邏輯陣列;并串轉(zhuǎn)換
隨著電子技術(shù)的發(fā)展,對波形信號的要求也越來越高,通過數(shù)字方法生成頻率和相位相對固定且可調(diào)的技術(shù)[1],即DDS技術(shù)日益成熟;它具有頻率轉(zhuǎn)換時(shí)間短,頻率分辨率高,頻率和相位可編程,控制靈活方便的優(yōu)點(diǎn),缺點(diǎn)是輸出雜散大。在測試設(shè)備中則作為標(biāo)準(zhǔn)信號源,頻率合成器被稱為許多電子系統(tǒng)的“心臟”[2]。而設(shè)計(jì)通常采用FPGA及專用DDS芯片的方案,然后經(jīng)過數(shù)模轉(zhuǎn)換和低通濾波以生成所需信號,由于存儲器及全局時(shí)鐘的限制,采樣時(shí)鐘速率往往不能滿足要求,這就需要調(diào)用FPGA內(nèi)部集成的并串轉(zhuǎn)換器OSERDES,使系統(tǒng)工作在更高的時(shí)鐘頻率。
DDS技術(shù)建立在采樣定理的基礎(chǔ)上,它由加法器和相位寄存器組成,而相位寄存器是按每個時(shí)鐘增加步長,相位寄存器的輸出與相位控制字相加后輸入到正弦查詢表地址中[3]。當(dāng)相位累加器的步長為K時(shí),任意波形的輸出頻率[4]
表1 模塊屬性
圖1 DDS原理方框圖
圖2 系統(tǒng)框圖
式中,F(xiàn)s為固定采樣時(shí)鐘頻率,n為相位累加器長度,改變頻率控制字K,就可以改變DDS的輸出頻率。DDS原理如圖1所示。
實(shí)際上,方案采用多個相位累加器及波形存儲器,同時(shí)并行訪問四個數(shù)據(jù)點(diǎn),故公式修改為:
基于OSERDES復(fù)用的高速DA設(shè)計(jì)框圖如圖2所示,整個框圖由Xilinx FPGA芯片Spartan-6系列xc6s16型芯片、TI公司的DAC5681芯片以及ADI公司的AD9518_0時(shí)鐘分配芯片組成。
Spartan-6 FPGA每一款的輸入/輸出模塊(IOB)包含一個4bit輸入SerDes和一個4bit輸出SerDes,兩個相鄰的SerDcs模塊(主模塊和從模塊)級聯(lián)在一起可以生成一個8bit IOB,這使得每一個IOB不論在SDR模式下或是在DDR模式下其數(shù)據(jù)的輸入輸出串并轉(zhuǎn)換速率從2:1到8:1都成為可能。本文主要采用輸出SerDes模塊OSERDES2,用其可將并行4bit數(shù)據(jù)轉(zhuǎn)成1bit的高速串行LVDS電平輸出,共需用到18個OSERDES2,前16個作為波形數(shù)據(jù)輸出,第17個作為同步DAC5681的同步信號,第18個為DAC5681提供數(shù)據(jù)輸入時(shí)鐘。FPGA中的DLL模塊可用以消除來自AD9518_0的時(shí)鐘偏斜,對輸入時(shí)鐘進(jìn)行分頻、倍頻、移相等操作。
DAC5681是由TI公司一款高性能的數(shù)/模轉(zhuǎn)換器,支持16bit高精度LVDS有符號數(shù)輸入以及高1GSPS采樣速率,內(nèi)置8個輸入FIFO以及片上延遲鎖相環(huán),同時(shí)在信號失真及噪聲方面有很好的表現(xiàn)。DAC5681為雙時(shí)鐘輸入,在DCLK時(shí)鐘作用下數(shù)據(jù)進(jìn)入FIFO緩存,SCLK時(shí)鐘控制數(shù)模轉(zhuǎn)換后輸出。
圖3 時(shí)鐘分配
圖4 仿真結(jié)果
AD9518_0時(shí)鐘芯片可輸出五路LVPECL電平時(shí)鐘信號,接入合適的外圍電路可為FPGA及DAC5681提供250MHZ及1GHZ的工作時(shí)鐘。
OSERDES2是專用的并串轉(zhuǎn)換器[5],每個OSERDES2模塊包括一個用于數(shù)據(jù)和三態(tài)控制的專用串行器。單個OSERDES2數(shù)據(jù)串行化可達(dá)6:1,可在兩種模式下工作:單倍數(shù)據(jù)速率(SDR)和雙倍數(shù)據(jù)速率(DDR)。OSERDES2使用CLK0和CLKDIV兩個時(shí)鐘進(jìn)行數(shù)據(jù)速率轉(zhuǎn)換。CLK0是高速串行時(shí),CLKDIV是分頻并行時(shí)鐘;數(shù)字時(shí)鐘管理單元DCM內(nèi)部是DLL(Delay Lock Loop結(jié)構(gòu),對時(shí)鐘偏移量的調(diào)節(jié)是通過長的延時(shí)線形成的。DCM的參數(shù)里有一個PHASESHIFT(相移),可以從0變到255。DCM總會把輸入時(shí)鐘clkin和反饋時(shí)鐘clkfb相比較,如果它們的延時(shí)差不等于所設(shè)置的PHASESHIFT,DCM就會改變在clkin和clk_1x之間的延時(shí)線數(shù)目,直到相等為止,因此DCM可以消除時(shí)鐘抖動。PLL鎖想環(huán)模塊可輸出相位,頻率可調(diào)的時(shí)鐘。每個OSERDES2必需與BUFPLL配合使用,xc6s16型芯片含有上下BUFPLL,每塊各驅(qū)動9個OSERDES2,同時(shí)上下BUFPLL并接于PLL_BASE。
本文使用xilinx ISE 12.4設(shè)計(jì)工具,可從軟件中調(diào)出各模塊,其時(shí)鐘連接關(guān)系及屬性設(shè)置如圖3及表1所示。
仿真工具使用ISE 12.4自帶的ISim,為便于讀數(shù)FPGA內(nèi)存存儲四個相同的有符號數(shù)方波數(shù)據(jù)。已知n=20,K=0xe0000,F(xiàn)s=1GHZ,由公式(2)計(jì)算輸出方波頻率f=218.75MHZ,導(dǎo)入激勵文件后,仿真結(jié)果如圖4所示,sysclkp表示外部輸入時(shí)鐘250MHZ,syp為同步信號,gclk表示FPGA內(nèi)部全局時(shí)鐘250MHZ,相移90度;ioclk表示OSERDES2串行時(shí)鐘1GHZ,dclkop為雙沿時(shí)鐘500MHZ。P/N為差分波形數(shù)據(jù)輸出,測得頻率200MHZ左右,符合計(jì)算結(jié)果。
在DDS基礎(chǔ)上介紹了OSERDES復(fù)用技術(shù),結(jié)合高速DA轉(zhuǎn)換芯片,大大提高了波形采樣速率,不過此方案存儲同一波形數(shù)據(jù)存在需占用四個內(nèi)存的缺點(diǎn),由于內(nèi)存空間有限,擴(kuò)大了截?cái)噍敵稣`差,造成波形雜散大。每種方法都有其自己身的優(yōu)缺點(diǎn),使用
[2]姜平,周根榮,李俊紅.基于AD9833的多通道信號發(fā)生器設(shè)計(jì)[J].儀表技術(shù)與傳感器,2006(12):46-48.
[3]AnalogDeviceInc.ADG704Datasheet[EB/OL].1999.http://www.analog.com/static/imported-files/data_sheets/ADG704.pdf.
[4]杜太行,弭艷芝,劉鑫,等.斷路器瞬動特性檢測技術(shù)的研究[J].電工技術(shù),2003(8):36-39.
[5]XilinxInc.Virtex-5UserGuide(ug190)[EB/OL](2007-09-11)[2010-02-01].www.xilinx.com/cn/support/documentation/user_guides/c_ug190.pdf.設(shè)計(jì)方法的選擇,可根據(jù)現(xiàn)有硬件資源、環(huán)境情況及各個方法的特點(diǎn)進(jìn)行取舍。
[1]胡力.基于DDS的掃頻信號源設(shè)計(jì)實(shí)現(xiàn)[D].南京:南京理工大學(xué),2006.