Конвертеры UART TinyOneWireNet и USB TinyOneWireNet. Программа верхнего уровня для настройки сети TinyOneWireNet.

TinyOneWireNet

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

Предыдущая статья     Навигация по рубрике     Следующая статья

Уже на этапе разработки первых сетевых устройств возникла проблема их отладки и конфигурации. Как всегда, самый удобный и информативный вариант – персональный компьютер.

Но компьютер не способен формировать сеть TinyOneWireNet не с аппаратной, не с программной точки зрения. Поэтому был разработан дополнительный блок – конвертер UART TinyOneWireNet.

Он может быть использован как для подключения сети TinyOneWireNet к компьютеру (через конвертер USB UART), так и для формирования сети из интерфейса UART любого микроконтроллера. Конвертер обеспечивает:

  • аппаратное формирование сигналов сети TinyOneWireNet;
  • программное управление сетью;
    • отработка команд обмена;
    • контроль короткого замыкания линии.

Т.е. конвертер UART TinyOneWireNet не просто “тупой” преобразователь уровней, а устройство, которое получает свои команды через UART и формирует команды сети TinyOneWireNet. При этом обеспечиваются все необходимые временные диаграммы без участия управляющего микроконтроллера.

Принципиальная схема и конструкция.

принципиальная схема конвертера UART TinyOneWireNet

PIC-контроллер принимает команды с UART и обеспечивает управление шиной TinyOneWireNet. Для увеличения тока линии используется MOSFET-транзистор Q1.

В принципе, аппаратная часть конвертера, кроме интерфейса UART, поддерживает SPI и I2C. Но программно пока реализован только обмен по UART.

Для конвертера разработана печатная плата.

конвертер UART TinyOneWireNet

Т.е. устройство конструктивно закончено.

Использование конвертера с USB-портом.

Если к конвертеру UART TinyOneWireNet добавить стандартный конвертер USB UART, то получится конвертер USB TinyOneWireNet.

Преобразователь USB UART может использоваться любой, но я рассчитывал на миниатюрный модуль CH340.

Конвертер USB UART

Расположение контактов конвертера UART TinyOneWireNet соответствует именно этому преобразователю интерфейсов.

Остается напрямую соединить 4 контакта двух модулей между собой.

конвертер USB TinyOneWireNet

конвертер USB TinyOneWireNet

Теперь к шине TinyOneWireNet можно подключать компьютер.

Если у вас длинная линия, размещенная на реальном объекте, например в саду, то с точки зрения безопасности лучше использовать ноутбук с внешним блоком питания. Это создает дополнительную изоляцию системы от сети 220 В.

Если же компьютер питается непосредственно от сети 220 В, то необходимо обеспечить гальваническую развязку между компьютером и линией, к которой подключены сетевые устройства.

Для этого планируется разработать модуль, который физически размещается между конвертерами UART TinyOneWireNet и USB UART. Схема его простая и состоит из микросхемы ADUM1250 и DC/DC преобразователя.

Настройка шины TinyOneWireNet с помощью персонального компьютера.

Для работы с конвертером UART TinyOneWireNet в среде Ардуино необходима библиотека. Со временем создам ее. Это не сложная задача.

Сейчас будем использовать конвертер для настройки системы из датчиков с помощью персонального компьютера. Во многом мы повторим операции, описанные в статье о конфигурации сети с помощью монитора на базе платы Arduino Nano.

Для этого я разработал программу Monitor_TinyOneWireNet. Она позволяет, как отлаживать сетевые команды нижнего уровня, так и конфигурировать устройства в сети. Сейчас нам больше интересна вторая функция.

Запускаем программу. Открывается основное окно.

основное окно программы

Выбираем COM-порт, если необходимо.

Сейчас нас интересуют 6 верхних элементов слева:

  • Канал должен быть 0, наш конвертер поддерживает только один канал.
  • Можно получить текущее состояние конвертера и увидеть его в окне “Состояние, ошибки”. Любая команда отображает состояние.
  • Можно выключить линию, снять питание.
  • Можно замкнуть линию.
  • Можно включить линию через MOSFET-транзистор (подать питание).
  • Или включить ее через вывод PIC-контроллера.

Нажимаем кнопку ”Получить состояние”.

окно состояния

Видим, что связь с компьютером есть, конвертер подключен к компьютеру, порт выбран правильно.

Естественно, если мы хотим работать с сетью, ее надо включить.

окно состояние

Теперь открываем закладку “Сетевые устройства.”

окно сетевые устройства

Ниже блока “Управление” отображаются блоки сетевых устройств. Конфигурация сети была запомнена при последней установке.

У меня использовался один датчик влажности. Сейчас я подключил несколько разных сетевых устройств.

Чтобы задать новую конфигурацию необходимо нажать кнопку “Поиск”.

поиск

Сеть сканируется на существующие устройства, новая конфигурация сохраняется в памяти компьютера и появляется на экране.

окно сетевые устройства

Устройства отобразились в последовательности увеличения значения адресов.

Перед каждым параметром есть “птичка”, разрешающая его опрос.

Собственно опрос происходит по нажатию кнопки ”Опрос устройств” или в цикле после установки соответствующей ”птички” “В цикле”.

Я разрешил во всех устройствах только диагностику обмена.

диагностика обмена всех устройств

Ведется общая статистика диагностики и для каждого устройства отдельно.

Разрешил опрос остальных параметров.

опрос всех параметров

Кнопкой ”сеть” можно задать сетевые параметры для каждого устройства.

Нажал кнопку ”сеть” для люксметра.

окно сетевые параметры

Можно считать уникальный идентификатор (стрелка с шестеренкой направо).

сетевые параметры для люксметра

Идентификатор можно изменить, хотя без крайней необходимости лучше этого не делать. Если решились, надо задать новое значение и нажать стрелку влево.

сетевые параметры для люксметра

Для изменения адреса необходимо сначала снять блокировку устройства. Для этого надо задать уникальный идентификатор (или считать его) и нажать соответствующую кнопку.

сетевые параметры для люксметра

Остается задать новый адрес и нажать кнопку загрузки адреса.

сетевые параметры для люксметра

После этого необходимо заново конфигурировать систему (кнопка ”Поиск”).

Кнопки ”устр.” позволяют задать параметры для отдельных устройств, в тех которых есть такая функция. В моей конфигурации это датчики влажности почвы.

Нажал ”устр.” для первого датчика влажности почвы.

параметры устройства

Можно :

  • считать текущее значение влажности;
  • считать текущее значение кода;
  • считать и загрузить калибровочный коэффициент для 0%;
  • считать и загрузить калибровочный коэффициент для 100%;
  • сделать калибровку 0%, т.е. считать текущее значение кода и загрузить его, как коэффициент 0%;
  • сделать калибровку 100%, т.е. считать текущее значение кода и загрузить его, как коэффициент 100%.

Программу можно загрузить на странице файлов проекта.

При появлении новых сетевых устройств будут появляться новые версии монитора.

В следующей статье расскажу о формирователе линий TinyOneWireNet на буферной микросхеме 74HC125, который позволяет подключать сетевые устройства к микроконтроллерам с питанием 3,3 В.

Предыдущая статья     Навигация по рубрике     Следующая статья

0

Автор публикации

не в сети 1 неделя

Эдуард

281
Комментарии: 1938Публикации: 197Регистрация: 13-12-2015

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

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

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных".