Files
knowledge/разное/полезное/бортовая система.md
T

61 lines
3.1 KiB
Markdown

CDMS - Command Data Management System
![[Pasted image 20260421024846.png]]
![[Pasted image 20260421024905.png]]
# Взаимодействие между подсистемами
Варианты:
1. (Каждый с каждым) Каждая подсистема сама управляет своими режимами и обменивается с другими данными. Подсистемы могут самостоятельно вызывать функции друг у друга. Например, СОС измерила текущую угловую скорость и перешла из режима "измерение" в режим "демпфирование". СОС обратилась к программному интерфейсу СЭП и задала мощность, подаваемую на катушки.
2. (Звезда) Каждая подсистема связана только с Бортовой системой. При этом взаимодействие инициирует Бортовая система. В таком случае подсистема, например СОС, реализует программный интерфейс для приема команд от БС. При этом БС непрерывно опрашивает подсистемы и на основе их данных выполняет всю логику переходов в различные режимы. БС запросила измеренную ориентацию, определила превышение порога ошибки, запустила выполнение режима стабилизации.
Вариант 2 является предпочтительным.
- высокоуровневая логика лежит в рамках одного программного модуля
- более предсказуемые и детерминированные потоки данных между подсистемами
- более четкое архитектурное разделение уровней (подсистемы - исполнители конкретных задач и команд, Бортовая Система - центральный высокоуровневый модуль, диспетчер)
- минимальные сложности с распределением времени внутри модулей подсистем
Данная архитектура должна быть приоритетной, но не обязана выполняться на 100% процентов в таком виде.
Из [[S3-B-C-SET-1-2-Delta-PDR Mission_System_Overview.pdf]]
![[Pasted image 20260420233701.png]]
![[Pasted image 20260420233806.png]]
![[Pasted image 20260420233834.png]]
![[Pasted image 20260420234122.png]]
Из [[S3-BC-SE-1-0-Flight_Software_Architecture.pdf]]
![[Pasted image 20260420234706.png]]
![[Pasted image 20260420234731.png]]
![[Pasted image 20260420235332.png]]
![[Pasted image 20260420235509.png]]
![[Pasted image 20260420235538.png]]
![[Pasted image 20260420235553.png]]
![[Pasted image 20260420235616.png]]