23 个版本 (11 个稳定版)
4.4.0 | 2024 年 5 月 14 日 |
---|---|
4.3.0 | 2024 年 2 月 6 日 |
4.2.0 | 2024 年 1 月 26 日 |
4.1.0 | 2023 年 12 月 11 日 |
3.10.0 | 2023 年 7 月 18 日 |
#4 在 #flight
每月 85 次下载
675KB
14K SLoC
C2A 核心架构
C2A
- 命令中心架构
- 搭载 OBC 的飞行软件框架
- 此存储库是从 ArkEdge Space Inc. 的 C2A 先期开发中 fork 的,从 ut-issl/c2a-core v3.10.0 开始 fork。
- v3 系列的开发将继续在 ut-issl/c2a-core 中进行。
C2A core
- 各 C2A 共享的 C2A 核心代码
- 基本上,各个 C2A user repository(示例:TBW)通过 git submodule 进行引用。
- core 开发的最小用户部分位于
examples
中,可用来构建和验证。
文档
- 文档:https://github.com/arkedge/c2a-core/tree/main/docs
- 参考 (待定):https://github.com/ut-issl/c2a-reference
- 需求
- 变更日志
开发
设置
Kanban (开发里程碑等)
SILS (软件在环仿真) 环境
- C2A 可以构建一个可以直接在 SILS 环境中运行的飞行软件。
- 也就是说,在 OBC 上运行的软件可以在 PC 等设备上直接仿真。
- C2A 的 SILS 运行时存在以下实现。
- c2a-dev-runtime
- 开发用的 SILS 运行时。导入的 C2A user 基本上可以通过
cargo run
运行。 - 文档:docs/sils/c2a_dev_runtime.md
- 开发用的 SILS 运行时。导入的 C2A user 基本上可以通过
- S2E
- 宇宙环境模拟器。原始的 SILS 运行时实现,对于需要宇宙环境模拟的 C2A user(例如,姿态控制模块),可以使用此进行验证。
- 最小限的 SILS-S2E 可在 S2E User for C2A Core 中运行。
- c2a-dev-runtime
examples
的 C2A user 可在 c2a-dev-runtime 和 S2E User for C2A Core 中进行仿真。examples/mobc
(MOBC: 主要OBC)和examples/subobc
(非MOBC)在SILS环境中运行并连接,可以进行C2A间通信的模拟和验证。
测试
- 如果不假设特定用户,由于各种参数不确定,因此在
examples/mobc
中进行测试。 - 仅针对C2A间通信相关部分的测试使用
examples/subobc
。 - 详细信息请参考test。
分支
main
:发布版(详细信息)feature/*
:开发分支hotfix/*
:重大漏洞修正分支
采用和运行记录
汇总C2A Core的采用过的卫星OBC和运行过的板子的信息。
名称 | 卫星 | 主导机构 | 发射/部署 | CPU | 时钟 | ROM | RAM | NVRAM | 存储 | 接口 | 参考 |
---|---|---|---|---|---|---|---|---|---|---|---|
OBC (2U) | MAGNARO (Tigris) | 名古屋大学 Inamori 实验室 | 2022/10/12 | STMicroelectronics STM32F4 | 90 MHz | 2 MiB 内部ROM | 384 KiB 内部RAM, 500 KiB 外部SRAM | 524 KiB MRAM, 131 KiB EEPROM | 16 GB SD卡 | UART, SPI, I2C, GPIO, ADC, DCMI | [^1] |
OBC (1U) | MAGNARO (Piscis) | 名古屋大学 Inamori 实验室 | 2022/10/12 | STMicroelectronics STM32F4 | 45 MHz | 2 MiB 内部ROM | 384 KiB 内部RAM, 500 KiB 外部SRAM | 524 KiB MRAM, 131 KiB EEPROM | 16 GB SD卡 | UART, SPI, I2C, GPIO, ADC, DCMI | [^1] |
MOBC | SPHERE-1 EYE | 东京大学 ISSL,索尼集团 | 2023/01/03 | Renesas Electronics SH-2A | 200 MHz | 2.5 MiB 内部ROM | 128 KiB 内部RAM, 8 MiB 外部SRAM | 2 MiB MRAM | 2 GiB NAND闪存 | UART (RS422, LVTTL), CCSDS (LVTTL), GPIO (LVTTL), ADC | |
AOBC | SPHERE-1 EYE | 东京大学 ISSL,索尼集团 | 2023/01/03 | Microchip Technology PIC32MX7 | 80 MHz | 512 KiB 内部ROM | 128 KiB 内部RAM | 512 KiB FRAM | 无 | UART (RS422, RS485, LVTTL), SPI, I2C, GPIO (LVTTL), ADC | |
TOBC | SPHERE-1 EYE | 东京大学 ISSL,索尼集团 | 2023/01/03 | Microchip Technology PIC32MX7 | 30 MHz | 512 KiB 内部ROM | 128 KiB 内部RAM | 无 | 无 | UART (LVTTL), I2C, GPIO (LVTTL), ADC | |
AOBC | OPTIMAL-1 | ArkEdge Space Inc. | 2023/01/06 | ||||||||
MOBC | ONGLAISAT | 东京大学 ISSL | - | Renesas Electronics SH-2A | 200 MHz | 2.5 MiB 内部ROM | 128 KiB 内部RAM, 8 MiB 外部SRAM | 2 MiB MRAM | 2 GiB NAND闪存 | UART (RS422, LVTTL), CCSDS (LVTTL), GPIO (LVTTL), ADC | [^1] |
AOBC | ONGLAISAT | 东京大学 ISSL | - | Microchip Technology PIC32MX7 | 80 MHz | 512 KiB 内部ROM | 128 KiB 内部RAM | 512 KiB FRAM | 无 | UART (RS422, RS485, LVTTL), SPI, I2C, GPIO (LVTTL), ADC | [^1] |
TOBC | ONGLAISAT | 东京大学 ISSL | - | Microchip Technology PIC32MX7 | 30 MHz | 512 KiB 内部ROM | 128 KiB 内部RAM | 无 | 无 | UART (LVTTL), I2C, GPIO (LVTTL), ADC | [^1] |
[^1]: Ryo Suzumoto, et al. Improvement of C2A (Command-Centric Architecture) Reusability for Multiple Types of OBCs and Development of Continuous Integration Environment for Reliability of Flight Software. 33rd International Symposium on Space Technology and Science, 2022-f-58, 2022.
相关链接
C2A相关工具
- https://github.com/ut-issl/tlm-cmd-db
- https://github.com/ut-issl/python-wings-interface
- https://github.com/ut-issl/s2e-user-for-c2a-core
- https://github.com/arkedge/c2a-tlmcmddb
- https://github.com/arkedge/c2a-devtools
- https://github.com/arkedge/workflows-c2a
- https://github.com/arkedge/gaia
- https://github.com/arkedge/c2a-pytest-gaia
- https://github.com/arkedge/kble
User实现示例
相关crate
无运行时依赖
~0–2.4MB
~37K SLoC