胡 遠(yuǎn),黃海濱,陳東傲,徐大誠(chéng)
(蘇州大學(xué) 電子信息學(xué)院,江蘇 蘇州 215100)
硅微陀螺由結(jié)構(gòu)和測(cè)控電路兩部分組成,測(cè)控電路集成化也是近年來(lái)的發(fā)展趨勢(shì)。目前國(guó)內(nèi)外研究機(jī)構(gòu)的測(cè)控電路大多為模擬接口電路完成信號(hào)讀出,F(xiàn)PGA實(shí)現(xiàn)陀螺儀信號(hào)處理和控制,采用分立器件實(shí)現(xiàn)的方案。國(guó)外Bosch公司[1]、STM公司[2]、佐治亞理工學(xué)院[3]等,國(guó)內(nèi)北京大學(xué)[4]、東南大學(xué)[5]、上海微系統(tǒng)所[6]等都對(duì)陀螺儀測(cè)控ASIC展開研究。除了信號(hào)讀出部分,信號(hào)處理和控制部分也多采用模擬ASIC完成,缺乏數(shù)字化輸出[7]或最終采用高精度ADC實(shí)現(xiàn)[8],存在體積大功耗高的問(wèn)題。相比模擬電路,數(shù)字電路抗干擾能力更強(qiáng),更善于信號(hào)處理和數(shù)字化輸出,所以有必要進(jìn)行陀螺儀數(shù)字ASIC研究[9-11]。在陀螺儀數(shù)字測(cè)控電路的研究過(guò)程中通常采用先Simulink模型仿真,然后用IP或工具生成代碼集成整個(gè)系統(tǒng)驗(yàn)證性能的方案,不利于數(shù)字測(cè)控ASIC實(shí)現(xiàn)。在分析硅微陀螺結(jié)構(gòu)和工作原理的基礎(chǔ)上,通過(guò)硬件描述語(yǔ)言實(shí)現(xiàn)測(cè)控功能是一種有效實(shí)現(xiàn)陀螺儀數(shù)字ASIC途徑。
針對(duì)以上問(wèn)題,本文采用Verilog硬件描述語(yǔ)言設(shè)計(jì)陀螺儀數(shù)字測(cè)控系統(tǒng),驅(qū)動(dòng)模塊采用自動(dòng)增益控制(AGC)和鎖相環(huán)(PLL),敏感模塊采用科氏力平衡閉環(huán)和正交校正閉環(huán),考慮溫度對(duì)陀螺性能的影響,利用驅(qū)動(dòng)軸諧振頻率和溫度的關(guān)系[12],對(duì)標(biāo)度因數(shù)和零偏進(jìn)行補(bǔ)償。
硅微機(jī)械陀螺儀可以等效為二階質(zhì)量-彈簧-阻尼系。由于敏感模態(tài)采用力平衡閉環(huán)檢測(cè)的方式,忽略敏感軸對(duì)驅(qū)動(dòng)軸的耦合干擾,在理想情況下,不存在剛度和阻尼不對(duì)稱,理想動(dòng)力學(xué)方程可以表示為:
(1)
mx和my分別為驅(qū)動(dòng)模態(tài)和檢測(cè)模態(tài)的有效質(zhì)量,dx和dy為阻尼系數(shù),kx和ky為剛度系數(shù),x和y分別為兩個(gè)模態(tài)的振動(dòng)位移,F(xiàn)x和Fy分別為兩個(gè)模態(tài)的激勵(lì)信號(hào)。設(shè)定驅(qū)動(dòng)模態(tài)激勵(lì)信號(hào)為:
Fx=Adcos(ωdt)
(2)
Ad為激勵(lì)信號(hào)幅度,ωd為激勵(lì)信號(hào)頻率,代入式(1)求得驅(qū)動(dòng)模態(tài)位移的穩(wěn)態(tài)解為:
x(t)=Axcos(ωdt+φx)
(3)
Ax為振動(dòng)位移幅度,φx為驅(qū)動(dòng)模態(tài)相移,敏感模態(tài)傳遞函數(shù)同驅(qū)動(dòng)模態(tài)一致。則位移穩(wěn)態(tài)解為:
y(t)=Aycos(ωdt+φy)
(4)
(5)
(6)
Ay為振動(dòng)位移幅度,φy為敏感模態(tài)相移,ωx為驅(qū)動(dòng)軸頻率,ωy為敏感軸頻率,Qx為驅(qū)動(dòng)模態(tài)諧振頻率,Qy為敏感模態(tài)頻率,從式(5)可以看出,力平衡模式下通過(guò)檢測(cè)敏感振動(dòng)幅度大小可以計(jì)算出輸入角速率。
在實(shí)際加工中,由于工藝問(wèn)題會(huì)造成陀螺剛度和阻尼的分布不均勻,與電極軸有偏角,在硅微陀螺二階動(dòng)力學(xué)方程中會(huì)有剛度和阻尼的耦合誤差項(xiàng)。在科氏輸出中會(huì)有正交誤差項(xiàng)和同相誤差項(xiàng),對(duì)硅微陀螺儀的高精度測(cè)量產(chǎn)生性能影響,對(duì)于采用真空封裝的陀螺,同相阻尼可忽略不計(jì),正交誤差影響較大。
當(dāng)外界輸入角速度時(shí),敏感模態(tài)產(chǎn)生振動(dòng)位移,經(jīng)過(guò)模擬接口電路拾取信號(hào)后得到檢測(cè)輸出Vs,通過(guò)ADC轉(zhuǎn)換后進(jìn)入FPGA中。由科氏力數(shù)學(xué)公式可知,敏感模態(tài)的檢測(cè)輸出Vs,在忽略剛度和阻尼誤差時(shí),可以表達(dá)為:
(7)
其中:kc/v為敏感模態(tài)模擬接口電路的總增益。由于陀螺敏感模態(tài)的檢測(cè)輸出必須經(jīng)過(guò)解調(diào),其解調(diào)參考信號(hào)是來(lái)自驅(qū)動(dòng)部分PLL的輸出信號(hào)??芍盘?hào)Vs的噪聲源主要有3個(gè)部分:敏感模態(tài)接口電路的噪聲、驅(qū)動(dòng)模態(tài)振動(dòng)速度的幅度噪聲和PLL輸出信號(hào)的噪聲。綜上,一個(gè)低噪聲的模擬接口電路,低噪聲的PLL、高穩(wěn)定性的AGC是實(shí)現(xiàn)陀螺高精度輸出信號(hào)的前提。
根據(jù)陀螺批次不同,其有不同的諧振頻率,模擬接口電路輸出的有用信號(hào)頻率在5~20 kHz之間,由奈奎斯特采樣定理可知,采樣頻率至少為40 kHz。考慮所使用ADC最高采樣頻率,本文ADC采樣頻率為625 kHz,后續(xù)數(shù)字算法以此頻率為時(shí)鐘。對(duì)于18位的ADC其量化誤差SNRQ分貝形式可表示為:
SNRQ≈6.02*b+1.76=110.12 dB
(8)
量化噪聲可視作加性噪聲,可以通過(guò)增加位寬和動(dòng)態(tài)范圍內(nèi)輸入信號(hào)的幅值來(lái)提高ADC信噪比。本文ADC輸入?yún)⒖茧妷篤ref為2.5 V,滿量程5 V,模擬接口C/V信號(hào)拾取電路的噪聲經(jīng)測(cè)試為230 nV/√Hz,則輸入信噪比SNRin:
(9)
可以看出,選擇18位的ADC足夠保證其量化噪聲小于模擬接口電路信號(hào)噪聲。
力平衡模式測(cè)控系統(tǒng)如圖1所示,包括兩個(gè)部分:接口驅(qū)動(dòng)部分和數(shù)字算法部分,接口驅(qū)動(dòng)部分包括DAC(數(shù)模轉(zhuǎn)換器)、ADC(模數(shù)轉(zhuǎn)換器)、串口等硬件的驅(qū)動(dòng);其中數(shù)字算法采用AGC和PLL驅(qū)動(dòng)陀螺穩(wěn)幅穩(wěn)頻的振動(dòng),科氏力閉環(huán)抑制敏感模態(tài)的科氏振動(dòng),正交校正閉環(huán)從結(jié)構(gòu)剛度耦合層面上抑制正交誤差,其基礎(chǔ)構(gòu)成算法為乘法解調(diào)算法、PI(比例積分)控制、NCO(數(shù)控振蕩器),其中數(shù)字算法部分如圖2所示。
圖2 力平衡模式數(shù)字測(cè)控算法
在Vivado2018環(huán)境下設(shè)計(jì)了測(cè)控系統(tǒng),用自帶仿真軟件Simulator進(jìn)行功能仿真。
FPGA設(shè)計(jì)流程為:綜合將用硬件描述語(yǔ)言的輸入轉(zhuǎn)換為 FPGA 能夠識(shí)別的描述,得到門級(jí)網(wǎng)表,與FPGA內(nèi)的邏輯塊和硬件資源相對(duì)應(yīng)。綜合之后得到門級(jí)網(wǎng)表,通過(guò)在 FPGA 內(nèi)自動(dòng)布局、布線工具將內(nèi)部邏輯塊連接起來(lái),通過(guò)指定的 IO 口進(jìn)行輸入輸出。約束包括位置約束和時(shí)序約束。位置約束是指分配頂層設(shè)計(jì)的輸入輸出引腳和電平與FPGA芯片相對(duì)應(yīng)。時(shí)序約束是讓時(shí)序收斂,保持建立時(shí)間和保持時(shí)間不違例,影響著布局布線。仿真主要包括功能仿真、綜合后仿真和時(shí)序仿真。功能仿真是為了驗(yàn)證寄存器傳輸級(jí)(RTL)級(jí)描述下是否能夠準(zhǔn)確實(shí)現(xiàn)設(shè)計(jì)的功能,又稱為行為仿真。綜合后仿真是驗(yàn)證綜合后結(jié)果是否與原設(shè)計(jì)一致,又稱為門級(jí)仿真。時(shí)序仿真是加入布局布線后模塊和連線之間延時(shí)的仿真,更接近實(shí)際情況。靜態(tài)時(shí)序分析是為了查看各個(gè)路徑延時(shí),延時(shí)最大的路徑?jīng)Q定了整個(gè)系統(tǒng)最高頻率,對(duì)于不滿足時(shí)序要求的設(shè)計(jì)要進(jìn)行修改。在以上步驟分析和驗(yàn)證后,生成bit流,下載至FPGA芯片中,也可固化到配置Flash芯片中。
在FPGA平臺(tái)上,浮點(diǎn)運(yùn)算很不方便,所以信號(hào)和系數(shù)均以有符號(hào)定點(diǎn)數(shù)形式參與運(yùn)算,定點(diǎn)數(shù)即小數(shù)點(diǎn)位置固定,在設(shè)計(jì)初約定好。如補(bǔ)碼形式24Q21定點(diǎn)數(shù)表示總位寬24 bit,小數(shù)位21 bit,整數(shù)位2 bit,最高位表示符號(hào)位,格式精度為1/221,約為0.000 000 48,能表示數(shù)的范圍為[-4,3.999 999 52]。以24Q21格式表示的數(shù),需乘上221,結(jié)果保留整數(shù)位即可。對(duì)于有符號(hào)數(shù)的基本運(yùn)算,reg和wire類型要用signed修飾。
PLL第一個(gè)部分是鑒相器采用的是乘法鑒相器,PI控制器構(gòu)成環(huán)路濾波器,用數(shù)控振蕩器替代壓控振蕩器。AGC環(huán)路的鑒幅器部分采用的是乘法鑒幅器,提取驅(qū)動(dòng)模態(tài)振動(dòng)幅值的原理與乘法鑒相器類似,通過(guò)低通濾波器濾除二倍頻分量后得到幅度信息,增益為1/2。
首先在AGC和PLL中都需要乘法器和低通濾波器,乘法器的輸入為驅(qū)動(dòng)模態(tài)檢測(cè)信號(hào)(24Q21),PLL輸出的sin和cos信號(hào)(24Q21)。相乘結(jié)果經(jīng)過(guò)截?cái)嗵幚砗笏腿氲屯V波器中。乘法作為基本運(yùn)算的核心,Vivado綜合器會(huì)將乘法運(yùn)算符綜合優(yōu)化為移位相加結(jié)構(gòu),在一個(gè)時(shí)鐘周期內(nèi)輸出計(jì)算結(jié)果。本文數(shù)字算法為625 kHz,頻率較低,無(wú)需流水線結(jié)構(gòu),性能也能滿足需求。低通濾波器由FIR(有限脈沖相應(yīng))和IIR(無(wú)限脈沖相應(yīng))兩種形式,其中FIR濾波器有著線性相位、容易設(shè)計(jì)的優(yōu)點(diǎn),但相同的性能指標(biāo),F(xiàn)IR的階次過(guò)高,所需資源和計(jì)算時(shí)間都更長(zhǎng),因此選擇IIR濾波器進(jìn)行設(shè)計(jì)。數(shù)字濾波器有巴特沃斯型、切比雪夫型、橢圓型等形式。在Matlab中采用不同方式設(shè)計(jì)濾波器,設(shè)計(jì)指標(biāo):通帶截止頻率500 Hz,通帶最大衰減3 dB,阻帶截止頻率2 kHz,阻帶最小衰減40 dB,采樣頻率625 kHz。根據(jù)巴特沃斯濾波器階數(shù)公式得最小為4階,在相同階數(shù)下各方法設(shè)計(jì)得到巴特沃斯幅頻特性在通頻帶是最平坦的。由于IIR濾波器有反饋結(jié)構(gòu),字長(zhǎng)效應(yīng)影響較大,而級(jí)聯(lián)型易于控制有限字長(zhǎng)帶來(lái)的影響。乘法解調(diào)模塊中低通濾波器采用4階巴特沃斯IIR低通濾波器,由2個(gè)2階IIR濾波器級(jí)聯(lián)而成,如圖3所示。
圖3 級(jí)聯(lián)型四階IIR濾波器框圖
仿真結(jié)果如圖4所示,仿真為輸入為0.001sin(ωdt)和sin(ωdt)相乘結(jié)果,ω為2π*5 000,理想濾波輸出0.000 5,實(shí)際輸出0.000 499 7附近,相對(duì)誤差0.06%,精度滿足要求。
圖4 乘法解調(diào)仿真結(jié)果
AGC和PLL環(huán)路中低通濾波器的輸出會(huì)送給PI控制器。帶被控對(duì)象的位置式PI控制器如圖5所示。PI控制器對(duì)誤差信號(hào)e(n)進(jìn)行比例放大和微分累加處理,負(fù)反饋閉環(huán)下誤差信號(hào)e(n)會(huì)逐漸減小,使被控對(duì)象的輸入信號(hào)yin和輸出信號(hào)yout逐漸接近。
圖5 帶被控對(duì)象的PI控制器
比例控制能提高信號(hào)增益,有利于控制系統(tǒng)的快速穩(wěn)定,減小穩(wěn)態(tài)誤差。積分控制對(duì)累計(jì)誤差信號(hào),推動(dòng)PI控制器的輸出不斷增大,進(jìn)一步減小穩(wěn)態(tài)誤差直至完全消除。微分控制能對(duì)誤差信號(hào)的變化趨勢(shì)進(jìn)行預(yù)測(cè),可以預(yù)先調(diào)整控制量,對(duì)系統(tǒng)誤差進(jìn)行有效抑制。但對(duì)于硅微陀螺儀,振幅信號(hào)的變化是緩慢的,微分控制器在這里的作用不大。而且微分控制器會(huì)放大噪聲信號(hào),降低信噪比,因此采用PI控制就可達(dá)到減小誤差的目的。設(shè)定陀螺儀AGC穩(wěn)幅0.5 V(24Q21),使用內(nèi)嵌式邏輯分析儀ILA在線調(diào)試采集AGC穩(wěn)幅輸出AMP,如圖6所示,理想輸出為24’d1048576,實(shí)際值在其附近波動(dòng),PI控制器能穩(wěn)定進(jìn)行控制。
圖6 ILA采集AMP結(jié)果
CORDIC算法是通過(guò)角度旋轉(zhuǎn)和迭代計(jì)算逼近目標(biāo)值,將三角函數(shù)運(yùn)算轉(zhuǎn)化為邏輯位移運(yùn)算,使旋轉(zhuǎn)角度無(wú)限接近目標(biāo)值。NCO系統(tǒng)如圖7所示,由輸入頻率控制字和相位累加器構(gòu)成,CORDIC作波形發(fā)生器。頻率控制字FC=(fo+ff)2M/fclk,fo為中心頻率,ff為PLL中PI控制器輸出信號(hào),M為相位累加器位寬32,fclk為625 kHz。
圖7 基于CORDIC的NCO框圖
由于CORDIC算法中角度旋轉(zhuǎn)范圍在(-99.88°,99.88°),因此進(jìn)入CORDIC模塊的信號(hào)首先通過(guò)角度映射到第一象限(0°,90°),定義2 bit的flag信號(hào),寄存16個(gè)時(shí)鐘,在最后輸出時(shí)根據(jù)flag值和三角函數(shù)關(guān)系恢復(fù)對(duì)應(yīng)值。CORDIC經(jīng)過(guò)16次迭代,最后對(duì)輸出做截尾處理產(chǎn)生sin和cos信號(hào)。輸出信號(hào)的分辨率由相位累加器位寬M決定,頻率分辨率約為0.000 15 Hz。在頻率控制改變下的仿真結(jié)果如圖8所示。
圖8 NCO的仿真結(jié)果
在基于AGC和PLL的驅(qū)動(dòng)方案設(shè)計(jì)完成后,驅(qū)動(dòng)模態(tài)能夠穩(wěn)幅穩(wěn)頻的振動(dòng)。對(duì)于敏感模態(tài),其檢測(cè)信號(hào)中包含科氏分量和正交分量,為了能夠檢測(cè)科氏力的大小,同時(shí)抑制正交誤差,設(shè)計(jì)了科氏力閉環(huán)和正交校正閉環(huán)電路。
科氏力閉環(huán)檢測(cè)有環(huán)境適應(yīng)性好、標(biāo)度因數(shù)和零偏穩(wěn)定等優(yōu)點(diǎn)。當(dāng)外界有角速率輸入時(shí),陀螺敏感模態(tài)產(chǎn)生科氏力,在其作用下,敏感模態(tài)產(chǎn)生振動(dòng)位移,通過(guò)模擬接口電路提取信息,經(jīng)ADC轉(zhuǎn)換進(jìn)入FPGA中。其中乘法解調(diào)模塊提取幅度信息,PI控制器輸出經(jīng)調(diào)制產(chǎn)生與科氏力同頻反相的信號(hào)作用于敏感模態(tài)激勵(lì)電極,抑制其科氏振動(dòng),所以PI控制器的輸出可以反映科氏力。
受限于加工精度的限制和材料特性,硅微陀螺存在質(zhì)量、剛度及阻尼不對(duì)稱的問(wèn)題,導(dǎo)致驅(qū)動(dòng)模態(tài)和敏感模態(tài)不完全正交。為了抑制正交誤差,常用的正交誤差抑制方法有電荷注入法、正交力校正和正交耦合剛度校正[13],在這幾種方案中正交耦合剛度校正方法能從結(jié)構(gòu)耦合層面上消除剛度不對(duì)稱,以下簡(jiǎn)稱為正交校正閉環(huán)。通過(guò)乘法解調(diào)模塊提取正交信號(hào)幅度,作為誤差信號(hào)輸入到PI控制器中。由于DAC輸出電壓最大幅度較小,所以將正交校正閉環(huán)中PI控制器輸出信號(hào)經(jīng)DAC轉(zhuǎn)換后與外加電壓Vqnn相加,共同施加到陀螺的正交校正電極上。采用PI控制器進(jìn)行控制,正交校正閉環(huán)是一個(gè)Ⅰ型系統(tǒng),當(dāng)系統(tǒng)穩(wěn)定后,穩(wěn)態(tài)誤差為零,正交校正閉環(huán)產(chǎn)生的等效剛度會(huì)與驅(qū)動(dòng)模態(tài)和敏感模態(tài)之間的耦合剛度相互抵消,正交誤差將會(huì)被抑制到很小。
數(shù)字算法由3部分構(gòu)成:1)幅度和相位控制閉環(huán)數(shù)字部分;2)科氏力平衡閉環(huán)和正交校正閉環(huán)的數(shù)字部分;3)壓控振蕩器NCO模塊。
在Vivado中用Verilog硬件描述語(yǔ)言設(shè)計(jì)AGC和PLL,輸入data_x(24Q21)為經(jīng)過(guò)ADC轉(zhuǎn)換的驅(qū)動(dòng)檢測(cè)信號(hào)。DA_data1為AGC經(jīng)調(diào)制后的驅(qū)動(dòng)激勵(lì)信號(hào)。AMP和PHA分別表示幅度和相位控制閉環(huán)中低通濾波器的輸出信號(hào)(24Q21),dF為PLL環(huán)路PI控制器的輸出信號(hào)??剖狭﹂]環(huán)和正交校正閉環(huán)的數(shù)字部分中,輸入data_y(24Q21)為經(jīng)過(guò)ADC轉(zhuǎn)換的敏感檢測(cè)信號(hào)。DA_data2和DA_data3分別為科氏力閉環(huán)和正交閉環(huán)的檢測(cè)反饋信號(hào)和正交校正信號(hào)。QUA(24Q21)表示正交校正閉環(huán)中PI控制器的輸出信號(hào)。內(nèi)部的濾波器沿用驅(qū)動(dòng)閉環(huán)系統(tǒng)中的設(shè)計(jì)COR代表科氏信號(hào)輸出,為24位補(bǔ)碼形式有符號(hào)數(shù)。NCO模塊輸入信號(hào)dF加上掃頻測(cè)試中的驅(qū)動(dòng)模態(tài)諧振頻率,通過(guò)移位和相位累加,其結(jié)果輸入到CORDIC子模塊中,產(chǎn)生sin和cos信號(hào),如圖9所示,3個(gè)模塊的信號(hào)名稱端口。
圖9 主要模塊和信號(hào)名稱
在xc7a100tcsg324芯片上數(shù)字算法部分綜合后資源消耗如表1所示。未使用到DSP48E1和BlockRAM資源,F(xiàn)TR_Drive和FTR_Sense模塊中主要消耗資源為查找表,少量消耗寄存器。為了保證濾波精度,其中2/3的查找表都是低通濾波器中高位寬運(yùn)算消耗的。NCO模塊中采用并行計(jì)算的方式,模塊啟動(dòng)經(jīng)過(guò)固定時(shí)鐘等待后開始輸出。
表1 FPGA資源消耗表
同F(xiàn)PGA一樣,數(shù)字ASIC開發(fā)也要經(jīng)歷需求分析、設(shè)計(jì)輸入、功能仿真、綜合、布局布線、時(shí)序仿真及靜態(tài)時(shí)序分析等步驟。不同的是數(shù)字ASIC為了驗(yàn)證設(shè)計(jì)的準(zhǔn)確性會(huì)有形式驗(yàn)證、FPGA驗(yàn)證和對(duì)復(fù)雜系統(tǒng)的驗(yàn)證方法學(xué)。為了在布局布線中避免阻塞,F(xiàn)PGA資源利用率最好只用到70%~80%,而ASIC能更好地滿足定制化需求,減小面積和功耗。FPGA是快速實(shí)現(xiàn)系統(tǒng)功能的平臺(tái),在功能實(shí)現(xiàn)的情況下大多不會(huì)考慮面積和功耗,而數(shù)字ASIC流片成本高,面積和功耗是必須關(guān)注的指標(biāo)。
當(dāng)溫度變化時(shí),硅微陀螺儀的機(jī)械結(jié)構(gòu)尺寸和材料的彈性模量會(huì)發(fā)生變化。材料彈性模量是物質(zhì)的一種固有屬性,它的變化會(huì)改變微結(jié)構(gòu)的剛度,導(dǎo)致硅微陀螺儀的諧振頻率產(chǎn)生漂移[14]。溫度為T時(shí)的硅材料彈性模量E(T)可表示為:
E(T)=E0[1-KET(T-T0)]
(10)
式中,E0表示硅材料在溫度為T0時(shí)的彈性模量,T0=300 K,KET為硅材料彈性模量的溫度系數(shù),其值在10-5數(shù)量級(jí)。由于硅微結(jié)構(gòu)系統(tǒng)剛度與彈性模量呈線性關(guān)系,可得剛度K與溫度T的關(guān)系:
K(T)=E0[1-KET(T-T0)]
(11)
式中,K0表示溫度為T0時(shí)的系統(tǒng)剛度。硅微軸對(duì)稱陀螺諧振頻率與溫度的關(guān)系可表示為:
(12)
式中,ωn(T)表示溫度為T時(shí)的陀螺諧振頻率;m為檢測(cè)質(zhì)量塊的質(zhì)量。根據(jù)泰勒公式,將上式在T=T0處展開為:
(13)
取前兩項(xiàng),可表示為:
(14)
由此可見,溫度和諧振頻率之間近似線性關(guān)系,所以采用驅(qū)動(dòng)諧振頻率進(jìn)行溫度補(bǔ)償,補(bǔ)償方案如圖10所示。
圖10 溫度補(bǔ)償模塊
圖10中,用驅(qū)動(dòng)軸諧振頻率計(jì)算溫度,再通過(guò)溫度和標(biāo)度因數(shù)、零偏的關(guān)系得到SF(f)、ZROBP(f),SFref表示參考標(biāo)度因數(shù),Vclose表示科氏輸出,Vcomp表示補(bǔ)償后輸出。
溫度引起陀螺敏感單元彈性模量改變,導(dǎo)致諧振頻率變化,同時(shí)溫度影響模擬接口電路的相位,導(dǎo)致正交環(huán)路和科氏環(huán)路的耦合,惡化陀螺性能。所以為了提升陀螺儀的溫度性能,采用驅(qū)動(dòng)軸諧振頻率為溫度相關(guān)量,建立溫度和驅(qū)動(dòng)軸諧振頻率的關(guān)系。
硅微陀螺儀零偏輸出主要由耦合的正交誤差和同相阻尼誤差構(gòu)成,對(duì)于采用真空封裝的高Q值陀螺,同相阻尼誤差可忽略不計(jì),因此正交誤差是影響陀螺儀零偏的關(guān)鍵因素,設(shè)計(jì)的正交校正閉環(huán)會(huì)大幅度降低耦合影響[15]。
溫度影響陀螺的結(jié)構(gòu)參數(shù)和電路參數(shù),而且主要影響模擬電路。模擬電路中的濾波器、放大器、ADC、 DAC以及電子元器件都會(huì)受到溫度影響產(chǎn)生幅度噪聲,而對(duì)基于FPGA的數(shù)字測(cè)控電路,溫度對(duì)其影響較小。但除了正交誤差,陀螺零偏還會(huì)受到電饋通噪聲、結(jié)構(gòu)熱噪聲等因素影響,是多因素綜合作用的結(jié)果。因此采用溫度建模補(bǔ)償?shù)姆椒ǎ摲椒ê?jiǎn)單有效,不會(huì)對(duì)陀螺閉環(huán)控制電路產(chǎn)生額外的影響。這種采用陀螺內(nèi)部變量表征溫度的方法能及時(shí)反映陀螺內(nèi)部溫度的變化[16-17]。
BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)是人工神經(jīng)網(wǎng)絡(luò)中一種經(jīng)典的算法,能夠?qū)W習(xí)并記憶給定的輸入與輸出之間的關(guān)系,具有較好的函數(shù)擬合能力。采用traingd函數(shù)作為訓(xùn)練函數(shù),tanh函數(shù)作為層與層之間的傳遞函數(shù),LM算法更新BP神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值。采用Matlab的nntool神經(jīng)網(wǎng)絡(luò)工具箱進(jìn)行數(shù)據(jù)進(jìn)行建模訓(xùn)練,會(huì)對(duì)訓(xùn)練數(shù)據(jù)預(yù)處理,進(jìn)行歸一化和反歸一化加速模型收斂[18-20]。
補(bǔ)償步驟如下:
1)在0~65 ℃內(nèi)驅(qū)動(dòng)軸諧振頻率和零偏輸出。
2)將訓(xùn)練數(shù)據(jù)輸入到BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型中,通過(guò)多次迭代獲得各網(wǎng)絡(luò)層的最佳權(quán)值和閾值參數(shù)。
3)將訓(xùn)練好的模型參數(shù)寫入FPGA中的BP神經(jīng)網(wǎng)絡(luò)中,實(shí)時(shí)補(bǔ)償陀螺零偏。
BP神經(jīng)網(wǎng)絡(luò)由乘法、加法和激活函數(shù)組成,所用激活函數(shù)tanh含有指數(shù)運(yùn)算,無(wú)法直接在FPGA中實(shí)現(xiàn)。tanh函數(shù)的數(shù)學(xué)公式為:
(15)
考慮到計(jì)算精度、實(shí)現(xiàn)性與資源占用問(wèn)題,本文采用了分段線性插值法近似計(jì)算,如圖11所示。
圖11 tanh函數(shù)硬件實(shí)現(xiàn)方法
首先tanh(-x)=-tanh(x),只需實(shí)現(xiàn)x軸的正半部分,利用輸入最高位判斷正負(fù)選擇相應(yīng)的輸入和輸出。通過(guò)輸入x移位后取高12位作為ROM的地址,地址中存放的是[0,4]等分4 096段后每一段的斜率b和偏置a,經(jīng)過(guò)一個(gè)時(shí)鐘的數(shù)據(jù)讀取進(jìn)行相乘相加。最后根據(jù)最高位判斷輸出。
以硅微軸對(duì)稱類蛛網(wǎng)式圓盤諧振陀螺(CDRG)為實(shí)驗(yàn)對(duì)象是由環(huán)式結(jié)構(gòu)發(fā)展而來(lái)的十六邊形類蛛網(wǎng)型。用8個(gè)交替輻條將10個(gè)十六邊形類蛛網(wǎng)同心環(huán)和單個(gè)中心錨點(diǎn)相連。在環(huán)與環(huán)之間的空隙,懸掛集中質(zhì)量塊和設(shè)置電極,用16個(gè)矩形梁連接環(huán)與環(huán)[21-22]。
在室溫環(huán)境下使用鎖相放大器HF2LI掃頻采集陀螺兩個(gè)模態(tài)的頻率響應(yīng)曲線,得到驅(qū)動(dòng)軸諧振頻率5 047.99 Hz,Q值為13.83萬(wàn),敏感軸諧振頻率5 045.56 Hz,Q值為13.75萬(wàn),初始頻差為2.43 Hz。通過(guò)施加10.61 V 與 8.90 V 的調(diào)軸與調(diào)頻電壓對(duì)陀螺,減小頻率裂解,提高模態(tài)匹配程度。經(jīng)過(guò)開環(huán)掃頻得到頻率裂解由 2.43 Hz 減小到 0.40 Hz FPGA芯片為Xilinx的xc7a100tcsg324-2,工業(yè)級(jí)溫度可在-40~85 ℃。由溫控轉(zhuǎn)臺(tái)提供角速率輸入。測(cè)試環(huán)境和測(cè)控系統(tǒng)如圖12所示。硅微陀螺儀測(cè)控樣機(jī)由兩塊四層板構(gòu)成,上板由陀螺表頭、模擬接口電路和激勵(lì)電路組成,下板由ADC、DAC模塊和基于FPGA的數(shù)字測(cè)控電路組成。
圖12 測(cè)試環(huán)境和陀螺樣機(jī)
現(xiàn)場(chǎng)測(cè)試時(shí),將陀螺樣機(jī)放置固定于溫控轉(zhuǎn)臺(tái)中央,用工控機(jī)輸入角速度。在溫控轉(zhuǎn)臺(tái)設(shè)置溫控程序步驟。兩臺(tái)電源通過(guò)滑環(huán)給陀螺樣機(jī)提供所需的供電電壓、調(diào)軸和調(diào)諧電壓。RS422電平標(biāo)準(zhǔn)的差分線也通過(guò)滑環(huán)傳輸給上位機(jī),在LabVIEW中圖形化搭建接收程序,虛擬示波器顯示數(shù)據(jù),采樣頻率180 Hz。
將硅微陀螺儀樣機(jī)上電,放置10分鐘穩(wěn)定后,測(cè)試1個(gè)小時(shí)數(shù)據(jù)。AGC閉環(huán)中設(shè)計(jì)參考幅度為0.5 V,多次調(diào)試,選擇合適PI參數(shù),測(cè)試結(jié)果如圖13(a)所示。在1個(gè)小時(shí)內(nèi),驅(qū)動(dòng)幅度信號(hào)的標(biāo)準(zhǔn)差為62 μV,相對(duì)穩(wěn)定性達(dá)124 ppm。如圖13(b)所示,PLL設(shè)計(jì)中相位理想情況下應(yīng)該為-90°,但是因?yàn)殡娐费舆t、控制誤差和截?cái)嗾`差的存在,在1個(gè)小時(shí)內(nèi),相位信號(hào)的標(biāo)準(zhǔn)差和相對(duì)穩(wěn)定度分別7.1 m°和79.1 ppm。
圖13 輸出性能測(cè)試圖
根據(jù)《SJ 21266-2018 MEMS陀螺儀測(cè)試方法》,標(biāo)度因數(shù)是輸出量與期望量的變化量之比,單位一般為mV/(°/s)。
(16)
U=KΩ+b+ε
(17)
其中:Ω表述陀螺儀輸入角速率,b為擬合零位,ε為擬合誤差。用最小二乘法按式(16)~(19)計(jì)算標(biāo)度因數(shù)SF。
(18)
(19)
其中:輸出值和擬合直線的最大值絕對(duì)偏差|ΛU|max,計(jì)算|ΛU|max與陀螺最大量程的比值即為標(biāo)度因數(shù)非線性Kn:
|ΛU|max=max[|Ui-(KΩi+b)|]
(20)
(21)
標(biāo)度因數(shù)溫度靈敏度是由工作溫度變化引起的標(biāo)度因數(shù)變化程度,標(biāo)度因數(shù)溫度靈敏度Kt計(jì)算公式如下:
(22)
其中:kmax和kmin表示工作溫度范圍內(nèi)標(biāo)度因數(shù)最大值和最小值,ktm為室溫下標(biāo)度因數(shù);TH和TL表示工作溫度上限和下限。
在外界無(wú)角速率輸入情況下測(cè)得的陀螺儀零偏輸出為:
(23)
其中:Ui為第i次采樣時(shí)陀螺儀輸出,N為采樣率,K為標(biāo)度因數(shù),Q為平均輸出值的個(gè)數(shù)。采用10 s平滑,1σ計(jì)算零偏穩(wěn)定性。
采用科氏力閉環(huán)和正交校正閉環(huán)后,硅微陀螺儀樣機(jī)放置穩(wěn)定10分鐘后,測(cè)試1小時(shí),測(cè)試結(jié)果零偏和Allan方差如圖13(c)、(d)所示。經(jīng)過(guò)計(jì)算,零偏穩(wěn)定性為2.9 °/h,由Allan方差可知零偏不穩(wěn)定性為0.42 °/h,ARW為0.16 °/√h。
在0、10、20、30、40、50、60、65 ℃共8個(gè)溫度點(diǎn),測(cè)試不同溫度點(diǎn)下驅(qū)動(dòng)軸諧振頻率。實(shí)驗(yàn)結(jié)果顯示,驅(qū)動(dòng)軸諧振頻率和溫度之間有較好的線性關(guān)系,采用線性擬合方法擬合出結(jié)果。
f(T)=-0.1253*T+5048
(24)
在0~65 ℃內(nèi)相同的8個(gè)溫度點(diǎn),進(jìn)行標(biāo)度因數(shù)測(cè)試:±1、±5、±10、±30、±50、±100、±200、±300°/s。每個(gè)溫度點(diǎn)在穩(wěn)定半個(gè)小時(shí)后開始標(biāo)度因數(shù)測(cè)試,每個(gè)速率點(diǎn)輸出穩(wěn)定后采集30 s數(shù)據(jù),根據(jù)最小二乘法擬合得到標(biāo)度因數(shù)和擬合零位。補(bǔ)償前標(biāo)度因數(shù)和溫度之間近似線性關(guān)系。
SF(T)=1.025e×10-5T+0.005566
(25)
補(bǔ)償?shù)乃悸肥菍㈦S溫度不斷變化的標(biāo)度因數(shù)用諧振頻率數(shù)學(xué)表達(dá)出來(lái),在陀螺輸出時(shí)除去這個(gè)表達(dá)式,將陀螺的標(biāo)度因數(shù)歸一化到1 °/s。再乘上設(shè)定的標(biāo)度因數(shù)值0.005 6,即完成0~65 ℃下陀螺標(biāo)度因數(shù)的溫度補(bǔ)償。采用線性補(bǔ)償后標(biāo)度因數(shù)溫度靈敏度1 800 ppm/℃降至102 ppm/℃,提升1個(gè)數(shù)量級(jí)。
在0~65 ℃內(nèi),從0 ℃以1 min/℃升溫速率升至65 ℃保持。在這個(gè)溫度范圍內(nèi)零偏穩(wěn)定性為17.7°/h,構(gòu)建隱含3層BP神經(jīng)網(wǎng)絡(luò),其中隱含層數(shù)12,進(jìn)行零偏補(bǔ)償,補(bǔ)償后0~65 ℃內(nèi)零偏穩(wěn)定性降至9.1°//h。在設(shè)計(jì)了正交校正閉環(huán)后,硅微陀螺儀零偏性能大幅提升,但仍然有小幅度的漂移,采用BP神經(jīng)網(wǎng)絡(luò)溫度補(bǔ)償后性能提升近2倍。
本文基于FPGA采用Verilog 硬件描述語(yǔ)言對(duì)數(shù)字驅(qū)動(dòng)閉環(huán)進(jìn)行設(shè)計(jì)與實(shí)現(xiàn),高穩(wěn)定性的AGC和PLL為高精度輸出提供了基礎(chǔ)。在此基礎(chǔ)上,對(duì)科氏力閉環(huán)和正交校正閉環(huán)設(shè)計(jì)實(shí)現(xiàn)功能,對(duì)正交誤差的進(jìn)行耦合剛度抵消,科氏力閉環(huán)實(shí)現(xiàn)高精度輸出。測(cè)試結(jié)果表明,常溫環(huán)境下,零偏穩(wěn)定性為2.9 °/h。經(jīng)過(guò)溫度補(bǔ)償后,在0~65 ℃變溫范圍內(nèi),零偏穩(wěn)定性仍低于10 °/h,標(biāo)度因數(shù)非線性為198 ppm,標(biāo)度因數(shù)溫度靈敏度大幅度降低。不僅提升了陀螺儀的溫度性能,也為陀螺測(cè)控電路ASIC提供了便利途徑。