摘 要:數(shù)據(jù)采集是實時控制系統(tǒng)的關(guān)鍵,通過以高速采集三軸激光陀螺和加速度計傳感器數(shù)據(jù),并快速處理、傳輸,詳細(xì)介紹多CPU協(xié)同工作,利用雙口RAM數(shù)據(jù)交換,F(xiàn)PGA可編程技術(shù),從而實現(xiàn)高速實時系統(tǒng)數(shù)據(jù)采集與傳輸?shù)姆椒?,滿足捷聯(lián)慣性導(dǎo)航系統(tǒng)中姿態(tài)和定位更新頻率高達(dá)200Hz~1000Hz,能夠有效提高載體的姿態(tài)跟蹤。
關(guān)鍵詞:數(shù)據(jù)采集;雙口RAM;FPGA;捷聯(lián)慣性導(dǎo)航系統(tǒng);傳感器
近年來電子技術(shù)發(fā)展迅猛,數(shù)據(jù)采集和傳輸對高速實時系統(tǒng)[1]尤為重要,如何提高對傳感器數(shù)據(jù)快速采樣、快速解算、快速傳輸?shù)忍岢隽烁咭?,多CPU并行工作尤為重要,但相互之間的數(shù)據(jù)采集、傳輸如何解決,一直困擾著工程技術(shù)人員。為了解決這一困惑,選擇高性能DSP+FPGA+雙口RAM[2]技術(shù),實現(xiàn)高速實時捷聯(lián)慣性導(dǎo)航系統(tǒng)[3]。
1 高性能DSP選取
DSP(Digital Signal Processing)即數(shù)字信號處理[4],與其他處理器相比,它是以數(shù)字信號來處理信息的器件,具有獨特性。在捷聯(lián)慣性導(dǎo)航中,三個陀螺儀和三個加速計是系統(tǒng)的核心部件。如何選取高性能適用的DSP,實現(xiàn)對這6個傳感器的高速采樣、計算、信息輸出呢?
數(shù)據(jù)采集選用DSP數(shù)字信號處理,兼顧單精度浮點運算,接口豐富,使用方便,選用支持32位浮點運算DSP28335。DSP28335速率速度可達(dá)150MHz,有兩個可設(shè)CAN口、3個UART口,2個SPI口(其中一個I2C),12位ADC,3個32位定時器等,可以滿足三個陀螺儀、三個加速度計和其他信號的采集,而且數(shù)據(jù)輸入、輸出接口較多,有利于數(shù)據(jù)輸出到監(jiān)控平臺,也可接入慣性組合導(dǎo)航系統(tǒng)中其他設(shè)備。
高速實時導(dǎo)航解算選用性能優(yōu)越的DSP6747,DSP6747頻率為300MHz,支持雙精度浮點運算,2個UART口,F(xiàn)LASH容量512MB。由于捷聯(lián)慣性導(dǎo)航系統(tǒng)姿態(tài)解算、卡爾曼濾波、組合導(dǎo)航等運算量大,而且要滿足雙精度浮點運算,對CPU的頻率要求特別高,ARM系列芯片主要以軟浮點為主,滿足不了要求。采用PC104工控板,運行頻率在300M以上,可基本滿足計算要求,但數(shù)據(jù)輸入輸出只能通過RS232串口或CAN口,傳輸速率太慢,延遲至少超過10ms。因此,選用DSP6747可以滿足復(fù)雜浮點運算和大容量程序裝載,數(shù)據(jù)傳輸和交換采用雙口RAM,構(gòu)建滿足捷聯(lián)慣性導(dǎo)航系統(tǒng)的運算平臺。
2 數(shù)據(jù)采集
數(shù)據(jù)采集是高速實時系統(tǒng)的關(guān)鍵環(huán)節(jié),直接影響系統(tǒng)輸出是否能真實反應(yīng)載體或者設(shè)定系統(tǒng)的運動狀態(tài)。一般數(shù)據(jù)采集涉及傳感器較少,實時性要求不高,直接采用A/D模數(shù)轉(zhuǎn)換即可實現(xiàn)數(shù)據(jù)采集。不過,對于復(fù)雜的慣性導(dǎo)航系統(tǒng),既要考慮6個傳感器的數(shù)據(jù)采集,還要保證同一時間點讀取數(shù)據(jù),選用模數(shù)轉(zhuǎn)換器既要考慮多通道,而且要考慮轉(zhuǎn)換頻率和精度。AD7608是內(nèi)置18位、8通道雙極性同步采樣頻率高達(dá)200KSPS模數(shù)轉(zhuǎn)換。選擇DSP28335作為信號處理CPU,通過AD7608可以實現(xiàn)三個陀螺儀和三個加速度計的直接數(shù)據(jù)采樣,另外兩個通道對實時采樣要求不高,通過邏輯開關(guān)選通滿足溫度傳感器和其他數(shù)據(jù)采樣,過采樣位解碼OS[2:0]選擇為010,采樣速率達(dá)50KHz,而且穩(wěn)定可靠。
DSP28335支持單精度浮點運算,而且有豐富的外圍接口。通過軟件設(shè)置DSP28335定時器、輸入輸出口、中斷觸發(fā)方式(電平觸發(fā)或邊沿觸發(fā))等,采樣周期設(shè)置為定時周期的偶數(shù)倍,以便設(shè)置引腳高低電平,引發(fā)指定周期周期性中斷。數(shù)據(jù)采樣設(shè)置在中斷服務(wù)程序中,一次中斷響應(yīng)同時讀取三個陀螺儀和三個加速度計傳感器數(shù)據(jù),保證傳感器數(shù)據(jù)采集的實時性和同步性,以便實時響應(yīng)和敏感載體的運動姿態(tài)。捷聯(lián)慣性導(dǎo)航系統(tǒng)加速度計數(shù)據(jù)的采集頻率很高[5],要保證采樣數(shù)據(jù)不丟失跟蹤狀態(tài),采用硬件電路積分;陀螺儀數(shù)據(jù)采用敏感角速度脈沖通過FPGA求和,采樣周期均為2000Hz;數(shù)據(jù)采集后,經(jīng)過溫度補(bǔ)償和量綱轉(zhuǎn)換,以及一定浮點運算后,通過雙口RAM與DSP6747實時高速數(shù)據(jù)交換,其周期與采樣周期一致。數(shù)據(jù)讀取采用并行獨立模式,數(shù)據(jù)采樣按照所有通道同步采樣。
3 FPGA選取和應(yīng)用
FPGA(Field-Programmable Gate Array)現(xiàn)場可編程門陣列,是在PAL、GAL等邏輯器件的基礎(chǔ)上發(fā)展起來的,規(guī)模更大,可以實現(xiàn)任何的數(shù)字功能器件,具有設(shè)計靈活、用戶定制、保密性強(qiáng)、功能密集度、容量大等優(yōu)點,適合于實現(xiàn)數(shù)據(jù)密集型的系統(tǒng)。FPGA可編程方式縮短了工程技術(shù)人員設(shè)計硬件邏輯電路的周期,而且提供比PLD和EPLD器件足夠大的有效邏輯容量密度,大量減少硬件電路板邏輯電路布線,并且可以反復(fù)編程,重復(fù)使用,還不容易被別人復(fù)制。
捷聯(lián)慣性導(dǎo)航系統(tǒng)要求系統(tǒng)小型化,控制電路較多,而且比較復(fù)雜,還要考慮組合導(dǎo)航系統(tǒng)輔助設(shè)備GPS或北斗、里程計、高度計等,選用FPGA型號A3P250,可以大量減少邏輯電路,將系統(tǒng)需要保密和控制核心部分通過FPGA固化到內(nèi)部,同時該型號支持4個I/O組,可提供157個I/O接口,1024位可配置非揮發(fā)性Flash內(nèi)存和6個時鐘,其中一個帶有PLL機(jī)載鎖相環(huán),待機(jī)功耗低于3mA,并配有128位AES加密和內(nèi)置加密存儲Flash。實時數(shù)據(jù)采集系統(tǒng)使用該技術(shù)優(yōu)勢,通過DSP28335定時器引發(fā)中斷,中斷信號連接到FPGA引腳,從而保持兩邊時鐘同步。為了保持?jǐn)?shù)據(jù)采樣時間的一致性,在同一周期內(nèi)需同時讀取捷聯(lián)慣性導(dǎo)航系統(tǒng)三個陀螺儀和三個角速度計的值。其采樣周期達(dá)2000Hz,待數(shù)據(jù)處理完畢后,通過電平轉(zhuǎn)換告知FPGA,從而引發(fā)中斷,通知DSP6747接收數(shù)據(jù),接收完畢后清除數(shù)據(jù)。數(shù)據(jù)從發(fā)送到接收不超過10ns,大大節(jié)省了CPU數(shù)據(jù)交換時間,提高了數(shù)據(jù)采集、處理、傳輸?shù)膶崟r性。
4 雙口RAM設(shè)計思想
雙口RAM設(shè)計需要完成在多個相同或不同CPU的數(shù)據(jù)共享,通過控制線、數(shù)據(jù)線和地址線訪問對方內(nèi)部RAM資源。雙口RAM能夠?qū)ν坏刂穯卧L問的時序控制;存儲單元數(shù)據(jù)塊的訪問權(quán)限分配:信令交換邏輯(例如中斷信號)等。目前,使用較多芯片有Actel公司的ProASIC3系列、Cypress公司CYxxxxxx系列、IDT公司IDTxxxxx系列等,以捷聯(lián)慣性導(dǎo)航系統(tǒng)采用A3P250芯片為例,實現(xiàn)雙口RAM數(shù)據(jù)交換。該系統(tǒng)信號采集和處理由DSP28335完成,航姿解算和組合導(dǎo)航由DSP6747完成,與用戶數(shù)據(jù)交互由專用時鐘同步模塊負(fù)責(zé)。三個獨立的分系統(tǒng)協(xié)同工作,保證從數(shù)據(jù)采集、處理、運算、輸出整個過程延遲不超過1ms,也就是說,數(shù)據(jù)更新頻率最高可達(dá)1000Hz,這樣可以有效跟蹤載體姿態(tài)。三個系統(tǒng)通過寫數(shù)據(jù),按照控制時序,引發(fā)中斷,通知對方讀取數(shù)據(jù),然后清除數(shù)據(jù)緩存的方式,從而實現(xiàn)數(shù)據(jù)交互,數(shù)據(jù)讀存時間小于5ns。如果采樣傳統(tǒng)方式RS232串口數(shù)據(jù)交換,以最高頻率115200bps計算,傳輸采樣數(shù)據(jù)50字節(jié)需要200ms;如果采用CAN傳輸,以最高頻率1M計算,最多能提高10倍,也需要20ms。如果在雙口RAM中讀/寫存取器時,既可以在指定的RAM讀取數(shù)據(jù),也可以可保存數(shù)據(jù),如果主動不清除數(shù)據(jù),只要電源存在,信息仍然保存。因此,采用雙口RAM設(shè)計,可以大大縮短數(shù)據(jù)交換時間,滿足高速實時系統(tǒng)要求。
5 實時采集系統(tǒng)與外部數(shù)據(jù)交換
目前,一般系統(tǒng)數(shù)據(jù)輸交換廣泛采用RS232串口、CAN總線接口,有的采用網(wǎng)絡(luò)、USB接口,如果需要高頻率輸出500Hz以上數(shù)據(jù),且不影響CPU解算周期,難度非常高。捷聯(lián)慣性導(dǎo)航系統(tǒng)與外部數(shù)據(jù)交換傳統(tǒng)方式,直接由導(dǎo)航計算機(jī)RS232串口或CAN總線接口輸入和輸出,導(dǎo)致大部分時間用于數(shù)據(jù)發(fā)送和接收,姿態(tài)和坐標(biāo)更新頻率非常低,甚至更新周期以秒級為單位,超過100ms都非常困難,而且導(dǎo)致計算與數(shù)據(jù)接收、輸出超出CPU單位周期內(nèi)得承載能力,很容易丟失數(shù)據(jù),造成系統(tǒng)數(shù)據(jù)不能反應(yīng)運動的真實狀態(tài)。因此,捷聯(lián)慣性導(dǎo)航系統(tǒng)與外部交換采用單獨CPU來完成,DSP6747上電啟動,等待信號處理器DSP28335周期性合法傳感器數(shù)據(jù),然后經(jīng)雙口RAM和FPGA,發(fā)送至另一數(shù)據(jù)交換處理器DSP28335,再DSP28335與外部控制端或操作計算機(jī)進(jìn)行指令和數(shù)據(jù)的交互。
6 結(jié)束語
文章采用高性能DSP+FPGA+雙口RAM技術(shù),探討了高速實時系統(tǒng)數(shù)據(jù)從采集、解算、傳輸?shù)纫惑w化過程,實現(xiàn)多CPU并行處理,數(shù)據(jù)通過雙口RAM共享,克服了實時系統(tǒng)因數(shù)據(jù)傳輸時間過長的瓶頸,為高速實時捷聯(lián)慣性導(dǎo)航系統(tǒng)數(shù)據(jù)采集和傳輸提供了解決方案,具有很強(qiáng)的適用性和參考價值。
參考文獻(xiàn)
[1]馬秀娟,考麗,趙國良.基于FPGA和DSP的高速數(shù)據(jù)采集實時處理系統(tǒng)的設(shè)計[J].電子器件,2007,3:1009-1013.
[2]秦鴻剛,劉京科,吳迪.基于FPGA的雙口RAM實現(xiàn)及應(yīng)用[J].電子設(shè)計工程,2010,2:72-74.
[3]秦鴻剛,劉京,科吳迪.激光陀螺捷聯(lián)慣性導(dǎo)航系統(tǒng)中慣性器件誤差補(bǔ)償技術(shù)[J].上海交通大學(xué)學(xué)報,2003,37(11).
[4]高源,羅秋鳳.基于DSP28335程序移植方法的研究與實現(xiàn)[J].電子測量技術(shù),2013,3:84-88.
[5]王成.慣導(dǎo)系統(tǒng)中加速度計的信號采集[J].現(xiàn)代電子技術(shù),2007,7:124-125.