進階搜尋


下載電子全文  
系統識別號 U0026-0208201616123500
論文名稱(中文) 應用在立方衛星之可靠飛行軟體的實現和驗證
論文名稱(英文) Implementation and Verification of Reliable Flight Software for CubeSats
校院名稱 成功大學
系所名稱(中) 電機工程學系
系所名稱(英) Department of Electrical Engineering
學年度 104
學期 2
出版年 105
研究生(中文) 黃得銓
研究生(英文) Te-Chuan Huang
學號 n26034168
學位類別 碩士
語文別 英文
論文頁數 100頁
口試委員 指導教授-莊智清
口試委員-苗君易
口試委員-壽鶴年
口試委員-張浩基
口試委員-余國瑞
中文關鍵字 立方衛星  資料處理  飛行軟體  可靠度  軟體更新  自我設置 
英文關鍵字 CubeSat  On Board Data Handling  Flight Software  Reliability  Software Update  self-configurable 
學科別分類
中文摘要 由於太空產業和半導體技術的擴展,這幾年在產業界和學術間促進了一種名為立方衛星之特定類型的奈米衛星的發展。立方衛星之飛行軟體扮演了極重要的角色,它負責定期的次系統健康資料檢查、模組之間的資料傳輸、通訊橋梁的控制和有效率的操作程序。除此之外,飛行軟體還必須能夠接收地面站所上傳的命令,檢查並且根據指令解碼然後執行。所有上述的內容必須結合在一起才能讓各個次系統或各酬載發揮其功用。

然而,運行於立方衛星的科學任務需求趨於複雜,因此設計出一套可靠的飛行軟體便成為一個關鍵的重點。整體的設計必須考量到許多層面來達到不同類型挑戰的需求。本論文旨在說明應用於立方衛星之可靠飛行軟體的實現及驗證。其中的討論包括飛行軟體的架構、操作模式的說明、模組化的設計、備用記憶體及弱化模式設計、異常狀況的處理方法、遠端更新飛行軟體的架構及自我設置的機制。論文的最後則是提到測試驗證的環境配置及方法,還有針對衛星電腦的中處理器效能、記憶體空間、儲存空間的優化及介面通訊的一些數據分析。

本論文所提及之軟體自我設置的機制可以藉由軟體自身根據情況來更新參數,而不是直接固定在程式碼中,如此一來可以幫助增加軟體的可靠度,並且可被使用至未來的立方衛星任務。最後,本研究所發展之飛行軟體的設計已實現於國立成功大學所開發的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.
論文目次 摘要 I
Abstract III
Acknowledgements V
Contents VI
List of Tables IX
List of Figures X
List of Abbreviations XII
Chapter 1 Introduction 1
1.1 Objectives 1
1.2 Literature Study 1
1.3 Thesis Overview 4
Chapter 2 PHOENIX Nanosatellite 5
2.1 QB50 Mission 5
2.2 PHOENIX CubeSat 7
2.3 On Board Data Handling Subsystem 12
Chapter 3 Flight Software Design 14
3.1 Software Overview 14
3.2 Requirements 14
3.2.1 Functional Requirements 15
3.2.2 Interface Requirements 15
3.2.3 Operational Requirements 19
3.2.4 Design Requirements 20
3.2.5 Software Reliability Requirements 20
3.2.6 Software Safety Requirement 21
3.3 Software Architecture 22
3.3.1 Library and Drivers 23
3.3.2 Function Structure 24
3.3.3 RTOS Task 29
3.3.4 Internal System Protocol 35
3.3.5 Operation Mode 37
3.3.6 Data Format 46
3.4 Telecommand/Telemetry Module 47
3.4.1 Transmission Packet Structure 47
3.4.1.1 Telecommand Packet 48
3.4.1.2 Telemetry Packet 49
3.4.2 Telecommand Tables 50
Chapter 4 Resilient Software Design 53
4.1 Modular Programming 53
4.2 Redundancy Memory Design 54
4.2.1 Micro SD Card Partition 54
4.2.2 Crippled Mode 57
4.3 Anomaly Handling 59
4.4 Self-Configurable Architecture 61
4.5 On Board Scheduling Management 66
4.6 In Orbit Software Update 68
4.6.1 Ground Station Aspect 69
4.6.2 Transmission Aspect 70
4.6.3 On Board Aspect 71
Chapter 5 Testing and Verification 72
5.1 Testing Configuration Setup 72
5.1.1 Software Debug Interface 72
5.1.2 Auxiliary Tool 74
5.1.2.1 Electrical Ground Support Equipment 74
5.1.2.2 I2C Protocol Analyzer 76
5.1.2.3 STM32F429 Discovery Boards 78
5.2 Test Campaigns 80
5.2.1 Reference Functional Test 80
5.2.2 Environmental Test 80
5.2.3 End to End Communication Test 81
5.2.4 32 Hour Continuous Test 82
5.2.5 Anomaly Handling Test 82
5.2.6 Mission Verification Test 83
5.2.7 Telecommand Test 83
5.3 Performance Analysis 84
5.3.1 I2C Protocol 84
5.3.2 Storage Speed 88
5.3.3 CPU Throughput 89
5.3.4 RAM Usage 95
Chapter 6 Conclusions 96
6.1 Summary 96
6.2 Future Work 97
References 98



參考文獻 [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.
論文全文使用權限
  • 同意授權校內瀏覽/列印電子全文服務,於2018-09-01起公開。
  • 同意授權校外瀏覽/列印電子全文服務,於2018-09-01起公開。


  • 如您有疑問,請聯絡圖書館
    聯絡電話:(06)2757575#65773
    聯絡E-mail:etds@email.ncku.edu.tw