叔晟竹, 吳校生, 王振瑜
(上海交通大學(xué) 電子信息與電氣工程學(xué)院 微納米加工技術(shù)國(guó)家級(jí)重點(diǎn)實(shí)驗(yàn)室,上海 200240)
在微傳感器、微諧振器等微機(jī)電系統(tǒng)(micro-electro-mechanical system,MEMS)器件中,處理電路需要同時(shí)獲取被測(cè)信號(hào)的幅值和相位信息[1]。目前主要通過(guò)先進(jìn)的矢量網(wǎng)絡(luò)分析儀[2]獲得這些信號(hào)信息。矢量網(wǎng)絡(luò)分析儀成本高、體積龐大,應(yīng)用局限性大,在一些微小器件的信號(hào)檢測(cè)中,不利于系統(tǒng)集成。開(kāi)發(fā)一種面向微小MEMS器件應(yīng)用、便于系統(tǒng)集成的矢量信號(hào)分析廉價(jià)系統(tǒng)具有廣泛需求。
本文研究并開(kāi)發(fā)了一種基于現(xiàn)場(chǎng)可編輯門陣列(field programmable gate array,FPGA)的矢量信號(hào)分析集成系統(tǒng)。該系統(tǒng)采用高性能模/數(shù)轉(zhuǎn)換器(analog-to-digital converter,ADC)模塊將待測(cè)模擬信號(hào)數(shù)字化并采集到FPGA芯片,在FPGA中實(shí)現(xiàn)矢量信號(hào)分析等數(shù)據(jù)處理。這種方法結(jié)合FPGA快速信號(hào)處理的優(yōu)勢(shì),同時(shí),其結(jié)構(gòu)簡(jiǎn)單、成本低且易于調(diào)試,非常適合用于開(kāi)發(fā)這種快速信號(hào)處理集成系統(tǒng)。
本文采用的矢量信號(hào)分析系統(tǒng)通過(guò)硬件模塊完成被測(cè)模擬信號(hào)的數(shù)字化,在FPGA芯片中實(shí)現(xiàn)數(shù)字矢量信號(hào)分析,具體內(nèi)容如圖1所示,系統(tǒng)總體分為應(yīng)用器件和矢量分析兩部分。
圖1 系統(tǒng)總體框圖設(shè)計(jì)
應(yīng)用器件部分主要包括壓電諧振器及其驅(qū)動(dòng)端和輸出端。微諧振器的驅(qū)動(dòng)信號(hào)需要幅值穩(wěn)定和共振頻率跟蹤,通過(guò)采用自動(dòng)增益控制(automatic gain control,AGC)實(shí)現(xiàn)振幅穩(wěn)定,采用鎖相環(huán)(phase-locked loop,PLL)實(shí)現(xiàn)跟蹤頻率諧振點(diǎn)。AGC以被測(cè)信號(hào)的幅值作為放大器增益的調(diào)節(jié)依據(jù),來(lái)實(shí)現(xiàn)穩(wěn)幅。PLL以被測(cè)信號(hào)的相位信息作為依據(jù),來(lái)調(diào)節(jié)直接數(shù)字式頻率合成器(direct digital synthesizer,DDS)信號(hào)發(fā)生器輸出信號(hào)的頻率。
矢量分析部分包括信號(hào)采集與信號(hào)處理。首先,DDS產(chǎn)生同頻率的參考正交信號(hào)M1,M2,使用A/D轉(zhuǎn)換模塊分別采集被測(cè)信號(hào)和參考信號(hào),實(shí)現(xiàn)信號(hào)數(shù)字化并輸出到FPGA芯片,運(yùn)用FPGA強(qiáng)大的數(shù)據(jù)并行處理能力進(jìn)行數(shù)字信號(hào)處理,運(yùn)用Verilog語(yǔ)言編程實(shí)現(xiàn)數(shù)字矢量信號(hào)分析技術(shù),矢量分析采用數(shù)字鎖定技術(shù)來(lái)實(shí)現(xiàn),從而獲得待測(cè)信號(hào)幅值與相位的瞬變特性。經(jīng)過(guò)進(jìn)一步數(shù)據(jù)處理,F(xiàn)PGA輸出幅值和相位控制信號(hào)給應(yīng)用器件部分,用以控制MEMS微傳感器的工作狀態(tài)。
本系統(tǒng)采用DDS芯片產(chǎn)生信號(hào),相比于使用FPGA內(nèi)部DDS軟核(IP)產(chǎn)生信號(hào)的方式,可以更好實(shí)現(xiàn)驅(qū)動(dòng)信號(hào)與參考信號(hào)的完全同步,同時(shí)也減少了系統(tǒng)資源占用。
矢量信號(hào)分析有多種實(shí)現(xiàn)方法,目前,主流采用數(shù)字鎖定技術(shù)[3]。數(shù)字鎖定技術(shù)的基本結(jié)構(gòu)包括信號(hào)信道、參考信道、乘法器和低通濾波器(low pass filter,LPF)等。乘法器是用參考信號(hào)r(t)與待測(cè)信號(hào)x(t)進(jìn)行乘法運(yùn)算,從而實(shí)現(xiàn)頻譜遷移,再經(jīng)過(guò)低通濾波器濾除倍頻分量和噪聲,其輸出對(duì)輸入信號(hào)的幅度和相位都敏感,達(dá)到了同時(shí)解調(diào)幅值與相位信息的目的。
DDS信號(hào)產(chǎn)生模塊可以同時(shí)輸出同相分量和正交分量。正交矢量型鎖定放大器的兩個(gè)參考信號(hào)是同頻同幅,但相位相差90°,在同相通道中參考輸入信號(hào)的相移為θ(0°~360°),正交通道中參考輸入信號(hào)的相移為θ+90°。正交鎖定算法流程如圖2所示。
圖2 正交鎖定算法流程
設(shè)待測(cè)信號(hào)為x(t)=Vsin(ωt+θ)+n(t)。
參考信號(hào)為rs(t)=sinωt,rc(t)=cosωt。
同時(shí),利用求得的開(kāi)方求得的值去除I,Q可得到相位差對(duì)應(yīng)的sin和cos值,使用反正切算法就可以求出相位差θ=arctan(Q/I)。
以上公式算法均可在FPGA這個(gè)通用的硬件平臺(tái)上實(shí)現(xiàn),其中需要的乘除法,開(kāi)平方與反正切均可以使用軟核IP進(jìn)行運(yùn)算,大大提高了開(kāi)發(fā)效率。
FPGA可以達(dá)到數(shù)百個(gè)I/O接口,可以很容易使用不同I/O接口連接外設(shè)滿足本系統(tǒng)需要連接很多外設(shè)的需求。FPGA同時(shí)包含單片機(jī)和DSP軟核,并且I/O數(shù)僅受FPGA自身I/O限制,所以單片機(jī)和DSP能實(shí)現(xiàn)的功能,F(xiàn)PGA一般都能實(shí)現(xiàn)。
本系統(tǒng)采用賽靈思(Xilinx)公司Spartan—6系列的XC6SLX25型號(hào)芯片[4]。Spartan—6系列實(shí)現(xiàn)了性價(jià)比與功耗上的平衡,設(shè)計(jì)開(kāi)發(fā)人員能夠?qū)⒕械絼?chuàng)新工作上。
FPGA與A/D采樣模塊接口設(shè)計(jì)采用與ADC模塊接口匹配的ASP—134603—01板對(duì)板連接器。通過(guò)該連接器給ADC子板供電及通信。主要包括AD7960器件工作模式設(shè)置引腳EN[3︰0]、轉(zhuǎn)換控制引腳CNV±,LVDS數(shù)據(jù)輸出引腳D±,LVDS緩沖數(shù)據(jù)輸出引腳DCO±,LVDS時(shí)鐘輸入引腳 CLK±,子板電源輸入引腳VIN等。
針對(duì)需要檢測(cè)的MEMS微傳感器,用于采集信號(hào)的ADC需要有夠高的采樣精度和足夠大的采樣頻率,在本系統(tǒng)中,ADC采用Analog Devices公司的 AD7960芯片。AD7960是一款18位、最高吞吐速率5MSPS、電荷再分配逐次逼近型(SAR)模數(shù)轉(zhuǎn)換器[5]。SAR架構(gòu)提供無(wú)與倫比的噪聲性能(信噪比(signal to noise ratio,SNR):99 dB)和線性度(積分非線性(INL):±0.8LSB(典型值),差分非線性(differential non-linear,DNL):±0.5LSB(典型值))。本系統(tǒng)設(shè)計(jì)了用于信號(hào)采集的A/D轉(zhuǎn)換PCB,可同時(shí)進(jìn)行待測(cè)信號(hào)與兩路參考正交信號(hào)的A/D轉(zhuǎn)換與FPGA采集。
根據(jù)檢測(cè)系統(tǒng)需要,信號(hào)產(chǎn)生模塊需要產(chǎn)生三路同頻率且其中兩路始終保持相位差90°的信號(hào)。為了檢測(cè)系統(tǒng)對(duì)幅值與相位的解調(diào)能力,信號(hào)產(chǎn)生模塊也需要提供幅度、相移可控的信號(hào)。
本系統(tǒng)的信號(hào)產(chǎn)生模塊采用AD9959芯片,AD9959含有4個(gè)DDS,提供各通道獨(dú)立的頻率、相位和振幅控制。因?yàn)樗型ǖ拦灿靡粋€(gè)系統(tǒng)時(shí)鐘,因此固有的同步,也支持多個(gè)設(shè)備的同步。AD9959采用先進(jìn)的數(shù)/模轉(zhuǎn)換器(digital to analog converter,DAC)技術(shù),提供低高性能低功耗。該器件集成了四個(gè)高速10位DAC具有優(yōu)良的寬帶和窄帶SFDR。每個(gè)通道有一個(gè)專門的32位頻率調(diào)諧字,14位相位偏移,和一個(gè)10位幅度調(diào)節(jié)輸出。AD9959可以滿足本系統(tǒng)功能實(shí)驗(yàn)的全部需求,通過(guò)STM32F103單片機(jī)發(fā)送控制信號(hào)給AD9959模塊可以輸出幅度、頻率及相移可調(diào)模擬正弦波。
本系統(tǒng)的軟件部分通過(guò)Verilog-HDL語(yǔ)言在FPGA平臺(tái)上實(shí)現(xiàn),主要任務(wù)包括ADC轉(zhuǎn)換數(shù)字信號(hào)的采集、正交矢量分析鎖定算法的實(shí)現(xiàn):
ADC數(shù)字信號(hào)采集主要包含:接口的配置、對(duì)FPGA的管腳約束、FPGA與ADC之間通信差分信號(hào)轉(zhuǎn)換的實(shí)現(xiàn)以及ADC信號(hào)采集,本系統(tǒng)的ADC采用回波時(shí)鐘模式,即采用FPGA發(fā)出的時(shí)鐘(clock,CLK)信號(hào)工作,可以很好地實(shí)現(xiàn)FPGA主機(jī)與ADC之間的同步,F(xiàn)PGA采用100 MHz的時(shí)鐘信號(hào),ADC采用4 MHz采樣率,待測(cè)信號(hào)的中心頻率設(shè)置為200 kHz,因此一個(gè)信號(hào)周期可以有20個(gè)采樣點(diǎn),能夠非常完好的還原信號(hào)。
仿真分為功能仿真和時(shí)序仿真兩種。1)對(duì)程序進(jìn)行的仿真,驗(yàn)證電路的功能在理想情況下是否符合設(shè)計(jì)初衷的要求;2)考慮電路延遲與布線延遲,看電路能否滿足時(shí)序要求[6]。采用Modelsim 對(duì)FPGA設(shè)計(jì)電路進(jìn)行仿真。測(cè)試向量(Testbench)是用來(lái)測(cè)試源代碼所施加的激勵(lì)信號(hào)。源代碼編好后,以一系列激勵(lì)信號(hào)作為源代碼的輸入,查看輸出信號(hào)正確與否,進(jìn)而驗(yàn)證源代碼的正確性。
本文使用ISE與Modelsim聯(lián)合仿真功能,將ISE中芯片庫(kù)參數(shù),IP核轉(zhuǎn)化成Modelsim識(shí)別的庫(kù)文件,進(jìn)行算法的功能驗(yàn)證。圖3為Modelsim 仿真。待測(cè)信號(hào)I與正交參考信號(hào)均采用ISE提供的DDS IP核產(chǎn)生,并參考ADC采樣率對(duì)產(chǎn)生的正弦波進(jìn)行采樣。通過(guò)M×S,并對(duì)其低通濾波可實(shí)現(xiàn)待測(cè)信號(hào)同相直流分量與正交直流分量的提取。最終經(jīng)過(guò)一系列算法模塊后解調(diào)出幅值與相位信息。
圖3 Modelsim功能仿真
根據(jù)系統(tǒng)總體框架設(shè)計(jì),用于實(shí)際測(cè)試的系統(tǒng)的硬件實(shí)物結(jié)構(gòu)如圖4所示,F(xiàn)PGA平臺(tái)通過(guò)JTAG與電腦進(jìn)行信息傳輸,包括FPGA配置文件的燒寫與矢量信號(hào)分析結(jié)果的傳輸。系統(tǒng)左半部分為應(yīng)用器件,包括壓電諧振器、DDS模塊,AGC,PLL,功率放大等電路;右半部分為矢量信號(hào)分析電路,主要為A/D轉(zhuǎn)換模塊、DDS模塊、FPGA平臺(tái)。
圖4 硬件系統(tǒng)實(shí)物
通過(guò)改變輸入待測(cè)信號(hào)幅值來(lái)測(cè)量本檢測(cè)系統(tǒng)對(duì)幅值檢測(cè)的能力。本實(shí)驗(yàn)輸入信號(hào)均由AD9599產(chǎn)生,產(chǎn)生信號(hào)頻率為200 kHz,輸出的幅值由STM32單片機(jī)進(jìn)行控制,幅值控制字(0~1023)來(lái)控制AD9599輸出0~523 mV的幅值。本實(shí)驗(yàn)進(jìn)行了幅值掃描,步長(zhǎng)設(shè)置為100控制字,對(duì)應(yīng)50 mV,分別運(yùn)用TDS2024B示波器和FPGA檢測(cè)系統(tǒng)對(duì)幅值進(jìn)行檢測(cè)。
FPGA實(shí)驗(yàn)實(shí)測(cè)數(shù)據(jù)與示波器實(shí)測(cè)數(shù)據(jù)擬合如圖5(a)所示,可見(jiàn)兩個(gè)系列數(shù)據(jù)相關(guān)度達(dá)到0.998 1,F(xiàn)PGA測(cè)得數(shù)據(jù)的零點(diǎn)漂移在0.585 1 mV。FPGA實(shí)驗(yàn)測(cè)試數(shù)據(jù)誤差如圖5(b)所示,可以看出誤差控制在較小的范圍內(nèi)。
圖5 矢量信號(hào)測(cè)試系統(tǒng)幅值標(biāo)定實(shí)驗(yàn)
通過(guò)改變輸入待測(cè)信號(hào)幅值來(lái)測(cè)量本檢測(cè)系統(tǒng)對(duì)相位解調(diào)的能力。本實(shí)驗(yàn)輸入信號(hào)均由AD8599產(chǎn)生,輸出的相移由STM32單片機(jī)進(jìn)行控制,相位控制字(0~16385)來(lái)控制AD8599輸出0°~360°的相移。分別運(yùn)用示波器和FPGA檢測(cè)系統(tǒng)對(duì)幅值進(jìn)行檢測(cè)。示波器采用TDS2024B型號(hào),采樣率200 MHz,時(shí)間測(cè)量精度可達(dá)到2 ns,導(dǎo)出的測(cè)量結(jié)果可以很好地作為實(shí)驗(yàn)參考數(shù)據(jù)。
FPGA實(shí)測(cè)的數(shù)據(jù)通過(guò)在線邏輯分析儀(ChipScope)在線測(cè)量,ChipScope可以顯示實(shí)時(shí)的相位解調(diào)出的數(shù)據(jù)。根據(jù) CORDIC IP核的定義,反正切后輸出的為全象限、有符號(hào)的二進(jìn)制弧度值,輸出16位數(shù)據(jù),其中最高位為符號(hào)位,2位整數(shù)位,13位小數(shù)位。經(jīng)過(guò)數(shù)值轉(zhuǎn)換可以求得FPGA測(cè)試的相位差值。
FPGA實(shí)驗(yàn)實(shí)測(cè)數(shù)據(jù)與示波器實(shí)測(cè)數(shù)據(jù)擬合曲線如圖6(a)所示,可見(jiàn)兩個(gè)系列數(shù)據(jù)相關(guān)度達(dá)到0.999 1,F(xiàn)PGA測(cè)得數(shù)據(jù)的零點(diǎn)漂移在-0.060 9°。FPGA實(shí)驗(yàn)實(shí)測(cè)數(shù)據(jù)與示波器實(shí)測(cè)數(shù)據(jù)誤差百分比如圖6(b)所示,從數(shù)據(jù)可以看出FPGA實(shí)驗(yàn)測(cè)試的數(shù)據(jù)誤差很好地控制在±1 %以內(nèi)。
圖6 矢量信號(hào)測(cè)試系統(tǒng)相位標(biāo)定實(shí)驗(yàn)
本文設(shè)計(jì)的數(shù)字矢量信號(hào)分析系統(tǒng)電路簡(jiǎn)單、抗干擾能力強(qiáng)、精度高、處理速度快,可以很方便地測(cè)出被測(cè)信號(hào)的幅值與相位特性。經(jīng)過(guò)實(shí)驗(yàn)測(cè)試,本文設(shè)計(jì)的基于FPGA的矢量信號(hào)分析系統(tǒng)解調(diào)出的幅值和相位信息與實(shí)際情況理論值誤差很小,具有良好線性度,滿足MEMS器件應(yīng)用需求。