Управление ракетной техникой

Разработка комплекса программных средств управления летательными аппаратами. Контроль измерения параметров полёта. Сохранение информации во флеш-памяти на борту ракеты. Структура данных модуля навигации. Специфика операционных систем в микроконтроллерах.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 04.07.2018
Размер файла 2,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://allbest.ru

92

Введение

Беспилотные летательные аппараты БПЛА в настоящее время получили широкое распространение во многих областях науки и техники. Их используют в качестве средств разведки, боевых ударных самолетов, для аэрофотосъемок и геологоразведки, исследовании труднодоступных местностей, контроля экологической обстановки и метеоусловий, доставки грузов и так далее. По мере снижения стоимости БПЛА область их применения постоянно расширяется. В европейской программе фундаментальных научных исследований до 2025 года Cosmic Vision нет ни одной пилотируемой миссии, даже среди заявок [1].

Особо существенны преимущества БПЛА в военной, авиационной и ракетной техники. По сравнению с пилотируемыми летательными аппаратами БПЛА имеют значительно меньшие габариты и стоимость, потребляют меньше энергоресурсов, снижают затраты на аэродромы, стартовые комплексы и обслуживание, исключают риск гибели экипажа.

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

Целью выпускной квалификационной работы является разработка бортовой системы сбора данных и управления моделью ракеты типа TSR, разработанной студентами Самарского университета для участия в C'Space.

C'Space - это международного уровня мероприятие по запуску ракет больших (суммарный импульс более 500 НЧс), малых, а также по сбросу кансатов (атмосферных зондов) из ракет и с аэростата. Уже не первый раз запуски проходят на полигоне военной базы Camp de Ger.

Команда Самарского университета участвует в C'Space в секции больших ракет. В рамках сотрудничества с ISAE (г. Тулуза) наша команда строит ракеты для вывода атмосферных зондов французских и собственного производства на высоту до 2 км. Первые две версии бортовой системы сбора данных и управления моделью ракеты прошли апробацию в рамках запусков ракет TSR 1.0 (2015 г.) и TSR 1.1 (2016 г.) Частично тема разработки бортовой система сбора данных и управления моделью ракеты была рассмотрена автором в публикации [2].

В качестве альтернативы разрабатываемой системы можно назвать полётный контроллер. Основное отличие заключается в том, что в полётном контроллере подразумевается дистанционное управление, модель ракеты автономна.

Исходные данные к выполнению ВКРБ:

Время полета: не более 140 с; точность определение времени:

не менее 0,1 %.

Определение местоположения ракеты:

Получение текущего местоположения: не реже раза в 1 с;

Ошибка определения места приземления: не менее 10 м;

Передача данных о местоположении по радиоканалу, дальность - до 2 км.

Количество сервоприводов: не менее 3.

Датчик начала движения.

Сохранение данных полёта во флеш-памяти на борту ракеты.

Скорость ракеты не более 420 м/с, погрешность измерения не более 5 %.

Предусмотреть возможность расширение функциональности контроллера за счёт дополнительных средств измерения (перегрузки, ускорение, ориентация) и за счёт дополнительных исполнительных механизмов.

Эксплуатационные характеристики:

Плата бортовой системы должна быть диаметром не более 0,15 м, свободное пространство по вертикали - до 0,3м; диапазон рабочих температур: от -20 до +40 °С; масса: не более 1 кг.

Определения, обозначения, сокращения

ТЗ - техническое задание;

ОС - операционная система;

ПО - программное обеспечение;

МК - микроконтроллер;

ОСРВ - операционная система реального времени;

Порт - реализация платформонезависимого ПО на конкретной платформе.

Драйвер - набор файлов driver.c и driver.h, которые обеспечивают низкоуровневый доступ к регистрам для получения специфичных для данного устройства/переферии возможностей;

Сервис - тип модуля, который обеспечивает более приложение-ориентированное ПО, такое как USB-классы, функции файловой системы, архитектурно-оптимизированные библиотеки DSP, графический библиотеки и т.д;

Digital Motion Processor - цифровой процессор движения;

ПБ - процессорный блок;

ШИМ - широтно-импульсная модуляция;

Трансивер (англ. transceiver, от слов transmitter - передатчик и receiver - приёмник) - приёмопередатчик;

ADC - АЦП - аналого-цифровой преобразователь;

GPS - Global Positioning System - система глобального позиционирования, аналог ГЛОНАмСС - глобальной навигационной спутниковой системы;

GPIO - интерфейс ввода/вывода общего назначения;

Power Good - вывод регулятора напряжения, меняющего состояние, когда на выводе обратной связи (Feedback pin) напряжение ниже пороговой величины;

Нить (поток выполнения) - наименьшая единица обработки, исполнение которой может быть назначено ядром операционной системы, в терминах FreeRTOS нить именуется как «task» - задача.

1. Постановка задачи

Конструкция ракеты представлена на рисунке 1.

Рисунок 1 - Компоновка ракеты

1.1 Описание конструкции ракеты

Ракета выполнена с применением композитных материалов. С учётом массы и предела высоты выбирается один из доступных двигателей. В ракетах TSR устанавливается двигатель PRO-75 3G [2,3]. Имеются две ступени, на каждой размещается полноценная бортовая система и парашют. Отделение осуществляется первой ступенью. Второй ступенью осуществляется выброска атмосферных зондов.

Цикл полёта ракеты:

· Ракета готова к старту, размещена на стартовом столе, электроника включена; Не более 40 минут;

· Ракета набирает высоту; около 16 секунд;

· Ракета достигла предела высоты, расстыковка ступеней, небольшая задержка, открытие парашютов, выброска зондов; около 3 секунд;

· Ракета снижается и достигает земли; около 140 секунд.

Рассматриваемая в данной работе бортовая система сбора данных и управления моделью ракеты предназначена для второй ступени, но также может быть использована в проектах одноступенчатых ракет.

Система реализует следующие функции:

· Предстартовая проверка работоспособности системы

· Определение момента запуска ракеты;

· Отсчет времени относительно старта;

· Управление включением механизмов для выброса зондов и парашютов;

· Обработка параметров и формирование структур данных для хранения и передачи информации;

· Запись текущей информации на карту памяти для последующего анализа;

· Передача информации полёта по радиоканалу;

· Включение радиомаяка в месте приземления;

· Измерение параметров траектории полета и местоположения ракеты.

После проверки работоспособности ракета устанавливается на стартовый стол. Запуск производится путём подачи импульса на контакты запуска двигателя. Этот импульс подаётся отдельной системой, не входящей в состав рассматриваемой.

Контроллер системы анализирует в момент старта состояние датчика начала движения. Наиболее простым вариантом является бинарный контактный датчик (чека). При наличии акселерометра можно использовать его в качестве датчика начала движения. В момент старта запускается системный таймер, отсчитывающий относительное время полета ракеты.

Особенностью испытания ракеты является заданные траектория полета, апогей и время его достижения, что иллюстрирует рисунок Рисунок 2.

летательный программный микроконтроллер ракета

Рисунок 2 - Высота ракеты над уровнем моря по секундам от старта

На рисунке 3представлена часть такого расчёта - график зависимости скорости полёта от времени (время приземления не показано). Когда скорость перестанет быть значительной, можно выпустить парашют, вытолкнуть атмосферные зонды.

Рисунок 3 - Расчёт скорость/время для второй ступени TSR 1.1

Контроль параметров траектории и состояния ракеты обычно выполняется с помощью инерциально-измерительной системы, которая включает в себя цифровые 3-осевой акселерометр, 3-осевой гироскоп, 3-осевой магнитометр и процессор обработки сигналов. В данной работе эта подсистема не рассматривается частично, для неё предусматривается только соответствующий интерфейс и ресурсы контроллера.

В разрабатываемой системе рассматривается возможность измерения скорости полета, местоположения, закладывается возможность для расширения номенклатуры измерений.

Средства определения местоположения ракеты должны обеспечивать работу с действующими системами спутниковой навигации. Наибольшую точность способны обеспечить гибридные приёмники.

Основным элементом управления на борту является системный таймер, который при достижении определенного времени, заданного программой полета, включает выброс зондов и парашюта. Абсолютная погрешность измерения относительного времени для исполнения этой задачи не должна превышать 0,1%.

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

В качестве исполнительных механизмов используются популярные в моделизме рулевые машинки (сервомашинки) с мощностью на валу достаточной для открытия люков и выброса зондов. Управление машинками выполняется широтно-импульсными модуляторами.

Формируемые структуры данных, сохраняемые во флеш-памяти и передаваемые в радиоканал, должны быть согласованы с выбранными конкретными типами устройств.

При выборе параметров радиоканала необходимо учитывать дальность приема и передачи (мощность передатчика), требуемую скорость обмена, частоту передачи, которая должна находиться в нелицензируемом диапазоне, потребляемую мощность, тип антенны.

Для поиска приземлившейся ракеты дополнительно с системой определения местоположения следует использовать радиомаяк, функции которого может выполнять выбранный ранее радиопередатчик.

Предстартовая проверка работы системы должна определить работоспособность контроллера системы, датчиков и исполнительных механизмов. Для её реализации необходимо разработать тестовые программы, поместить их в память команд и запустить их с помощью внешнего пульта, содержащего средства ввода информации и отображения.

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

Печатная плата бортовой электроники выполнена в виде круга и используется в дополнение к силовым шпангоутам. В качестве примера показан вид печатной платы, разработанный для первой версии ракеты (рисунок 4).

Рисунок 4 - Печатная плата второй ступени TSR 1.1

Бортовая электроника должна функционировать при температуре от плюс 50 до минус 10 °C в режиме «полёт» и от плюс 30 до 0 °C во всех остальных (при хранении и зарядке аккумуляторов).

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

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

Численные значения измеряемых параметров и их диапазоны приведены в ТЗ.

2. Структурная организация

Особенностью разработки структуры на основе ОМК является наличие в составе любого типа контроллера функционально полного процессорного блока [4]. Структурная схема системы приведена на рисунке 5.

Рисунок 5 - Структурная организация бортовой системы

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

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

USART используется в устройствах с пониженными требованиями по быстродействию и относительно длинной линией связи.

SPI, I2C применяются, в основном, для внутриплатного и межмодульного обмена информацией на высокой скорости. Достоинством I2C по сравнению с SPI является возможность работы с несколькими ведущими устройствами и минимальное количество линий связи (2 линии), которое не зависит от числа подключенных устройств.

Поэтому для проектируемой системы наиболее оптимальным было бы использование I2C, но не все требуемые устройства содержат этот порт.

Определения параметров траектории выполняется модулем навигации ML8088sE, который работает с системой ГЛОНАСС, GPS, Галилео. Фиксируемые параметры (время местоположения ракеты по Всемирному координированному времени UTC, широта, долгота, горизонтальная составляющая скорости, направление скорости, магнитное склонение и так далее) принимаются микроконтроллером в виде строки формата NMEA через последовательный порт USART. Периодичность вывода информации может быть задана при настройке модуля.

Передачу данных по радиоканалу осуществляет трансивер CC1125, имеющий множество возможностей для настройки. Он способен работать на нелицензируемых частотах 443 и 868 МГц, обеспечивая значительную мощность, поддерживает различные режимы модуляции и большой диапазон скоростей обмена. Выбранный модуль пользуется большой популярностью, существуют готовые модули с аналоговой частью, производитель поставляет ПО для быстрой настройки. Этот модуль и абсолютное большинство его аналогов взаимодействуют с помощью интерфейса SPI. В качестве наиболее близких аналогов CC1125 можно рассматривать трансиверы серии CC.

Информация полёта фиксируется на карте памяти, выполняющей роль чёрного ящика. Существуют карты памяти с различными интерфейсами подключения. В проекте используется карта памяти типа SD как самая распространённая и доступная. Взаимодействие осуществляется по SPI. В качестве альтернативы может рассматриваться карта памяти типа MMC, имеющая схожие характеристики.

Контроль параметров траектории и состояния ракеты обычно выполняется с помощью инерциально-измерительной системы, которая включает в себя цифровые 3-осевой акселерометр, 3-осевой гироскоп, 3-осевой магнитометр. Наличие множества датчиков на печатной плате повышают её сложность, уменьшают надёжность. Выбранный датчик MPU-9250 сочетает в себе не только все эти устройства, но и предоставляет вычислительные мощности для их обработки. Датчик имеет большой диапазон, подходящий для применения в проекте. Обмен происходит по интерфейсу I2C, что позволяет в случае необходимости вынести чувствительный датчик на некоторое расстояние от источников помех. В данной работе инерциальная подсистема рассматривается частично.

Выбранный датчик дифференциального давления MPX5100DP позволяет получить скорость полёта по продольной оси. Он имеет подходящий диапазон измеряемого давления, приемлемую погрешность и невысокую стоимость. На рынке представлено не так много датчиков, удовлетворяющих требованиям. Преимущественно они аналоговые и с питанием более 3,3 В. Таким образом, необходим блок АЦП и согласователь уровней. АЦП может быть внешним или в составе МК (предпочтительно). Анализ характеристик АЦП в составе МК фирмы Atmel (Atmega128, ATSAME70J19A) показал их пригодность. В качестве согласователя уровней предлагается резистор как наиболее простое решение в сочетание со встроенными в IO порт защитными диодами.

Сервомашинки предназначены для приведения кинематики ракеты в движение. Для этого они обладают достаточным крутящим моментом - 9,6 кг/см. Существует ограничение по скорости отклика, сервомашинка должна поворачивать вал на 60° за время менее 1 с. Изделие TGY-AN10 обладает необходимыми качествами, доступно по цене и было использовано в ракете TSR 1.1. Клавиатура предназначена для ручного управления сервомашинками и подключается к МК через GPIO.

Для питания разрабатываемой многоразовой бортовой системы используются аккумуляторные батареи и механизмы их зарядки.

Для решения поставленной задачи необходимы процессорный блок, обладающий ОЗУ и ПЗУ, пять линий ввода/вывода, контроллер прерываний, контроллеры интерфейсов SPI, I2C, USART; АЦП; до трёх аппаратных таймеров. Требуемый объем ОЗУ и ПЗУ для хранения данных и команд будут уточнены в процессе разработки программного обеспечения.

3. Алгоритмическое обеспечение

3.1 Основные режимы работы

На рисунке 6 изображены основные режимы работы электроники и переходы между ними.

Рисунок 6 - Режимы работы аппаратуры

При включении электроника переходит в режим «готов», все блоки инициализированы. При подаче внешнего питания электроника переходит в режим «зарядка», цепи отключаются от батарей, происходит зарядка последних.

При отрыве бинарного датчика начала движения или при значительном ускорении электроника переходит в режим «полёт», время нахождения в этом режиме предварительно рассчитывается и задаётся программно.

На рисунке 7 изображена диаграмма деятельности бортовой системы.

При подаче питания на МК он переходит к инициализации. Активируется контроллеры всех используемых интерфейсов: SPI, I2C, USART, GPIO, прерываний.

Рисунок 7 - Диаграмма деятельности системы

Активируется работа с файловой системой, открывается файл для записи на карте памяти. Создаются нити, часть из них запускается, часть приостанавливается, чтобы быть запущенными в нужный момент. Аппаратура находится в режиме «готов». В этом режиме возможно использование клавиатуры для ручного открытия/закрытия сервомашинок. МК постоянно анализирует состояние чеки и сообщения от акселерометра. В случае размыкания чеки или установления факта значительного ускорения аппаратура переходит в режим «полёт». В этом режиме клавиатура отключается, происходит опрос имеющихся датчиков: местоположения, давления и других, передача информации полёта в эфир, резервирование на карту памяти. Также система занимается анализом времени полёта относительно старта, подачей сигналов на исполнительные механизмы в нужный момент. По истечении заранее рассчитанного времени полёта аппаратура переходит в режим «приземл.», отключается резервирование на карту памяти, в эфир передаётся только местоположение, активируется режим пониженного энергопотребления.

3.2 Структуры данных модуля навигации

Модуль навигации использует протокол NMEA 0183 v3.1 для коммуникации с МК. Общий вид строк в NMEA 0183:

· символ «$».

· 5-буквенный идентификатор сообщения. Первые две буквы - идентификатор источника сообщения, следующие три буквы -- идентификатор формата сообщения, согласно протоколу NMEA 0183 определённой версии.

· список данных (буквы, цифры и точки), разделённых запятыми. Если какие-либо данные отсутствуют внутри строки, запятые всё равно ставятся (например «,,»). Некоторые поля в конце строки могут отсутствовать вовсе.

· символ «*».

· 2-значное 16-ричное число -- контрольная XOR-сумма всех байт в строке между «$» и «*».

· <CR><LF> (конец строки).

Для анализа местоположения бортовой системе достаточно рекомендуемого минимума навигационных данных, имеющего следующую структуру

$GPRMC,hhmmss.sss,A,GGMM.MM,P,gggmm.mm,J,v.v, b.b, ddmmyy, x.x, n,m*hh<CR><LF>

где «GP» -- идентификатор источника; в приведенном примере это GPS, «GL» -- ГЛОНАСС, «GA» -- Галилео, «GN» -- ГЛОНАСС+GPS;

«hhmmss.sss» -- время фиксации местоположения по Всемирному координированному времени UTC: «hh» -- часы, «mm» -- минуты, «ss.sss» -- секунды. Длина дробной части секунд варьируется. Лидирующие нули не опускаются;

«A» -- статус: «A» -- данные достоверны, «V» -- недостоверны;

«GGMM.MM» -- широта. 2 цифры градусов(«GG»), 2 цифры целых минут, точка и дробная часть минут переменной длины. Лидирующие нули не опускаются;

«P» -- «N» для северной или «S» для южной широты;

«gggmm.mm» -- долгота. 3 цифры градусов(«ggg»), 2 цифры целых минут, точка и дробная часть минут переменной длины. Лидирующие нули не опускаются;

«J» -- «E» для восточной или «W» для западной долготы;

«v.v» -- горизонтальная составляющая скорости относительно земли в узлах. Число с плавающей точкой. Целая и дробная части переменной длины;

«b.b» -- путевой угол (направление скорости) в градусах. Число с плавающей точкой. Целая и дробная части переменной длины. Значение равное 0 соответствует движению на север, 90 -- восток, 180 -- юг, 270 -- запад;

«ddmmyy» -- дата: день месяца, месяц, последние 2 цифры года (ведущие нули обязательны);

«x.x» -- магнитное склонение в градусах (в ML8088sE отсутствует);

«n» -- направление магнитного склонения (в ML8088sE отсутствует);

«m» -- индикатор режима: «A» -- автономный, «D» -- дифференциальный, «E» -- аппроксимация, «N» -- недостоверные данные;

«hh» -- контрольная сумма;

<CR> -- байт равен 0x0D;

<LF> -- байт равен 0x0A.

Приемник ML8088sE позволяет осуществлять определение текущего местоположения и вывод информации с различным периодом [5]. Период определения координат (период решения навигационной задачи) задается параметром CDB-ID 303 «GNSS Fix Rate» в секундах, пределы изменения 0,1с…255с.

Вывод информации осуществляется в нескольких страницах (наборах сообщений), имеющих разные темпы и условия вывода (приведено в таблице А3).

Передаваемые сообщения разрешаются установкой в «1» значения соответствующего бита, запрещаются, соответственно, установкой значения в «0». Фабрично установленное значение параметра 210 составляет 0x00000000. Фабрично установленное значение параметра 211 составляет 0x00000000. Фабрично установленное значение параметра 201 составляет 0x00180055. Так как в бортовой системе достаточно одного сообщения RMC, в значение параметра CDB-ID 201 следует записать 0x00000040 (изменение вступает в силу немедленно). Достаточное время вывода RMC - 0,5 с, тогда в параметр CDB-ID 190, задающий время вывода Набора сообщений 0 следует записать 0x01.

Команда установки значения параметра ML8088sE

Отправка команды в модуль заключается в передачи в UART1 текстового сообщения следующего вида

$PSTMSETPAR,<ConfigBlock><ID>,<param_value>[,<mode>]*<cr><lf>

где

<ConfigBlock> - указывает блок конфигурационных параметров (1 - текущая конфигурация, 2 - конфигурация, принятая по умолчанию, 3 - конфигурация, сохраненная в памяти NVM);

<ID> - идентификатор параметра (CDB-ID);

<param_value> - значение параметра или маска бита;

[,<mode>] - (опционально, по умолчанию 0) режим записи (0 - прямая запись значения в том виде, как оно введено, 1 - запись значения в виде побитного логического ИЛИ текущего и введенного значений, 2 - запись значения в виде побитного логического И текущего значения и инвертированного введенного значения.

Примеры установки значения параметра 201 (CDB-ID 201) в 0x0040

$PSTMSETPAR,1201,00000040,0*<cr><lf>

Примеры установки значения параметра 190 (CDB-ID 190) в 0x01

$PSTMSETPAR,1190,01,0*<cr><lf>

где

<cr> - возврат каретки есть 0x0D;

<lf> - подача строки есть 0x0A.

Алгоритм работы с модулем навигации в программе

Инициализировать соответствующий USART;

Выбрать тип сообщений, время их выдачи (или оставить настройки по умолчанию);

Принимать данные в прерывании как важные, хранить в буфере.

3.4 Алгоритм вычисления приборной скорости

На рисунке ниже представлена зависимость выхода датчика дифференциального давления MPX5100DP от давления.

Рисунок 8 - Зависимость напряжения от давления

Результат преобразования ADCW переводится в напряжение по следующей формуле

где - опорное напряжения АЦП.

Значение давления вычисляется на основании формулы

где - напряжение питания датчика, ???????????????? ??????????=2,5 для MPX5100DP, ?????????????????????? ????????????=1 при температурах 0 - 85°C.

Скорость вычисляется согласно уравнению Эйлера [6]

где - давление, измеряемое датчиком, с - плотность воздуха.

Плотность воздуха может быть получена различными путями. Стандартной величиной плотности воздуха на уровне моря в соответствии с Международной стандартной атмосферой принимается значение 1,225 кг/мі, которая соответствует плотности сухого воздуха при 15 °С и давлении 101330 Па. Для иных температур и давлений существую таблицы [7].

Возможно вычислить плотность по уравнению Клапейрона-Менделеева [8].

Алгоритм работы с трансивером в программе:

Инициализировать АЦП;

Выбрать канал АЦП с датчиком;

Произвести измерение;

Сохранить код АЦП в буфере для последующего преобразования на ПК.

3.4 Структуры данных трансивером

На рисунке ниже приведена последовательность возможных состояний трансивера CC1125 после подачи питания.

Работа с трансивером начинается с инициализации регистров настройками. После инициализации трансивера он оказывается в состоянии IDLE (см. рисунок 9). Необходимо перейти в состояние Transmit mode. Так как существует неуверенность в том, в каком точно состоянии сейчас находится трансивер (не исключены TX_FIFO_ERROR и RX_FIFO_ERROR), то предварительно точно переведём его в IDLE, а затем уже в Transmit mode, для удобства вызов необходимых команд был сгруппирован в процедуре CC112X_TxMode.

Рисунок 9 - Логические состояния CC1125

Данные для передачи должны быть загружены в TX FIFO буфер трансивера, к ним будет добавлена некоторая служебная информация (в том числе CRC), после чего произойдёт передача по радиоканалу. В случае необходимости можно также принимать радиопередачи. Для этого необходимо читать RX FIFO буфер (служебная информация в него не попадает).

Алгоритм работы с трансивером в программе:

Инициализировать SPI, выбрать трансивер;

Инициализировать трансивер начальными настройками;

Перевести трансивер в Transmit mode;

Записывать данные в TX FIFO для передачи по радио;

Читать данные из RX FIFO в случае необходимости приёма.

С каждого средства измерения данные приходят пакетом, но порядок прихода пакетов не регламентируется, хотя и ожидается. Для формирования пакета передачи (таблица 1) необходимо сгруппировать все пришедшие за определённый промежуток пакеты, которые предполагается отправить. Данная задача решается с помощью кольцевых буферов. Период передачи согласно ТЗ. Структура пакета для передачи одинакова для карты памяти и для трансивера. Расчёт расхода канала приведён ниже.

Таблица 1 - Структура пакета для передачи

Легко видеть, что при периоде передачи 1 с запас ширины канала составит 57 байта. Это позволяет во время передачи основного пакета дополнительно передавать небольшие сообщения о состоянии системы, пройденных этапах полёта, возникших неполадках.

3.5 Особенности операционных систем в микроконтроллерах

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

Рассмотрим некоторые основные возможности, предоставляющие применение операционных систем при программировании микроконтроллеров.

Во-первых, многозадачность. Программист оформляет код нитей, а операционная система переключает их в соответствии с алгоритмом и устройством планировщика (кооперативная или вытесняющая многозадачность). Большинство современные ОСРВ учитывают приоритет нитей (задаётся программистом).

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

Во-третьих, операционная система предоставляет средства для синхронизаций между нитями: семафоры бинарные, циклические, группы событий (Event Group), мьютексы, очереди и другие.

В-четвёртых, использование ОСРВ улучшает читабельность и наглядность программного кода и повышает удобство написания программы командой разработчиков.

В разрабатываемой системе применение ОСРВ обусловлено необходимостью дальнейшего расширения.

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

ОСРВ требует от МК много памяти: система размещает в RAM свои внутренние переменные; размещает создаваемые задачи (их текущее состояние, адрес возврата, внутренние таймеры и др.), система занимает место и в программной памяти.

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

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

При переносе программы на другую архитектуру необходимо портировать на ней используемую ОСРВ.

Существует проблема доверия к коду операционной системы, особенно при использовании ОСРВ в жизненно важных областях.

Существуют множество систем ОСРВ: Salvo, TI-RTOS, uClinux, VxWorks, FreeRTOS. Их преимущества и недостатки рассмотрены в литературе [11, 12]. Лучшими характеристиками для проекта обладает FreeRTOS. FreeRTOS имеет следующие положительные стороны: модифицированная лицензия GPL [9]; портирована на большое количество микроконтроллеров; мощный функционал; существуют различные дополнительные библиотеки; хорошая документация. Среди недостатков стоит отметить, что в отсутствии готовой сборки для данного МК, необходим сложный процесс портирования.

Существуют смежные с FreeRTOS продукты - это OpenRTOS и SafeRTOS, они реализуют те же подходы и предоставляют почти те же возможности. SafeRTOS прошёл сертификацию на соответствие стандарту безопасности IEC 61508 - коммерческий продукт фирмы WITTENSTEIN high integrity systems [10]. Основные лицензионные отличия между FreeRTOS и OpenRTOS приведены в таблице А4.

3.8 Реализация управления сервомашинками

Для управления сервомашинками используется ШИМ. В работе необходимо 3 канала ШИМ, предусмотрена возможность их увеличения.

Для управления сервомашинкой необходимо на управляющий вход подавать импульсный сигнал с одинаковой частотой и разной длительностью импульса. Длительность импульса от 0,7 до 2,3мс определяет положение привода, что иллюстрирует рисунок ниже.

Рисунок 10 - Цикл работы сервомашинки

Реализация в бортовой системе. Каждая сервомашинка подключена к своему выводу МК. Необходимо реализовать ШИМ на 8 каналов. Импульсы будут генерироваться одним таймером, в прерывании. Принцип генерации: все импульсы на сервомашинки задаются одновременно. Затем в таймер, в регистр сравнения, заносится время длительности первого импульса. По прерыванию сравнения происходит сброс бита на порту первого канала, загрузка в регистр сравнения таймера значения длительности второго импульса. Таймер продолжает, загружая по очереди длительности импульсов и отрабатывая все каналы. Досчитав до 20мс, цикл повторяется. При таком подходе необходимо, однако, сортировка сервомашинок по возрастанию длительности интервала.

Необходимо также учитывать, что интервалы могут быть одинаковыми, тогда и сбрасывать соответствующие сервомашинки нужно одновременно. На рисунке ниже представлен цикл работы 8 сервомашинок. Для небольшого количества сервомашинок может быть интересен более простой алгоритм, описанный ниже.

Рисунок 11 - Цикл работы сервомашинок

Запустить таймер, задав некоторое начального значение для прерывания совпадения.

Объявить некоторую переменную, обнулить, переменная будет считать такты. Для каждого сервопривода требуется два такта: фронт импульса и спад.

При первом попадании в прерывание на выводе реализуемого ШИМ задать «1», требуемая длительность импульса записать в регистр совпадения, увеличить счетчик.

При втором срабатывании прерывания проверить счетчик, сбросить вывод, записать в регистр число, характеризующее значение счётного регистра в момент запуска второго сервопривода. И так далее…

Таким образом невозможно задействовать более 10 сервомашинок, однако такое ограничение не входит в противоречие с ТЗ.

4. Комплекс технических средств

4.1 Приёмопередатчик CC1125

Передачи данных полёта по радиоканалу осуществляется на частоте 433 МГц на значительное расстояние - до 2 км. При этом данные с датчиков приходят не так часто, так что можно говорить о низкоскоростном канале.

Для решения задачи был выбран популярный трансивер CC1125. Ему были заданы следующие настройки, ориентированные на достижение скорее большей дальности радиопередачи, чем пропускной способности:

Частота: 433 МГц;

Тип модуляции: частотная (2-FSK);

Мощность передачи: +15 дБм;

Скорость радиопередачи: 150 байт/с.

Выбранный тип модуляции в совокупности с максимально возможной мощностью позволяет добиться максимальной дальности.

Регистры трансивера находятся в адресном пространстве, которое поделено на несколько секций согласно рисунку ниже.

Рисунок 12 - Отображение адресов

Способы доступа к адресному пространству представлены в таблице А1.

Сопряжение с трансивером производится с помощью интерфейса SPI согласно рисунку 13.

Рисунок 13 - Временная диаграмма приёмопередач SPI

4.2 Антенна

В качестве антенны для передающей части была выбрана штыревая антенна, обеспечивающая небольшие размеры, малую массу, простоту изготовления и обслуживания, а также имеющую оптимальную диаграмму направленности для подвижного объекта - ракеты.

Длина волны 433 МГц - 0,7 м, тогда длина четвертьволновой (штыревой) антенны составит 17,25 см.

Коэффициент усиления - порядка 5 дБи.

Расчёт дальности связи невозможен без учёта данных приёмника. В нашей приёмной станции предполагается использование также CC1125, с настройкой чувствительности на -123 дБм; спиральной антенны с поперечным излучением, коэффициент усиления - 1,9 дБи [13].

Расчёт с использованием уравнения Фрииса [14] показал нереалистичную цифру в 24545 м, поэтому, в соответствии с рекомендациями производителя [15], был скорректирован с учётом интерференции, высотности, и в конечном итоге расчётная дальность радиосвязи составила 2231 м, что достаточно для полёта на высоту 2000 м и ниже.

4.3 Модуль навигации ML8088sE

ГЛОНАСС, GPS модуль ML8088sE обеспечивает уверенный приём за счёт использования всех действующих систем спутниковой навигации. Низкое энергопотребление позволяет применять его для поиска ракеты в течении длительного времени. Модуль обладает достаточной механической прочностью, работает в необходимом диапазоне температур.

Имеет следующие погрешности определения координат по уровню 60% - 1,5 м в плане и 3 м по высоте. Для работы модуля ускорение не должно превышать 3g, скорость изменения ускорения - не более 1 g/с. На рисунке 7 изображён расчётный график высоты ракеты относительно времени, крестиком обозначена каждая целая секунда.

Таким образом, данные модуля станут достоверны, начиная с высоты 1300 м (где ускорение менее 3g) и будут оставаться таковыми на протяжении всего полёта с парашютом. Модуль может использоваться для определения скорости полёта (на той же рабочей траектории). Подключается ML8088sE к микроконтроллеру по UART. Следующие настройки используются в качестве настроек по умолчанию. Порт ML8088sE: UART1 - вывод потока сообщений NMEA и ввод команд и данных в приемник («порт NMEA»)

115200 бит/с;

0 битов чётности;

1 стоповый бит;

8 бит данных;

порт USB не активирован.

Питание 3,3 В.

4.4 Датчик давления MPX5100DP

Скорость полёта может быть вычислена различными путями. При небольших ускорениях можно получать её из модуля GPS. Однако ввиду больших ускорений (до 20g) предпочтительнее вычислять скорость по разности давлений, создаваемой набегающим потоком и статическим давлением.

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

Предварительный расчёт показал, что предельная скорость ракеты, измеряемая с его помощью, составит 420 м/с, в то время как расчётная предельная скорость ракеты 270 м/с. Легко видеть, что запас составил 150 м/с. Датчик MPX5100DP аналоговый, подключается к АЦП. Особенность использования этого датчика в том, что номинальное напряжение питания составляет не 3,3 В, а 5 В.

В цепи питания MPX5100DP используется DC-DC преобразователь из 3,3В в 5В. Так как выходной сигнал в таком случае тоже будет 5В, требуется согласование уровня. Принимая во внимание максимальный ток линии 0,1 мA, однонаправленность, встроенные защитные диоды МК на ток порядка 1 мА [17], в качестве такого согласователя подойдёт резистор сопротивлением не менее 1,1 КОм.

В проекте применяется 10-битный АЦП, вход которого соединён с портом PF0. АЦП Mega128, как и любому другому АЦП, нужно опорное напряжение для целей сравнения со входным. Битов REFS1, REFS0 регистра ADMUX были сброшены, таким образом в проекте используется опорное напряжение , подаваемое на ножку AREF (на схеме Proteus закорочены). Данное решение обеспечивает простоту реализации, но высокий уровень помех. Также интересен режим REFS1=0, REFS0=1, позволяющий сильнее снизить влияние помех, но требующий подбора дополнительной элементной базы.

4.5 Карта памяти

Для резервирования принятых данных используется SD карта памяти в режиме SPI. Питание 3,3 В. Объём карты памяти определяется размером пакета для передачи и частотой его записи на карту, эти данные приведены в таблице Таблица 1. Также необходимо учитывать, что процесс записи будет происходит только в режиме «полёт». Таким образом карты памяти объёмом более 1 Мбайт более чем достаточно. Из той же таблицы можно судить о минимальной скорости записи карты.

4.6 Исполнительные механизмы

Главной движущей силой механизмов выброса зондов, парашютов, расстыковки ступеней являются сервомашинки. Они обеспечивают значительный крутящий момент и способны удерживать заданное положение. Это позволяет обеспечить работу электромеханических замков в условиях ударных нагрузок. Опытным путём было установлено, что момента 9.6 кг/см достаточно для открывания любого из замков. На представленной ниже иллюстрации видны исполнительные механизмы ракеты TSR 1.1: сервомашинка (чёрная) управляет блокировкой дверцы; видны две пружины (их управляющие сервомашинки закреплены сзади).

Для унификации во все системы могут были закуплены одинаковые аналоговые сервомашинки Turnigy TGY-AN10.

Рисунок 14 - Исполнительные механизмы TSR 1.1

4.8 Модуль ориентации MPU-9250

В качестве датчика ориентации может выступать MPU-9250 [18]. Это позволяет расширить функциональность контроллера, в его состав войдут следующие технические средства.

Акселерометр. Линейные ускорения: до 16g по каждой оси, точностью не менее 0,5g.

Гироскоп. Угловая скорость: до 2000 градус/с по каждой оси с точностью не менее 5 градус/с;

Магнетометр. Магнитная индукция до ±4800µT по каждой оси, точностью не менее 100 µT.

Наличие данных технических средств позволит реализовать следующие функции, заложенные на этапе постановки задач. В случае неисправной чеки аппаратура всё равно сможет перейти в состояние «полёт» на основе анализа ускорения. Станет возможен контроль параметров траектории с помощью инерциально-измерительной системы.

MPU-9250 взаимодействует с МК посредством SPI или I2C. Питание 3,3 В.

4.9 Микроконтроллер

Выбор МК выполнялся на основе структурной схемы и алгоритмического обеспечения. Для реализации требуются блоки ADC, I2C, SPI, USART, GPIO, аппаратные счётчики-таймеры, контроллер прерываний. Микроконтроллер должен успевать опрашивать все датчики, вовремя выдавать управляющие воздействия и выдавать информацию в канал приёмопередатчика. Дополнительные ресурсы требует ОСРВ. Особенностью МК является повышенное требование к объему памяти программ и памяти данных, так как использование FreeRTOS даже для переключения состояния порта требует 6238 байт памяти программ и 1668 байт памяти данных. Конкретные значения памяти программ и данных будут уточнены при отладке. На основании этих соображений был выбран МК ATmega128. Были задействованы аппаратные таймеры: 16 битный TIMER1 для FreeRTOS, 8 битный TIMER2 для модуля FatFs (работа с SD картой) и для вызова функции опроса кнопок, 16 битный TIMER3 для генерации ШИМ сервомашинок.

Выбор тактовой частоты связан с задачей снижения энергопотребления. Это актуальный вопрос в системе с батарейным питанием. Снижение частоты ограничивают: используемая скорость USART, необходимая частота АЦП и другие блоки, а также необходимая производительность системы на базе МК (особенно при использовании арифметики с плавающей запятой).

Однако при дальнейшем развитии системы мощности этого МК может не хватить и предполагается переход на контроллеры с 32-х разрядной архитектурой: ARM, MIPS. Для сохранения привычной среды разработки, средств программирования и отладки, в качестве оптимального вариантом может считаться применение в дальнейшем платформы Atmel SAM, например, ATSAME70J19A.

4.10 Блок питания

Для питания используется разделение на цифровую и на силовую части. К силовой части относится цепь питания сервомашинок, которые при своей работе создают помехи в цепи, это может вызвать сброс микроконтроллера, неправильные измерения. К тому же им требуется повышенное по сравнению с цифровой частью питание: от 5 В.

Поэтому при разработке печатной платы рекомендуется применить гальваническую развязку. Неочевидное следствие этого приёма - инверсия управляющих сигналов сервомашинок, что должно быть учтено при программировании. Для обеспечения безотказной работы в условиях ударных нагрузок контакты аккумуляторов могут были припаяны, но это снизит универсальность. В качестве альтернативы может использоваться подпружиненный разъём, но возможен дребезг контакта; в качестве контрмеры предлагается подключить конденсатор параллельно питанию [19].

Под цифровой частью будем понимать цепи компонентов, приведённых в таблице 2. Питание цифровой части осуществляется от аккумулятора цифровой части. Расчёт показывает, что при ёмкости аккумулятора 1,1 А·ч цифровая часть сможет работать более пять часов.

Таблица 2 - Потребление цифровой части

Компонент

Макс. ток, мА

ATmega128 (микроконтролер)

40

SD карта (чёрный ящик)

15

MPU-9250 (ориентация)

3,5

ML8088sE (местоположение)

60

MPX5100DP (дифференциальный датчик давления)

7

CC1125 (приёмопередатчик)

56

Оптроны (для передачи сигнала силовой части), работают секунды

30

Итого

182

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

Бортовая электроника спроектирована таким образом, чтобы позволить эксплуатировать разные типы аккумуляторов: LiFePo4, Li-po и другие. Это обеспечивает универсальность и удобство. Необходимо отметить, что встроенное в бортовую систему зарядное устройство поддерживает только LiFePo4, Li-po, таким образом, эксплуатация других типов аккумуляторов возможна при использовании внешнего зарядного устройства.

Наиболее перспективными нам видятся LiFePo4 аккумуляторы. Они имеют напряжение до 3,5 В, хорошо сохраняют его при разряде, а также имеют самое большое количество циклов перезарядки.

В качестве стабилизатора напряжения для сервомашинок может быть выбран dc-dc преобразователь TPS54620. Он обеспечивает большой ток (до 6А) и стабилизацию 4,5 - 17 В. TPS54620 стабилизирует напряжение с двух последовательноподключённых аккумуляторов во все режимах, кроме режима «зарядка», то есть от 6 до 8,4 В. В режиме «зарядка» стабилизируется внешнее питание от 5 до 17 В. TPS54620 имеет вывод Power Good (PWRGD). Сигнал на нём зависит от состояния вывода VSENSE. На PWRGD уровень «0», когда VSENSE ниже 91% или выше 109%, чем номинальный внутренний опорный источник. TPS54620 использует выход с открытым стоком на выводе PWRGD. На рисунке ниже изображена схема подключения TPS54620.

Рисунок 15 - Схема подключения TPS54620

5. Программное обеспечение системы

Для разработки ПО микроконтроллеров Atmel могут быть использованы языки программирования asm, C или C++. Для выбора конкретного языка были составлены требования:

1. Адекватное время разработки ПО;

2. Возможность перехода на другой МК;

3. Мощный инструментарий для программирования от производителя.

Этим требованиям соответствует язык C, имеющий действительно широкую поддержку от производителя: множество примеров кода для конкретного МК, фреймворк ASF, кодогенератор Atmel Start, а также огромное сообщество пользователей. Производитель предлагает бесплатную среду разработки Atmel Studio, набор программ для компиляции (AVR GCC toolchain). В настоящее время AVR GCC toolchain является наиболее мощным и постоянно поддерживаемым средством создания C и C++ программ для МК Atmel.

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

5.1 Структура программного обеспечения

Проект условно можно разделить на четыре части: инициализация, нити, средства взаимодействия нитей, прерывания.

Инициализация выполняется в начале программы, при запуске системы, единожды. Инициализируются контроллеры всех используемых интерфейсов: SPI, I2C, USART, GPIO, прерываний, счётчики-таймеры; инициализируется работа с файловой системой, открывается файл для записи. В конце инициализации создаются нити, часть из них запускается, часть из них приостанавливается, чтобы быть запущенными в нужный момент.

Ниже представлено описание важных нитей (тасков).

vPollingFromButt_lib занимается опросом клавиатуры управления сервомашинками, запускается вначале, прекращается после срыва чеки;

vFligthServo запускает исполнительные механизмы в нужный момент, запускается после срыва чеки, прекращается после выполнения цикла управления механизмами;

vADCStart работает с датчиком дифференциального давления, сохраняет результат в буфер, запускается после срыва чеки;

vFatFsWrite записывает информацию из буферов в карту памяти, запускается после срыва чеки;

vCCWrite записывает информацию из буферов в трансивер, запускается после срыва чеки;

Каждая нить решает свою задачу, но также у нитей существуют общие ресурсы, поэтому в программе используются средства взаимодействия: кольцевые буферы, группы событий и др. Основной вопрос взаимодействия в системе возник между нитями vCCWrite и vFatFsWrite, они читают одни и те же данные. Так как данные постоянно приходят новые, прочитанное необходимо удалять. Однако нити работают с разными скоростями. Это заставляет либо использовать две очереди, либо не использовать очереди вовсе.

Одно из возможных решений экономит память. Обе нити используют один и тот же кольцевой буфер. Данные заносятся по индексу idxIN, считываются нитью vFatFsWrite по индексу idxOUT_SD и нитью vFatFsWrite по индексу idxOUT_CC. Главное, чтобы скорость записи не превысила скорость чтения, это необходимо закладывать при разработке ПО. Учитывая скорость выдачи данных модулем навигации был задан необходимый размер кольцевого буфера с некоторым запасом.

В ситуации нескольких кольцевых буферов (под каждый источник данных свой) происходит хаотичная передача пакетов данных. Например, может быть передан пакет местоположения и ещё один пакет местоположения, а затем уже результат АЦП. Это вызывает необходимость помечать принадлежность данных к тому или иному источнику. Однако есть и преимущество, если какой-либо пакет не может прийти в принципе (например из-за поломки датчика), работоспособность системы не будет нарушена. Это ценное свойство в бортовой системе сбора данных и управления моделью ракеты.

Приём данных с GPS реализован с помощью прерывания, это позволяет гарантированно принять важные данные. Результат передаётся в кольцевой буфер.

При разработке ПО для обмена данными между нитями использовались кольцевые буферы. Принцип работы кольцевого буфера поясняет рисунок 16.

Рисунок 16 - Модель кольцевого буфера

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

Кольцевой буфер - это участок в памяти, имеются две переменных, указывающих на начало и на конец. Ниже приведён пример объявления восьмибайтного буфера ADC_Buf.

Переменная ADC_idxIN указывает на первую ячейку в буфере, используется при чтении.

Переменная ADC_idxOUT указывает на последнюю актуальную ячейку, тогда запись будет происходить в следующую за ней.

u8 ADC_idxIN, ADC_idxOUT;

unsigned short ADC_Buf[0b1000];

Операция занесения нового байта

ADC_Buf[ADC_idxIN++] =ADCdata;

ADC_idxIN &= 0b0111; //Наложение маски

Операция выборки из буфера

value = ADC_Buf[ADC_idxOUT++];

ADC_idxOUT&= 0b0111; //Наложение маски

Кольцевой буфер удобен тем, что очень просто производить заполнение буфера, проверку наличия данных в буфере, выборку данных из буфера. Слабое место проявляется, когда скорость записи превышает скорость чтения.

Программист может предусмотреть один из следующих вариантов: начать затирать старые данные или остановить запись, установить программный флаг о переполнении.

Размер буфера задаётся произвольно, но обычно кратно степени двойки для быстрого манипулировать индексами. Максимально удобны буфера размером 256 байт - в этом случае маску при операциях с переменными-указателями уже накладывать не надо, код получается в этом случае максимально быстрый и компактный.

...

Подобные документы

  • Задача накопления, обработки и распространения информации. Характеристика систем управления. Схема комплекса средств автоматизации. Функционирование АСУ комплекса средств автоматизации. Требования, предъявляемые к АРМ РД. Структура базы данных.

    реферат [29,1 K], добавлен 12.06.2009

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

    дипломная работа [3,6 M], добавлен 12.01.2016

  • Порядок работы менеджера турфирмы. Анализ рынка программных приложений для ведения туристического бизнеса. Выбор средств проектирования и разработки системы управления баз данных. Разработка, реализация и анализ работы программного модуля, его запуск.

    дипломная работа [3,4 M], добавлен 19.07.2015

  • Особенности архитектуры Java. Технология Java Database Connectivity. Кроссплатформенность Java-приложений. Преимущества языка программирования. Логическая структура базы данных. Структура программного комплекса. Верификация программных средств.

    курсовая работа [962,8 K], добавлен 13.01.2016

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

    курсовая работа [438,3 K], добавлен 11.01.2016

  • Изучение области применения комплекса для проведения имитационных испытаний микропроцессорных систем железнодорожной автоматики на функциональную безопасность. Разработка программного обеспечения модуля управления и отладки. Тестирование системы команд.

    курсовая работа [1,1 M], добавлен 22.11.2014

  • Система управления базами данных как совокупность программных и языковых средств, предназначенных для создания и обработки данных. Анализ деятельности обувной мастерской. Особенности разработки функциональной диаграммы и тестирования программного модуля.

    дипломная работа [2,9 M], добавлен 04.11.2012

  • Проблемы и тенденции проектирования операционных систем, структура ОС. Руководящие принципы при разработке интерфейса. Парадигмы пользователя, исполнения и данных. Примеры применения ортогональности и связывания. Методы практической реализации систем.

    реферат [60,9 K], добавлен 26.01.2011

  • Основные функции системы управления базами данных. Комплекс программных и лингвистических средств общего или специального назначения. Условия принятой технологии обработки данных. Управление буферами оперативной памяти. Журнализация и её значение.

    курсовая работа [1,2 M], добавлен 19.01.2012

  • Выполнение отладки программных модулей с использованием специализированных программных средств. Тестирование, оптимизация кода модуля. Реализация базы данных в конкретной системе управления. Анализ проектной и технической документации на уровне компонент.

    дипломная работа [5,0 M], добавлен 08.06.2017

  • Характеристика сущности, назначения, функций операционных систем. Отличительные черты их эволюции. Особенности алгоритмов управления ресурсами. Современные концепции и технологии проектирования операционных систем, требования, предъявляемые к ОС XXI века.

    курсовая работа [36,4 K], добавлен 08.01.2011

  • Понятие операционной системы как базового комплекса компьютерных программ, обеспечивающего управление аппаратными средствами компьютера, работу с файлами, ввод и вывод данных, выполнение утилит. История развития операционных систем семейства Windows.

    курсовая работа [54,3 K], добавлен 10.01.2012

  • Характеристика флэш-памяти, особого вида энергонезависимой перезаписываемой полупроводниковой памяти. Исследование особенностей организации флэш-памяти. Общий принцип работы ячейки. Обзор основных типов карт памяти. Защита информации на флеш-накопителях.

    презентация [9,3 M], добавлен 12.12.2013

  • Анализ программных средств несанкционированного доступа к информации в сетях ЭВМ и способов защиты. Возможности операционных систем по защите и разграничению доступа к информации и выбор самой защищенной. Планирование сети штаба объединения ВВС и ПВО.

    дипломная работа [1,0 M], добавлен 14.09.2010

  • Организационная структура управления интернет-магазином. Классификаторы и системы кодирования. Характеристика нормативно-справочной, входной и оперативной информации. Программное обеспечение, характеристика базы данных. Дерево вызова программных модулей.

    курсовая работа [2,6 M], добавлен 18.06.2013

  • Реализация программного средства "Действия над матрицами". Разработка кода программного продукта на основе готовой спецификации на уровне модуля. Использование инструментальных средств на этапе отладки программного модуля. Выбор стратегии тестирования.

    отчет по практике [296,1 K], добавлен 19.04.2015

  • Современные SCADA-системы и их безопасность. Диспетчерское управление и сбор данных. Основные компоненты SCADA-систем. Система логического управления. База данных реального времени. Автоматическая конвертация проектов для разных операционных систем.

    реферат [253,7 K], добавлен 25.11.2014

  • Основные принципы работы и назначение флеш-памяти, история ее создания, технология изготовления и применение в цифровых устройствах. Обзор и характеристика существующих стандартов: удобство и польза. Флеш-память: особенности туннелирования и стирания.

    реферат [90,3 K], добавлен 27.11.2011

  • Автоматизированная система управления как комплекс аппаратных и программных средств, его структура и содержание, назначение и функциональные особенности. Разновидности данных систем и их отличия. Понятие и внутреннее устройство, элементы жесткого диска.

    реферат [233,4 K], добавлен 29.12.2010

  • Особенности решения задачи контроля и управления посещением охраняемого объекта. Создание системы как совокупности программных и технических средств. Классификация систем контроля и управления доступом. Основные устройства системы и их характеристика.

    презентация [677,7 K], добавлен 03.12.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.