Заказать курсовые, контрольные, рефераты...
Образовательные работы на заказ. Недорого!

Разработка бортового программного обеспечения

РефератПомощь в написанииУзнать стоимостьмоей работы

В качестве архитектуры работы ПО была выбрана событийно-управляемая модель. Она позволяет эффективно использовать системные ресурсы, так как задачи прикладного ПО активизируются только при наступлении определенных для них типов событий. Все остальное время задача находится в ожидании наступления события, не тратя на свое обслуживание дополнительных ресурсов системы. Платформа содержит одну общую… Читать ещё >

Разработка бортового программного обеспечения (реферат, курсовая, диплом, контрольная)

Системы обработки данных реального времени в космической отрасли характеризуются большим разнообразием и сложностью взаимосвязей составляющих их элементов, необходимостью обработки потока заявок на вычислительные ресурсы, поступающих в определенные и случайные моменты времени и требующих выполнения жестких ограничений на время обслуживания. Кроме того системы обработки данных данного класса независимо от их функционального назначения характеризуются рядом особенностей, к числу которых относится[1]:

  • -Взаимодействие с объектом управления в интерактивном режиме;
  • -относительно слабая предсказуемость моментов поступления заявок на обслуживание и времени их обслуживания;
  • -использование текущего времени в качестве основного задающего параметра организации вычислительного процесса;
  • -Работа с прерываниями, количество и время появления которых является случайным;
  • -использование режимов мультипрограммирования и мультиобработки, непосредственное управление ЭВМ процессами ввода-вывода информации со специализированных устройств сопряжения с объектом
  • -работа в режиме теледоступа;
  • -необходимость динамического изменения правил организации очередей заявок на обслуживание в системе в зависимости от реальной ситуации и приоритетов заявок.

Программное обеспечение бортовой вычислительной системы должно строится по модульному принципу. Модульный принцип проектирования ПО связан с процессом синтеза системы как совокупности слабосвязанных компонент, допускающих их относительно независимую разработку и использование. Проблемы декомпозиции системы на подсистемы, задачи на подзадачи, программного обеспечения на отдельные программы и подпрограммы, возникают на различных этапах анализа и синтеза систем управления. Использование принципа модульности при проектировании программного обеспечения космического аппарата позволяет свести проектирование к оптимальному синтезу функционально-независимых отдельных модулей, совместно выполняющих заданные функции системы с требуемой эффективностью, и значительно сокращает затраты на разработку, внедрение и модификацию систем. При проектировании модульных систем должны быть обеспечены такие основные их свойства, как: функциональность, связность, алгоритмичность, последовательность, маскировка. Любые параметры, влияющие на управление и управляемость КА должны иметь возможность конфигурации. Единожды жестко установленные на Земле значения параметров впоследствии эксплуатации могут становиться неприемлемыми и требовать коррекции. Наиболее оптимальным вариантом передачи конфигурационных параметров на борт могут служить специально определенные виды командно-программной информации.

При проектировании ПО бортовой вычислительной системы КА одним из ключевых моментов является выбор операционной системы реального времени. Главной задачей ОСРВ является обеспечение возможности своевременной реакции бортовой вычислительной системы на происходящие события, в том числе на одновременно происходящие события.

При проектировании аппаратно-программного комплекса реального времени вначале оценивают критерии, предъявляемые к объекту, и классифицируют события на этом объекте. Выделяют события, реакция на которые в заранее запланированное время строго необходима. С каждым событием связывается критическое время отклика на него. Затем прогнозируются худшие из прогнозируемых ситуаций на объекте, описываются требования к поведению системы в этих ситуациях.

Операционная система реального времени, используемая на КА должна отвечать следующим требованиям:

  • -Скорость реакции системы должна быть соизмерима со скоростью протекающих процессов;
  • -Отказоустойчивость. Работа системы должны быть непрерывной в течение всего срока активного существования КА;
  • -успешные случаи применения подобной ОС в реальном полете, либо на имитаторе замкнутого контура. Данный пункт очень важен в плане определения зрелости системы и возможности ее использования в качестве основы построения системы управления КА;
  • -Возможность создания бездисковой конфигурации;
  • -Наличие необходимых драйверов устройств;
  • -Малый размер системы;
  • -Поддержка необходимых механизмов диспетчеризации и назначения приоритетов;
  • -Развитые средства межзадачного взаимодействия;
  • -Средства реализации служб времени.

Таким образом выбор операционной системы для конкретного проекта предстает непростой задачей требующей взвешенных решений. Рассмотрим конкретный проект:

Космический аппарат «Канопус-В» спроектирован в виде технологической платформы с комплексом целевой аппаратуры. Технологическая платформа обеспечивает успешное выполнение задач целевой аппаратуры включающее в себя:

  • -Обеспечение энергетики КА;
  • -Обеспечение ориентации космического аппарата в заданной системе координат;
  • -Обеспечение вычисления и раздачи абонентам данных по времени, навигации и ориентации КА.

Платформа содержит одну общую БВС для комплекса управления и системы ориентации. Такое решении позволяет существенно удешевить конструкцию КА, с другой стороны увеличивая сложность разработки бортового ПО. В качестве ОСРВ, используемой при разработке ПО для КА была выбрана VxWorks. Выбор был сделан исходя из следующих соображений:

  • -Малое время переключения контекста — порядка 10−100 мкс;
  • -Наличие необходимых драйверов устройств;
  • -Размер системы — у VxWorks размер ядра равен 16 килобайтам;
  • -Система приоритетов и вытесняющие алгоритмы диспетчеризации подходят для создания выбранной архитектуры ПО;
  • -успешный опыт использования VxWorks в качестве ОС космического аппарата, как беспилотного, так и пилотируемого.

В качестве архитектуры работы ПО была выбрана событийно-управляемая модель. Она позволяет эффективно использовать системные ресурсы, так как задачи прикладного ПО активизируются только при наступлении определенных для них типов событий. Все остальное время задача находится в ожидании наступления события, не тратя на свое обслуживание дополнительных ресурсов системы.

VxWorks позволяет вести разработку на языках Си, C++, Ада. Для КА «Канопус-В» в качестве языка разработки был выбран язык программирования Си. Синтаксис Си известен подавляющему большинству программистов, а количество реализованных с его использованием алгоритмов приближается к общему числу когда-либо запрограммированных алгоритмов. За годы прошедшие с момента создания данного языка он претерпел значительные изменения и прошел этап становления в качестве основного языка системного программирования. Программы, написанные на Си с использованием оптимизирующих компиляторов по скорости исполнения вплотную приближаются к написанным на языке ассемблера, но наряду с этим сохраняют переносимость и читаемость. Существенным недостатком языка си является отсутствие поддержки обработки исключений. С другой стороны отсутствует поддержка объектно-ориентированного программирования — любые абстракции данных приходится представлять при помощи структур, а обработку данных производить через передачу их в функции. Данное обстоятельство требует детальной проработки архитектуры программного обеспечения для недопущения его чрезмерного усложнения. Структуры данных, используемые для схожих операций таких как, например, передача сообщений, должны быть по возможности унифицированы. Ярким примером использования такого подхода является сама операционная система VxWorks. Так, например, для помещения произвольной пользовательской структуры во встроенный двусвязный список VxWorks достаточно добавить в объявление структуры два поля — указателя на предыдущий и последующий элементы, после чего функции, реализующие механизм работы с двусвязным списком, будут способны обслуживать пользовательскую структуру данных.

Показать весь текст
Заполнить форму текущей работой