姜 波,鄭雄斌,周 怡,周 同,蘇 巖
(南京理工大學 機械學院,南京 210094)
MEMS 陀螺儀具有體積小、重量輕、成本低、易批量生產等優點,在汽車行業、醫療行業、慣性導航、武器制導等領域都有較為廣泛的應用[1,2]。
由于MEMS 陀螺儀體積小,性能容易被環境因素所影響,因此需要更高的控制精度消除溫度、氣壓變化帶來的不良影響[3,4]。同時因為驅動電極和檢測電極的間距很小,大部分都為幾微米級別,因此MEMS 陀螺儀容易受到寄生效應以及驅動電極與敏感電極的耦合作用干擾[5]。由于目前陀螺儀均采用真空封裝的方式以達到更高的Q 值,高Q 值意味著高靈敏度但也使得陀螺的機械帶寬變得很窄,因此對驅動模態的控制精度提出了更高的要求。傳統鎖相環中的壓控振蕩器(Numerically Controlled Oscillator,NCO)采用坐標旋轉數字計算方法(Coordinate Rotation Digital Computer,CORDIC)實現,由于該算法只采用了加法和移位運算,適合在FPGA 中實現,但是為了實現高精度輸出,一次運算需要經過多次迭代,導致運算速度慢且數據吞吐量小,因此CORDIC 算法通常采用多級流水線結構,這意味著消耗大量的硬件資源,運算精度受到有限資源的限制。
針對上述問題,本文設計了一種高精度的數字閉環控制系統[6],提高鎖相環的頻率分辨率,從而減小環境因素和模擬電路噪聲干擾帶來的不良影響,提高陀螺的控制精度。該系統利用基于直接數字式頻率合成器(Direct Digital Frequency Synthesis,DDS)算法的數字鎖相環(Phase-Locked Loops,PLL)實現對陀螺諧振頻率和相位的跟蹤,同時利用數字自動增益控制模塊(Automatic Gain Control,AGC)實現驅動幅值的穩定控制[7,8],通過PI 控制器的調節,自動跟蹤陀螺儀幅值和頻率信息的變化,從而實現閉環驅動環路穩幅控頻的功能。最后通過實驗驗證了理論計算與仿真分析的正確性。
科氏振動陀螺儀的驅動模態可以等效成一個“彈簧-質量塊-阻尼”系統,其動力學方程可以表示為:
其中,x為驅動位移,ωx為陀螺的固有頻率,Qx為驅動模態的品質因子,mx為驅動質量,Fx=Afcos(ωdt)為輸入的靜電驅動力,Af為驅動幅值,ωd為驅動頻率。
求出上述方程的穩態解可以得到,驅動模態的振動位移x(t)和相位φd分別表示為:
其中,靜電力的驅動頻率與陀螺固有頻率的差值Δω=ωd-ωx,對驅動模態諧振頻率為10100 Hz,品質因子在50000~400000 之間的微機械陀螺儀進行分析,可以繪制出不同Q 值下的幅頻特性曲線[9]和頻差Δω-相位φd的關系曲線如圖1、圖2 所示。

圖1 MEMS 陀螺驅動模態幅頻特性曲線Fig.1 MEMS gyro-driven mode amplitude-frequency characteristic curve

圖2 MEMS 陀螺驅動模態相頻特性曲線Fig.2 MEMS gyro-driven mode phase-frequency characteristic curve
從圖1、圖2 中可以看出MEMS 陀螺儀的Q 值越大,靈敏度越高但機械帶寬就會越小。當驅動靜電力的頻率與驅動模態的諧振頻率相等時,陀螺的驅動效率達到最高,此時驅動位移信號與驅動信號的相位差φd為-90 °。當Q 值越大時,曲線隨著頻差的變大偏離-90 °的速度也越快,意味著驅動高 Q 值的MEMS 陀螺儀需要提供更高精度驅動頻率信號,才能保證陀螺始終工作在諧振頻率。同時讓驅動模態的振動幅值保持在恒定值,為精確檢測角速度信息提供條件[10,11]。
為了滿足對高Q 值MEMS 陀螺儀閉環驅動控制的精度要求,采用AGC 幅值控制與DDS-PLL 技術頻率控制的方法設計出MEMS 陀螺儀驅動模態的測控系統。具體設計的系統框架如圖3 所示,采用AGC 和DDS-PLL 雙閉環實現對MEMS 陀螺儀驅動模態的控制。MEMS 陀螺儀驅動模態經位移電壓轉換電路成為反映位移大小的電壓信號,經過ADC 芯片轉換將模擬信號轉換為數字信號,再分別輸入sin(ωt)與cos(ωt)信號經過乘法器進行幅值解調和相位解調,解調輸出的信號通過FIR 數字低通濾波器后,獲得MEMS 諧振器工作時的幅值信息和相位差信息。振動幅值與系統所設定的參考值A 進行比較得到偏差信號,PI 控制器根據偏差信號輸出一個幅值控制量,即為此時系統的幅值增益Ax,形成交流驅動力反饋給驅動電極,實現幅值閉環控制。通過解調和數字濾波得到相位偏差信號,經過PI 控制產生頻率控制信號 Δω,采用FPGA 控制DDS 算法輸出具有更高精度的頻率控制信號 Δω0作為壓控振蕩器(DCO)的輸入信號,再通過壓控振蕩器(DCO)電路產生頻率為諧振頻率的余弦信號cos(ωdt),得到的相位誤差φe通過P 分頻反饋至鑒相器輸出端,形成閉環控制回路。最終輸出的頻率信號與AGC 回路形成的幅值增益Ax作為反饋交流驅動信號,經過DAC 和電壓-靜電力轉換系數Kvf的轉換實現MEMS 陀螺儀的驅動穩幅。

圖3 微陀螺儀閉環驅動控制系統框圖Fig.3 Micro gyroscope closed-loop drive control system block diagram
實現鎖相環中的NCO 的一種傳統方法是采用基于坐標旋轉數字式計算機的算法,即CORDIC 算法[12,13],基本思想是采用逐次逼近的方法實現三角函數計算,該算法突出的優點是僅做加減和移位運算,非常適合FPGA 實現,下面簡要介紹一下CORDIC算法的工作原理。
如圖4 所示,在x-y 坐標系中,將點(x1,y1)旋轉θ角度到點(x2,y2),這種旋轉關系可以用式(3)表示:

圖4 圓坐標系旋轉示意圖Fig.4 Diagram of rotation of circular coordinate system
通過提取并消去cosθ項,得到偽旋轉方程:
選取合適的累加步進值θ,使得tanθi=2-i,就可以得到一般形式的迭代方程:
其中,di是一個判決算子,用于確定下一次的旋轉方向,它的值取決于每次迭代后剩余角度z的正負,當剩余角度為負數時,di=-1,否則di=1。它們之間的關系滿足下列式子:
由于上述采用的偽旋轉方程忽略了cosθ項,因此經過n次迭代后xn、yn被伸縮了Kn倍,當迭代次數確定時,可以計算出伸縮因子Kn的大小:
經過n次迭代后,可以得到:
選取上式的x0=1/Kn,y0=0,便可計算出n次迭代后 cosz0和sinz0的數值。由于迭代次數n不能無限增大,因此無法完全消除輸出誤差,為了保證系統的運行速度,可選取迭代次數n=16 或者選擇流水線結構,由于流水線系統結構復雜,會消耗大量的硬件資源,當輸入位寬大而輸出位寬小的時候,出現流水迭代過早停止的情況,由于目前采用的DA 轉換芯片的位數大部分為8-16 位,無法實現高迭代次數達到高頻率分辨率的效果,因此不予考慮。而使用傳統的CORDIC 算法結構時,當迭代次數n=16 時依然有0.0017 °的角度殘差,通過統計理論值與計算值的誤差分布,可以得到CORDIC 算法輸出的頻率分辨率為4.4 mHz。
PLL 屬于頻率控制系統,通過檢測輸入輸出信號的相位差控制輸出信號的頻率,保持輸入信號與輸出信號具有相同的頻率與相位信息。PLL 的主要模塊包括鑒相器、環路濾波器和壓控振蕩器三部分。
其中鑒相器可以分為多個種類,例如乘法器、JK 觸發器等,在此數字系統設計中選用了乘法器,當環路穩定時可以將它近似看作線性系統。其中輸入信號為ui=Afsin(ωdt+φ),壓控振蕩器的輸出 為uo=cos(ωdt+φe),可以得到鑒相器的輸出為:
式中的前一項為二倍頻信號,可以通過下一環節的低通濾波器進行濾除,第二項為有相位差信息的直流分量。當相位誤差較小時,sin(φ-φe)≈φ-φe,當φ=φe時可消除相位誤差,因此設置相位參考值φ0=0。
在數字鎖相環的數控振蕩器中采用DDS 算法進行頻率合成實現諧振頻率和相位的跟蹤,這種DDSPLL 混合的結構可以利用DDS 算法IP 核提供高分辨率的頻率信號保證足夠小的頻率步長,同時PLL 的帶通特性還可以很好地抑制DDS 輸出頻譜中的部分雜散,實現DDS 和PLL 的優勢互補。
DDS 的工作原理如圖5 所示,包括頻率控制字轉換單元、頻率字寄存器、相位累加器、正弦查詢表ROM、數字低通濾波器和系統時鐘六個部分,其中M為頻率控制字,N為相位累加器的字長,m為ROM 地址線位數。PI 控制器輸出的頻率控制信號Δω通過FPGA 控制單元轉換為對應的頻率控制字M,其中轉換系數為Kf。在100 MHz 的系統時鐘fc驅動下,相位累加器對頻率控制字M進行線性累加,同時對2N取模運算,得到的和作為相位值,以二進制代碼的形式去查詢正弦函數表ROM,將相位信息轉變成相應的數字量化正弦幅度值,再使用數字低通濾波器對波形進行平滑處理得到所需的頻率波形,最后將經過DDS 算法處理后的頻率值作為壓控振蕩器的輸入控制信號。其中相位累加器平均每2N/M個時鐘周期溢出一次,因此頻率控制字M和時鐘頻率fc反應了DDS 輸出信號的頻率值,讀取此時系統中M的值就能得到輸出的頻率值Δf0,它們之間的關系滿足:

圖5 DDS 算法工作原理圖Fig.5 Working principle of DDS algorithm
DDS 算法的最小頻率分辨率與相位累加器的字長相關,理論上累加器的位數足夠多,可以達到無限高的頻率分辨率,但是具體實現時會受到D/A 轉換速度的限制,并且更高的累加位數需要巨大的ROM表容量,在實際工作中難以實現。大多數DDS 系統中,N的范圍通常為24-32,這里選取32 位的字長,可以得到系統輸出的頻率分辨率為2.3 mHz。
本系統采用了DDS 與PLL 技術相結合的頻率合成方法,具體原理如圖6 所示。驅動模態位移信號為:

圖6 DDS-PLL 頻率合成技術原理框圖Fig.6 Schematic diagram of DDS-PLL frequency synthesis technology
其中,Ax(t)是振動幅值,ω0是DCO 的初始頻率,Δω是PI 控制器輸出的頻率調制量,φx是驅動模態的相移。
驅動位移信號與 cos(ω0+Δω)t信號相乘進行相位解調和數字低通濾波后得到的相位差信號φ為0.5Ax(t)cos(φx),通過設置PI 控制器的參考值為0來調節 Δω的大小,再利用FPGA 控制DDS 算法合成更高精度頻率控制信號 Δω0,作為DCO 電路的輸入信號,經過壓控振蕩器得到的相位誤差信號φe反饋至鑒相器輸出端,若輸入信號的相位或頻率發生變化,通過壓控振蕩器模塊的反饋控制,環路的輸出信號也即壓控振蕩器頻率和相位,就會跟蹤輸入信號的變化。
為了驗證陀螺驅動閉環控制系統的可靠性,建立驅動環路噪聲等效模型并對系統進行穩定性分析。在驅動閉環系統中,AGC 回路使得諧振器處于恒幅振動狀態[14],驅動檢測信號中的噪聲主要來源于陀螺的機械熱噪聲、前放電路噪聲、電饋通噪聲[15]以及ADC 與DAC 噪聲。對于機械熱噪聲,通常等效為噪聲力來表示,具體表達式為:
其中,kB為波爾茲曼常數,T為開爾文溫度,可以算出機械熱噪聲SNB≈2.21×10-28N2/Hz。前放電路的主導噪聲源主要來自運放芯片的電壓噪聲和電阻熱噪聲,根據電路噪聲的計算公式可以得到跨阻輸出端的前放噪聲為:
其中極板間隙d0=1.5 μm,單個平行極板電容C0=0.4377 pF,直流偏置電壓Vdc=15 V,得到前放噪聲為6.24×10-22V2/Hz。由ADC 和DAC 轉換產生的量化噪聲通常視為服從均勻分布的零均值白噪聲,其功率譜密度為:
其中,Δ 為1 LSB 代表的電壓值,與ADC 和DAC的位數有關,采樣頻率fs=3000 Hz,通過查找ADC和DAC 芯片的數據手冊可以獲得兩者的電壓噪聲譜換增益系數,由上式可以繪制出PLL 環節對增益Kc密度分別為SNadc=1.6 × 10-13V2/Hz、SNdac=1.4 × 10-16V2/Hz 。
通過Simulink 搭建驅動環路噪聲模型,在相應的節點添加噪聲模塊,如圖7 所示。仿真中所有噪聲源互不相關,各噪聲的量級通過上述分析得到,以白噪聲的形式輸入到系統中。

圖7 穩幅回路系統噪聲等效模型Fig.7 Noise equivalent model of amplitude stabilized loop system
驅動穩幅系統包括陀螺驅動模態等效傳遞函數模塊,ADC 和DAC 模塊,調制解調模塊,低通濾波模塊和PI 控制模塊。其中低通濾波器和PI 控制器的傳遞函數分別為:
KLPF和ωLPF分別是低通濾波器的增益系數和截止頻率;KP和KI分別為PI 控制器的比例和積分系數。
在鎖相環路中,由于經過低通濾波器濾除高頻分量,鑒相器的輸出為Af/2,NCO 的輸出作為鑒相器的輸入,由于鑒相器敏感的是瞬時相位,而不是頻率,因為相位是頻率的積分,可以得到NCO 輸出信號的相位為:
其中KNCO是壓控靈敏度,Δω0是頻率控制信號。
對上式進行拉普拉斯變換便可得到壓控振蕩器的線性化方程:
根據PLL 各模塊的線性化方程,可以搭建出PLL 環路的線性化模型,驅動位移信號的相位φ作為系統的輸入,從而得到PLL 環路的開環傳遞函數:
其中,Kc=AfKLPFKNCO,KLPF表示低通濾波器的轉的根軌跡曲線,如圖8 所示。

圖8 PLL 開環系統根軌跡圖Fig.8 Root locus diagram of open loop system
從根軌跡圖中看出三條曲線均位于虛軸的左側,兩條由極點指向無窮遠,一條由極點指向零點,當環路增益較小時,可以忽略遠離虛軸的極點影響,系統特性由虛軸附近的共軛極點決定;當環路增益較大時,靠近虛軸的極點會與零點產生零極點相消,系統特性由遠離虛軸的共軛極點決定。圖9 是PLL 環路開環頻率特性曲線,從圖中可看出系統的相位裕度為75 °,幅值裕度為107 dB,因此,改變環路增益的大小不會破壞PLL 系統的穩定性。

圖9 PLL 環路開環伯德圖Fig.9 PLL loop open loop Bode diagram
根據DDS 算法的工作原理搭建了Simulink 仿真模型,如圖10 所示。圖11 是基于CORDIC 算法與DDS 算法兩種不同NCO 的數字PLL 模塊聯合仿真。表1 中是仿真分析時設置的一些參數。

表1 驅動閉環控制系統仿真參數Tab.1 Drive closed loop control system simulation parameters

圖10 DDS 算法頻率合成電路Simulink 仿真Fig.10 DDS algorithm frequency synthesis circuit Simulink simulation

圖11 CORDIC 和DDS 數字鎖相環的Simulink 仿真圖Fig.11 Simulink simulation of CORDIC and DDS digital phase-locked loop
在AGC 驅動穩幅環路中使用乘法解調算法和低通濾波器獲取陀螺振動信號的幅值信息,參考值設置為0.5 V,調整PI 參數得到最終的仿真結果,如圖12 的仿真結果表明,由于存在機械熱噪聲與電路噪聲,驅動檢測電壓會產生大約0.5 mV 的偏差。圖13 所示分別是采用CORDIC 算法和DDS-PLL 環路仿真模型獲得的NCO 控制器輸出的頻率信號,為了更直觀地看出兩種方式頻率捕捉時間的差異,把NCO 的參考頻率信號設置為10100 Hz,偏離陀螺的諧振頻率,并對比NCO 環路捕捉動作結束后輸出的頻率穩定性差異,由圖中可知,采用DDS-PLL 技術的NCO 電路具有更短的頻率捕捉時間,意味著系統具有更快的頻率轉換速度,并且采用DDS-PLL 技術控制的頻率輸出具有更高的穩定性,頻率漂移從0.77 Hz 減小到0.4 Hz。

圖12 陀螺儀驅動位移電壓Fig.12 Gyroscope drive displacement voltage

圖13 NCO 控制器輸出頻率變化曲線Fig.13 Output frequency curve of NCO controller
根據驅動閉環控制方案的系統整體框架,構建基于FPGA 數字平臺的閉環驅動測試回路,并進行常溫下幅值穩定性和頻率穩定性的實驗。根據表2 中理論、仿真與實測的結果對比可知,基于DDS-PLL 技術的閉環驅動系統具有更佳的閉環控制效果,并且仿真結果與實測數據比較吻合。圖14 是數據采集的現場圖,圖14(a)是實現驅動閉環控制系統的集成電路板,包括MEMS 陀螺、AGC 環路、DDS-PLL 環路和FPGA 控制部分;圖14(b)是數據采集用到的儀器設備,包括直流電壓源、數字萬用表、示波器和上位機。

表2 仿真與實測的頻率分辨率對比Tab.2 Comparison of simulation and measured frequency resolution

圖14 數據采集現場圖Fig.14 Data acquisition site diagram
圖15(a)分別是應用CORDIC 算法和DDS 算法時驅動幅值在45 min 內的變化曲線,對改進后的數據分析得到幅值變化的均方差值為0.0011 mV,相對變化量為183 ppm,相比CORDIC 算法控制提高了60.8%的精度。圖15(b)是應用CORDIC 算法和DDS算法時驅動頻率在30 min 內的變化曲線,對改進后的數據分析得到頻率變化的均方差值為0.07 Hz,相對變化量為3.48 ppm,相比CORDIC 算法控制提高了64.3%的精度。根據函數發生器測得結果表明頻率分辨率可達0.1 Hz。

圖15 驅動幅值和驅動頻率變化曲線Fig.15 Driving amplitude and driving frequency change curve
本文針對高Q 值MEMS 諧振器機械帶寬小,控制難度高的特點,設計了一種基于DDS-PLL 技術的閉環驅動控制系統,實現了更高的控制精度,通過理論分析和系統仿真分析了閉環控制系統的精度與穩定性,并搭建了閉環驅動的等效模型和數字控制系統。實驗結果驗證了理論與仿真的正確性,對進一步提高高Q 值陀螺儀的穩定性和模態控制精度具有積極的促進作用,本文主要完成了以下方面的性能提高:
1)采用DDS 算法后的陀螺驅動幅度的穩定性優于183 ppm,優化了60.8%的精度;
2)采用DDS 算法后的陀螺驅動頻率的穩定性優于3.48 ppm,提高了64.3%的控制精度;
3)采用DDS 算法后的鎖相環的頻率控制精度可達到0.42 Hz。