Программирование микроконтроллеров AVR на графическом языке функциональных блоков FBDОпубликовано: 22.08.2018 Среди многообразия средств программирования микроконтроллеров AVR не так давно появилась российская система программирования на языке функциональных блоков (Function Block Diagram) под названием Horizont-Configurator . Configurator является составной частью программного комплекса Horizont, представляющего SCADA-систему (Supervisory Control And Data Acquisition System - Система оперативного диспетчерского управления и сбора данных). | Программирование микроконтроллеров AVR на языке релейных диаграмм LD Язык FBD очень прост в освоении и удобен как для схемотехников, не имеющих специальной подготовки в области программирования, так и для начинающих осваивать мир электроники, автоматики и робототехники. Весь процесс программирования в FBD-системе заключается в соединении линиями связи готовых элементарных блоков. Практически каждый функциональный блок в Horizont-Configurator имеет графическое изображение, принятое при разработке функциональных схем электронных устройств. Блоки представлены в виде прямоугольников, внутри которых имеется обозначение функции, и являют собой операции над входными переменными. Линии связи, которыми соединяют функциональные блоки, указывают распространение сигнала. Функциональная диаграмма системы управления, построенная в Horizont-Configurator, имеет сходство с электрическими схемами и может быть откомпилирована в файл прошивки для микроконтроллера AVR. Система программирования, позволяющая строить программу из набора стандартных логических элементов, очень удобна, если Вы хотите сделать BEAM-робота , но предварительно решили проверить логику разработанной вами схемы. Нарисовать схему в программе Horizont-Configurator гораздо быстрее, чем собрать ее даже на макетной плате. Использование Horizont-Configurator также удобно при отладке или проверке различных вариантов схемы BEAM-робота на реальной платформе. Конечно, при исполнении BEAM-схемы на микроконтроллере потеряются ее аналоговые свойства, но основная логика работы будет вполне видна. Особенно удобно использовать Configurator при разработке многотактных конечных автоматов, являющихся центром управляющей системы BEAM-роботов со сложным поведением. Для того, чтобы начать работу с Horizont-Configurator, необходимо зайти на страницу Downloads на официальном сайте программы, перейти в раздел "Configurator" и скачать установочный файл setup.exe (дистрибутив программы также можно скачать с этого сайта по ссылке horizont-configurator_for_avr_setup.exe ). Также на странице Downloads находятся примеры проектов "Мигание светодиодом" и "Задержка сигнала". Установив Configurator, можно загрузить примеры проектов, посмотреть на работу программы, откомпилировать примеры (меню "Проект" -> "Конфигурация -> "Создать файл конфигураций", затем меню "Проект" -> "Конфигурация -> "Собрать проект"). Пока среда Horizont-Configurator еще находится в стадии разработки, но уже представляет собой удобный и гибкий инструмент, с помощью которого можно создавать самые разнообразные прошивки для микроконтроллеров AVR. Элементы, доступные в Horizont-Configurator: Порты микроконтроллера (сразу конфигурируются как входы или выходы) Логические блоки (НЕ, И, ИЛИ, Исключающее ИЛИ) Логические константы Триггеры (RS, SR, D, DC, RTRIG, FTRIG) Логический генератор Генератор импульсов Блоки для работы с числами (Арифм. операции, Сравнение и т.д.) Таймеры Счетчики Индикаторы Элементы памяти В качестве тестового проекта попробуем создать прошивку для простого робота, описанного в статье "Робот с фотодатчиком для следования по линии" . В меню Файл выберем "Новый проект", дадим ему название и зададим тип микроконтроллера, например, ATMega8. Нажмем несколько раз "применить" в появляющихся окнах. После проделанных действий у нас появится поле для нашего проекта, а в левой панели необходимые элементы. Теперь перетащим элементы на рабочее поле. Нам понадобятся: Вход PinD1 из раздела "Порт D", Выходы PinC1, PinC2, Pin3, PinC4 из раздела "Порт C", две логические константы из раздела "Логические блоки" и Логическое НЕ из того же раздела. Развернуть элементы зеркально можно в правой панели "Свойства" с помощью изменения свойства "Turn" на "180 град". Соединим элементы сигнальными линиями. В панели инструментов есть кнопки переключения между режимами выделения и рисования соединительных линий. Если объекты отказываются соединиться, то можно поступить следующим образом: нарисуйте соединительную линию, а затем придвиньте к ней элемент (они соединятся). В текущей версии (0.3.0.60) поддерживаются следующие микроконтроллеры AVR: ATmega128, ATmega1284, ATmega1284P, ATmega128A, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164A, ATmega164P, ATmega164PA, ATmega165, ATmega165A, ATmega165P, ATmega165PA, ATmega168, ATmega168A, ATmega168P, ATmega168PA, ATmega169, ATmega169A, ATmega169P, ATmega169PA, ATmega16A, ATmega16HVA, ATmega16HVA2, ATmega16HVB, ATmega16M1, ATmega32, ATmega323, ATmega324A, ATmega324P, ATmega324PA, ATmega325, ATmega3250, ATmega3250P, ATmega3250PA, ATmega325A, ATmega325P, ATmega325PA, ATmega328, ATmega328P, ATmega329, ATmega3290, ATmega3290P, ATmega3290PA, ATmega329A, ATmega329P, ATmega329PA, ATmega32A, ATmega32C1, ATmega32HVB, ATmega32M1, ATmega406, ATmega48, ATmega48A, ATmega48P, ATmega48PA, ATmega64, ATmega644, ATmega644A, ATmega644P, ATmega644PA, ATmega645, ATmega6450, ATmega6450A, ATmega645A, ATmega649, ATmega6490, ATmega6490A, ATmega649A, ATmega649P, ATmega64A, ATmega64C1, ATmega64HVE, ATmega64M1, ATmega8, ATmega8515, ATmega8535, ATmega88, ATmega88A, ATmega88P, ATmega88PA, ATmega8A, ATmega8HVA, ATtiny13, ATtiny13A, ATtiny1634, ATtiny167, ATtiny2313, ATtiny2313A, ATtiny24, ATtiny24A, ATtiny25, ATtiny261, ATtiny261A, ATtiny4313, ATtiny43U, ATtiny44, ATtiny44A, ATtiny45, ATtiny461, ATtiny461A, ATtiny48, ATtiny84, ATtiny84A, ATtiny85, ATtiny861, ATtiny861A, ATtiny87, ATtiny88. 09.05.2015 |