張旭旭1,2,尹達一1
(1.中國科學院上海技術物理研究所,上海200083;2.中國科學院大學,北京 100039)
摘要:隨著航天遙感器的工作狀態監測要求越來越高,對系統的多電壓監測日益重要。設計了一種隔離集成式監測系統,考慮到航天遙感器對體積重量的要求,對硬件進行了小型化設計。詳細介紹了其系統組成、主要功能、硬件設計、固件設計與上位機設計。經過測試,證明該設計能夠實現多路不同電壓條件下的狀態隔離,為今后航天遙感器工作狀態監測提供了一種可行的集成小型化方案選擇。
關鍵詞:多路電壓監測;隔離;MAX14921;USB HID
0引言
隨著我國嫦娥探月衛星、北斗衛星、風云衛星等的成功發射,對航天遙感器的工作狀態的監測要求越來越高。以衛星為代表的航天飛行器的功能與結構愈發復雜,基于狀態監測數據分析的故障監測與健康管理技術成為保障衛星系統可靠性和運行穩定性的關鍵技術[1]。如何對航天遙感器工作狀態進行實時監測,特別是工作電壓的監測,成為系統監控的重要依據。然而,隨著航天遙感器的功能越來越復雜,需要監測的電壓也隨之增加;航天遙感器空間有限,對監測電路體積和重量也有很高要求。本文根據這一需求,提出了一種針對航天遙感器的多路電壓隔離集成式實現方法。
1系統組成
1.1關鍵器件選型
監測方案的設計既要滿足當前系統的需要,也要能夠對后續設備進行擴展。目前,很多國外公司針對電壓監測都提供了相應的解決方案。
MAX14921芯片是Maxim公司針對電壓監測提供的一種解決方案。MAX14921電壓測量模擬前端(AFE)器件用于高精度采樣電壓,并提供電平轉換,可支持多達16路/+65 V(最大)的主/輔電壓組。兩款器件均同時采樣所有電壓,允許高精度確定充電狀態和源阻抗。將所有電壓以單位增益轉換成以地為基準的電壓信號,簡化外部ADC的數據轉換。器件具有低噪聲、低失調放大器,可緩沖高達+5 V的差分電壓,電壓誤差為±0.5 mV[2]。
LTC6803是Linear公司的電壓監視芯片,它內置1個12位ADC、1個精準電壓基準。每個LTC6803能夠在輸入共模電壓高達60 V的情況下測量多達l2個串接電壓,可用13 ms完成一個系統中所有電壓的測量,最大總測量誤差為0.25%[34]。
以上兩種方案均采用SPI接口進行配置,因而理論上可以基于SPI接口進行DaisyChained 形式的多級擴展,可以擴展到128路電壓甚至更多,是一種靈活性比較高的監測方式。本文以Maxim公司的MAX14921進行了方案設計并進行了驗證。
1.2集成化設計
電壓監測系統基于STM32F101設計,利用其豐富的外設接口,可以通過LED或者上位機對多路電壓進行監測。STM32F101芯片使用ARM先進架構的Cortex—M3內核,CPU頻率可達72 MHz,支持USB接口、SPI接口、I2C接口、UART接口等[5]。硬件系統結構圖如圖1。
MAX14921的引腳VC16~VC0以串聯的方式連接各路電壓,整個串聯電路總電壓不超過65 V,且VP引腳必須連接串聯電壓的VC16,否則MAX14921無法正常檢測電壓值。MAX14921與STM32F101之間通過SPI進行通信。16路電壓按照STM32F101下發的指令,依次讀出每一路的電壓,傳遞給AD轉換單元。AD轉換芯片采用Maxim公司的MAX11163芯片,MAX11163采樣到電壓值以后,將電壓值以數字的形式通過SPI接口發送給STM32F101。基準電壓芯片為MAX11163提供AD轉換的基準電壓,這里選用MAX6126作為基準電壓源。MAX6126芯片有多種類型可供選擇,可根據監測電壓的范圍進行選取,常見的如2.048 V和4.096 V等。STM32F101和上位機之間的通信采用USB接口,實現在任意PC上即插即用的監測。由于電壓的數據量不大,采用USB HID完全滿足傳輸要求。此外,為了能實時顯示監測電壓值,系統選取0.96英寸的OLED對電壓進行顯示,OLED通過I2C接口與STM32F101通信。
1.3隔離方式
電路隔離的主要目的是通過隔離元器件把噪聲干擾的路徑切斷,從而達到抑制噪聲干擾的效果。常見的電路隔離主要有模擬電路的隔離、數字電路的隔離、數字電路與模擬電路之間的隔離。本文采用數模隔離的方式,保證被監測電壓和信號采集處于不同的回路。由于MAX14921和MAX11163的電平標準為5 V,而STM32F101的電平標準為3.3 V,二者進行SPI通信必須通過電平轉換。為此,在電平轉換這一級將模擬地與數字地進行嚴格分割。通過這種方式,能有效地抑制電源噪聲對被監測電壓的影響,提高檢測精度。
2軟件設計
基于ARM的嵌入式系統軟件設計主要包含兩部分,下位機固件完成系統的接口驅動以及與上位機之間的通信,上位機軟件實現PC端USB數據的讀寫與顯示功能。
2.1固件設計
固件采用ST公司為STM32系列提供的標準函數庫與USB HID庫進行開發。利用標準函數庫來實現定時器、中斷響應、SPI通信、I2C通信等功能。多路電壓的采集主要包括通過SPI接口對MAX14921進行配置,以及讀取MAX11163的數字電壓值。啟動采集的流程為:
(1)使能SAMPL,設置采樣計數器(最少保證4 ms的采樣時間);
(2)采樣計數完成,關閉SAMPL;
(3)等待電平轉換完成;
(4)選取需要讀取的各路電壓,發送讀取指令;
(5)等待AOUT轉換完成(最少保證10 μs轉換時間)。
AOUT轉換完成以后,其電壓出現在MAX11163的輸入端,即可進行AD轉換。讀取ADC電壓的流程為:
(1)將片選信號CNVST拉低,啟動ADC轉換;
(2)等待轉換完成(最少保證3 μs的轉換時間,否則轉換無效);
(3)讀取MAX11163的電壓值,將片選信號CNVST拉低,停止轉換。
此外,MAX14921還支持寄生誤差電壓的讀取、開路檢測等功能,只需要發送相應的指令即可獲取,此處省略。
USB HID的實現采用標準庫,主要包含初始化、對主機請求的響應以及二者之間的通信。初始化包括USB端口的配置、上電檢測、時鐘配置、中斷配置等。對主機的請求包括響應主機要求的設備描述符、配置描述符、報告描述符、產品描述符、序列號等。而與主機之間的通信則由中斷響應來完成數據的收發。
固件程序的整體流程圖如圖2。
2.2上位機軟件設計
基于USB HID協議的上位機軟件在VC2010環境下開發完成。MFC程序界面負責電壓數據的獲取以及用戶指令的執行,實現單次采集和多次采集等功能。程序的核心為USB HID協議的開發,利用微軟公司DDK開發包即可完成相關功能。用到的函數主要有:CreateFile 用于打開設備; ReadFile 、 HidD_GetFeature 、 HidD_GetInputReport 用于設備到主機方向的數據通信; WriteFile 、HidD_SetFeature 、 HidD_SetOutputReport 用于主機到設備方向的數據通信。
3試驗結果及分析
根據設計方案,采用USB上位機軟件對電壓數據進行采集驗證,OLED顯示此處忽略。這里通過直流電源提供測試電壓,然后利用分壓電阻對其進行分壓供給各個采集端。測試結果如圖3所示。數據分析結果如表1所示。
對圖3的單次采集結果求取均方差可以發現,各個測試通道之間的均方誤差為9.2 mV,誤差較小,證明各測量通道之間具有較好的電壓隔離。
4結束語
本文采用MAX14921設計了一種多路電壓監測系統,最少可以監測16路設備電壓,可以進行實時顯示以及通過USB傳輸給上位機。采用集成化設計,減少了其體積和重量,整個電路只有5 cm×5 cm;采用隔離式設計提高了抗干擾能力,能夠實現不同電壓的多路狀態監測,為今后航天遙感器的工作狀態的監測提供了一種方案。
參考文獻
[1] 汪浩淼. 衛星在線狀態監測模塊研制[D].哈爾濱:哈爾濱工業大學,2014.
[2] Maxim Integrated. MAX14920/MAX14921 HighAccuracy 12/16Cell Measurement AFEs[EB/OL].[2016-05-05].https://datasheets.maximintegrated.com/en/ds/MAX14920MAX14921.pdf.
[3] Linear Technology. LTC6803 1/LTC6803 3 Multi cell Battery Stack Monitor[EB/OL].[2016-05-05]http://cds.linear.com/docs/en/datasheet/680313fa.pdf.
[4] 聶巍,丁玉峰,余峰. 基于ARM 的鋰電池監測系統設計[J]. 船電技術,2015,35(10): 70-73.
[5] STMicroelectronics. Mediumdensity access line, ARM based 32bit MCU with 64 or 128 KB Flash, 6 timers, ADC and 7 communication interfaces[EB/OL].(2015-06-xx)[2016-05-05].http://www.st.com/st web ui/static/active/en/resource/technical/document/datasheet/CD00161561.pdf.