簡易檢索 / 詳目顯示

研究生: 楊昀融
Yang, Yun-Rong
論文名稱: 功能導向立方衛星飛行軟體框架開發
Development of a Function-Oriented Flight Software Framework for CubeSats
指導教授: 莊智清
Juang, Jyh-Ching
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 電機工程學系
Department of Electrical Engineering
論文出版年: 2021
畢業學年度: 109
語文別: 英文
論文頁數: 91
中文關鍵詞: 立方衛星飛行軟體V模型功能導向設計
外文關鍵詞: CubeSat flight software, V-model, function-oriented design
相關次數: 點閱:178下載:19
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 在立方衛星系統中,飛行軟體的任務為管理衛星整體系統、決定衛星行為並且執行酬載任務,由於飛行軟體扮演極為重要的角色,因此需在發射前完成完善嚴謹的軟體驗證和測試。本篇論文提出功能導向的立方衛星飛行軟體架構、整體開發流程以及驗證測試項目,期望能縮短往後任務的開發時間並且節省開發精力。
    IRIS計劃的目的為設計並發射三顆立方衛星:IRIS-A、IRIS-B及IRIS-C,本篇論文以IRIS-A飛行軟體為實驗目標詳述從設計到實作驗證的整體流程,其任務為低軌道物聯網的技術展示,搭載的酬載有GPS接收機、原子鐘以及LoRa接收機。
    IRIS-A飛行軟體根據V-model的模式規劃開發及驗證項目,提出可再利用且可靠的軟體框架,使用分層式模組化的設計提升可擴展性,驗證則分別為單元測試、手動測試以及任務測試三階段,在軟體效能做了相關的分析,以提升軟體效率並優化軟體設計。功能導向的軟體框架對整體開發的過程和體驗有著很大的影響,包括開發時間、步驟、後續的檢查以及調試的難度,此外,對未來的計劃而言,可重用性和可擴展性也能得到顯著的提升。

    In a CubeSat system, flight software is responsible for managing the overall satellite system operation, determining the satellite behavior, and executing payload missions. Since the flight software plays an important role, it is necessary to perform rigorous software verification and testing before launch. The thesis proposes a function-oriented CubeSat flight software framework including development procedure and verification tests, hoping to shorten the development time and save effort in the CubeSat mission.
    The IRIS program aims to design and launch three CubeSats: IRIS-A, IRIS-B, and IRIS-C. This thesis takes the IRIS-A flight software as the experimental target to elucidate the overall process through design, implementation, and verification. The IRIS-A mission is to demonstrate internet of things (IoT) communication technology in low earth orbit, carrying GPS receiver, atomic clock, and LoRa receiver as payload.
    The development procedure and the verification plan are based on the V-model. A reusable and reliable software framework is proposed, and the modular design improves extensibility. Verification activities are divided into three stages: unit test, manual test, and mission test. The performance analysis is conducted to improve software efficiency and optimize the software design. The function-oriented software architecture is beneficial on the entire development process and experience, including development time, steps, and the difficulty of subsequent inspection and debugging. In addition, reusability and scalability can also be significant for future missions.

    摘要 I Abstract II 致謝 IV Contents V List of Tables VIII List of Figures IX List of Abbreviations XI Chapter 1 Introduction 1 1.1 Objective 1 1.2 Literature Survey 2 1.3 Contribution 3 1.4 Thesis Organization 3 Chapter 2 CubeSat Flight Software 4 2.1 Requirement 4 2.1.1 Functional Requirement 5 2.1.2 Non-Functional Requirement 6 2.2 Review of Current Design 7 2.3 Software Framework 10 2.3.1 Command-Based Framework 10 2.3.2 Component-Based Framework 11 2.3.3 Function-Oriented Framework 11 2.4 Verification 12 2.4.1 Testing and Simulation 12 2.4.2 Model-Based Software Verification 13 2.4.3 Formal Verification Method 14 Chapter 3 IRIS-A CubeSat and Flight Software 15 3.1 IRIS-A CubeSat 15 3.1.1 Mission Objective and Concept 15 3.1.2 Subsystem 17 3.2 OBDH subsystem 21 3.2.1 Onboard Computer 21 3.2.2 Interface Protocol 23 3.2.3 Software Development Procedure 24 Chapter 4 Design and Implementation of IRIS-A Flight Software 27 4.1 Requirement and Design 27 4.1.1 Common Functional Requirement 27 4.1.2 Non-functional Requirement 28 4.1.3 Functional Requirement for IRIS-A 30 4.2 Software Architecture 32 4.2.1 Overall Design 32 4.2.2 Application Layer 34 4.2.3 Interaction Between Modules 39 4.3 Software Detailed Design 41 4.3.1 Design Convention 41 4.3.2 File System Management 43 4.3.3 Downlink Mechanism 45 4.3.4 Time Synchronization 47 4.3.5 Anomaly Handling 48 4.3.6 Scheduling 50 4.4 Software Behavior 52 Chapter 5 Verification of IRIS-A Flight Software 56 5.1 Architecture Tracking 56 5.2 Functionality Verification 58 5.2.1 Unit Test 59 5.2.2 Manual Test 63 5.2.3 Mission Test 66 5.3 Software Performance 77 5.3.1 Massive Storage 78 5.3.2 I2C Interface 80 5.3.3 RAM Usage 82 5.4 Other Test 83 5.4.1 End to End Test 83 5.4.2 Reference Functional Test 84 5.5 Discussion 85 Chapter 6 Conclusion 88 6.1 Summary 88 6.2 Future Work 88 Reference 90

    [1] D. J. F. Miranda, M. Ferreira, F. Kucinskis and D. McComas, "A comparative survey on flight software frameworks for ‘new space’nanosatellite missions," Journal of Aerospace Technology and Management, vol. 11, 2019.
    [2] S. Nakajima, J. Takisawa, S. Ikari, M. Tomooka, Y. Aoyanagi, R. Funase and S. Nakasuka, "Command-centric architecture (C2A): Satellite software architecture with a flexible reconfiguration capability," Acta Astronautica, vol. 171, pp. 208-214, 2020.
    [3] C. E. Gonzalez, C. J. Rojas, A. Bergel and M. A. Diaz, "An architecture-tracking approach to evaluate a modular and extensible flight software for CubeSat nanosatellites," IEEE Access, vol. 7, pp. 126409-126429, 2019.
    [4] A. Mavridou, E. Stachtiari, S. Bliudze, A. Ivanov, P. Katsaros and J. Sifakis, "Architecture-based design: A satellite on-board software case study," in International Workshop on Formal Aspects of Component Software, 2016.
    [5] A. B. Ivanov and S. Bliudze, "Robust software development for university-built satellites," arXiv preprint arXiv:2010.02208, 2020.
    [6] W. M. Reid and C. A. Monaco, "Flight software application framework simplifies development for RBSP spacecraft," in 2012 IEEE Aerospace Conference, 2012.
    [7] D. McComas, J. Wilmot and A. Cudmore, "The core flight system (cFS) community: Providing low cost solutions for small spacecraft," in 30th Annual AIAA/USU Conference on Small Satellites, 2016.
    [8] I. Sunter, Sunter, I. (2014). Software for the ESTCube-1 command and data handling system, Ph. D. thesis, Tartu Ulikool..
    [9] C. Araguz, M. Mari, E. Bou-Balust, E. Alarcon and D. Selva, "Design guidelines for general-purpose payload-oriented nanosatellite software architectures," Journal of Aerospace Information Systems, vol. 15, no. 3, pp. 107-119, 2018.
    [10] S. A. Jacklin, Survey of verification and validation techniques for small satellite software development, 2015.
    [11] J. Schumann and K. Goseva-Popstojanova, "Verification and validation approaches for model-based software engineering," 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C), pp. 514-518.
    [12] R. A. B. e Silva, N. N. Arai, L. A. Burgareli, J. M. P. de Oliveira and J. S. Pinto, "Formal verification with Frama-C: A case study in the space software domain," IEEE Transactions on Reliability, vol. 65, no. 3, pp. 1163-1179, 2015.
    [13] Y.-P. TSAI, "IRIS system design overview," SPACE LAB, 2020.
    [14] W. Ley, K. Wittmann and W. Hallmann, Handbook of space technology, John Wiley & Sons, 2009.
    [15] GomSpace, NanoPower P31u datasheet rev27, 2019.
    [16] ISIS, TRXVU rev.B interface control document-1.1, 2015.
    [17] ISIS, Antenna system user manual UM.001, 2014.
    [18] I. Adcole Maryland Aerospace, MAI-401 mini ADACS, 2020.
    [19] M.-X. HUANG, "IRIS CubeSat mother board design document," SPACE LAB, 2018.
    [20] Microsemi, SA.45s user manual.
    [21] ISIS, ISIS-OBC datasheet v1.1, 2019.
    [22] M.-X. Huang, Development of flight software and implementation of test bed for the IRIS Cubesat, Master Thesis, Department of Electrical Engineering, National Cheng Kung Unversity, 2019.
    [23] T. Huang, Implementation and verification of reliable flight software for Cubesats, Master Thesis, Department of Electrical Engineering, National Cheng Kung Unversity, 2016.
    [24] "Agile visualization," 2021. [Online]. Available: http://agilevisualization.com/.
    [25] P. Sifuentes, "F.I.R.S.T principles of unit testing," [Online]. Available: https://blog.devgenius.io/first-principles-of-unit-testing-5b6c452ccb7d. [Accessed 7 2021].
    [26] "The cutest C unit testing framework: CuTest," [Online]. Available: http://cutest.sourceforge.net/. [Accessed 2021].
    [27] "Beagle I2C/SPI protocol analyzer - total phase," [Online]. Available: https://www.totalphase.com/products/beagle-i2cspi/. [Accessed 2021].
    [28] "Aardvark I2C/SPI host adapter - total phase," [Online]. Available: https://www.totalphase.com/products/aardvark-i2cspi/. [Accessed 2021].
    [29] I. C. Bertolotti and T. Hu, Embedded software development: The open-source approach, CRC Press, 2017.

    下載圖示 校內:2023-07-20公開
    校外:2023-07-20公開
    QR CODE