| 研究生: |
黃得銓 Huang, Te-Chuan |
|---|---|
| 論文名稱: |
應用在立方衛星之可靠飛行軟體的實現和驗證 Implementation and Verification of Reliable Flight Software for CubeSats |
| 指導教授: |
莊智清
Juang, Jyh-Ching |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電機工程學系 Department of Electrical Engineering |
| 論文出版年: | 2016 |
| 畢業學年度: | 104 |
| 語文別: | 英文 |
| 論文頁數: | 100 |
| 中文關鍵詞: | 立方衛星 、資料處理 、飛行軟體 、可靠度 、軟體更新 、自我設置 |
| 外文關鍵詞: | CubeSat, On Board Data Handling, Flight Software, Reliability, Software Update, self-configurable |
| 相關次數: | 點閱:146 下載:13 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
由於太空產業和半導體技術的擴展,這幾年在產業界和學術間促進了一種名為立方衛星之特定類型的奈米衛星的發展。立方衛星之飛行軟體扮演了極重要的角色,它負責定期的次系統健康資料檢查、模組之間的資料傳輸、通訊橋梁的控制和有效率的操作程序。除此之外,飛行軟體還必須能夠接收地面站所上傳的命令,檢查並且根據指令解碼然後執行。所有上述的內容必須結合在一起才能讓各個次系統或各酬載發揮其功用。
然而,運行於立方衛星的科學任務需求趨於複雜,因此設計出一套可靠的飛行軟體便成為一個關鍵的重點。整體的設計必須考量到許多層面來達到不同類型挑戰的需求。本論文旨在說明應用於立方衛星之可靠飛行軟體的實現及驗證。其中的討論包括飛行軟體的架構、操作模式的說明、模組化的設計、備用記憶體及弱化模式設計、異常狀況的處理方法、遠端更新飛行軟體的架構及自我設置的機制。論文的最後則是提到測試驗證的環境配置及方法,還有針對衛星電腦的中處理器效能、記憶體空間、儲存空間的優化及介面通訊的一些數據分析。
本論文所提及之軟體自我設置的機制可以藉由軟體自身根據情況來更新參數,而不是直接固定在程式碼中,如此一來可以幫助增加軟體的可靠度,並且可被使用至未來的立方衛星任務。最後,本研究所發展之飛行軟體的設計已實現於國立成功大學所開發的PHOENIX衛星,此立方衛星為歐盟QB50計畫中台灣唯一一顆衛星,並且預計將於2016年年底從國際太空站釋放。
The improvement of space technology and semiconductor industry have stimulated one specific type of nanosatellite called CubeSat in industry and universities in recent year. The flight software, which serves as a brain of the CubeSat, plays an important role in the system design. Its responsibility contains routine inspection of housekeeping data from other subsystems, data transmission between each module, control of the communication throughput, and effective operation technique. Also, the flight software is required to receive the command sent from the ground station, decodes the telecommand into specific format, and then executes it according to the instruction. All of these works are combined together to make each subsystem or payload perform the desired function.
As the requirement of the science mission becomes increasingly complicated, to design a reliable flight software becomes a key point of a successful satellite mission. The overall system design must consider many aspects to meet the demand of different kind of challenges. This thesis aims to discuss the implementation and verification of reliable flight software for CubeSats. The scope includes the architecture design of flight software, detailed operation mode, modular design, redundant memory allocation, crippled mode, anomaly handling, in-orbit software update, and self-configuration mechanism. Moreover, the verification environment and method will be mentioned, followed by the performance analysis on CPU, RAM, storage, and I2C protocol of the on board computer.
More importantly, an innovative design with self-configurable mechanism to help increase the reliability of the flight software is developed. The proposed software design has been implemented in the PHOENIX nanosatellite which is developed by National Cheng Kung University, the only Taiwanese satellite in the QB50 mission, and is scheduled to be released into the space from the International Space Station at the end of 2016.
[1] G. E. Reeves and J. F. Snyder, "An overview of the Mars exploration rovers' flight software " presented at the IEEE International Conference on Systems, Man and Cybernetics, 2005.
[2] S. J. Liu, S. Molinari, A. M. D. Giorgio, S. Pezzuto, S. Sidher, P. Cerulli-Irelli, et al., "Herschel-SPIRE satellite instrument: configurable On-Board Software for autonomous and real time operation," in Space Telescopes and Instrumentation 2012: Optical, Infrared, and Millimeter Wave, 2012.
[3] T.-L. Kuo, "Implementation and Test of a Microsatellite Flight Software," Master Thesis, Department of Electrical Engineering, National Cheng Kung University, 2011.
[4] C. Mitchell, J. Rexroat, S. A. Rawashdeh, and J. Lumpp, "Development of a modular command and data handling architecture for the KySat-2 CubeSat," presented at the IEEE Aerospace Conference Big Sky, MT 2014
[5] M. Schmidt and K. Schilling, "An extensible on-board data handling software platform for pico satellites," Acta Astronautica, vol. 63, pp. 1299 - 1304, 2008.
[6] A. A. Samuel, J. N., V. B., I. C. A., and J. P. Zachariah. (2013) Software fault injection testing of the embedded software of a satellite launch vehicle. IEEE Potentials. 7.
[7] G. Manyak, "Fault Tolerant and Flexible CubeSat Software Architecture," California Polytechnic State University, 2011.
[8] L.-W. Chen, "Design and Implementation of the Fault Tolerance Module in PHOENIX CubeSat," Master Thesis, Department of Electrical Engineering, National Cheng Kung University, 2015.
[9] S. Fitzsimmons, "Reliable Software Updates for On-orbit CubeSat Satellites," California Polytechnic State University, 2012.
[10] Y.-P. Tsai, "Development of Modular and Flexible Nano Satellite Flight Software," Master Thesis, Department of Electrical Engineering, National Cheng Kung University, 2013.
[11] J. Eickhoff, Onboard Computers, Onboard Software and Satellite Operations: Springer Berlin Heidelberg, 2012.
[12] A. Groce, K. Havelund, G. Holzmann, R. Joshi, and R.-G. Xu, "Establishing flight software reliability: testing, model checking, constraint-solving, monitoring and learning," Annals of Mathematics and Artificial Intelligence, vol. 70, pp. 315-349, 2014.
[13] G. J. Holzmann and R. Joshi, Reliable Software Systems Design: Defect Prevention, Detection, and Containment vol. 4171: Springer Berlin Heidelberg, 2008.
[14] H. Pham, Software Reliability and Fault-tolerant Systems: An Overview and Perspectives: Springer London, 2008.
[15] A. E. Heunis, "Design and Implementation of Generic Flight Software for a CubeSat," Stellenbosch University, 2014.
[16] QB50. Access Year: 2014, Available: https://www.qb50.eu/
[17] J. Vannitsen, A. Heimann, T.-Y. Lin, Vina, M. Chen, J. Tsai, et al., PHOENIX Design Overview. SPACE LAB, National Cheng Kung University, 2015.
[18] G. Lebbink, "QB50 2U STS User Manual," 2014.
[19] GomSpace, "gs-ds-nanopower-p31u-9.1," 2016.
[20] L. Visagie and M.-A. Kearney, "ADCS Interface Control Document," 2015.
[21] NovAtel, "OEM6 Family Installation and Operation User Manual," 2016.
[22] R. Chaudery, "INMS_Interface_Control_Document," 2015.
[23] T.-W. Tsau, "Miniaturized Solar Extreme Ultraviolet Probe for CubeSat Missions," Master Thesis, Institute of Space and Plasma Science, National Cheng Kung University, 2015.
[24] GomSpace, "gs-ds-nanomind-a712d-1.5," 2015.
[25] QB50, "System Requirements and Recommendations Issue 7," 2015.
[26] "CubeSat Design Specification Rev. 13," Cal Poly SLO, 2014.
[27] Cubesat Space Protocol. Access Year: 2015, Available: https://github.com/GomSpace/libcsp
[28] FatFs - Generic FAT File System Module. Access Year: 2015, Available: http://elm-chan.org/fsw/ff/00index_e.html
[29] UFFS. Access Year: 2015, Available: https://sites.google.com/site/gouffs/
[30] FreeRTOS. Access Year: 2014, Available: http://www.freertos.org/
[31] T. Scholz, "Whole Orbit Data Packet Format," QB50 Project, 2014.
[32] T.-C. Huang and L.-W. Chen, PHOENIX Data User Manual Issue 2.4. SPACE LAB, National Cheng Kung University, 2016.
[33] Y. Voumard, "Satellite Control Software User Manual," 2016.
[34] F. George and S. Billeter, "AX.25 Telemetry and Telecommand Transfer Frames Format," 2013.
[35] F. George and S. Billeter, "Satellite Control Software TM & TC Packets Definition Recommendation " 2014.
[36] T.-C. Huang and L.-W. Chen, PHOENIX Telecommand Interface Control Document Issue 10.2. SPACE LAB, National Cheng Kung University, 2016.
[37] MiniTool Partition Wizard. Access Year: 2015, Available: https://www.partitionwizard.com/
[38] G. Reeves and T. Neilson, "The Mars Rover Spirit FLASH Anomaly," presented at the 2005 IEEE Aerospace Conference, Big Sky, MT
[39] Lempel–Ziv–Oberhumer. Access Year: 2016, Available: https://en.wikipedia.org/wiki/Lempel-Ziv-Oberhumer
[40] Minicom. Access Year: 2014, Available: https://help.ubuntu.com/community/Minicom
[41] J. M. Erasmus, "ISIS Generic Interface System User Manual," 2011.
[42] Aardvark I2C/SPI Host Adapter. Access Year: 2016, Available: http://www.totalphase.com/products/aardvark-i2cspi/
[43] Beagle I2C/SPI Protocol Analyzer. Access Year: 2016, Available: http://www.totalphase.com/products/beagle-i2cspi/
[44] TotalPhase, "Aardvark I2C/SPI Host Adapter User Manual," 2014.
[45] TotalPhase, "Beagle Protocol Analyzers User Manual," 2013.
[46] STM32F429/439 Access Year: 2014, Available: http://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32f4-series/stm32f429-439.html?querycriteria=productId=LN1806
[47] STM32F429 Sim_Subsystem. Access Year: 2016, Available: https://github.com/asna121/Sim_Subsystem
[48] G. d. Nijs, A. Denissen, A. Biesheuvel, and N. Lambert, "The Effects of Filesystem Fragmentation," in Proceedings of the Linux Symposium, 2006.