Skip to content

FSM & RTOS information

Ilya-Legchilin edited this page Apr 20, 2020 · 6 revisions

В данной статье рассматриваются такие понятия как конечный автомат (Finite State Machine - FSM) и операционная система реального времени (Real Time Operation System - RTOS). Конечный автомат — абстрактный автомат, число возможных внутренних состояний которого конечно. Самой простой реализацией FSM является конструкция, построенная на операторах условного ветвления. Мы проверяем условия перехода, а далее в зависимости от этого переходим в другое состояние. Схема работы FSM может быть описана с помощью диаграммы состояний или таблицы переходов. Однако, используя идею FSM, можно создавать очень сложные системы.

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

  1. Посмотреть температуру с датчика (ADC).
  2. Посмотреть, какой текст пришел с терминала компьютера по USART.
  3. Перейти в режим, в котором мы сами будем с некоторым интервалом посылать по USART на компьютер какой-либо текст (например, "Hello from FSM!").

RTOS - тип операционной системы, основное назначение которой — предоставление необходимого и достаточного набора функций для проектирования, разработки и функционирования систем реального времени на конкретном аппаратном оборудовании. Использование RTOS несколько меняет алгоритмический подход к программированию и структуру кода, поэтому в долгосрочной перспективе целесообразно интегрировать их в работу как можно раньше. При реализации систем управления часто возникает задача одновременного управления несколькими объектами, обработки информации от датчиков и так далее. При этом опрос клавиатуры и вывод информации на дисплей не так критичны к скорости, как, например, программа формирования ШИМ (для двигателя) и обработка информации от датчиков, то есть одни задачи имеют более низкий приоритет по отношению к другим. Все это усложняет приложение и накладывает высокие требования на производительность микроконтроллера. RTOS - программный комплекс, содержащий набор функций для работы аппаратного обеспечения в реальном времени. Основное назначение – поддержание вытесняющей многозадачности при помощи сервисов, предоставляемых ядром. Преимущества RTOS:

  1. Многозадачность.
  2. Временная база.
  3. Обмен данными.
  4. Синхронизация.

Мы предлагаем вам сделать то же задание, что и для FSM, но уже с использованием RTOS. Инструкции к написанию собственной RTOS можно найти по ссылке http://badembed.ru/plan_rtos/

Clone this wiki locally