汪邵華, 朱建曉, 包建東, 程 偉
(1.南京理工大學(xué) 機(jī)械工程學(xué)院,江蘇 南京 210094; 2.蘇州康尼格電子科技股份有限公司,江蘇 常熟 215562)
隨著數(shù)字化和信息化的快速發(fā)展以及其在印刷行業(yè)的應(yīng)用,數(shù)字印刷已經(jīng)慢慢替代傳統(tǒng)印刷成為未來(lái)印刷行業(yè)的風(fēng)向標(biāo)[1]。壓電式噴墨打印技術(shù)是數(shù)字技術(shù)的主流技術(shù)之一,具有噴射頻率高、控制精確等優(yōu)點(diǎn)[2]。
壓電陶瓷驅(qū)動(dòng)電源是壓電式噴墨打印設(shè)備的關(guān)鍵部分,驅(qū)動(dòng)電源輸出激勵(lì)脈沖電壓的大小決定著壓電陶瓷片的形變量,激勵(lì)脈沖的頻率會(huì)影響陶瓷片的形變速度,從而決定噴墨打印產(chǎn)品的質(zhì)量[3-4]。通常選用梯形波作為壓電式噴墨頭的激勵(lì)脈沖波形[5]。激勵(lì)脈沖的幅值越大,噴出的墨滴質(zhì)量越大;并且在一定范圍內(nèi),脈沖寬度越大,墨滴質(zhì)量越大;發(fā)送激勵(lì)脈沖的頻率越大,墨滴噴射速度越快。通過(guò)調(diào)制激勵(lì)脈沖幅值、脈寬和發(fā)送頻率,可以控制噴射出的墨滴的大小和速度。所以調(diào)制分辨率小且精確可控的激勵(lì)脈沖信號(hào)的幅值、脈寬和頻率,可保證印刷品的質(zhì)量[6-7]。
DDS(Direct Digital Synthesizer,直接數(shù)字頻率合成技術(shù))是把一系列數(shù)字信號(hào)通過(guò)DAC轉(zhuǎn)換為模擬信號(hào)的合成技術(shù),可實(shí)現(xiàn)快速精準(zhǔn)的頻率、相位和幅值全數(shù)字化調(diào)制[8]。目前,部分相關(guān)研究人員采用DDS芯片方案來(lái)實(shí)現(xiàn)DDS信號(hào)源的設(shè)計(jì),該方案是通過(guò)芯片生產(chǎn)商將電路集成到一塊DDS芯片上,將不同的波形控制字和頻率控制字發(fā)送給DDS芯片,然后產(chǎn)生相應(yīng)波形的信號(hào)。由于DDS芯片的ROM里一般都存儲(chǔ)正弦波,需要通過(guò)一些外圍電路產(chǎn)生其他波形,產(chǎn)生波形的速度和頻率帶寬受到很大的限制,因此其使用不夠靈活[9-10]。
本文采用基于FPGA的DDS原理實(shí)現(xiàn)信號(hào)源設(shè)計(jì)的方案,在FPGA芯片上實(shí)現(xiàn)梯形波激勵(lì)脈沖信號(hào)的產(chǎn)生和控制。通過(guò)使用FPGA程序?qū)崿F(xiàn)DDS信號(hào)發(fā)生器的方法,可以實(shí)現(xiàn)產(chǎn)生頻率和波形可調(diào)的梯形波激勵(lì)脈沖信號(hào),且輸出頻率帶寬較寬,完全滿足壓電式噴墨打印噴頭工作要求。該方案電路簡(jiǎn)單、性能穩(wěn)定、控制簡(jiǎn)單、使用方便,可為壓電式噴墨打印噴頭提供一個(gè)精確、穩(wěn)定的激勵(lì)脈沖信號(hào)。
無(wú)論是想輸出正弦波、方波、三角波、鋸齒波還是梯形波,只需在ROM查找表中儲(chǔ)存對(duì)應(yīng)數(shù)據(jù),就可輸出相對(duì)應(yīng)的波形[11]。本節(jié)以正弦波為例對(duì)DDS原理進(jìn)行介紹。輸出其他波形信號(hào)的DDS原理與正弦波相似。
正弦波信號(hào)的表達(dá)式為
F=Asinθ=Asin(2πft)
(1)
式中,A為正弦波信號(hào)的幅值;f為正弦波信號(hào)的頻率;θ為正弦波信號(hào)的相位。因?yàn)槭?1)中的時(shí)間t是連續(xù)的,F(xiàn)PGA系統(tǒng)使用的是系統(tǒng)時(shí)鐘,對(duì)式(1)用基準(zhǔn)時(shí)鐘clk進(jìn)行抽樣。
因此,在一個(gè)基準(zhǔn)時(shí)鐘clk周期Tclk內(nèi)(其對(duì)應(yīng)頻率為fclk),其相位θ的增量Δθ為
Δθ=2πfTclk=2πf/fclk
(2)
對(duì)Δθ進(jìn)行數(shù)字量化,N位二進(jìn)制數(shù)一共具有2N個(gè)樣值,在式(2)中把2π分成2N等份,則輸出信號(hào)的頻率為
f=Δθ×fclk/2N
(3)
在一定的時(shí)鐘頻率fclk下,相位增量Δθ決定了合成信號(hào)的頻率,所以Δθ被稱為頻率控制字,習(xí)慣用K表示。因此合成信號(hào)的頻率為
f=K×fclk/2N
(4)
根據(jù)式(4)可知,改變頻率控制字K即可改變DDS的輸出信號(hào)頻率。
DDS的主要由系統(tǒng)時(shí)鐘、相位累加器、相位調(diào)制器、波形存儲(chǔ)器(ROM)、 數(shù)模轉(zhuǎn)換器(DAC)和低通濾波器(LPF)組成[12],如圖1所示。
圖1 DDS的結(jié)構(gòu)組成圖
① 系統(tǒng)時(shí)鐘:在FPGA平臺(tái)上采用的是頻率50 MHz晶振作為系統(tǒng)基準(zhǔn)時(shí)鐘,不需要使用鎖相環(huán)(PLL)。
② 相位累加器:由加法器、同步寄存器和累加寄存器組成。首先,輸入的頻率控制字K使累加寄存器在每一個(gè)時(shí)鐘增加K;累加寄存器將加法器在上一個(gè)時(shí)鐘產(chǎn)生的新相位數(shù)據(jù)反饋到加法器繼續(xù)進(jìn)行累加。當(dāng)相位累加器加滿時(shí)就會(huì)產(chǎn)生一次溢出。該溢出頻率就是DDS輸出信號(hào)的頻率[13]。
③ 相位調(diào)制器:累加寄存器的輸出與相位控制字進(jìn)行線性相位相加和相位調(diào)制,作為波形ROM表的輸入地址。
④ 波形存儲(chǔ)器(ROM):將一個(gè)完整周期的信號(hào)離散成具有2N個(gè)數(shù)字波形序列進(jìn)行存儲(chǔ)。由相位累加器生成N位相位量化序列的波形選擇地址,由該地址選擇出D位幅值量化序列;即對(duì)產(chǎn)生的波形進(jìn)行相位-幅值轉(zhuǎn)換[14]。
⑤ 數(shù)模轉(zhuǎn)換器(DAC):從波形存儲(chǔ)器中生成的激勵(lì)信號(hào)的幅值量化序列,經(jīng)過(guò)數(shù)模轉(zhuǎn)換器(DAC)之后輸出相對(duì)應(yīng)的模擬電壓值。
⑥ 低通濾波器:由于DDS自身的結(jié)構(gòu)特點(diǎn),其輸出頻譜中存在的雜散噪聲。在DAC輸出端加低通濾波器可濾除輸出信號(hào)具有大量的諧波分量和系統(tǒng)時(shí)鐘的高頻噪聲干擾[15]。
在Quartus Ⅱ軟件環(huán)境下對(duì)FPGA進(jìn)行編程與仿真,編程語(yǔ)言為Verilog HDL,通過(guò) Verilog HDL語(yǔ)言生成功能模塊。軟件部分包括:波形ROM表、相位累加器模塊、相位調(diào)制器模塊;外部電路部分包括:DAC(數(shù)模轉(zhuǎn)換)電路和低通濾波電路。下面分別對(duì)該系統(tǒng)主要模塊設(shè)計(jì)進(jìn)行介紹。
壓電式噴墨打印頭驅(qū)動(dòng)電壓激勵(lì)脈沖信號(hào)的一個(gè)完整周期[16]如圖2所示,其值為T(mén)=T1+2T2+T3。其中,T3為激勵(lì)信號(hào)的有效信號(hào)梯形波的一個(gè)完整周期;T2為緩沖時(shí)間,防止輸出激勵(lì)信號(hào)頻率過(guò)大時(shí)有效信號(hào)梯形波被下一個(gè)時(shí)鐘周期的梯形波損壞;T1為間隔時(shí)間,通過(guò)調(diào)整該時(shí)間間隔,可以實(shí)現(xiàn)改變輸出激勵(lì)信號(hào)的頻率。
圖2 激勵(lì)脈沖信號(hào)的完整周期
T3期間內(nèi)的梯形波包括的參數(shù)有:激勵(lì)脈沖幅值、上升時(shí)間、下降時(shí)間、激勵(lì)脈沖寬度(上升時(shí)間的起點(diǎn)到下降時(shí)間的起點(diǎn))。
由噴墨頭工作要求可知[17],上升時(shí)間、下降時(shí)間這兩個(gè)參數(shù)對(duì)噴墨頭性能的影響比較小,上升時(shí)間關(guān)系只要滿足斜率小于35~40 V/μs,就可以滿足壓電陶瓷完全充電。功率放大后的激勵(lì)脈沖電壓幅值最大為180 V,在這一極限條件下設(shè)置上升時(shí)間、下降時(shí)間為6 μs。則在正常工作時(shí)激勵(lì)脈沖電壓的條件下,該時(shí)間間隔滿足壓電陶瓷完全充電。根據(jù)噴墨頭工作要求,整個(gè)T3不超過(guò)30 μs,則設(shè)置脈寬最大值為24 μs。根據(jù)以上分析可設(shè)置上升時(shí)間和脈寬的比值為1:4的梯形波波形作為激勵(lì)脈沖的波形。若要設(shè)置完整周期T的波形數(shù)據(jù),還需要設(shè)置T1和T2時(shí)間的低電平??蓪1、T2合并為T(mén)L,即TL=T1+T2,表示在整個(gè)激勵(lì)脈沖信號(hào)中低電平的時(shí)間,TL需滿足大于2 μs;令TB為有效信號(hào)梯形波的波形所占的時(shí)間,TZ為整個(gè)激勵(lì)脈沖信號(hào)的周期,即TZ=TL+TB,則輸出完整激勵(lì)脈沖信號(hào)的頻率為1/TZ。
儲(chǔ)存在ROM里面的波形數(shù)據(jù)的MIF文件可通過(guò)mif_maker程序得到,如圖3所示,一個(gè)周期的離散梯形波數(shù)據(jù)為210=1024個(gè)。
圖3 MIF文件中的波形
梯形波的ROM表在Quartus Ⅱ軟件環(huán)境下生成,創(chuàng)建梯形波產(chǎn)生模塊Txing_rom,把生成的MIF文件加載到內(nèi)ROM中,實(shí)現(xiàn)波形的存儲(chǔ)??紤]到輸出波形質(zhì)量,設(shè)置地址線的二進(jìn)制位數(shù)為10位,則一個(gè)周期的離散梯形波數(shù)據(jù)為210=1024個(gè);將數(shù)據(jù)線位寬設(shè)置為8位??蓪⒉ㄐ蜶OM表的地址線rom_addr[9:0]作為ROM的輸入,輸出梯形波數(shù)據(jù)q[7:0]作為ROM的輸出。
由式(4)可得:當(dāng)頻率控制字K=1,N=20時(shí),DDS輸出最低頻率,即頻率分辨率為:fclk/2N=5×107/220=47.68 Hz。本文所設(shè)計(jì)信號(hào)源輸出信號(hào)頻率為0~30 kHz時(shí),則47.68 Hz可作為頻率分辨率??稍O(shè)置N=20作為相位累加器的數(shù)據(jù)位寬度,設(shè)置累加寄存器Fcnt[19:0]。
由上文可知,在輸出激勵(lì)信號(hào)的完整周期中,TL和TB各為激勵(lì)信號(hào)的周期TZ的1/2。要使輸出的激勵(lì)信號(hào)頻率和輸出的梯形波波形是可變的,那么TB周期和TL周期就要對(duì)應(yīng)不同的頻率控制字K。用K_1表示TB內(nèi)的頻率控制字,K_2表示TL內(nèi)的頻率控制字。設(shè)置TB內(nèi)的頻率控制字Fword_1[19:0]、TL內(nèi)的頻率控制字Fword_2[19:0]和頻率控制字寄存器r_Fword[19:0],將頻率控制字寄存器r_Fword[19:0]與累加寄存器Fcnt[19:0]相加,和為Fcnt[19:0]。設(shè)置一個(gè)二選一多路選擇器,每當(dāng)波形ROM表的地址rom_addr[9:0]的值<511時(shí),r_Fword[19:0]=Fword_1[19:0];否則,r_Fword[19:0]=Fword_2[19:0]。由DDS原理可知,TL和TB的相位角都為π,則根據(jù)式(4)以及T=1/f可得:
TB=220/2×50MHz×K_1
(5)
TL=220/2×50MHz×K_2
(6)
輸出激勵(lì)脈沖信號(hào)頻率f的計(jì)算公式為
f=1/TB+TL
(7)
改變K_1的值即可改變TB的值,進(jìn)而改變梯形波的時(shí)間。整個(gè)TB不超過(guò)30 μs,那么頻率控制字K_1≥220/(2×50 MHz×30 μs)=350。正常工作時(shí)TB一般為12~30 μs,則得出正常工作時(shí)頻率控制字K_1范圍為350~824;改變K_2的值即可改變TL的值,進(jìn)而改變整個(gè)輸出激勵(lì)脈沖信號(hào)的頻率。正常工作時(shí),輸出激勵(lì)脈沖的頻率不大于20 kHz,則TL≥20 μs,可得出正常工作時(shí)頻率控制字K_2范圍為1~524。
相位調(diào)制器中需要一個(gè)同步寄存器,用于寄存輸入的相位控制字并將該寄存器的值作為初相位。該設(shè)計(jì)中波形ROM表的地址線是10位,可設(shè)置相位控制字Pword[9:0]和相位控制字寄存器r_Pword[9:0],因此高10位累加寄存器數(shù)字Fcnt[19:10]作為累加寄存器的輸出,再與相位控制字寄存器r_Pword[9:0]相加,最后的和為波形ROM表的地址rom_addr[9:0]。本文設(shè)計(jì)的Pword[9:0]可以在0~1023之間,但一般情況下默認(rèn)Pword[9:0]為0。
由ROM輸出的梯形波數(shù)據(jù)DA_data幅值為二進(jìn)制數(shù)11111111,該數(shù)值是存儲(chǔ)在ROM表的初始值。要實(shí)現(xiàn)輸出信號(hào)幅值可調(diào),將輸出梯形波數(shù)據(jù)DA_data乘于一個(gè)變化的系數(shù),就可以得到變化可調(diào)的電壓幅值輸出。可設(shè)幅值控制字Change[3:0],設(shè)置乘法寄存器數(shù)字DA_data0[11:0]作為ROM輸出q和Change相乘結(jié)果的輸出,再使DA_data [7:0]= DA_data0[11:4],取乘法寄存器輸出的前8位,相當(dāng)于輸出除于16,則DA_data [7:0]輸出值就為q×change/16。
DDS模塊為各個(gè)子模塊的集合,原理圖如圖4所示。設(shè)計(jì)了ROM模塊,用于波形數(shù)據(jù)的存儲(chǔ)和輸出,地址線rom_addr[9:0]作為ROM的輸入,梯形波數(shù)據(jù)q[7:0]作為ROM的輸出;設(shè)計(jì)了幅值調(diào)制模塊,將ROM輸出q與幅值控制字Change相乘后的值寄存于乘法寄存器中,再取該乘法寄存器輸出的前8位,從而得到DA_data [7:0],作為DDS模塊的輸出;設(shè)計(jì)了3個(gè)寄存器:累加寄存器Fcnt[19:0]、頻率控制字寄存器r_Fword[19:0]和相位控制字寄存器r_Pword[9:0];設(shè)計(jì)了相位調(diào)制器模塊,用于調(diào)制初始相位,設(shè)置了一個(gè)加法器,F(xiàn)cnt[19:10]與r_Pword[9:0]相加,其和作為波形ROM表的輸入地址rom_addr[9:0];設(shè)計(jì)了相位累加器模塊,為DDS模塊的核心模塊,相位累加器的溢出頻率就是DDS系統(tǒng)輸出信號(hào)的頻率,設(shè)置了一個(gè)加法器,將頻率控制字寄存器r_Fword[19:0]與該加法器的和累加寄存器Fcnt[19:0]相加,完成Fcnt[19:0]的累加;設(shè)置了一個(gè)二選一多路選擇器:rom_addr[9:0]的值<511時(shí),r_Fword[19:0]=Fword_1[19:0],否則r_Fword[19:0]=Fword_2[19:0]。將上述所有模塊封裝為一個(gè)DDS模塊。
圖4 DDS模塊原理圖
在DDS模塊中,需要輸入激勵(lì)Fword_1[19:0]和Fword_2[19:0]來(lái)驅(qū)動(dòng)該模塊,可以使用In-System Sources and Probes Editor進(jìn)行調(diào)試。它有一個(gè)對(duì)應(yīng)的IP核邏輯模塊,需要被例化到FPGA內(nèi)部??赏ㄟ^(guò)Sources端口來(lái)驅(qū)動(dòng)FPGA內(nèi)部信號(hào),即工程輸入;通過(guò)Probes功能來(lái)探測(cè)內(nèi)部節(jié)點(diǎn)的邏輯值,即讀出工程輸出。調(diào)試者連接JTAG就可為FPGA 添加激勵(lì)并觀察響應(yīng)。
創(chuàng)建In-System Sources and Probes Editor IP核,名為CtrlWordSource。在配置頁(yè)面中,設(shè)置Probe為 0 bit,Source為20 bits。例化CtrlWordSource_K1、Ctrl-WordSource_K2和CtrlWordSource_C,分別將source連接到Fword_1、Fword_2和change。通過(guò)修改source值,驅(qū)動(dòng)值通過(guò)JTAG寫(xiě)到FPGA中,即可完成DDS模塊中頻率控制字的輸入和幅值的調(diào)制。該DDS頂層模塊原理圖如圖5所示。CtrlWordSource_K1、CtrlWordSource_K2和CtrlWordSource_C 3個(gè)IP核分別連接DDS模塊的Fword_1、Fword_2和change的輸入,本設(shè)計(jì)Pword默認(rèn)連接0,再將這3個(gè)IP核和DDS模塊封裝為一個(gè)DDS頂層模塊。clk和reset_n為DDS頂層模塊的輸入, DA_data [7:0]為DDS頂層模塊的輸出,是激勵(lì)脈沖信號(hào)的數(shù)字信號(hào)。
圖5 DDS頂層模塊原理圖
本文設(shè)計(jì)的外接電路包括DAC電路和低通濾波電路。FPGA中ROM的輸出與DAC芯片的輸入相連,DAC芯片還需連接到運(yùn)算放大器上進(jìn)行電流到電壓的轉(zhuǎn)換,最后才能輸出所需波形的模擬信號(hào)。由于每次在ROM中輸出數(shù)據(jù)的時(shí)間間隔為20 ns,ROM地址增加的時(shí)間間隔為40~100 ns,需要選擇電流建立時(shí)間足夠短的DAC芯片以及轉(zhuǎn)換速率(SR)和帶寬要足夠大的高速運(yùn)算放大器才能滿足工作要求。所以DAC芯片選用了8位高速電流輸出的DAC0800LCM芯片,該芯片采用SOP小外形封裝,具有快速輸出電流建立時(shí)間(100 ns)。高速運(yùn)算放大器選用AD8056電壓反饋運(yùn)算放大器,AD8056芯片的轉(zhuǎn)換速率(SR)為1400 V/μs,在40 MHz時(shí)只有0.1 dB衰減,-3 dB增益帶寬最高可達(dá)300 MHz,電流建立時(shí)間只需20 ns,完全滿足高速的工作要求。
本文設(shè)計(jì)的DDS時(shí)鐘頻率高達(dá)50 MHz,輸出最大頻率為30 kHz,因此采用無(wú)源的RC低通濾波器。根據(jù)信號(hào)完整性理論可知,信號(hào)的帶寬BW和上升時(shí)間RT的關(guān)系為:BW=0.35/RT。由上文可知,上升時(shí)間RT為梯形波周期TB的1/5,正常工作時(shí)TB一般為12~30 μs,所以信號(hào)的上升時(shí)間RT最小值為2.4 μs。計(jì)算可得信號(hào)帶寬BW為145.8 kHz,則設(shè)置的低通濾波器的截止頻率應(yīng)大于145.8 kHz。因此,在對(duì)信號(hào)完整性和梯形波諧波分量,以及DDS系統(tǒng)存在的雜散和干擾進(jìn)行綜合分析后可知,設(shè)計(jì)一個(gè)電阻為51 Ω、電容為10 nF、截止頻率為312.2 kHz(大約為最大輸出信號(hào)頻率的10倍)的RC低通濾波器可滿足需求。該RC低通濾波器可以使輸出的低于30 kHz的梯形波信號(hào)以很低的衰減通過(guò),可有效濾除DDS系統(tǒng)中存在的雜散和干擾,且信號(hào)完整性較好,輸出的激勵(lì)脈沖信號(hào)的梯形波不會(huì)出現(xiàn)較大的失真。
外接電路原理圖如圖6所示。DDS頂層模塊輸出的DA_data [7:0]接入DAC0800LCM芯片的8位數(shù)據(jù)輸入;DAC引腳2的VREF+接入2.5 V參考電壓,并且和引腳3都接入電阻值為510 Ω的RREF,引腳1、引腳7分別接入電源電壓±5 V,并接入100 nF去耦電容;引腳8的IOUT作為DAC的電流輸出,連接一個(gè)510 Ω電阻后接到高速運(yùn)算放大器AD8056的反向輸入端,則IOUT=DA_data×VREF+/256×RREF。高速運(yùn)算放大器AD8056的反饋電阻RF與DAC參考電阻RREF相等,阻值為510 Ω,則運(yùn)算放大器放大倍數(shù)為-1;引腳8、引腳4分別接入?yún)⒖茧妷骸? V,并接入100 nF去耦電容。經(jīng)過(guò)AD8056后電壓信號(hào)流入低通濾波電路,連接51 Ω的電阻到負(fù)載,再連接10 nF的電容到GND,該低通濾波器的截止頻率fc=312.2 kHz,圖中負(fù)載為1 kΩ的電阻。
圖6 DDS系統(tǒng)外接電路原理圖
使用Quartus II中集成的Modelsim-Altela軟件對(duì)Testbench文件的激勵(lì)輸入在上板運(yùn)行前進(jìn)行仿真。
在Testbench文件中,初始化K_1為500,K_2為200,C為15,代入式(5)、式(6)和式(7)進(jìn)行計(jì)算,可得:TB=20.97 μs,TL=52.43 μs,f=13.62 kHz,波形仿真結(jié)果如圖7所示。輸出激勵(lì)脈沖信號(hào)的頻率為13.66 kHz,幅值為239,與理論結(jié)果相符。
圖7 DDS模塊輸出信號(hào)波形仿真結(jié)果
對(duì)DDS模塊所實(shí)現(xiàn)的調(diào)節(jié)輸出梯形波波形和輸出激勵(lì)脈沖信號(hào)頻率功能進(jìn)行驗(yàn)證:改變頻率控制字K_1可改變TB的值,即可改變梯形波的波長(zhǎng);改變頻率控制字K_2可改變TL的值,即可改變輸出激勵(lì)脈沖信號(hào)的頻率;改變幅值控制字C可改變輸出激勵(lì)脈沖信號(hào)的幅值。在Testbench文件中,初始化K_1為400,K_2為100,C為8,代入式(5)、式(6)和式(7)進(jìn)行計(jì)算,可得:TB=26.21 μs,TL=104.86 μs,f=7.63 kHz,波形仿真結(jié)果如圖8所示。
圖8 DDS模塊輸出信號(hào)波形仿真結(jié)果
由圖8可知,輸出激勵(lì)脈沖信號(hào)的頻率為7.63 kHz,幅值為127,與理論結(jié)果相符。驗(yàn)證了改變頻率控制字K_1可改變梯形波的波形,改變頻率控制字K_2可改變輸出激勵(lì)脈沖信號(hào)的頻率,以及改變幅值控制字C可改變輸出激勵(lì)脈沖信號(hào)的幅值,由此驗(yàn)證了DDS模塊設(shè)計(jì)功能的實(shí)現(xiàn)。
在上板運(yùn)行時(shí),輸入的信號(hào)是無(wú)法提前獲取進(jìn)行仿真的實(shí)時(shí)信號(hào),Modelsim-Altela仿真不能實(shí)現(xiàn)。所以,在上板運(yùn)行時(shí)需要一個(gè)實(shí)時(shí)的信號(hào)分析工具SignalTap II,它可以獲取FPGA內(nèi)部的實(shí)時(shí)信號(hào)進(jìn)行調(diào)試分析。SignalTap II將采樣的經(jīng)過(guò)修改的綜合門(mén)電路信號(hào)存儲(chǔ)到內(nèi)部RAM中,通過(guò)JTAG傳到PC機(jī)上,可以對(duì)FPGA的輸入、輸出管腳及任意內(nèi)部信號(hào)進(jìn)行邏輯分析。
使用In-System Sources and Probes Editor工具修改source值:K_1[19:0]=400,K_2[19:0]=300,C[19:0]=8。圖9為DDS信號(hào)源輸出的梯形波激勵(lì)脈沖信號(hào)的SignalTap II實(shí)時(shí)數(shù)據(jù)采樣波形圖。
圖9 SignalTap II實(shí)時(shí)數(shù)據(jù)采樣輸出波形圖
由圖9可知,輸出的梯形波激勵(lì)脈沖信號(hào)與所設(shè)計(jì)信號(hào)的波形和頻率一致,驗(yàn)證了本文所設(shè)計(jì)DDS系統(tǒng)可實(shí)現(xiàn)在板機(jī)上運(yùn)行且設(shè)計(jì)功能可以完全實(shí)現(xiàn)。
使用軟件Multisim 14對(duì)數(shù)模轉(zhuǎn)換(DAC)電路和低通濾波電路進(jìn)行仿真,該外接電路如圖10所示。
圖10 在Multisim14上外接電路仿真圖
XFG1模擬由DAC輸出的2.5 V的30 kHz激勵(lì)脈沖信號(hào);XFG4為0.1 V的1 MHz的方波信號(hào),模擬了DDS系統(tǒng)存在的雜散和干擾高頻信號(hào);通道A為通過(guò)DAC電路后輸出的信號(hào);通道B為通過(guò)RC低通濾波電路過(guò)濾后的信號(hào)。設(shè)定電容值為10 nF、電阻值為51 Ω,觀察在Multisim 14仿真的通道A和通道B上輸出的信號(hào)波形,結(jié)果如圖11所示。
圖11 輸出仿真波形圖
由圖11所知:波形保持較好,輸出信號(hào)毛刺干擾大部分被濾除,且輸出的信號(hào)也不會(huì)出現(xiàn)較大變形。該激勵(lì)脈沖的波形可較好地實(shí)現(xiàn)驅(qū)動(dòng)壓電噴墨頭。
本文基于FPGA的DDS原理,為壓電式噴墨打印噴頭設(shè)計(jì)了一個(gè)梯形波激勵(lì)脈沖信號(hào)源。在Quartus II軟件上完成了梯形波脈沖信號(hào)源的邏輯設(shè)計(jì)、綜合和仿真,并使用Multisim 14軟件對(duì)硬件電路進(jìn)行仿真。仿真結(jié)果證明:輸出的梯形波脈沖信號(hào)的幅值、脈寬以及輸出頻率可調(diào),并且實(shí)現(xiàn)了過(guò)濾高頻雜散和干擾的功能。該系統(tǒng)使用Verilog HDL硬件編程語(yǔ)言的FPGA程序具有良好的可讀性和可移植性,而且該系統(tǒng)硬件電路設(shè)計(jì)使用簡(jiǎn)單,控制方便。可輸出電壓幅值為0~2.5 V、梯形波脈寬為10~25 μs和輸出信號(hào)頻率為0~30 kHz的梯形波脈沖信號(hào),可較好地匹配壓電式噴墨打印噴頭。該激勵(lì)脈沖信號(hào)經(jīng)過(guò)進(jìn)一步調(diào)制放大后可作為壓電式噴墨頭的驅(qū)動(dòng)電源,從而驅(qū)動(dòng)壓電式噴墨頭使其正常工作。調(diào)整該設(shè)計(jì)中的參數(shù)也可以輸出頻率范圍更大的信號(hào),并可適用于其他領(lǐng)域。