牛婉琳 劉磊 甄國涌 焦新泉 李輝景 宋坤濤



摘要:為解決測試系統中彈內空間狹小、無法同時容納多套傳統數據采集系統的問題.設計基于AD7173的多通道數據采集高速存儲系統,實現對多傳感器(四軸MEMS加速度計、四軸MEMS陀螺儀、三軸地磁傳感器和溫度傳感器)的高精度采集存儲。選用∑一△型高精度模數轉換芯片AD7173實現對多路傳感器信號的模數轉換;在轉換時實時監測數據的準確性,并通過芯片的RDY引腳作為STM32外部中斷來判斷是否轉換完成,以此來實現高精度的數據采集,并通過流水線設計實現數據的高速存儲。試驗結果表明:輸入角速率與敏感角速率誤差控制在±0.0017°/s以內。對多個傳感器的采集驗證表明該數據采集高速存儲系統能夠實現對多通道信息的高精度采集存儲,具有一定的工程應用價值。
關鍵詞:高精度數據采集;高速數據存儲;多通道;MEMS傳感器
0引言
在國外,因為數據采集存儲系統研發較早,所以在技術方面占據領先優勢,如美國DT公司、法國ETEP公司以及奧地利DEWESOFT公司等。ETEP公司的產品主要優勢是可在惡劣的環境下穩定運行,其中S800屬于較經典一款,其數據傳輸速率最高可達800MB/s,支持存儲器最大容量為8TB,傳輸媒介支持多樣化,比如USB、光纖電纜、CAN等。DEWESOFT公司新一代數據采集系統不僅配備具有隔離作用的輸入放大器,而且還實現160 dB的超高動態范圍,可達每通道200 kHz的采樣率,同步智能實時計數器。
我國相比較國外的研發水平有一定的差距,這是由于研發與設計起步較晚。但經過多年的努力,我國也出現一些有競爭力的單位,比如中北大學、北京阿爾泰科技發展有限公司等。中北大學在國內數據采集存儲方面所研制的產品主要面向航天、航海及軍事領域,最典型的案例就是輔助我國成功完成天宮二號的發射,并且能夠完整地獲取相關數據參數,為我國載人航天工程做出貢獻。
目前我國大多數常規炮彈采用微慣性測量系統進行慣性制導與控制,炮彈在發射到落地的過程中其滾轉軸轉速和加速度的變化量較大,若采用單一量程傳感器,會導致測量精度降低,所以采用冗余設計來解決此問題。由于傳感器數量的增加且彈內空間狹小,傳統的數據采集記錄系統難以實現多通道的數據采集,本系統設計的基于AD7173的多通道數據采集存儲系統最大可以實現對十六通道信息的高精度實時采集存儲,通過回收固態存儲器中的數據,可以分析飛行過程中記錄的各項指標性能。
1系統硬件設計
本系統主要實現對多路模擬信號的高精度采集存儲,STM32單片機控制高精度模數轉換芯片AD7173,將經過信號調理后的傳感器輸出模擬信號進行采樣、量化,然后將數據在單片機內部進行編幀和緩存,最后再控制將數據存儲到大容量的固態存儲器Hash中。系統硬件設計框圖如圖1所示,由電源模塊、信號調理模塊、模數轉換模塊、存儲模塊和控制模塊組成。
系統由電源模塊供電,電源輸出的可靠性和精度會直接影響到整個系統的性能指標。考慮到機載和彈載的特殊應用環境,本設計選用質量輕、能量密度高的鋰電池作為系統的外部供電電源,系統內部選用REGl04-5為信號調理和模數轉換模塊供電,選用AMS1117-3.3為單片機和Flash存儲模塊供電。
信號調理電路的作用主要是對待測信號進行放大、濾波等操作轉換成為采集設備能夠識別的標準信號。
模數轉換芯片的轉換精度決定了數據采集系統采樣精度,本數據采集系統的模數轉換芯片選用低功耗、高精度、快速建立的24位∑-A型模數轉換芯片AD7173。該芯片采用三線SPI通信方式,地址、命令、數據線共用一個SPI接口,在很大程度上減少了I/O口的使用量:其內部集成數字濾波器可產生2.5 v參考電壓,降低了外圍電路的復雜程度。
存儲模塊用于存機載和彈載測試系統輸出的傳感器原始數據,以便飛行試驗后對系統回收后進行數據的回讀、解算和分析。因飛行器飛行時間相對較短、動態性高,所以需要進行短時、快速的數據存儲。
控制模塊采用基于Contex-M4架構的32位STM32F405RGT6型微控單元,其主頻可達168 MHz,讓數據的快速傳輸和存儲成為可能。其主要功能為對模數轉換的控制,數據的編幀、傳輸和存儲等。
2系統軟件設計
系統以STM32為主控單元,通過SPI串口控制模數轉換模塊對傳感器輸出的模擬信號進行采樣、保持并判斷模數轉換模塊是否轉換完成,然后通過對轉換完成后的數字信號進行編幀并存儲于Flash中。系統的程序流程框圖如圖2所示。
2.1 A/D采集
AD7173采用SPI接口進行數字通信,工作模式為SPI模式3:通過配置ADCMODE、IFMODE等寄存器使芯片工作在連續轉換模式和非連續讀取模式并在24位數據前附加讀取時的狀態信息(ADC和串行接口的狀態信息),以便實時檢測數據的正確性。在連續轉換模式下,通過RDY引腳作為STM32外部中斷來判斷是否轉換完成,轉換完成后控制模數將數據通過SPI傳輸給STM32進行編幀、緩存。
2.2數據緩存
本系統采用的AD7173最高采樣率為31250S/s,每通道數據為4B,本數據采集系統中的Flash采用頁編程,每頁的最短編程時間為200μs,在頁編程期間會產生25 B左右的數據,為了保證數據的完整性,故采用循環數組的方式來緩存數據。
循環數組實現方式為:設指針兩個變量分別指示隊列頭元素和尾元素,初始化時,令隊列頭元素和尾元素等于0。當有新數據寫入隊列尾時,尾元素加1;當讀出數據時,頭元素加1;當頭元素或者尾元素為最大隊列數時,將其置0,以實現數據的循環緩存。
2.3Flash高速存儲
高速存儲常用方法為多片NAND Flash構建存儲陣列。在存儲陣列基礎上,流水線設計為常用高速存儲技術之一。流水線操作原理如圖3所示。
由圖3可知,加載完第1片Flash數據后,進入busy狀態,然后把數據送入第2片Flash;加載完第2片Flash數據后,再把數據送人下一片Flash;同理,加載完第Ⅳ片Flash數據后,第Ⅳ片進入busy狀態,此時已完成第1片Flash數據的加載,進入readv狀態,可以進行數據加載,再次將數據送入第1片Flash。通過循環上述操作可完成高速數據的持續存儲。
Hash存儲芯片數據加載時間為164.13μs,頁編程時間560 μs,至少需要5片才能滿足以上流水線操作。因為第1片數據加載完之后的4片數據加載時間為164.13 μsx4=656.52μs,正好大于第1片頁編程時間,能夠滿足流水線操作。每個存儲芯片內部有兩個target,相當于兩片Hash,因此本設計選用3個Flash芯片完成流水線操作。理想狀態時(不考慮無效塊識別、地址操作、以及每個Flash之間切換),這3個Flash芯片(6片Flash)可達到8 KB+164.13μs=47.599 MB/s存儲速度,實現數據的高速存儲。
3系統驗證
本數據采集系統的主要功能是對多路模擬信號的高精度采集與傳輸,采用靜態測試和動態測試來驗證本數據采集系統是否可靠可行。
3.1靜態測試
利用本數據采集系統以31 250S/s的采樣率對多個干電池進行電壓采集,讀出Hash中的數據,利用上位機進行數據分離,將3 B的原始數據轉化為十進制記為x,AD7173輸出電壓的模擬量u與數字量x的對應關系為
根據式(1),利用Matlab將其中一個通道采集到的數據轉化為電壓值,并繪出相應的關系如圖4所示,噪聲0.1 mV左右。經測試,本采集系統采集到的數據正確有效,無錯幀、丟幀現象。
3.2動態測試
利用本數據采集系統對某慣性組合傳感器(三軸陀螺、三軸加速度計、三軸地磁傳感器、一軸高過載傳感器)進行采集,其中三軸MEMS陀螺(±75°/s)在9組不同轉速的組態下(-75°/s,-50°/s,-30°/s,-10°/s,0°/s,10°/s,30°/s,50°/s,75°/s)進行采集,每個組態穩定20 s。用Matlab對數據采集系統輸出的原始數據進行分離,MEMS陀螺的輸出電壓與敏感角速率大小之間的關系,即MEMS陀螺的一階模型為
由式(2)可以將陀螺輸出的電壓值轉換為其敏感角速率的大小,并將其與三軸轉臺外框的實際轉動角速率進行對比,結果如表1所示,誤差控制在±0.0017°/s以內。經測試,本采集系統能夠實現多路傳感器信息的高精度采集。
4結束語
本數據采集系統采用AD7173與STM32F405RGT6完成對數據的采集處理,實現了數據的多通道、高精度采集,能夠實時存儲采集到的數據,而且系統外圍電路簡單,程序可移植性高,系統功能擴展容易。經試驗證,系統穩定可靠,能夠滿足一般的工程性應用要求。