吳旭,楊虹
(南昌航空大學(xué),江西南昌,330063)
信號(hào)發(fā)生器是用于各種電子電路實(shí)驗(yàn)不可或缺的實(shí)驗(yàn)裝置之一,它可以作為獨(dú)立的信號(hào)源使用,也可以作為網(wǎng)絡(luò)分析儀、頻譜分析儀和自動(dòng)測(cè)試設(shè)備的組成單元[1]。由數(shù)字電路組成的同功能儀器雖然可調(diào)節(jié)性能良好、信號(hào)穩(wěn)定性好、精度較好,但是電路復(fù)雜且價(jià)格高昂[2]。當(dāng)前電子產(chǎn)品發(fā)展迅速,目前市場(chǎng)上存在著以單片機(jī)為主控芯片的信號(hào)發(fā)生器,這些信號(hào)發(fā)生器相較前者有了部分簡(jiǎn)化,但穩(wěn)定性不是很好,功耗相較高,價(jià)格也不是最低[3]。微型化的信號(hào)發(fā)生器有利于將其嵌入進(jìn)各種儀器設(shè)備當(dāng)中去,這也是儀器發(fā)展的一種趨勢(shì)[4]。因此以DDS 技術(shù)為核心開發(fā)出一款新的微型信號(hào)發(fā)生器(實(shí)現(xiàn)頻率、幅值波形等可調(diào)節(jié)),在社會(huì)上具有實(shí)際的經(jīng)濟(jì)價(jià)值以及實(shí)用價(jià)值。
本次設(shè)計(jì)以FPGA 芯片Cyclone IV 系列EP4CE6E22C8為載體,采用Verilog HDL 語言進(jìn)行程序設(shè)計(jì)和編寫。具體研究?jī)?nèi)容如下:詳細(xì)闡述了DDS 信號(hào)發(fā)生器產(chǎn)生特定頻率、相位信號(hào)的工作原理;實(shí)現(xiàn)DDS 波形發(fā)生器的邏輯模塊設(shè)計(jì)并增加各種波形調(diào)制模塊;實(shí)現(xiàn)DDS 信號(hào)發(fā)生器的各模塊功能在testbench 上仿真驗(yàn)證及邏輯分析儀Signaltap II中的驗(yàn)證。
相比于采用電路模塊搭建而成的傳統(tǒng)信號(hào)發(fā)生器,基于FPGA 的DDS 信號(hào)發(fā)生器具有多方面的優(yōu)勢(shì)。例如FPGA芯片自帶50MHz(可以通過PLL 鎖相環(huán)進(jìn)行倍頻達(dá)到更高精度)高速晶振時(shí)鐘,使其精度遠(yuǎn)超傳統(tǒng)單片機(jī)[5];一塊價(jià)格低廉的普通FPGA 芯片性能足以滿足DDS 技術(shù)需求,因而硬件成本也會(huì)顯著下降;DDS 技術(shù)需要在只讀存儲(chǔ)器中寫入一些波形數(shù)據(jù),采用FPGA 開發(fā)可以利用Quartus 軟件開發(fā)工具中的一些內(nèi)置IP 核,直接調(diào)用ROM 工具,這樣不僅節(jié)省了外部存儲(chǔ)器,而且開發(fā)和修改起來也十分靈活、方便。DDS 的基本結(jié)構(gòu)圖如圖1 所示,主要由相位累加器、相位調(diào)制器、波形數(shù)據(jù)存儲(chǔ)ROM、數(shù)模轉(zhuǎn)換電路組成[6]。
圖1 DDS 基本工作原理
通過以上分析,我們已經(jīng)能夠得到一組滿足頻率和相位要求的數(shù)字信號(hào)點(diǎn),接下來讓這些數(shù)字信號(hào)點(diǎn)讀取ROM 存儲(chǔ)器中的Mif 文件數(shù)據(jù)。Mif 文件中存放想要輸出波形的數(shù)據(jù)信息,例如本文中的三個(gè)Mif 文件分別存放了正弦波數(shù)據(jù)、三角波數(shù)據(jù)、方波數(shù)據(jù)。數(shù)字信號(hào)點(diǎn)讀取這些數(shù)據(jù)便能得到對(duì)應(yīng)波形的數(shù)字信號(hào),再通過數(shù)模轉(zhuǎn)換器后,就能得到相應(yīng)波形的直觀模擬信號(hào)。
本文所設(shè)計(jì)的DDS 信號(hào)發(fā)生器主要由一塊FPGA 芯片EP4CE6E22C8、一塊數(shù)模轉(zhuǎn)換芯片、JTAG 下載接口、供電電路以及濾波電路組成。首先對(duì)整體結(jié)構(gòu)進(jìn)行設(shè)計(jì),即構(gòu)造DDS 頂層模塊。鑒于本文所設(shè)計(jì)的信號(hào)發(fā)生器外形小巧,可嵌入各種信號(hào)處理相關(guān)儀器中使用,因此在完成頂層模塊設(shè)計(jì)之后,本文創(chuàng)新地設(shè)計(jì)了三種常用波形調(diào)制模塊,即ASK 波形調(diào)制模塊、FSK 波形調(diào)制模塊和PSK 波形調(diào)制模塊。由于FPGA 強(qiáng)大的現(xiàn)場(chǎng)可編輯能力,后期可以不斷更深入地修改波形調(diào)制模塊,以便充分發(fā)掘其信號(hào)處理潛力。DDS 功能框架設(shè)計(jì)如圖2 所示。
圖2 DDS 功能框架設(shè)計(jì)
DDS 頂層模塊中,主要使用到的信號(hào)有輸入時(shí)鐘信號(hào)clk,產(chǎn)生50MHz 時(shí)鐘信號(hào),用于對(duì)整系統(tǒng)進(jìn)行時(shí)鐘標(biāo)定,是整個(gè)系統(tǒng)的基石;輸入復(fù)位信號(hào)rst_n,用于系統(tǒng)復(fù)位操作;輸入頻率控制字fre_ctrl[9:0]信號(hào),可以設(shè)置為1~1023 任意數(shù)值,共用于精準(zhǔn)控制產(chǎn)生所需頻率的信號(hào);輸入波形選擇信號(hào)signal_sel[1:0],可以從正弦波、方波、三角波中選擇一種波形輸出;輸出sin_data[11:0]數(shù)據(jù)信號(hào),輸出數(shù)字信號(hào),用于連接12 位D/A 轉(zhuǎn)換芯片。
ASK 即幅移鍵控,二進(jìn)制幅移鍵控也經(jīng)常寫成2ASK。幅移鍵控利用載波的振幅變化來傳輸數(shù)字信息,而頻率和初始相位保持不變。載波信號(hào)通常是正弦信號(hào),而調(diào)制信號(hào)是數(shù)字序列轉(zhuǎn)換成一個(gè)單極的基帶矩形脈沖序列[8]。由于二進(jìn)制幅移鍵控的調(diào)制信號(hào)只有兩個(gè)電平0 或1,它和載波信號(hào)相乘的結(jié)果相當(dāng)于將載波頻率關(guān)閉或打開。ASK 調(diào)制原理的波形說明圖如圖3 所示。
圖3 ASK 調(diào)制說明圖
FSK 即頻移鍵控,二進(jìn)制頻移鍵控也經(jīng)常寫成2FSK。利用載波的頻率來傳輸數(shù)字信息副本,也可以說利用所傳輸?shù)臄?shù)字信息來控制載波的頻率。當(dāng)二進(jìn)制頻移鍵控的調(diào)制信號(hào)符號(hào)為0 時(shí),對(duì)應(yīng)的載波頻率為f1;當(dāng)二進(jìn)制頻移鍵控的調(diào)制信號(hào)符號(hào)為1 時(shí),對(duì)應(yīng)的載波頻率為f2(f2≠f1),且f1 與f2 之間的變化是瞬時(shí)的[9]。FSK 調(diào)制原理的波形說明圖如圖4 所示。
圖4 FSK 調(diào)制說明圖
PSK 即相移鍵控,其中輸入信號(hào)信息由載波相位表示。相移鍵控可以分為絕對(duì)相移和相對(duì)相移,基于未調(diào)制載波相位的相位調(diào)制稱為絕對(duì)移相。以二進(jìn)制相位調(diào)制為例,當(dāng)調(diào)制信號(hào)符號(hào)為1 時(shí),調(diào)制載波與未調(diào)制載波同相;當(dāng)調(diào)制信號(hào)符號(hào)為0 時(shí),調(diào)制載波與未調(diào)制載波相位相反。換句話說,當(dāng)調(diào)制信號(hào)符號(hào)分別為1 和0 時(shí),調(diào)制載波相位差為180°[10]。PSK 調(diào)制原理的波形說明圖如圖5 所示。
圖5 PSK 調(diào)制說明圖
在整個(gè)模塊設(shè)計(jì)完成之后,需要對(duì)設(shè)計(jì)的各個(gè)功能進(jìn)行驗(yàn)證。在本章節(jié)實(shí)驗(yàn)中先對(duì)各個(gè)子功能模塊進(jìn)行仿真驗(yàn)證,最后在邏輯分析儀上對(duì)整個(gè)設(shè)計(jì)進(jìn)行驗(yàn)證。ASK 仿真波形如圖6 所示,由波形觀察可知當(dāng)調(diào)制信號(hào)s_data 為1 時(shí)就輸出原來的正弦波形,當(dāng)調(diào)制信號(hào)s_data 為0 時(shí)就輸出信號(hào)0,即完美實(shí)現(xiàn)了ASK 的調(diào)制。
圖6 ASK 調(diào)制仿真測(cè)試
FSK 仿真波形如圖7 所示,由波形觀察可知當(dāng)調(diào)制信號(hào)s_data 為1 時(shí)就輸出原來的正弦波形,當(dāng)調(diào)制信號(hào)s_data 為0 時(shí)就輸出另一種頻率的正弦波形,與章節(jié)3 中描述一致,即完美實(shí)現(xiàn)了FSK 的調(diào)制。
圖7 FSK 調(diào)制仿真測(cè)試兩種頻率
PSK 仿真波形如圖8 所示,由波形觀察可知當(dāng)調(diào)制信號(hào)s_data 為0 時(shí)就輸出原來的正弦波形,當(dāng)調(diào)制信號(hào)s_data 為1 時(shí)就輸出相位差180°的正弦波形,即完美實(shí)現(xiàn)了PSK 的調(diào)制。
圖8 PSK 調(diào)制仿真測(cè)試(兩種頻率)
最后,使用Quartus Ⅱ軟件上的邏輯分析儀Signaltap Ⅱ工具對(duì)波形進(jìn)行抓取觀測(cè)。SignalTap II 能夠捕捉實(shí)時(shí)信號(hào)并顯示,抓取的信號(hào)顯示基本上可以實(shí)現(xiàn)90%的實(shí)際測(cè)試還原,因此具有非常高的可靠性。圖9 為Signaltap Ⅱ抓取的三種調(diào)制方式波形,其顯示和仿真結(jié)果保持一致。
圖9 SignalTap II 抓取三種調(diào)制方式的波形
本文使用了Cyclone IV 系列EP4CE6E22C8 芯片,通過Verilog HDL語言編程,實(shí)現(xiàn)了DDS信號(hào)發(fā)生器波形輸出,以及三種通信調(diào)制中的ASK、FSK 和PSK 信號(hào)輸出。結(jié)果表明,本文設(shè)計(jì)的信號(hào)發(fā)生器不僅可以產(chǎn)生所需頻率、相位的波形,還可以實(shí)現(xiàn)各種波形調(diào)制,因而能夠進(jìn)一步開發(fā)并嵌入到各種信號(hào)處理儀器中,具有較高的實(shí)用價(jià)值。