鄒連英,王秋實(shí),王利恒,余尚仁
武漢工程大學(xué)電氣信息學(xué)院,湖北 武漢 430205
重裝空投數(shù)據(jù)采集分析系統(tǒng)設(shè)計
鄒連英,王秋實(shí),王利恒,余尚仁
武漢工程大學(xué)電氣信息學(xué)院,湖北 武漢 430205
新的重裝空投數(shù)據(jù)采集分析系統(tǒng)選用高集成度Cortex-M3處理器為主控芯片,對重力加速度、三軸角速度及應(yīng)變力數(shù)據(jù)進(jìn)行采集,采集的數(shù)據(jù)實(shí)時保存到Flash存儲器.采集結(jié)束后,PC端數(shù)據(jù)采集分析系統(tǒng)通過串口讀取數(shù)據(jù)采集器中的數(shù)據(jù),經(jīng)過數(shù)據(jù)揉合與處理分析,圖形化顯示重裝空投過程中物體的重力加速度、三軸姿態(tài)、應(yīng)力形變等變化過程.系統(tǒng)將數(shù)據(jù)采集設(shè)備和數(shù)據(jù)處理設(shè)備進(jìn)行分離,實(shí)現(xiàn)了利用相對低硬件成本獲取較高精確度和實(shí)時數(shù)據(jù)的采集.現(xiàn)場實(shí)驗(yàn)測試證明,該系統(tǒng)方案具有較高的精確度和實(shí)時性,可廣泛用于空投高速實(shí)時數(shù)據(jù)采集領(lǐng)域.
重裝空投;重力加速度;三軸角速度;應(yīng)變力;姿態(tài)
由于空降兵空降時攜帶裝備有限,在長期作戰(zhàn)中補(bǔ)給彈藥都會顯現(xiàn)出不足和弊端,因此重裝空投系統(tǒng)就變得越來越不可或缺.在空投過程中,需要對空投物件的姿態(tài),重力加速度等進(jìn)行實(shí)時測量[1],通過對數(shù)據(jù)進(jìn)行進(jìn)一步的采集和分析,可以對空投的質(zhì)量好壞提供一個進(jìn)一步的參考.本文在原有的空投數(shù)據(jù)采集分析設(shè)備基礎(chǔ)之上,提出的一種較新設(shè)計方式,其優(yōu)勢在于單一系統(tǒng)即實(shí)現(xiàn)了重力加速度,三軸角加速度以及應(yīng)變力數(shù)據(jù)的采集,并通過上位機(jī)進(jìn)行數(shù)據(jù)處理得到過載、姿態(tài)及壓力.避免了上一代數(shù)據(jù)采集系統(tǒng)采集單一傳感量的劣勢.
在硬件設(shè)計測量儀時,需要通過主控芯片相應(yīng)的外部通訊接口外接微型傳感器.由于測量儀系統(tǒng)需要采集三類不同類型的傳感量數(shù)據(jù)且采集時其數(shù)據(jù)實(shí)時性要求較高,主控芯片作為測量儀設(shè)計的核心部分,因此在主控芯片選型時,需要選用頻率較快、中斷反應(yīng)迅速、內(nèi)存容量較大、外設(shè)較為豐富的主控芯片[2].另外,外圍儲存Flash芯片的容量及儲存的穩(wěn)定性,微傳感器的轉(zhuǎn)換速度和轉(zhuǎn)換精度,都將作為測量儀硬件設(shè)計時必須要考慮的部分,測量儀具體硬件設(shè)計框圖如圖1所示.
圖1 系統(tǒng)結(jié)構(gòu)框圖Fig.1The diagram of system architecture
Cortex-M3 IP核是由ARM公司開發(fā)的實(shí)時高性能32位哈佛結(jié)構(gòu)處理器IP核,支持Thumb、Thumb2 ISA(指令集).具備三級流水線及NVIC中斷向量表,保證了系統(tǒng)運(yùn)行的實(shí)時性.其處理器IP核通過掛接Advanced High Performance Bus高速總線和Advanced Peripheral Bus外設(shè)總線與大量低速外部設(shè)備接口進(jìn)行連接[3],保證了充足的外設(shè)接口.
采用亞諾德公司的AD22285作為重力加速度傳感器.為了保證AD22285重力加速度計采集數(shù)據(jù)的穩(wěn)定性和精確度,因此使用3個獨(dú)立AD轉(zhuǎn)換器[4]進(jìn)行轉(zhuǎn)換,分別用于與AD22285的三軸通道進(jìn)行連接.按照一定的格式寫入相應(yīng)的數(shù)據(jù)幀中.
陀螺儀部分采用意法公司最新推出的L3G4200.該陀螺儀測量精度較高,使用范圍廣,本設(shè)計采用SPI總線接口傳輸方式,由于在SPI總線工作模式下,最大的采樣速率可以達(dá)到10 MHz.
應(yīng)力形變部分采用海芯HX711.由于芯片內(nèi)部已集成了放大電路、調(diào)理電路及數(shù)模轉(zhuǎn)換器,采用此方案的優(yōu)勢在于將能夠有效的減少了設(shè)備的開發(fā)周期,同時也提高了整機(jī)的性能和可靠性.
數(shù)據(jù)儲存介質(zhì)則是采用意法公司的M25P64串行總線存儲器.該種儲存器具有8 MByte的儲存空間,其最大讀寫速率可以達(dá)到50 MHz,每個扇區(qū)都具有超過10萬次的擦寫次數(shù),保證了數(shù)據(jù)存儲的可靠性.
2.1 系統(tǒng)初始化過程
CPU在初始化各個外設(shè)及其外圍總線的之前,需要對自身進(jìn)行初始化.由于需要使用高級語言進(jìn)行編程,首先CPU必須要完成棧、堆的初始化,棧用以存放過程中定義的一部分變量,是不可或缺的;堆則是動態(tài)分配內(nèi)存所需要的使用的數(shù)據(jù)區(qū)[5].棧初始化完畢后,系統(tǒng)會開始初始化鎖相環(huán),完成相關(guān)倍頻工作后,PC指針會跳轉(zhuǎn)到main函數(shù)地址處執(zhí)行程序.
在main函數(shù)中處理器會初始化相應(yīng)的外設(shè):串口、定時器、RTC時鐘、ADC、SPI接口會依次完成初始化,在接口完成初始化后,系統(tǒng)會對外圍芯片進(jìn)行初始化,并使外圍芯片開始工作.外圍芯片初始化完成之后,會等待外部提供觸發(fā).一旦提供外部觸發(fā),系統(tǒng)便會開始進(jìn)行數(shù)據(jù)采集,數(shù)據(jù)的依照事先約定的協(xié)議組成數(shù)據(jù)幀進(jìn)行寫入及保存.
2.2 測量儀狀態(tài)機(jī)設(shè)計
采用有限狀態(tài)機(jī)(FSM)的方式對系統(tǒng)控制部分進(jìn)行設(shè)計,定義5個不同的狀態(tài),系統(tǒng)會根據(jù)觸發(fā)按鍵的的觸發(fā)狀態(tài)用以決定跳轉(zhuǎn)至系統(tǒng)的哪一個狀態(tài).與此同時,定義相應(yīng)的數(shù)據(jù)幀格式用以保存采集數(shù)據(jù),其數(shù)據(jù)幀格式大小共256字節(jié),其中頭4個字節(jié)用于保存實(shí)時RTC.后252個字節(jié)分為7組,每組為36個字節(jié),用于保存空投數(shù)據(jù)中采集的相應(yīng)數(shù)據(jù).
為了保證數(shù)據(jù)采集的實(shí)時性和有效性,設(shè)置兩個采集數(shù)據(jù)交換緩沖區(qū)用作乒乓操作.保證當(dāng)處理器向SPIFlash中寫數(shù)據(jù)的同時,另外一個數(shù)據(jù)緩沖區(qū)也在采集數(shù)據(jù).保證了數(shù)據(jù)的實(shí)時性和有效性,避免了數(shù)據(jù)采集不及時發(fā)生的遺漏數(shù)據(jù)問題.當(dāng)系統(tǒng)采集到數(shù)據(jù)后,會將數(shù)據(jù)首先放入一個256字節(jié)的片內(nèi)的內(nèi)存交換區(qū)內(nèi),如果交換區(qū)寫滿,則會將交換區(qū)中數(shù)據(jù)寫入到SPIFlash中.在一個交換區(qū)寫滿后,系統(tǒng)的數(shù)據(jù)會存儲在另外一個片內(nèi)交換區(qū)中,這種方式極大的保證了系統(tǒng)采集數(shù)據(jù)的實(shí)時性和有效性.
枚舉變量IDLE_STATE、FLASH_STATE及FLASHFULL代表當(dāng)前采集設(shè)備工作狀態(tài),IDLE_STATE為交換區(qū)當(dāng)前狀態(tài),F(xiàn)LASH_STATE則為當(dāng)前外部存儲器的狀態(tài).FLASHFULL代表當(dāng)頁數(shù)據(jù)是否已寫滿,三者之間的狀態(tài)的不同構(gòu)成不同的狀態(tài):
1.當(dāng)IDLE_STATE=IDLE,F(xiàn)LASH_STATE=WRITE_IDLE,按鍵未觸發(fā)代表系統(tǒng)處于未激活狀態(tài),此時PC端可以通過RS485/RS232串行接口完成與系統(tǒng)的通信和數(shù)據(jù)的處理.
2.當(dāng)IDLE_STATE=IDLE,F(xiàn)LASH_STATE=WRITE_IDLE,按鍵觸發(fā)代表系統(tǒng)處于激活狀態(tài),數(shù)據(jù)緩沖區(qū)處于空狀態(tài),系統(tǒng)準(zhǔn)備跳轉(zhuǎn)至下一個狀態(tài).此時上位機(jī)無法再與采集系統(tǒng)進(jìn)行通信,此時系統(tǒng)處于數(shù)據(jù)采集狀態(tài),系統(tǒng)還沒有進(jìn)入一次定時器中斷,僅僅只是準(zhǔn)備開始采集數(shù)據(jù).
3.當(dāng)IDLE_STATE=BUSY,F(xiàn)LASH_STATE=WRITE_IDLE,F(xiàn)LASHFULL=0時該數(shù)據(jù)緩沖區(qū)正處于未寫滿狀態(tài).系統(tǒng)設(shè)置定時器中斷,分時對重力加速度ADC轉(zhuǎn)換采集值、應(yīng)變片ADC轉(zhuǎn)換采集值、角加速度轉(zhuǎn)換值進(jìn)行采集.當(dāng)緩沖區(qū)處于寫滿狀態(tài),F(xiàn)LASHFULL會置為1用以辨明Flash頁面已寫滿,此次寫入幀已經(jīng)寫滿,并跳轉(zhuǎn)到下一個狀態(tài).
4.當(dāng)IDLE_STATE=IDLE,F(xiàn)LASH_STATE=WRITE_BUSY代表數(shù)據(jù)緩沖區(qū)已經(jīng)寫滿,準(zhǔn)備將數(shù)據(jù)寫入SPIFlash中,在此期間由于該數(shù)據(jù)緩沖區(qū)已經(jīng)寫滿.系統(tǒng)將會切換緩沖區(qū),準(zhǔn)備跳轉(zhuǎn)至下一個狀態(tài).
5.當(dāng)IDLE_STATE=BUSY,F(xiàn)LASH_STATE=WRITE_BUSY控制器正在向內(nèi)部儲存器寫入數(shù)據(jù).當(dāng)256個字節(jié)寫入完成之后,會將狀態(tài)設(shè)置為IDLE_STATE=IDLE,F(xiàn)LASH_STATE=WRITE_IDLE,以便開始下一次的循環(huán)寫入過程.與此同時,另外一塊緩沖區(qū)也處于工作狀態(tài),保證了在寫入SPIFlash的同時,采集數(shù)據(jù)處于正常工作狀態(tài)而無需等待.
6.當(dāng)按鍵處于抖動狀態(tài)時,系統(tǒng)會短暫進(jìn)入一個暫態(tài),并跳轉(zhuǎn)回原先狀態(tài).執(zhí)行跳轉(zhuǎn)前程序.
圖2 狀態(tài)機(jī)轉(zhuǎn)換圖Fig.2The transition diagram of state machine
2.3 測量儀的命令定義
數(shù)據(jù)在與上位機(jī)通信傳輸?shù)耐瑫r,數(shù)據(jù)采集設(shè)備也會遵循一定的傳輸約定.上位機(jī)會首先發(fā)送特定的數(shù)據(jù)命令包.當(dāng)采集端設(shè)備接收到數(shù)據(jù)包后,會對數(shù)據(jù)包進(jìn)行數(shù)據(jù)解析,判斷數(shù)據(jù)包的類型,進(jìn)而采集端會進(jìn)行相關(guān)的反饋.上位機(jī)請求數(shù)據(jù)包的數(shù)據(jù)頭部為0x55、0xAA兩個字節(jié)作為開始,數(shù)據(jù)尾部以0xFF、0x0D、0x0A作為結(jié)束,第三個字節(jié)作為相關(guān)的命令編號,第4~7個字節(jié)的數(shù)據(jù)內(nèi)容根據(jù)相關(guān)的命令編號(第3個字節(jié)內(nèi)容)而確定.收集到的數(shù)據(jù)會放在一個相應(yīng)的Buffer中,會通知數(shù)據(jù)解析程序可以對請求數(shù)據(jù)包進(jìn)行解析.具體命令及數(shù)據(jù)內(nèi)容細(xì)節(jié)如下所示:
0xAA:第三個字節(jié)命令編號為0xAA時,第4~7個字節(jié)無特定意義,默認(rèn)發(fā)送0xFFFFFFFF采集系統(tǒng)接收該條指令后,會擦除SPIFlash中數(shù)據(jù),用以記錄下一次實(shí)驗(yàn).在擦除Flash之前,會將位于CPU內(nèi)部的Flash地址為0X0800F000的單個頁清除掉,該頁的前兩個字節(jié)被系統(tǒng)定義用以記錄已使用的SPIFlash的頁面數(shù).
0xAB:第三個字節(jié)命令編號為0xAB時,第4~7個字節(jié)無特定意義,默認(rèn)發(fā)送0xFFFFFFFF采集系統(tǒng)接收該條指令后,會讀取位于CPU內(nèi)部的Flash地址為0X0800F000前兩個字節(jié),該頁面的前兩個字節(jié)被系統(tǒng)定義用以記錄已使用的SPIFlash的頁面數(shù).得到CPU外部的SPIFlash中頁面的使用數(shù),開始向PC端發(fā)送數(shù)據(jù)包.直到發(fā)送完畢為止.
0XAC:第三個字節(jié)命令編號為0xAC時,首先CPU會讀取SPIFlash中的四字節(jié)產(chǎn)品編號,將產(chǎn)品編號寫到第4~7個字節(jié)中,用以測試SPIFlash.
0XAD:第三個字節(jié)命令編號為0xAD時,代表修改當(dāng)前RTC時間,在二位機(jī)首先會彈出一個修改時間的窗口,將數(shù)據(jù)輸入后,會將當(dāng)前時間組成一個4字節(jié)的RTC秒數(shù).將該四個字節(jié)秒數(shù)寫入第4~7個字節(jié)中,即可達(dá)到修改時間的目的.數(shù)據(jù)命令包及其傳輸數(shù)據(jù)結(jié)構(gòu)分析如圖3和圖4所示.
圖3 數(shù)據(jù)命令包分析Fig.3Analysis of data command package
圖4 傳輸數(shù)據(jù)包結(jié)構(gòu)分析Fig.4Analysis of tranmission data package
2.4 數(shù)據(jù)包的設(shè)計及具體細(xì)節(jié)分析
數(shù)據(jù)包由256個字節(jié)組成,具體可分為兩個部分.第一部分由4字節(jié)RTC實(shí)時時鐘組成,第二部分由7個36字節(jié)的數(shù)據(jù)段組成.每個數(shù)據(jù)段具有相同的格式,用以采集不同時間段的數(shù)據(jù).36字節(jié)的數(shù)據(jù)幀含四個不同的時間片,系統(tǒng)需要采集時間片1~4的重力加速度,其中時間片1~3采集6字節(jié)重力過載.時間片4采集18字節(jié)數(shù)據(jù),包括6字節(jié)重力過載、6字節(jié)姿態(tài)以及6字節(jié)應(yīng)力形變.
所測量到上位機(jī)數(shù)據(jù)糅合算法采用捷聯(lián)慣導(dǎo)系統(tǒng)進(jìn)行處理,該重裝空投測量系統(tǒng)通過測量載體在慣性參考系的重力加速度和角加速度,利用測量到的數(shù)據(jù)以時間為參考系進(jìn)行積分,將積分后的數(shù)據(jù)變換為導(dǎo)航坐標(biāo)系,即可得到在導(dǎo)航坐標(biāo)系中的速度、偏航角和位置信息.通過采點(diǎn)繪圖將用戶所需要的信息完整的表現(xiàn)于用戶端上.
起始狀態(tài)的姿態(tài)可以由三軸加速度計來進(jìn)行提供,公式如下:
其中P(x)、P(y)、P(z)分別為載物在靜止時相對于x、y、z的姿態(tài)角度,由于開機(jī)系統(tǒng)處于靜止?fàn)顟B(tài),系統(tǒng)可以根據(jù)重力加速度計算出靜止時的角度,用以進(jìn)行載物下降過程中的姿態(tài)積分.
采集系統(tǒng)將采集到的重力加速度及三軸角加速度采集上傳至PC端后,PC會對采集到的數(shù)據(jù)進(jìn)行數(shù)據(jù)糅合,廣義公式為:
離散處理方式為
系數(shù)將會不斷的進(jìn)行積分,將會產(chǎn)生誤差,產(chǎn)生的誤差將由系統(tǒng)加速度來進(jìn)行糾正.
在測試實(shí)驗(yàn)中,采用飛機(jī)空投物件的方式進(jìn)行測試實(shí)驗(yàn).在空投的過程中測量儀會記錄下空投物件的在空投過程中的所產(chǎn)生的數(shù)據(jù).在完成相應(yīng)空投測試后,會將測量儀與上位機(jī)通訊接口對接,用于進(jìn)行數(shù)據(jù)通訊、數(shù)據(jù)分析.具體分析及處理軟件如圖5和圖6所示.
圖5 實(shí)際測量曲線圖Fig.5Curve of survey
圖6 處理軟件Fig.6Processing software
在實(shí)際測量過程中,黑線代表X軸過載(上方部分),紅線代表Y軸過載(中間部分),黃線代表Z過載(底部部分),由圖5所示在在下降過程中,測量儀分別會對X軸,Y軸,Z軸的的測量數(shù)據(jù)進(jìn)行儲存.可以看到在時間軸1.25 s時產(chǎn)生了一個較為明顯的波動.通過對測量過程中圖表和最大最小值的分析,可以得到物件在下落過程中的過載、姿態(tài)、壓力等細(xì)節(jié),同時,系統(tǒng)在設(shè)計時,與某兵工廠之前所開發(fā)的上一代空投產(chǎn)品相比較,得到的結(jié)果較為滿意,設(shè)備性能參數(shù)的對比如表1所示.
表1 設(shè)備性能參數(shù)Table.1The performance of device parameters
首先,由于更換了全新的高速率主控MCU,因此新的系統(tǒng)設(shè)計采集數(shù)據(jù)速度相較于原有設(shè)計具有較大提升;其次,系統(tǒng)采用3個獨(dú)立12-Bit數(shù)模轉(zhuǎn)換器對數(shù)據(jù)進(jìn)行相應(yīng)采集,用以代替原有系統(tǒng)分時復(fù)用采集方式,提高了數(shù)模轉(zhuǎn)換器數(shù)據(jù)采集的可靠性,三個獨(dú)立數(shù)模轉(zhuǎn)換器同時工作,也加快了系統(tǒng)數(shù)據(jù)的采集速度.最后,原有的系統(tǒng)設(shè)計僅僅只能對三軸重力過載進(jìn)行相應(yīng)采集分析,新的系統(tǒng)設(shè)計引入了三軸應(yīng)變及姿態(tài)分析,提高了系統(tǒng)的適應(yīng)性和競爭力.因此,通過上表比較,可以得出本系統(tǒng)相較于原先系統(tǒng)在性能上具有更好的寧投性能和穩(wěn)定性的結(jié)論.
致謝
感謝國家自然科學(xué)基金委員會及湖北省自然科學(xué)基金資金資助.
[1]孫時珍,黃清龍,黃建龍.便攜式空投信標(biāo)的研制[J].聲學(xué)與電子工程,2010(4):37-39.
Sun Shizhen,Huang Qinglong,Huang Jianlong.The design of portable airdrop Beacon[J],Acoustics and Electronics Engineering,2010(4):37-39.(in Chinese)
[2]陶友龍,趙安璞,陳海波.基于ARM Cortex-M3核的SoC架構(gòu)設(shè)計及性能分析[J].電子技術(shù)應(yīng)用,2012,38(8):53-55.
Tao Youlong,Zhao Anpu,Chen Haibo.Design and performance analysis of SoC architecture based on ARM Cortex-M3[J].Application of Electronic Technique,2012,38(8):53-55.(in Chinese)
[3]STM32F10xxx參考手冊[R].北京:意法半導(dǎo)體(中國)投資有限公司,2010.STM32F10xxx Reference manual[R].Beijing:STMicroelectronics(China).Limited.2010(in Chinese)
[4]張旭,亓學(xué)廣,李世光.基于STM32電力數(shù)據(jù)采集系統(tǒng)的設(shè)計[J].電子測量技術(shù)2010.33(11):90-93.
Zhang Xu,Qi Xueguang,Li Shiguang.Desgin of electric power data acquisition system base on STM32[J].ElectronicMeasurementTechnology,2010,33(11):90-93.(in Chinese)
[5]龔奕利,雷迎春.深入理解計算機(jī)系統(tǒng)[M].北京:機(jī)械工業(yè)出版社,2010.
Gong Yili,Lei Yingchun.Computer systems:a programmer's perspective[M].Beijin:China Machine Press, 2010.(in Chinese).
Novel design of heavy cargo airdrop acquisition and analytic system
ZOU Lian-ying,WANG Qiu-shi,WANG Li-h(huán)eng,YU Shang-ren
School of Electrical and Information Engineering,Wuhan Institute of Technology,Wuhan 430205,China
A novel heavy cargo airdrop acquisition and analytic system was implemented.The main control chip is a highly integrated Cortex-M3 Processor.The data of gravitational acceleration,triaxial angular velocity and strain were collected in real-time and stored in Flash memory.After the acquisition,PC terminal analyzed these data through the serial port.The changes of gravitational acceleration,triaxial angular velocity and strain during landing were displayed in graphic.In this system,data acquisition equipment and data processing equipment were separated to obtain high accuracy and real-time data acquisition.Field experiment proves that this system shows higher accurate and real-time performance.
heavy cargo airdrop;gravitational acceleration;triaxial angular velocity;strain;posture
V248.2
A
10.3969/j.issn.1674-2869.2015.01.006
本文編輯:陳小平
1674-2869(2015)01-0025-05
2014-12-17
國家自然科學(xué)基金(61271363);湖北省自然科學(xué)基金(2012FFB04711)
鄒連英(1977-),女,湖北黃岡人,副教授,博士.研究方向:數(shù)字邏輯設(shè)計、嵌入式底層驅(qū)動設(shè)計.