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