258_Base_Duino – это готовое устройство с определенным функционалом, позволяющее простыми и доступными средствами настроить логику работы «под себя». Кроме того, 258_Base_Duino по умолчанию поддерживает сеть устройств и в любой момент можно внести новое устройство в сеть и «прописать» его взаимодействие с уже работающими устройствами.
В устройстве 258_Base_Duino есть три ключевых момента, относительно которых все работает:
1 Точки доступа (интерфейс устройства)
— это, своего рода, ячейки памяти, которые содержат результат работы обработчиков входных сигналов и исходные данные для формирования выходных сигналов. Точки доступа выполняют роль стандартного способа получения данных и управления устройством вне зависимости от того, что из себя это устройство представляет. Аналогией могут служить порта ввода/вывода у микроконтроллера, выполняющие роль интерфейса между программой и периферией.
2 Обработчики и формирователи (функционал устройства)
Обработчики это независимые асинхронные модули в устройстве, которые по факту входного воздействия (нажата кнопка, изменилось значение АЦП и т.д.) формируют результат этого воздействия (номер нажатой кнопки, значение АЦП и т.д.) в точке доступа.
Формирователь сигнала работает «в обратную сторону». Исходными данными для него служит точка доступа (вернее значение в ней) а выходной сигнал формируется на ножке МК (или нескольких ножках, если требуется управление более сложной периферией). Например, для ШИМ-выхода значение точки доступа будет содержать значение скважности.
3 Сценарий поведения, микропрограммы (логика работы устройства)
Сценарий поведения – это набор элементов формирующих логику работы устройства. Сценарий состоит из независимых частей — микропрограмм.
Микропрограммы — это правила реакции (алгоритмы поведения) устройства на различные воздействия. Одна микропрограмма отвечает за одно воздействие и реакцию на него. Если в устройстве нужно обрабатывать несколько воздействия, то для каждого создается своя микропрограмма. Можно условно считать, что каждая микропрограмма независимо друг от друга обрабатывает входные события и формирует выходной сигнал.
Микропрограмму формируют (описывают) элементы устройства
Графически взаимодействие всех вышеописанных частей ZiChip можно отобразить следующим образом:
Логика формирования управления при помощи микропрограммы показана на диаграмме:
Для пользователя скрыты механизмы работы обработчиков и формирователей. Микропрограмма (вернее элементы ее составляющие) работает исключительно с точками доступа, получая от них исходные данные и формируя в них результат (управляя формирователями выходных сигналов).
Элементы сценария разделены на два типа:
— «События» — элементы формирующие условие для выполнения и отвечающие за получение данных из точек доступа обработчиков
— «Действия» — выполняющие определенную работу по условию (формируют управляющие значения в точках доступа)
В самом простом случае (нажали кнопку – загорелся светодиод) микропрограмма будет иметь следующий вид:
Данный сценарий следует «читать» следующим образом:
— если нажата кнопка (в настройщике указывается точка, отвечающая за кнопки и номер опрашиваемой кнопки)
— выполнить действие со светодиодом (в настройщике указывается точка, отвечающая за светодиод и вариант выполняемого действия).
Ниже приведены окна настройщиков для кнопки и светодиода.
Общие правила построения сценария:
— каждая микропрограмма в сценарии должна начинаться элементом «Начало микропрограммы» и заканчиваться — «Конец микропрограммы»;
— микропрограмма должна иметь хотя бы один элемент «событие» и один — «действие»;
— микропрограмма может содержать больше чем одно «событие», тогда сигнал для выполнения «действия» будет формироваться по логическому «И», то есть «действие» будет выполнено при условии что все предыдущие «события» сформируют сигнал одновременно;
— микропрограмма может содержать больше чем одно действие, в этом случае при активном сигнале от «события» все последующие «действия» будут выполнены одновременно;
— любой сценарий должен заканчиваться элементом «конец сценария» — любые элементы после него будут проигнорированы.