孫曉昕,陳凡非,吳鵬飛,曲 偉
(黑龍江大學(xué) 電子工程學(xué)院,哈爾濱 150080)
基于FPGA的智能函數(shù)發(fā)生器設(shè)計(jì)
孫曉昕,陳凡非,吳鵬飛,曲 偉*
(黑龍江大學(xué) 電子工程學(xué)院,哈爾濱 150080)
針對傳統(tǒng)函數(shù)發(fā)生器設(shè)計(jì)的缺點(diǎn),提出了一種智能函數(shù)發(fā)生器設(shè)計(jì)方法。該方法采用Qt設(shè)計(jì)上位機(jī)程序與USART串行通信技術(shù)相結(jié)合,實(shí)現(xiàn)對下位機(jī)的實(shí)時控制,兼顧了系統(tǒng)的靈敏度和魯棒性。利用該方法設(shè)計(jì)了智能函數(shù)發(fā)生器模數(shù)轉(zhuǎn)換模塊、外部調(diào)制電路模塊和濾波電路模塊,并基于EP4CE6F17C8型FPGA芯片實(shí)現(xiàn)頻率調(diào)制、幅度調(diào)制、偏置調(diào)制、波形調(diào)制以及占空比調(diào)制等功能。測試結(jié)果表明:該函數(shù)發(fā)生器能產(chǎn)生正弦波、方波、三角波、鋸齒波等4種函數(shù)波形,其調(diào)頻范圍為1 Hz~1 MHz,調(diào)幅范圍為-10 V~+10 V。
現(xiàn)場可編程門陣列;直接數(shù)字頻率合成;智能儀表;串行通信
函數(shù)發(fā)生器是一種歷史悠久的測量儀器,它是一種具有頻率、幅度、偏置等調(diào)制功能的多波形信號源,可以產(chǎn)生特定波形信號用于測試、校準(zhǔn)、甚至為其他電路提供能源等工作。隨著現(xiàn)代通信技術(shù)的不斷發(fā)展,人們對函數(shù)發(fā)生器的性能提出了更高的要求,不僅能產(chǎn)生任意波形,且要求操作方便快捷,輸出波形穩(wěn)定度好,頻率精確度高。為了適應(yīng)現(xiàn)代通信電子技術(shù)的發(fā)展和市場的需求,研究函數(shù)發(fā)生器具有非常重要的理論意義和應(yīng)用價值。
隨著現(xiàn)場可編程門陣列(FPGA)技術(shù)的發(fā)展以及直接數(shù)字頻率合成(DDS)技術(shù)的日漸成熟,為函數(shù)信號發(fā)生器提供了理論依據(jù)和技術(shù)支持,極大地提高函數(shù)信號發(fā)生器的性能,降低了成本。
在電子領(lǐng)域,函數(shù)發(fā)生器可用于生產(chǎn)測試、儀器維修、科研實(shí)驗(yàn)等。從電子角度講,函數(shù)發(fā)生器主要用作包括激勵源、基準(zhǔn)信號源、波形模擬器等[1]。在非電子領(lǐng)域,函數(shù)發(fā)生器通常結(jié)合該領(lǐng)域的設(shè)備一同工作,如結(jié)合醫(yī)療設(shè)備檢測患者心率,結(jié)合工業(yè)自動化設(shè)備實(shí)現(xiàn)各流程時間監(jiān)控,函數(shù)發(fā)生器已經(jīng)融入各行各業(yè),某些專用函數(shù)發(fā)生器更是如此[2]。
函數(shù)發(fā)生器的主要性能指標(biāo)包括:頻率、幅度、相位、偏置、波形等,在一些特殊場合,還需要考慮諸如輸出阻抗、輸出準(zhǔn)確度、輸出穩(wěn)定性等因素[3]。
目前函數(shù)發(fā)生器的實(shí)現(xiàn)方法主要有:采用分立元件搭建的函數(shù)發(fā)生器,采用專用DDS芯片搭建的函數(shù)發(fā)生器,以及使用FPGA配合Verilog程序設(shè)計(jì)搭建的函數(shù)發(fā)生器等。
1.1 基于FPGA 的智能函數(shù)發(fā)生器設(shè)計(jì)方案
針對傳統(tǒng)函數(shù)發(fā)生器設(shè)計(jì)當(dāng)中的不足,本文提出了一種智能函數(shù)發(fā)生器設(shè)計(jì)方法。該方案上位機(jī)部分使用Qt編寫控制軟件;FPGA部分構(gòu)建波形發(fā)生模塊、控制和通信模塊等;濾波及調(diào)制部分用以對信號進(jìn)行降噪和波形變換以達(dá)到所需要的標(biāo)準(zhǔn);功放部分提高輸出功率、降低輸出阻抗?;贔PGA 的智能函數(shù)發(fā)生器整體方案見圖1。
圖1 本設(shè)計(jì)中函數(shù)發(fā)生器結(jié)構(gòu)框圖Fig.1 Block diagram of the function generator
1.2 函數(shù)發(fā)生器頻率調(diào)制
FPGA波形發(fā)生模塊中調(diào)頻部分使用DDS技術(shù)實(shí)現(xiàn),其工作原理見圖2。圖2表示半徑為1的單位圓,半徑與橫軸的夾角即相位角。則當(dāng)半徑繞圓旋轉(zhuǎn)時,其在縱軸投影也將有一系列數(shù)值,范圍在+1到-1之間。此投影即為正弦幅值,見圖3。
圖2 單位圓表示的正弦函數(shù)Fig.2 Sine function presented by unit circle
圖3 根據(jù)相位線性特性產(chǎn)生的正弦波Fig.3 Sine wave produced according to phase linearity
本設(shè)計(jì)中DDS原理圖見圖4。由以下幾部分組成:相位累加器、正弦ROM表(用于相位-幅度變換)、D/A轉(zhuǎn)換器、低通濾波器[4]。
圖4 典型DDS原理圖Fig.4 DDS schematics
相位累加器在每個時鐘到來時對頻率控制器的控制字進(jìn)行一次累加,數(shù)值溢出后繼續(xù)進(jìn)行累加運(yùn)算。相位累加器實(shí)質(zhì)上輸出了一個階躍的鋸齒波信號,符合正弦ROM表所需的線性的相位輸入量。
DDS中相位累加器可由一組加法器和寄存器構(gòu)成,原理圖見圖5。
圖5 相位累加器構(gòu)成Fig.5 Structure of phase accumulator
1.3 函數(shù)發(fā)生器幅度調(diào)制
函數(shù)發(fā)生器幅值調(diào)制使用乘法器建立,將輸入信號及幅值調(diào)制控制字相乘,可得到與輸入信號波形相同,幅值與控制字成正比的輸出信號。函數(shù)發(fā)生器幅度調(diào)制部分見圖6。
圖6 使用乘法器進(jìn)行幅度調(diào)制Fig.6 Using multiplier to conduct AM
2.1 FPGA
采用Altera公司Cyclone IV系列的EP4CE6F17C8芯片作為主控芯片。芯片使用BGA封裝,包含256個引腳,其中輸入輸出引腳179個。芯片內(nèi)核電壓1.2 V,片載6 272個邏輯單元,392個乘法器。根據(jù)ALTERA官方的數(shù)據(jù),CYCLONE IV相對CYCLONE III來說,功耗減少25%。
FPGA部分外部電路包括50 MHz晶振,EPCS16配置芯片,板載3.3、2.5、1.2 V電源,JETG接口和AS接口,及擴(kuò)展I/O口等。
2.2 D/A數(shù)模轉(zhuǎn)換
D/A數(shù)模轉(zhuǎn)換采用權(quán)電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換,電路見圖7[5]。電路中采用非常多數(shù)值的電阻,且電阻阻值成2N倍數(shù)關(guān)系,故得名權(quán)電阻網(wǎng)絡(luò)。切換電阻接入電平,可改變電阻網(wǎng)絡(luò)的分壓結(jié)構(gòu),改變輸出電壓。
2.3 輸出信號調(diào)制與濾波
D/A轉(zhuǎn)換器經(jīng)FPGA后輸出電壓值為0~3.3 V,而函數(shù)發(fā)生器的輸出范圍-10~+10 V,故外部需要偏置電路和放大電路。由于DDS技術(shù)是純數(shù)字頻率合成技術(shù),工作時會引入很大的信號雜散,需設(shè)計(jì)輸出濾波電路,以消除信號雜散。
圖7 權(quán)電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器Fig.7 Right resistor network D/A converter
輸出調(diào)制及濾波電路見圖8。U1A為D/A的輸出跟隨器,用于擴(kuò)大D/A輸出電流,R13電位器用于手動調(diào)節(jié)偏置電壓,U1B跟隨器用于匹配U2A減法器輸入阻抗。而信號經(jīng)過U2A放大6.1倍后,變?yōu)?10~+10 V輸出信號。C1、C2、R15、R16共同組成二階低通濾波器電路,截至頻率約為30 MHz,可將接近系統(tǒng)時鐘頻率雜散信號濾除。
3.1 DDS模塊正弦波發(fā)生
使用Quartus II軟件實(shí)現(xiàn)的DDS正弦發(fā)生模塊見圖9,主要包括相位累加器、正弦數(shù)值表、系統(tǒng)時鐘。
圖9 DDS正弦發(fā)生模塊原理圖Fig.9 DDS sine generator module schematics
圖10 DDS鋸齒發(fā)生模塊原理圖Fig.10 DDS sawtooth generator module schematics
3.2 DDS模塊鋸齒波發(fā)生
使用Quartus II軟件實(shí)現(xiàn)的DDS鋸齒發(fā)生模塊見圖10。在正弦模塊基礎(chǔ)上,將ROM表地址端直接引出,即可輸出鋸齒波。
3.3 DDS模塊三角波發(fā)生
三角波發(fā)生需要采用特定的運(yùn)算。將鋸齒波信號前半周期數(shù)值翻倍,后半周期數(shù)值翻轉(zhuǎn)后再翻倍,運(yùn)算過程用見下式:
(1)
式中x為鋸齒波輸入;y為三角波輸出。使用Quartus II軟件搭建的DDS三角發(fā)生模塊原理圖[6]見圖11。
3.4 DDS模塊方波發(fā)生
DDS模塊的方波發(fā)生僅需比對正弦輸入數(shù)值與基準(zhǔn)數(shù)值控制字的大小,將比對結(jié)果量化為高低兩種狀態(tài)并輸出[7]。為DDS方波模塊添加PWM脈寬調(diào)制功能,則需將基準(zhǔn)數(shù)值端引出為輸入引腳[8]。由此可見,方波變換部分僅需構(gòu)建8位數(shù)值比較器即可實(shí)現(xiàn)。圖12為使用Quartus II軟件搭建的DDS帶PWM功能方波發(fā)生模塊原理圖。
圖12 DDS帶PWM功能方波發(fā)生模塊原理圖Fig.12 DDS with PWM square generator module schematics
3.5 幅度及偏置調(diào)制
采用乘法器實(shí)現(xiàn)幅度調(diào)制,將8位并行輸出端與8位幅度控制字相乘,可得16位乘積。相比之下,使用16位數(shù)據(jù)總線供D/A轉(zhuǎn)換受益不大,故此處使用除法器將16位總線換算為8位總線,以節(jié)約系統(tǒng)資源[9-10]。
偏置部分使用加減運(yùn)算實(shí)現(xiàn)。對信號函數(shù)式的整體加減可以實(shí)現(xiàn)信號沿幅度軸的上下平移。故采用帶有參數(shù)的加法器即可實(shí)現(xiàn)信號的偏置調(diào)節(jié)功能。
3.6 上位機(jī)軟件設(shè)計(jì)
上位機(jī)軟件使用Qt編寫,軟件使用滾動條和數(shù)值設(shè)置共同調(diào)節(jié)相應(yīng)數(shù)據(jù)。軟件中可任意操控下位機(jī)的幅值、偏置、頻率、占空比和波形等參數(shù)。軟件界面見圖13。
圖13 上位機(jī)軟件界面Fig.13 PC software interface
4.1 頻率測試
進(jìn)行頻率測試時,分散選取5個測試頻率點(diǎn),計(jì)算各自控制字。使用RIGOL公司生產(chǎn)的DS2102數(shù)字示波器進(jìn)行測試,測試數(shù)據(jù)見表1。
4.2 幅度測試
進(jìn)行幅度測試時,分散選取5個測試峰峰值點(diǎn),計(jì)算各自控制字。測試數(shù)據(jù)見表2。
由測試數(shù)據(jù)可見,在幅值較大情況下,誤差很小,在控制字量化時產(chǎn)生的誤差影響也不大。但當(dāng)幅值較小時,誤差很大。其原因是電阻網(wǎng)絡(luò)D/A分辨率不足,無法在數(shù)值極低情況下提供較好的步進(jìn)量。
表1 頻率測試數(shù)據(jù)整理
表2 幅度測試數(shù)據(jù)整理
本文提出了一種智能函數(shù)發(fā)生器硬件設(shè)計(jì)方案,該方案克服了傳統(tǒng)函數(shù)發(fā)生器設(shè)計(jì)的缺陷,采用Qt編寫上位機(jī)控制程序與USART串行通信技術(shù),實(shí)現(xiàn)了實(shí)時操作函數(shù)發(fā)生器輸出參數(shù)等功能;基于FPGA芯片構(gòu)建波形發(fā)生模塊、控制和通信模塊等,完成智能函數(shù)發(fā)生器實(shí)物制作,實(shí)現(xiàn)了包括正弦波、方波、三角波、鋸齒波等波形發(fā)生功能。同時,系統(tǒng)的濾波及調(diào)制模塊用以對信號進(jìn)行降噪和波形變換以達(dá)到所需要的標(biāo)準(zhǔn)。功放模塊提高了系統(tǒng)的輸出功率,降低輸出阻抗。
經(jīng)測試,該函數(shù)發(fā)生器的輸出頻率為1 Hz~1 MHz,頻率步進(jìn)值1 Hz,輸出幅度-10~+10 V,幅度步進(jìn)值0.1 V,方波占空比步進(jìn)值1%。
[1]馬駿然,張春熹.基于FPGA的直接數(shù)字頻率合成波形發(fā)生器[J].電子測量技術(shù),2006,4(3):78-79.
[2]Yu X,Wang J L,Gu H D.Design of microwave signal generator based on embedded linux[J]. Chinese Journal of Electron Devices,2008,31(3):941-944.
[3]趙茂泰.電子測量儀器設(shè)計(jì)[M].武漢:華中科技大學(xué)出版社,2010:114-147.
[4]曲堯麗,楊景常,劉光明.可程控智能函數(shù)發(fā)生器的實(shí)現(xiàn)[J].中國儀器儀表,2006,3(2):62-64.
[5]Geng X, Dai F F, Irwin J D.24-bit 5.0 GHz girect digital synthesizer RFIC with direct digital modulations in 0.13 us [J]. Solid-State Circuits, IEEE Journal of.2010,45(5): 944-954.
[6]楊 蕊.基于DDS技術(shù)的實(shí)用信號源設(shè)計(jì)[D].武漢:華中師范大學(xué),2012:15-18.
[7]王 丹,李 平,文玉梅.采用DDS頻率合成的虛擬信號發(fā)生器研究[J] .傳感技術(shù)學(xué)報(bào), 2007,9(3):586- 591.
[8]李海松,張奇榮,權(quán)海洋.DDS的相位截?cái)嗉跋鄳?yīng)的雜散信號分析[J].微電子學(xué)與計(jì)算機(jī),2006,23(2): 141-143.
[9]Wang C C, Teng Y, She H C. A 13-bit resolution ROM-less direct digital frequency synthesizer based on a trigonometric quadruple angle formula [J]. IEEE Trans, 2004,12(9): 895-900.
[10]胡鴻豪,李世紅,蔡志端,等.基于單片機(jī)和DDS的信號發(fā)生器設(shè)計(jì)[J].電子元器件應(yīng)用,2006,8(12):47-49.
Design of smart function generator based on FPGA
SUN Xiao-Xin, CHEN Fan-Fei, WU Peng-Fei, QU Wei*
(School of Electronic Engineering, Heilongjiang University, Harbin 150080, China)
A intelligent function generator design method was proposed according to the shortcomings of traditional function generator. The method used Qt to design upper computer program and used USART serial communication come true the real-time control to the lower computer. The sensitivity and robustness of the system were taken into account. The analog-digital converter modular, the external modulation circuit modular and the filter circuit modular were designed by this method, and functions of frequency modulation, amplitude modulation, offset modulation, waveform modulation, duty cycle modulation and so on were realized based on FPGA chip (EP4CE6F17C8). From the experimental results: this function generator can produce sine wave, square wave, triangular wave and sawtooth wave. The frequency range was 1Hz to 1MHz and the amplitude modulation range was -10 V to +10 V.
FPGA; DDS; intelligent instruments; serial communications
10.13524/j.2095-008x.2015.01.016
2014-08-20
http://www.cnki.net/kcms/detail/23.1566.T.20150119.1618.005.html
2012年黑龍江省研究生創(chuàng)新科研項(xiàng)目(YJSCX2012-317HLJ);2014年黑龍江大學(xué)研究生創(chuàng)新科研項(xiàng)目(YJSCX2014-074HLJU)
孫曉昕(1988-),女,山東鄆城人,碩士研究生,研究方向:電路分析與測試,E-mail: sxxszcb@126.com;*通訊作者:曲 偉(1970-),女,黑龍江哈爾濱人,教授,碩士研究生導(dǎo)師,研究方向:電路分析與測試,E-mail: quwei70@163.com。
TP212.6
A
2095-008X(2015)01-0080-07