Курсы программирования микроконтроллеров
Общая информация Расписание и стоимость Преподаватели Отзывы слушателей
Предметная область
Управляющие встраиваемые системы Системы реального времени

Другие курсы

Курсы C++ Курсы Java Курсы C# (.NET) Курсы Microsoft C# (.NET) Программирование Android Курсы Web-технологий Программирование Linux Тестирование ПО Программирование микроконтроллеров

Обратная связь

+7 (812) 703-02-02 Форум

Системы реального времени

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

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

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

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

Использование ОСРВ позволяет программисту представить управляющую программу в виде нескольких относительно независимых, но взаимодействующих модулей ("задач"), а затем программно реализовывать и отлаживать задачи относительно независимо одну от другой.

Главная функция, которую выполняет ОСРВ на этапе выполнения, состоит в разделении между "задачами" ресурсов системы: процессорного времени, периферийных устройств и динамически выделяемой памяти.

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

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

Операционные системы на другом конце спектра обычно содержат уйму выполняемых функций сверх базового планировщика. Данные операционные системы могут быть очень дорогими, стартовая цена находится в диапазоне от 10000$ до 50000$ и плюс обязательные отчисления за каждую копию, зашитую в ROM. Тем не менее, такая цена часто включает бесплатную техническую поддержку и обучение, а также набор средств разработки.

Между двумя этими крайностями находятся системы, которые имеют умеренные цены и/или отчисления, но не содержат исходных кодов; техническая поддержка может стоить дополнительных денег. Большинство коммерческих операционных систем попадают в эту категорию.

В предлагаемом курсе DEV-SRV. Разработка встраиваемых систем реального времени на базе однокристальных микроконтроллеров изучается ОСРВ uC/OS-II (www.micrium.com), относящаяся к классу коммерческих ОС. Тем не менее, эта ОС распространяется в исходных текстах на языке Си, лицензионная политика правообладателей разрешает ее использование для целей обучения со свободным распространением исходных текстов студентам и преподавателям.

В настоящее время эта ОСРВ портирована на более чем 40 различных вычислительных платформ, включая такие популярные, как x86, PowerPC, ARM, MCS-51.