專利名稱:一種適用于mems陀螺系數(shù)加載的通信方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種適用于MEMS陀螺系數(shù)加載的通信方法。
背景技術(shù):
由于微機(jī)械陀螺受到制作誤差、材料的不均勻性等因素影響,其刻度因子與零偏受溫度的影響很大,嚴(yán)重制約了微機(jī)械陀螺精度性能的提高。為了提高微機(jī)械陀螺在全溫范圍內(nèi)的零偏穩(wěn)定性,需要進(jìn)行溫度補(bǔ)償。溫度系數(shù)的加載是進(jìn)行溫度補(bǔ)償?shù)那疤?。目前,國?nèi)外溫度補(bǔ)償系數(shù)加載方式有多種多樣,其中以串行通信方式較多,比如中國專利201120437437.3的《一種串口陀螺數(shù)據(jù)收發(fā)系統(tǒng)》采用串口通信方式進(jìn)行系數(shù)加載;科技論文《Z軸硅微機(jī)械陀螺儀溫度補(bǔ)償?shù)募夹g(shù)研究》和《加速度計(jì)數(shù)據(jù)采集與溫度補(bǔ)償技術(shù)研究》也是采用串口通信進(jìn)行系數(shù)加載。另外也有采用CAN總線進(jìn)行數(shù)據(jù)通信的,比如科技論文《MEMS高量程微加速度計(jì)溫度補(bǔ)償?shù)脑O(shè)計(jì)》中采用CAN總線進(jìn)行數(shù)據(jù)通信,它在信號(hào)處理模塊中內(nèi)置了 CAN通信接口模塊,利用CAN通信協(xié)議進(jìn)行溫度補(bǔ)償系數(shù)加載。但是,采用串口通信方式需要配置雙方通信格式,比如波特率、數(shù)據(jù)位和奇偶校驗(yàn)位等,采集終端必須與數(shù)據(jù)發(fā)送端保持一致,才能保持正常的通信。若不確定發(fā)送方的傳輸波特率或數(shù)據(jù)長度,則不能進(jìn)行正常通信。另外,在傳輸多幀數(shù)據(jù)時(shí),往往在硬件邏輯協(xié)議的基礎(chǔ)上,還需用軟件的方式構(gòu)建應(yīng)用層協(xié)議標(biāo)準(zhǔn),在傳輸數(shù)據(jù)上加載幀頭、幀尾等驗(yàn)證性數(shù)據(jù),才能正確的獲取數(shù)據(jù)??梢姡胀ǖ拇型ㄐ旁O(shè)置煩瑣、通信簡(jiǎn)單、數(shù)據(jù)傳輸效率低。若采用CAN總線進(jìn)行系數(shù)加載,眾所周知,CAN總線比較復(fù)雜,使用CAN總線必須熟悉CAN總線的數(shù)據(jù)格式、各種寄存器以及錯(cuò)誤計(jì)數(shù)等等。另外,CAN總線的不一致性和不可預(yù)測(cè)性經(jīng)常使得CAN總線在通信過程中進(jìn)入錯(cuò)誤狀態(tài),無法正常通信。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種適用于MEMS陀螺系數(shù)加載的通信方法,有時(shí)鐘、片選、數(shù)據(jù)輸入和數(shù)據(jù)輸出四個(gè)端口,根據(jù)數(shù)據(jù)輸入端的不同命令,可以控制EEPROM進(jìn)行不同的讀、寫、擦除等操作,該方法使用靈活、功能強(qiáng)大,適用于各種MEMS陀螺系數(shù)的加載。為解決上述技術(shù)問題,本發(fā)明提供一種。本發(fā)明所達(dá)到的有益效果:
本發(fā)明提供了一種通信方法,適用于各種MEMS陀螺系數(shù)加載,根據(jù)數(shù)據(jù)輸入端的不同命令,可以進(jìn)行不同的讀、寫、擦除等操作,同時(shí)可以在輸出端輸出相應(yīng)的數(shù)據(jù),應(yīng)用靈活,功能強(qiáng)大,傳輸可靠性高。
圖1是MEMS陀螺系數(shù)加載通信框 圖2是數(shù)據(jù)包輸入; 圖3是SDI輸入端數(shù)據(jù)格式;
圖4是SDI輸入時(shí)序 圖5是SDO串行輸出數(shù)據(jù)格式;
圖6是SDO輸出數(shù)據(jù)時(shí)序圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述。以下實(shí)施例僅用于更加清楚地說明本發(fā)明的技術(shù)方案,而不能以此來限制本發(fā)明的保護(hù)范圍。MEMS陀螺系數(shù)加載通信過程如圖1所示,根據(jù)本發(fā)明的通信方法,上位機(jī)通過通信模塊將溫度補(bǔ)償系數(shù)輸入到接口模塊電路中,并將采集的數(shù)據(jù)轉(zhuǎn)換寫入EEPROM存儲(chǔ),由運(yùn)算器進(jìn)行讀出使用。根據(jù)需要,上位PC機(jī)也可通過本發(fā)明的通信方法從EEPROM中讀取數(shù)據(jù)進(jìn)行比對(duì)。該通信協(xié)議主要完成接口模塊與外部的數(shù)據(jù)通訊,將有效的數(shù)據(jù)及命令傳輸進(jìn)芯片使其進(jìn)行相應(yīng)操作。本發(fā)明的通信方法按功能分成解碼和移位輸出兩部分。串行解碼主要根據(jù)用戶自定義的數(shù)據(jù)傳輸格式將串行數(shù)據(jù)進(jìn)行解碼,然后分別根據(jù)解碼后的數(shù)據(jù)完成相應(yīng)的操作;移位輸出模塊是將芯片內(nèi)部的相關(guān)數(shù)據(jù)按照用戶定義的數(shù)據(jù)傳輸格式依次串行輸出。本發(fā)明的工作原理:
該通訊方法設(shè)置有四個(gè)端口,分別為:
SCK:串口時(shí)鐘。SD1:串口數(shù)據(jù)輸入。SD0:串口數(shù)據(jù)輸出。SS:片選信號(hào),低有效。當(dāng)SS為高時(shí),忽略在SDI和SCK輸入端的變化,串口輸出SDO為三態(tài)。(I) SDI數(shù)據(jù)輸入
上位機(jī)可以連續(xù)發(fā)送多個(gè)數(shù)據(jù)包,接口模塊從中順序取出有效系數(shù)進(jìn)行存儲(chǔ)。數(shù)據(jù)流時(shí)序如圖2所示。在上位機(jī)發(fā)出片選信號(hào)后的第一個(gè)SCK上升沿開始采集輸入數(shù)據(jù)。通過自定義,串口數(shù)據(jù)輸入端SDI總共發(fā)送40位數(shù)據(jù),其中包括32位數(shù)據(jù)DATA[31]- DATA
,5位地址ADDR[4:0],3位命令位CMD [2:0],數(shù)據(jù)格式見圖3,其中LSB為最先輸入數(shù)據(jù)位,如圖3。SDI發(fā)送的每位數(shù)據(jù)在SCK的上升沿被采樣,當(dāng)一個(gè)數(shù)據(jù)包發(fā)送并被采樣完畢,SS片選拉高以啟動(dòng)內(nèi)部操作。如圖4,其中CMD[2:0]為命令位,可以改變其設(shè)置分別對(duì)芯片內(nèi)部EEPROM或寄存器進(jìn)行不同的操作。當(dāng)CMD為001時(shí)是對(duì)EEPROM進(jìn)行相關(guān)的寫操作,010時(shí)是對(duì)EEPROM進(jìn)行相關(guān)的讀操作,100時(shí)是對(duì)EEPROM進(jìn)行相關(guān)擦除操作,其余均為無效命令。另外也可根據(jù)需求進(jìn)行自定義。(2) SDO數(shù)據(jù)輸出
如圖5,SDO為串口輸出端,輸出同樣以LSB為最先輸出數(shù)據(jù)位,當(dāng)SS為低時(shí),SDI數(shù)據(jù)寫入內(nèi)部,同時(shí)SDO移位輸出數(shù)據(jù)。當(dāng)CMD[2:0]為010讀操作時(shí),SDO輸出指定地址中的數(shù)據(jù),并且在SS信號(hào)有效后的SCK上升沿開始輸出有效數(shù)據(jù)。當(dāng)CMD[2:0]不為OlO讀操作時(shí),SDO串行輸出上一個(gè)數(shù)據(jù)包的DATA、ADDR、CMD,并且在SS信號(hào)有效后的SCK上升沿開始傳輸有效數(shù)據(jù)。如圖6,SDO只在SS為低時(shí)正常輸出數(shù)據(jù),當(dāng)SS為高時(shí),SDO為高阻態(tài)。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明技術(shù)原理的前提下,還可以做出若干改進(jìn)和變形,這些改進(jìn)和變形也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種適用于MEMS陀螺系數(shù)加載的通信方法,其特征是, 上位機(jī)通過通信模塊將溫度補(bǔ)償系數(shù)輸入到接口模塊電路中,或從接口模塊中讀取數(shù)據(jù), 所述通信模塊與接口模塊之間通過四個(gè)端口進(jìn)行通信, 四個(gè)端口分別為: SCK:串口時(shí)鐘; SD1:串口數(shù)據(jù)輸入端; SDO:串口數(shù)據(jù)輸出端; SS:片選信號(hào),低有效;當(dāng)SS為高時(shí),串口數(shù)據(jù)輸出SDO為三態(tài); 數(shù)據(jù)輸入的步驟為:上位機(jī)連續(xù)發(fā)送I個(gè)或多個(gè)數(shù)據(jù)包,接口模塊從中順序取出有效溫度補(bǔ)償系數(shù)進(jìn)行存儲(chǔ);在上位機(jī)發(fā)出片選信號(hào)后的第一個(gè)串口時(shí)鐘SCK上升沿開始采集輸入數(shù)據(jù); 數(shù)據(jù)輸出的步驟為: 在片選信號(hào)SS有效后的串口時(shí)鐘SCK上升沿開始,通過串口數(shù)據(jù)輸入端SDI將數(shù)據(jù)寫入接口模塊內(nèi)部,同時(shí)串口數(shù)據(jù)輸出端SDO移位輸出指定地址中的數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的適用于MEMS陀螺系數(shù)加載的通信方法,其特征是,所述串口數(shù)據(jù)輸入端SDI共發(fā)送40位數(shù)據(jù),其中包括32位數(shù)據(jù)DATA,5位地址ADDR,3位命令位CMD。
3.根據(jù)權(quán)利要求1所述的適用于MEMS陀螺系數(shù)加載的通信方法,其特征是,串口數(shù)據(jù)輸入端SDI發(fā)送的每位數(shù)據(jù)在端口 SCK的上升沿被采樣,當(dāng)一個(gè)數(shù)據(jù)包發(fā)送并被采樣完畢,端口 SS變?yōu)楦邌?dòng)內(nèi)部操作。
4.根據(jù)權(quán)利要求2所述的適用于MEMS陀螺系數(shù)加載的通信方法,其特征是,數(shù)據(jù)輸入時(shí),通過設(shè)置不同的命令位CMD分別對(duì)接口模塊內(nèi)部EEPROM或寄存器進(jìn)行不同的操作。
5.根據(jù)權(quán)利要求4所述的適用于MEMS陀螺系數(shù)加載的通信方法,其特征是,當(dāng)命令位CMD為001時(shí)對(duì)EEPROM進(jìn)行相關(guān)的寫操作,為010時(shí)對(duì)EEPROM進(jìn)行相關(guān)的讀操作,為100時(shí)對(duì)EEPROM進(jìn)行相關(guān)擦除操作,其余均為無效命令。
6.根據(jù)權(quán)利要求1所述的適用于MEMS陀螺系數(shù)加載的通信方法,其特征是,數(shù)據(jù)輸出時(shí),當(dāng)命令位CMD為010讀操作時(shí),串口數(shù)據(jù)輸出端SDO輸出指定地址中的數(shù)據(jù),并且在片選信號(hào)SS有效后的串口時(shí)鐘SCK上升沿開始輸出有效數(shù)據(jù);當(dāng)命令位CMD不為010讀操作時(shí),串口數(shù)據(jù)輸出端SDO串行輸出上一個(gè)數(shù)據(jù)包的數(shù)據(jù)DATA、地址ADDR、命令位CMD,并且在片選信號(hào)SS有效后的串口時(shí)鐘SCK上升沿開始傳輸有效數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種適用于MEMS陀螺系數(shù)加載的通信方法,上位機(jī)通過通信模塊將溫度補(bǔ)償系數(shù)輸入到接口模塊電路中,或從接口模塊中讀取數(shù)據(jù),通信模塊與接口模塊之間通過四個(gè)端口進(jìn)行通信,上位機(jī)連續(xù)發(fā)送1個(gè)或多個(gè)數(shù)據(jù)包,接口模塊從中順序取出有效溫度補(bǔ)償系數(shù)進(jìn)行存儲(chǔ);在上位機(jī)發(fā)出片選信號(hào)后的第一個(gè)串口時(shí)鐘SCK上升沿開始采集輸入數(shù)據(jù)或通過串口數(shù)據(jù)輸入端SDI將數(shù)據(jù)寫入接口模塊內(nèi)部。本發(fā)明的通信方法,適用于各種MEMS陀螺系數(shù)加載,根據(jù)數(shù)據(jù)輸入端的不同命令,可以進(jìn)行不同的讀、寫、擦除等操作,同時(shí)可以在輸出端輸出相應(yīng)的數(shù)據(jù),應(yīng)用靈活,功能強(qiáng)大,傳輸可靠性高。
文檔編號(hào)G06F13/38GK103207848SQ20131007322
公開日2013年7月17日 申請(qǐng)日期2013年3月7日 優(yōu)先權(quán)日2013年3月7日
發(fā)明者張磊, 趙忠惠, 汪健 申請(qǐng)人:中國兵器工業(yè)集團(tuán)第二一四研究所蘇州研發(fā)中心