王嘉成,于 鵬
(西安電子科技大學 電子工程學院,陜西 西安710126)
在工業(yè)控制、測試測量、數(shù)字信號處理等領(lǐng)域,移相信號均有著廣泛的應用。隨著電子技術(shù)的發(fā)展,信號的速度和精度都得到了大幅提高,因此對信號源的頻率精度和穩(wěn)定度等提出了更高的要求,傳統(tǒng)的移相信號發(fā)生器需使用LC或RC等模擬振蕩電路實現(xiàn),該電路受環(huán)境如溫度等因素的影響較大,性能不穩(wěn)定,且參數(shù)不宜更改,給維護帶來不便。而近年來,電子工藝的不斷進步,使得直接數(shù)字頻率合成器(Direct Digital Frequency Synthesis,DDS)得到了飛速發(fā)展,其具有以下特點:(1)全數(shù)字結(jié)構(gòu)的開環(huán)系統(tǒng),控制靈活,且無反饋環(huán)節(jié),頻率轉(zhuǎn)換時間短,因此速度較快。(2)相對帶寬寬、頻率分辨率高。(3)可編程,可產(chǎn)生寬帶正交信號及其他多種調(diào)制信號。(4)頻率分辨率高。因此該種信號產(chǎn)生技術(shù)得到了廣泛應用,眾多廠商已經(jīng)生產(chǎn)出DDS專用芯片。除此之外,由于FPGA芯片集成度的提高,在FPGA芯片內(nèi)部實現(xiàn)DDS也成為提高性價比的實現(xiàn)方案[1-2]。
文中基于DDS原理,在FPGA上實現(xiàn)移相信號的產(chǎn)生,由于采用嵌入式存儲器塊來存儲波形數(shù)據(jù),因此只需簡單的外圍電路如D/A、放大器等的配合即可實現(xiàn)移相信號發(fā)生功能。該設(shè)計方案簡單、成本低廉、易于實現(xiàn)。
對于正弦信號,其輸出可用下式表示
其中,fout為輸出信號的頻率;φ為相移。
因此,輸出頻率為
因此,輸出的離散時間正弦信號可描述為
通過上述推導,只需同步于時鐘fclk對相位增量進行累加運算,再加入一個相位偏移值φ,便可得到信號的當前相位值。且K的大小決定了當前信號的輸出頻率,并成正比關(guān)系,因此K被稱為頻率控制字。相位偏移量的大小由φ決定,當φ=0時,相位累加器的輸出無需再與相位控制字相加,即無需再進入相位調(diào)制器,直接輸出給查找表即可。
查找表完成相位到幅度的轉(zhuǎn)換,即對于輸入的相位φ,輸出相應的Asin(φ)值。對于參考信號,其輸入是相位累加器的輸出;而對于同頻率的移相信號,該輸入為相位調(diào)制器的輸出。實際上,均是ROM的地址值。
同時,為提高系統(tǒng)的穩(wěn)定性,防止頻率控制字和相位控制字改變時干擾相位累加器和相位調(diào)制器的正常工作,在輸入處和加法器的輸出部分添加了一組同步寄存器,以保證數(shù)據(jù)的變化與系統(tǒng)時鐘同步。綜上所述,移相系統(tǒng)的核心原理框圖如1所示。
圖1 移相信號發(fā)生原理
若將ROM的地址線寬度設(shè)置為32位,系統(tǒng)時鐘fclk=200 MHz,則理論上可得到的最小輸出頻率也即頻率分辨率為
該系統(tǒng)硬件電路主要由FPGA核心系統(tǒng)、D/A轉(zhuǎn)換器、低通濾波器構(gòu)成,在FPGA內(nèi)部實現(xiàn)DDS的移相功能,其是設(shè)計的核心,DAC和通過低通濾波器將FPGA輸出的數(shù)字值轉(zhuǎn)換為模擬信號,該系統(tǒng)的總體框圖如圖2所示。
圖2 系統(tǒng)總體框圖
由于該DDS基本結(jié)構(gòu)的相位誤差對系統(tǒng)的時鐘特性有較大的依賴性,因此時鐘信號的特性對設(shè)計起到重要作用,設(shè)計采用精度較高的有源晶振作為外部時鐘源,并連接到FPGA的全局時鐘引腳上,由于該管腳在FPGA中已預備了時鐘樹,因此使用其可確保獲得最佳性能[3],電路原理圖如圖3所示。
圖3 FPGA的外部時鐘源
由于本設(shè)計需200 MHz的采樣時鐘fclk,因此需利用Altera FPGA中自帶的嵌入式鎖相環(huán)ALTPLL,其與直接來自外部的時鐘相比,該種片內(nèi)時鐘可減少時鐘的延時和變形,并減少片外干擾;同時還可改善時鐘的建立時間及保持時間,是系統(tǒng)穩(wěn)定高速工作的重要保證。通過對外部時鐘信號進行10倍頻,可得到200 MHz的片內(nèi)時鐘信號,所得PLL模塊如圖4所示。
圖4 PLL模塊
累加器是整個系統(tǒng)的核心部分,其速度與性能影響著整個系統(tǒng)。為提高加法器的運行速度上限,采用流水線設(shè)計來進行優(yōu)化,該系統(tǒng)的相位字累加器和相位調(diào)制器的寬度均選擇為10 bit。由于10 bit加法器邏輯規(guī)模較大,此處僅給出4 bit的流水線加法器作為結(jié)構(gòu)示范,如圖5所示。
圖5 流水線加法器(4 bit)
ROM用來存儲波形數(shù)據(jù),但考慮到所選FPGA器件的嵌入式存儲器的容量有限,如CycloneII系列容量從119 kHz~1.1 MHz不等,且受到D/A轉(zhuǎn)換器位寬的限制,單方面提高存儲容量無法提高系統(tǒng)的精度,因此在設(shè)計時要綜合考慮所選器件的容量和DAC位數(shù)的限制來選取ROM容量的大小,系統(tǒng)取地址線寬度為10 bit,一個周期存儲210=1 024個點,ROM表的存儲結(jié)構(gòu)為線性存儲,波形數(shù)據(jù)與地址的對應關(guān)系如圖6所示。基于此種數(shù)據(jù)與地址的線性關(guān)系,可將累加器的輸出值直接作為地址信號。
圖6 ROM的存儲結(jié)構(gòu)
圖7是信號輸出部分電路設(shè)計,圖中AD9117為14 bit精度的DAC,最大轉(zhuǎn)換速率可達125 MSample·s-1,能夠滿足系統(tǒng)需求;AD8130是270 MHz差分到單端接收器,具有良好的交流共模抑制特性,10 MHz時可達70 dB,有效抑制在模擬地與數(shù)字地之間的噪聲[4]。
圖7 AD9117連接圖
設(shè)計采用芯片為Altera公司的CycloneII系列芯片EP2C5Q208C8,其具有兩個鎖相環(huán),可提供多達8個的全局時鐘,同時內(nèi)嵌了120 kbit的存儲器和26個嵌入式乘法器,完全滿足系統(tǒng)需求。
在QuartusⅡ中,將以上設(shè)計的各模塊相連接,得到頂層模塊,調(diào)用Modelsim對其進行仿真,得到的結(jié)果如圖8所示。
圖8 Modelsim仿真結(jié)果
仿真時將時鐘信號clk設(shè)置為500 kHz,頻率控制字freq_in分時依次設(shè)置為30、50、10,得到的參考信號和移相信號的周期從圖中可讀出為Tout=68μs,即fout=1/68μs≈14.648 kHz,與理論結(jié)果相一致,且30、50、10相對應的頻率成線性關(guān)系,當頻率控制字改變時,波形連續(xù),頻率切換迅速,約為5個時鐘周期即10μs。相位控制字為10 bit,當輸入為512時,對應的波形與參考波形相比,具有180°的相移,通過改變相位控制字的大小,可方便地改變相移的大小,因此系統(tǒng)能輸出具有相同頻率不同相位的兩路信號。
文中介紹了一種基于FPGA的移相信號的設(shè)計和實現(xiàn)方法,以DDS為基本原理,在單片F(xiàn)PGA內(nèi)部實現(xiàn)各個功能,根據(jù)實際需要配合符合要求的DAC轉(zhuǎn)換電路,即可實現(xiàn)高精度移相信號的發(fā)生功能。同時本設(shè)計的成本較低,外圍電路簡單,只需修改ROM中的波形數(shù)據(jù),即可發(fā)生任意波形的移相信號,且便于維護和修改,實用性較強。
[1] 王旭東,潘明海.數(shù)字信號處理的FPGA實現(xiàn)[M].北京:清華大學出版社,2011.
[2] 潘松,黃繼業(yè),潘明.EDA技術(shù)實用教程[M].北京:科學出版社,2010.
[3] 華清遠見嵌入式培訓中心.FPGA應用開發(fā)入門與典型實例[M].北京:人民郵電出版社,2008.
[4]Analog Devices Inc.AD9117[M].MA USA:Norwood Analog Devices Inc,2008.