劉昊哲,任 臣,王 曉,楊擁軍
(中國(guó)電子科技集團(tuán) 第13研究所,石家莊 050051)
MEMS陀螺儀相對(duì)于傳統(tǒng)陀螺儀具有體積小、智能化、功耗低、成本低以及可批量生產(chǎn)的優(yōu)勢(shì),在汽車電子、消費(fèi)電子和軌道交通等領(lǐng)域廣泛應(yīng)用[1]。隨著MEMS陀螺儀設(shè)計(jì)的不斷優(yōu)化和完善,成為微型慣性系統(tǒng)的核心和導(dǎo)航系統(tǒng)進(jìn)一步發(fā)展的關(guān)鍵器件,正逐步取代傳統(tǒng)陀螺儀的地位。
MEMS陀螺儀的性能指標(biāo)包括量程、零偏穩(wěn)定性和速率精度等[2],其中零偏穩(wěn)定性是對(duì)MEMS陀螺儀的精度起著重大影響,是MEMS陀螺儀性能優(yōu)劣的重要評(píng)價(jià)標(biāo)準(zhǔn)?,F(xiàn)有的MEMS陀螺儀產(chǎn)品一般為MEMS敏感結(jié)構(gòu)、專用集成電路(ASIC,application specific integrated circuit)硬件邏輯處理電路、印刷電路板(PCB,printed circuit board)供電電路及通用微控制器模塊組成的三級(jí)架構(gòu)。PCB板上的微控制器模塊負(fù)責(zé)對(duì)經(jīng)過C/V、ADC和多級(jí)濾波器處理后的信號(hào)的補(bǔ)償和存儲(chǔ)[3],因此從ASIC芯片到PCB板的數(shù)據(jù)傳輸過程需要滿足低延遲、低噪聲、低抖動(dòng)以及高速率的要求。當(dāng)前主要采用的方式為串行外圍設(shè)備接口(SPI,serial peripheral interface)協(xié)議的信號(hào)傳輸,對(duì)陀螺輸出的角速度信號(hào)存在著一定的失真[4],且選擇通用的微控制器對(duì)陀螺信號(hào)進(jìn)行處理和存儲(chǔ)難免存在微控制器數(shù)據(jù)處理能力和存儲(chǔ)空間大小與實(shí)際需求不匹配,無法實(shí)現(xiàn)陀螺儀的最優(yōu)性能或產(chǎn)生一定的資源浪費(fèi)現(xiàn)象。
因此,為了解決MEMS陀螺儀集成度不高、制造步驟繁瑣、產(chǎn)品體積偏大等問題,本文提出一種新的設(shè)計(jì)思路來解決這些問題。通過為MEMS陀螺儀設(shè)計(jì)專用的SoC,依據(jù)陀螺儀對(duì)微處理器數(shù)據(jù)處理能力、存儲(chǔ)模塊大小、數(shù)據(jù)傳輸速率和位數(shù)的需求對(duì)SoC的組成模塊進(jìn)行定制設(shè)計(jì)[5],在提升陀螺儀的性能的同時(shí)豐富陀螺儀的應(yīng)用場(chǎng)景。本文基于ARM的Cortex-M3內(nèi)核針對(duì)應(yīng)用于MEMS陀螺儀的SoC進(jìn)行了集成設(shè)計(jì),通過軟硬件協(xié)同設(shè)計(jì)的方式,將SoC芯片所需功能的實(shí)現(xiàn)方式劃分為軟件實(shí)現(xiàn)和硬件實(shí)現(xiàn)兩部分[6],對(duì)MEMS陀螺儀數(shù)據(jù)實(shí)時(shí)帶寬有限、體積較大、存在處理資源浪費(fèi)等問題進(jìn)行解決。
本文的研究對(duì)象為硅MEMS振動(dòng)式陀螺,其敏感結(jié)構(gòu)采用雙質(zhì)量框架,選用靜電驅(qū)動(dòng)、變間距電容檢測(cè)工作方式,基于體硅SOI和圓片級(jí)真空封裝工藝加工而成。MEMS陀螺儀的檢測(cè)電路原理如圖1所示,驅(qū)動(dòng)環(huán)路采用四階帶通Sigma-Delta數(shù)字閉環(huán)結(jié)構(gòu)、檢測(cè)通路選用開環(huán)檢測(cè)的工作方式[7]。
圖1 MEMS陀螺儀基本工作原理
圖1中,C/V單元將外界加速度導(dǎo)致的陀螺儀敏感單元所產(chǎn)生的差分電容的變化轉(zhuǎn)換成模擬電壓信號(hào)。ADC模塊采用斬波(CS)技術(shù)和相關(guān)雙采樣(CDS)技術(shù),有效抑制了低頻噪聲和中頻段噪聲,更高精度的完成模擬量到數(shù)字量的轉(zhuǎn)換。BPF模塊為帶通濾波器,有效濾除干擾信號(hào)。AAC為自動(dòng)增益控制模塊,實(shí)現(xiàn)驅(qū)動(dòng)振幅穩(wěn)定控制。DAC模塊完成對(duì)MEMS結(jié)構(gòu)的驅(qū)動(dòng)反饋,實(shí)現(xiàn)驅(qū)動(dòng)閉環(huán),使得MEMS結(jié)構(gòu)保持諧振。檢測(cè)通路為開環(huán)結(jié)構(gòu),由C/V、ADC、BPF和延時(shí)相位模塊組成。φ為檢測(cè)通路的延時(shí)相位,為檢測(cè)信號(hào),為驅(qū)動(dòng)信號(hào)。LPF模塊為低通濾波器,有效濾除干擾信號(hào)。經(jīng)過對(duì)驅(qū)動(dòng)信號(hào)和檢測(cè)信號(hào)的相干解調(diào)并經(jīng)過低通濾波后得到陀螺儀角速度輸出信號(hào)。
由于MEMS陀螺芯片的主要制作材料單晶硅對(duì)溫度較為敏感,其機(jī)械和物理參數(shù)如楊氏模量和應(yīng)力受溫度影響較大,進(jìn)而對(duì)陀螺的諧振頻率和系統(tǒng)剛度產(chǎn)生影響,導(dǎo)致陀螺產(chǎn)生輸出溫度漂移。另一方面,MEMS陀螺生產(chǎn)過程中經(jīng)過了刻蝕和高溫鍵合等工藝,在結(jié)構(gòu)中不可避免的產(chǎn)生了殘余應(yīng)力;MEMS陀螺封裝過程中,由于陶瓷管殼、粘結(jié)膠和MEMS芯片之間的熱膨脹系數(shù)的不一致,同樣會(huì)產(chǎn)生應(yīng)力,導(dǎo)致陀螺溫度漂移的出現(xiàn)[8]。綜上可知MEMS陀螺儀不可以避免的會(huì)出現(xiàn)溫度漂移,傳統(tǒng)的解決方案為在PCB板級(jí)供電電路上連接一個(gè)通用的微控制器對(duì)陀螺溫漂進(jìn)行補(bǔ)償,同時(shí)將陀螺儀輸出數(shù)據(jù)進(jìn)行存儲(chǔ)并打包發(fā)送到上位機(jī),產(chǎn)品整體尺寸達(dá)到22 mm×20 mm,如圖2所示。
圖2 組合通用單片機(jī)的陀螺儀
然而,在PCB上進(jìn)行MEMS陀螺儀數(shù)據(jù)處理需要使用SPI通信協(xié)議將ASIC上的數(shù)據(jù)傳輸?shù)狡馕⒖刂破?,這一過程需要在不斷采集新的數(shù)據(jù)的同時(shí)將數(shù)據(jù)進(jìn)行串行傳輸具有一定的風(fēng)險(xiǎn)且向上位機(jī)傳輸需要再次進(jìn)行串行同步傳輸,影響陀螺穩(wěn)定性的同時(shí)限制了數(shù)據(jù)處理速率,直接影響MEMS陀螺儀的性能。因此本文提出設(shè)計(jì)MEMS陀螺儀專用SoC芯片推動(dòng)MEMS陀螺儀的集成化和智能化,來解決傳統(tǒng)ASIC和單片機(jī)組合方式存在的固有問題,實(shí)現(xiàn)MEMS陀螺儀的智能高精度控制。
本文對(duì)應(yīng)用于MEMS陀螺儀的SoC進(jìn)行了設(shè)計(jì),其中硬件電路部分的設(shè)計(jì)優(yōu)勢(shì)在于對(duì)特定功能實(shí)現(xiàn)速度快,可以達(dá)到十倍、百倍的速度提升;降低了對(duì)處理器復(fù)雜度的要求,簡(jiǎn)化系統(tǒng)設(shè)計(jì);減少相應(yīng)的軟件程序設(shè)計(jì)時(shí)間[9]。SoC設(shè)計(jì)過程考慮到MEMS陀螺儀使用過程中低功耗和高速處理復(fù)雜任務(wù)的需求,選擇Cortex-M3內(nèi)核作為核心處理單元[10],SoC運(yùn)行過程中需要實(shí)現(xiàn)對(duì)數(shù)據(jù)采集模塊所采集數(shù)據(jù)進(jìn)行打包、存儲(chǔ)并設(shè)計(jì)軟件算法進(jìn)行補(bǔ)償、濾波,以提高M(jìn)EMS陀螺儀的數(shù)據(jù)精度,因此使用高級(jí)微控制器總線結(jié)構(gòu)(AMBA,advanced microcontroller bus architecture)進(jìn)行SoC的架構(gòu)設(shè)計(jì)[11]。不同于通用的微控制器,集成設(shè)計(jì)的SoC中的微控制器模塊結(jié)構(gòu)選用由設(shè)計(jì)需求決定,例如本設(shè)計(jì)中考慮到其主要服務(wù)于內(nèi)部模塊信息的處理,因此未添加通用輸入輸出接口模塊(GPIO,general-purpose input/output),節(jié)約了芯片的面積,使得芯片結(jié)構(gòu)更為合理。SoC整體架構(gòu)如圖3所示,SoC系統(tǒng)主要由Cortex-M3微處理器、SRAM、ROM、數(shù)據(jù)采集模塊、系統(tǒng)時(shí)鐘模塊以及外圍通信接口組成。
圖3 SoC整體架構(gòu)
為了解決傳統(tǒng)裝配方式對(duì)MEMS陀螺儀ASIC輸出處理不夠及時(shí)的問題,本文提出了將數(shù)據(jù)采集模塊直接作為高性能總線(AHB,advanced high-performance bus)的從機(jī)進(jìn)行集成設(shè)計(jì)的SoC總線架構(gòu),通過微電容檢測(cè)和模數(shù)轉(zhuǎn)換器的組合設(shè)計(jì),將外界慣性信息轉(zhuǎn)換為數(shù)字形式的電信號(hào)后,經(jīng)過AHB總線通信輸入微處理器內(nèi)核進(jìn)行數(shù)字信號(hào)處理和存儲(chǔ)操作。不同于傳統(tǒng)的SPI串行數(shù)據(jù)傳輸模式,本設(shè)計(jì)中數(shù)據(jù)采集模塊直接通過AHB總線接口進(jìn)行32位并行數(shù)據(jù)傳輸?shù)哪J皆跍p小數(shù)據(jù)丟包風(fēng)險(xiǎn)的同時(shí)有效提高了數(shù)據(jù)傳輸效率。
在SoC的設(shè)計(jì)中,需要對(duì)數(shù)據(jù)采集模塊、數(shù)據(jù)存儲(chǔ)單元、外圍通信接口等外設(shè)進(jìn)行尋址訪問,外圍設(shè)備所上傳的數(shù)據(jù)也需要暫時(shí)存放在指定的存儲(chǔ)單元中,所設(shè)計(jì)的軟件程序同樣需要在Cortex-M3內(nèi)核的尋址空間中搭載存儲(chǔ)單元進(jìn)行存儲(chǔ)[12]。根據(jù)ARM對(duì)Cortex-M3內(nèi)核應(yīng)用程序、數(shù)據(jù)存儲(chǔ)、片上外設(shè)、片外外設(shè)以及供應(yīng)商定義等地址使用類型的粗略劃分,本設(shè)計(jì)在Cortex-M3處理器的4 GB尋址空間中實(shí)際使用的存儲(chǔ)空間地址設(shè)計(jì)如表1所示。
表1 SoC部分尋址空間使用情況
為了實(shí)現(xiàn)數(shù)據(jù)采集模塊的高速數(shù)據(jù)傳輸、微處理器對(duì)數(shù)據(jù)采集模塊的基本控制以及SoC系統(tǒng)與上位機(jī)的數(shù)據(jù)通信等要求,本研究通過IP復(fù)用技術(shù)對(duì)系統(tǒng)總線、存儲(chǔ)單元、數(shù)據(jù)采集模塊、外圍通信接口等模塊進(jìn)行了設(shè)計(jì),通過單個(gè)SoC芯片的設(shè)計(jì)替代了原有ASIC芯片和單片機(jī)的組合。本SoC系統(tǒng)相比于傳統(tǒng)的MEMS陀螺儀板級(jí)數(shù)據(jù)處理模式明顯的減少了組件數(shù)目、大幅度地縮減了數(shù)據(jù)處理單元所占用的板級(jí)空間,在滿足陀螺儀輸出信號(hào)的補(bǔ)償、存儲(chǔ)和通信需求的同時(shí)大大提升了系統(tǒng)的集成度。
數(shù)據(jù)采集模塊的主要由微電容檢測(cè)模塊和模數(shù)轉(zhuǎn)換器模塊組成,是MEMS智能傳感器采集外界信息的關(guān)鍵模塊。本設(shè)計(jì)選擇通過MEMS敏感結(jié)構(gòu)將外界的變化轉(zhuǎn)變?yōu)槲㈦娙菪问降碾娦盘?hào)[13],是由于電容式傳感器在應(yīng)對(duì)復(fù)雜的溫度、濕度以及磁場(chǎng)環(huán)境的不敏感性可以提高陀螺儀的基礎(chǔ)測(cè)量精度,降低環(huán)境因素的干擾。微電容檢測(cè)模塊對(duì)檢測(cè)電容的大小進(jìn)行測(cè)量,將其轉(zhuǎn)換為等效的電壓信號(hào),模數(shù)轉(zhuǎn)換器模塊對(duì)模擬形式的電壓信號(hào)進(jìn)行采樣、量化后轉(zhuǎn)換為數(shù)字信號(hào)[14],數(shù)據(jù)采集模塊良好的溫度特性和BCD工藝兼容性可以很好地與后續(xù)數(shù)字信號(hào)處理部分的電路兼容,符合SoC設(shè)計(jì)整體要求。
在SoC系統(tǒng)中,數(shù)據(jù)采集模塊作為自定義外設(shè),其設(shè)計(jì)過程首先需要在Cortex-M3內(nèi)核的尋址空間中定義外設(shè)地址,本設(shè)計(jì)在Cortex-M3處理器用于片上外設(shè)的512 MB尋址空間中將0x4FFF0000~0x4FFF7FFF區(qū)域內(nèi)32 kB的地址空間設(shè)置為數(shù)據(jù)采集模塊外設(shè)寄存器的地址映射區(qū)域。為了實(shí)現(xiàn)微處理器主機(jī)對(duì)AHB總線從機(jī)的控制,需要微處理器通過地址譯碼器對(duì)自定義外設(shè)尋址空間生成總線選擇信號(hào),根據(jù)具體地址對(duì)該地址上的外設(shè)寄存器進(jìn)行讀寫操作,進(jìn)而實(shí)現(xiàn)對(duì)自定義外設(shè)的控制[15]。
本設(shè)計(jì)對(duì)數(shù)據(jù)采集模塊的設(shè)計(jì)需要實(shí)現(xiàn)數(shù)據(jù)采集模塊與處理器模塊的高速數(shù)據(jù)傳輸以及微處理器對(duì)數(shù)據(jù)采集模塊的參數(shù)控制,因此本次數(shù)據(jù)采集模塊專用接口的設(shè)計(jì)需要設(shè)計(jì)專用總線接口與數(shù)據(jù)采集模塊的頂層端口一一對(duì)應(yīng),同時(shí)將Cortex-M3核內(nèi)部的嵌套中斷向量控制器(NVIC,nested vectored interrupt controller)模塊接口與外設(shè)輸出中斷信號(hào)接口相連接,使得微處理器可以對(duì)數(shù)據(jù)采集模塊的中斷請(qǐng)求做出響應(yīng)并執(zhí)行相應(yīng)的中斷服務(wù)程序(ISR,interrupt service routines)?;谝陨闲枨螅麄€(gè)數(shù)據(jù)采集模塊專用接口的結(jié)構(gòu)如圖4所示。
圖4 數(shù)據(jù)采集模塊專用接口設(shè)計(jì)
圖4中,左半部分主要為AHB總線與主設(shè)備輸入接口部分,HADDR信號(hào)經(jīng)過總線地址譯碼器選中數(shù)據(jù)采集模塊的控制寄存器,再通過AHB總線控制信號(hào)對(duì)數(shù)據(jù)采集模塊進(jìn)行行為控制,如發(fā)出讀寫訪問、產(chǎn)生使能信號(hào)、傳遞中斷信號(hào)等。主機(jī)控制和數(shù)據(jù)傳輸過程按照AHB總線協(xié)議在片內(nèi)進(jìn)行,可以降低信號(hào)傳輸過程中的丟包率,微處理器對(duì)數(shù)據(jù)采集過程的控制也更為靈活。
圖4中右半部分主要為從機(jī)對(duì)AHB總線傳輸?shù)姆答佇盘?hào)和輸出數(shù)據(jù)信號(hào),HREADYOUT信號(hào)向主機(jī)反饋當(dāng)前傳輸是否完成,高電平有效;HRESP信號(hào)則是判斷從機(jī)是否正常工作,當(dāng)其為高電平時(shí)觸發(fā)從機(jī)中斷信號(hào),中斷會(huì)傳遞給微處理器中的NVIC模塊進(jìn)入對(duì)應(yīng)中斷服務(wù)程序,微處理器將對(duì)數(shù)據(jù)采集模塊進(jìn)行復(fù)位操作。數(shù)據(jù)采集模塊最終得到的數(shù)字形式MEMS陀螺儀輸出角速度信號(hào)將按照32位的數(shù)據(jù)格式通過HRDATA數(shù)據(jù)總線傳輸?shù)轿⑻幚砥髂K進(jìn)行數(shù)據(jù)處理和存儲(chǔ)。
當(dāng)MEMS陀螺儀正常工作時(shí),微處理器模塊將不斷向數(shù)據(jù)采集模塊發(fā)送讀指令[16],即將控制信號(hào)寫入數(shù)據(jù)采集模塊對(duì)應(yīng)的控制寄存器中,而陀螺儀所采集的陀螺角速度信號(hào)也將通過移位寄存器讀出到數(shù)據(jù)總線HRDATA,這一過程中的關(guān)鍵信號(hào)時(shí)序如圖5所示。
圖5 AHB總線從機(jī)數(shù)據(jù)讀取時(shí)序圖
在這一讀傳輸過程中采用了流水線的工作模式,在HWRITE信號(hào)確定了數(shù)據(jù)傳輸方向?yàn)榭偩€從機(jī)到總線主機(jī)之后,每一個(gè)時(shí)鐘周期中在確定總線可以進(jìn)行傳輸?shù)男盘?hào)HREADY高電平有效時(shí)從上一時(shí)鐘周期確定的地址中讀取一次數(shù)據(jù)[17]。每一次讀取的數(shù)據(jù)在放入處理器默認(rèn)寄存器后,放入處理器專門放置數(shù)據(jù)采集模塊數(shù)據(jù)的存儲(chǔ)單元進(jìn)行后續(xù)的信號(hào)處理和上位機(jī)傳輸工作。
SoC軟件部分的設(shè)計(jì)主要包括軟件開發(fā)環(huán)境的搭建和應(yīng)用程序的開發(fā),其優(yōu)勢(shì)主要在于軟件開發(fā)成本較低,受芯片銷量影響很小,可以在其他設(shè)備上應(yīng)用;軟件輔助設(shè)計(jì)工具較便宜;調(diào)試簡(jiǎn)單,不需要考慮設(shè)計(jì)時(shí)序、功耗等問題。
本文是基于ARM公司的Cortex-M3內(nèi)核進(jìn)行SoC的設(shè)計(jì),因此使用ARMCortex微控制器軟件的接口標(biāo)準(zhǔn)(CMSIS,Cortex microcontroller software interface standard)進(jìn)行軟件系統(tǒng)環(huán)境的搭建,通過標(biāo)準(zhǔn)化的函數(shù)定義簡(jiǎn)化軟件環(huán)境搭建步驟,提高應(yīng)用程序的可移植性[18]。CMSIS的定義主要分為內(nèi)核訪問層、設(shè)備外設(shè)訪問層和外設(shè)訪問函數(shù)三大部分,由于本設(shè)計(jì)硬件部分主要對(duì)MEMS陀螺儀的數(shù)據(jù)采集模塊與Cortex-M3內(nèi)核進(jìn)行集成設(shè)計(jì),因此相應(yīng)部分軟件環(huán)境搭建主要通過CMSIS-Core對(duì)內(nèi)核的外設(shè)訪問函數(shù)進(jìn)行標(biāo)準(zhǔn)化定義,對(duì)處理器內(nèi)部寄存器進(jìn)行地址定義并建立統(tǒng)一的系統(tǒng)時(shí)鐘,其程序如圖6所示。
圖6 標(biāo)準(zhǔn)化外設(shè)和系統(tǒng)時(shí)鐘初始化函數(shù)
完成軟件環(huán)境的搭建之后,根據(jù)硬件電路對(duì)數(shù)據(jù)采集模塊的設(shè)計(jì),在相應(yīng)軟件部分對(duì)外設(shè)寄存器組函數(shù)進(jìn)行分配設(shè)計(jì),實(shí)現(xiàn)對(duì)數(shù)據(jù)采集模塊的軟件控制和數(shù)據(jù)讀取。為了驗(yàn)證SoC軟硬件協(xié)同設(shè)計(jì)的效果,測(cè)試應(yīng)用程序針對(duì)MEMS陀螺儀溫度漂移的特點(diǎn)進(jìn)行溫度補(bǔ)償程序的設(shè)計(jì)。
本設(shè)計(jì)將分段線性插值法的軟件算法應(yīng)用到SoC上進(jìn)行對(duì)MEMS陀螺儀輸出角速度信號(hào)的溫度補(bǔ)償,首先通過變溫法采集MEMS陀螺儀在全溫度區(qū)間(-40~85 ℃)的零偏變化量,之后將陀螺的零偏特性曲線等比例的分為若干個(gè)單調(diào)區(qū)間,計(jì)算每個(gè)區(qū)間對(duì)應(yīng)的溫補(bǔ)參數(shù)[19]。由于同一個(gè)陀螺具有較好的溫度曲線重復(fù)性,因此可以根據(jù)區(qū)間對(duì)應(yīng)溫補(bǔ)參數(shù)在陀螺零偏-溫度曲線的每個(gè)單調(diào)區(qū)間內(nèi)分別進(jìn)行線性插值補(bǔ)償,降低陀螺溫度漂移現(xiàn)象對(duì)陀螺輸出的影響。
基于MEMS陀螺儀的工作溫度分析,將溫度區(qū)間按△T平均分為n個(gè)區(qū)間,通過插值法計(jì)算各個(gè)區(qū)間端點(diǎn)的平均零偏變化量,在單個(gè)溫度區(qū)間內(nèi)建立陀螺零位輸出和溫度相關(guān)的線性模型,可得:
Ui=Ui0+Ui1Tij
(1)
式(1)中,Ui為第i個(gè)溫度區(qū)間的陀螺零位輸出;Tij為第i個(gè)溫度區(qū)間中的第j個(gè)溫度點(diǎn);Ui0和Ui1為第i個(gè)溫度區(qū)間內(nèi)陀螺溫補(bǔ)參數(shù)。將全溫度區(qū)間采集到的MEMS陀螺儀的零偏數(shù)據(jù)通過MATLAB進(jìn)行擬合,獲得n個(gè)溫度區(qū)間內(nèi)的陀螺溫補(bǔ)參數(shù),以表的形式嵌入到MEMS陀螺儀的軟件算法中。
不同于傳統(tǒng)的陀螺溫度補(bǔ)償模式的純硬件邏輯處理或者經(jīng)過低頻數(shù)據(jù)接口到板級(jí)PCB上進(jìn)行數(shù)據(jù)的轉(zhuǎn)換和處理[20],本文所設(shè)計(jì)的SoC通過軟硬件相結(jié)合的模式實(shí)現(xiàn)陀螺輸出角速度信號(hào)的內(nèi)部溫度補(bǔ)償處理。通過軟件程序向數(shù)據(jù)采集模塊的控制寄存器寫入控制指令[21],將MEMS陀螺儀采集到的外界慣性信息從數(shù)據(jù)存儲(chǔ)寄存器發(fā)送到SoC內(nèi)部存儲(chǔ)單元,經(jīng)過分段線性插值溫度補(bǔ)償處理后整理成上位機(jī)所要求的數(shù)據(jù)格式后通過SPI接口實(shí)現(xiàn)上位機(jī)通信。
在設(shè)計(jì)電路的實(shí)現(xiàn)過程中,考慮到本SoC芯片中既有數(shù)字邏輯處理電路也有模擬電路,為了更好地發(fā)揮SoC芯片的綜合性能,選用0.18 μm BCD加工工藝對(duì)SoC電路進(jìn)行設(shè)計(jì)并加工,通過對(duì)RTL級(jí)電路設(shè)計(jì)的邏輯綜合和物理設(shè)計(jì),得到整個(gè)電路的版圖如圖7所示,版圖尺寸為3.885 mm×4 mm。
圖7 SoC版圖設(shè)計(jì)
將物理驗(yàn)證后的二進(jìn)制GDSII版圖文件交付到某芯片制造廠流片可得到所設(shè)計(jì)的SoC電路芯片,將SoC芯片與MEMS陀螺表頭進(jìn)行金絲鍵合并封裝得到可測(cè)試的集成MEMS陀螺儀,相比于ASIC芯片和單片機(jī)組合的陀螺形式,有效地減小了陀螺儀的體積,豐富了陀螺儀的應(yīng)用場(chǎng)景。為了對(duì)SoC的設(shè)計(jì)功能和性能進(jìn)行驗(yàn)證,選擇對(duì)陀螺儀的輸出溫度漂移誤差進(jìn)行數(shù)字補(bǔ)償測(cè)試,通過SoC芯片對(duì)MEMS陀螺輸出信號(hào)進(jìn)行溫度補(bǔ)償前后陀螺儀輸出的全溫零偏變化量的優(yōu)化效果來驗(yàn)證SoC芯片的信號(hào)處理性能。
首先對(duì)沒有燒寫溫度補(bǔ)償程序的陀螺靜態(tài)溫度漂移情況進(jìn)行測(cè)試,將待測(cè)陀螺靜置在溫箱中,設(shè)定溫箱先緩慢降溫至低溫段(-40 ℃)后在兩個(gè)小時(shí)內(nèi)勻速升溫至高溫段(85 ℃),保持高溫兩個(gè)小時(shí)后以與升溫時(shí)相同的速度降至低溫段并保持兩個(gè)小時(shí)完成一次溫度循環(huán),這一溫度循環(huán)在測(cè)試過程中連續(xù)進(jìn)行。測(cè)試的初始溫度為室溫,當(dāng)陀螺溫度穩(wěn)定后,從升溫過程開始對(duì)陀螺的輸出信號(hào)進(jìn)行采集,獲得陀螺的輸出曲線如圖8所示。
圖8 溫補(bǔ)前陀螺輸出零偏曲線
根據(jù)陀螺輸出零偏曲線的起伏變化可以看出,該陀螺的零偏漂移量與外界溫度變化量大致呈現(xiàn)出正比態(tài)勢(shì)。為了更為直觀的表征出陀螺儀的輸出零偏漂移和外界溫度的關(guān)系,將溫度傳感器隨時(shí)間的輸出變化即實(shí)際測(cè)量溫度數(shù)據(jù)作為橫坐標(biāo),將MEMS陀螺儀全溫度區(qū)間的零偏變化量作為縱坐標(biāo),可以得到如圖9所示的陀螺零偏變化量隨溫度變化的試驗(yàn)曲線。
圖9 溫補(bǔ)前陀螺零偏-溫度曲線
溫度補(bǔ)償前的陀螺零偏-溫度曲線可以近似認(rèn)為是一條傾斜的直線,具有較好的線性度,因此適合進(jìn)行線性擬合,當(dāng)將其分為若干個(gè)相同大小的溫度區(qū)間,單個(gè)溫度區(qū)間的線性度將更為突出,溫度補(bǔ)償處理的效果也會(huì)更好。
測(cè)試過程中采用分段線性插值法對(duì)MEMS陀螺儀在全溫度區(qū)間的零偏溫度漂移進(jìn)行分段線性擬合,根據(jù)SoC性能驗(yàn)證需要及該陀螺溫補(bǔ)前零偏-溫度曲線良好線性度的實(shí)際情況,將溫度按照每10 ℃為一個(gè)溫度區(qū)間進(jìn)行劃分,根據(jù)式(1)計(jì)算可以獲得各溫度區(qū)間的溫補(bǔ)參數(shù),該陀螺儀的具體溫補(bǔ)參數(shù)如表2所示。
為了驗(yàn)證SoC在實(shí)際工作中對(duì)MEMS陀螺儀性能的提升,將寫入溫補(bǔ)參數(shù)的陀螺放入溫箱中,設(shè)定溫箱固定溫度循環(huán)流程運(yùn)行,采集溫度補(bǔ)償后的陀螺儀輸出,測(cè)試補(bǔ)償后陀螺的全溫度區(qū)間輸出特性。集成有SoC的MEMS陀螺儀進(jìn)行溫度補(bǔ)償后陀螺零偏的改善效果如圖10所示。將同一陀螺在相同溫度變化情況下的測(cè)試結(jié)果進(jìn)行對(duì)比可得,溫度補(bǔ)償前MEMS陀螺儀的全溫度區(qū)間零偏變化量為3.147°/s,溫度補(bǔ)償后全溫度區(qū)間零偏變化量降低到0.035°/s,SoC對(duì)MEMS陀螺儀輸出角速度信號(hào)的補(bǔ)償效果明顯,有效提升了陀螺儀的性能。
表2 陀螺零偏溫度補(bǔ)償參數(shù)
圖10 溫補(bǔ)后MEMS陀螺儀全溫零偏
本文針對(duì)傳統(tǒng)MEMS陀螺儀ASIC和單片機(jī)組合形式的數(shù)據(jù)處理模式,設(shè)計(jì)了一種應(yīng)用于MEMS陀螺儀的SoC,采用0.18 μm BCD加工工藝對(duì)電路進(jìn)行設(shè)計(jì)和制作,并配合自主設(shè)計(jì)的MEMS敏感結(jié)構(gòu)進(jìn)行測(cè)試。本SoC以ARMCortex-M3為基礎(chǔ),對(duì)SoC的數(shù)據(jù)采集模塊接口進(jìn)行了集成設(shè)計(jì),將陀螺儀所采集的慣性數(shù)據(jù)直接通過AHB總線傳輸?shù)轿⑻幚砥髦羞M(jìn)行處理和存儲(chǔ),實(shí)現(xiàn)了MEMS傳感器的小型化、智能化、集成化和高精度設(shè)計(jì)。流片后的SoC芯片測(cè)試結(jié)果顯示,MEMS陀螺儀經(jīng)過SoC的分段線性插值法溫度補(bǔ)償處理后,全溫區(qū)溫度漂移減少了兩個(gè)量級(jí),大幅提高了MEMS陀螺儀的溫度特性,證明了專用SoC芯片設(shè)計(jì)的可行性和有效性。本SoC對(duì)于應(yīng)用于陀螺的信號(hào)濾波處理及上位機(jī)通信等方面的研究開發(fā)尚有不足,接下來對(duì)于外圍通信協(xié)議的開發(fā)以及數(shù)據(jù)采集模塊的精確控制方向進(jìn)行研究,進(jìn)一步地提升MEMS陀螺儀的性能。