Описание работы с деревом конфигурации микроконтроллеров через MCT-протокол

Описание работы с деревом конфигурации микроконтроллеров через MCT-протокол

1 MCT-протокол позволяет получить доступ к выбранным ресурсам микроконтроллера (МК), и отображать результат в виде дерева конфигурации на вашем ПК или другом устройстве. При этом, вся информация необходимая для дерева конфигурации (ДК), хранится в памяти программ самого МК-устройства, занимая минимальный объем. Для обмена данными между МК-устройством и ПК может быть использован любой доступный интерфейс связи (UART, CAN, USB, Ethernet) на различных скоростях обмена. Кроме того, MCT-протокол, помимо функции обеспечения работы с ДК, легко может использоваться как сетевой интерфейс обмена данными между различными МК-устройствами, например, может быть сетевым протоколом для «умного дома». Для этого нет необходимости изучать документацию на устройства, потому что вся необходимая для связи информация уже содержится в ДК. Достаточно, зная серийный номер устройства (или широковещательный номер, если устройство одно в сети), загрузить ДК.

Дерево конфигурации, после его загрузки на ПК, позволяет:

  • Визуализировать хранящиеся в памяти МК-устройства названия узлов, названия параметров и другие атрибуты дерева конфигурации.
  • Визуализировать численные значения параметров МК-устройства в различных типах данных (uint, int, float, hex, bool, …).
  • Изменять значения выбранных параметров МК-устройства.
  • Отображать короткие текстовые сообщения, хранящиеся в памяти МК.
  • Отображать системное время МК-устройства в удобном формате 2.
  • Перезагружать микроконтроллер устройства.
  • Запоминать изменения параметров во внутренней памяти МК.
  • Активировать выполнение различных действий на МК-устройстве (выполнять функции и куски кода программы).
  • Производить отладку программы МК — выводить временные параметры и сообщения, помогающие отладке.
  • Загружать прошивку МК (расширенный вариант MCT-конфигуратора для ПК);
  • Управлять режимами работы MCT-конфигуратора на ПК (добавление кнопки или модальных окон с органами управления и т.п., требует навыков программирования в среде MCT-конфигуратора).
  • Использовать MCT-конфигуратор для сбора данных или логирования;
  • Использовать MCT-конфигуратор для построения графиков по данным из МК-устройства (расширенный вариант MCT-конфигуратора).
  • Использовать MCT-конфигуратор как средство настройки МК-устройства для сетевого использования (например: изменять серийный номер устройства и т.д.).

Описание MCT-протокола и дерева конфигурации.

Документация по MCT-протоколу представлена в файле MkConfTree.docx и статье. Ведущий — приложение-конфигуратор (MCT-конфигуратор), загруженное на ПК, отправляет пакет запроса, а ведомый (МК-устройство) отвечает. Пакеты для обмена формируются по минимально необходимому количеству байт. Формат пакетов запроса и ответа содержат:

  • Заголовок (2 байта);
  • Идентификатор (серийный номер) МК-устройства (2 байта);
  • Длину запроса / ответа (1 байт);
  • Команду (1 байт);
  • Поле данных (может быть нулевым);
  • Контрольную сумму (CRC-16: 2 байта).

Так как поле длины запроса (ответа) в пакете один байт (см. MCT-протокол), это накладывает ограничения на максимальную длину (255 — 9 = 246 байт) поля передаваемых данных, в основном это имеет значение для Команды 4.

Протокол имеет всего пять команд: первые три команды используются для загрузки дерева конфигурации, а две оставшиеся команды для чтения и записи. Команда 1 — это получение количества узлов дерева конфигурации. При помощи команды 2 можно получить наименование узла и свойства узла. Команда 3 необходима для загрузки наименования и свойства переменной узла дерева конфигурации. Команда 4 нужна для чтения значений переменных узла конфигурации. Команда 5 — это перезапись значения переменной узла ДК.

Для того чтобы загрузить ДК из МК-устройства необходимо:

  • При помощи команды 1 узнать количество узлов (например: 5 узлов).
  • 5 раз отправить команду 2 и узнать наименования, свойства всех узлов (также номер родителя узла) и количество переменных в каждом узле.
  • Затем для каждого узла при помощи команды 3 загрузить наименования и свойства всех переменных.
  • Из полученных данных сформировать и отобразить дерево конфигурации (с учетом родительских узлов).
  • Для получения и отображения значений переменных необходимо использовать команду 4, это позволяет организовать циклический опрос. Для отображения значений всех переменных (для 5 узлов), нужно периодически (5 раз) отправить команду 4.

При необходимости изменить значение выбранного параметра, можно использовать команду 5. Как работать с деревом конфигурации написано в статье.

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

Программное обеспечение для реализации MCT-протокола на периферийном устройстве и дерева конфигурации для ПК.

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

  • В проект программы МК-устройства добавить три файла: conf_init.h, mk_conf_tree.h, mk_conf_tree.c.
  • В свои рабочие файлы проекта добавить функции поддержки MCT-протокола: (см. пример). В примере это: System_prop, System_get, System_set файл system.c и Control_prop, Control_get, Control_set в файле control.c.
  • Добавить функции поддержки обмена данными (в примере это MKBUS_rx и MKBUS_send функции USART2_Proc в файле uart.c).
  • Скачать архив программы MkConfTree_base для ПК.
  • Для работы нужно распаковать архив и запустить файл MkConfTree_base.exe.

Подробнее файловая структура поддержки MCT-протокола описана в статье.

Более подробное описание взаимодействия периферийного устройства с деревом конфигурации на ПК описано в статьях:

Описание двухканального устройства дистанционного включения освещения с использованием MCT-протокола,

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

Скриншот загруженного на ПК под Windows дерева конфигурации показан выше.

Архив приложения MCT-конфигуратора для ПК под Windows можно скачать здесь.

  1. Microcontroller Configuration Tree. ↩︎
  2. hh:mm:ss ↩︎

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Back To Top