Руководство USB хаб

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

Документация

Перед прочтением этого руководства рекомендуется ознакомиться с документацией на контроллер USB хаб и, в частности, с описанием однобайтовой системы команд, которую мы будем использовать в этом руководстве.

План работ

Мы подключим контроллер к компьютеру под управлением Windows и будем с его помощью подавать команды на USB хаб и наблюдать за реакцией системы. Нам понадобятся:

  • Контроллер USB хаб
  • Компьютер под управлением Windows
  • Блок питания 9-36 В
  • Кабель USB
  • Программа ControlHUB из комплекта поставки

Подключение

Первым и необходимым условием для работы контроллера USB хаб является подключение питающего напряжения 9-36 В и кабеля, соединяющего контроллер с компьютером (USB0).

Внимание! Если какое-то из этих соединений отсутствует, то система не будет работать нормально.

Поскольку состояние реле и USB выходов отображается на плате светодиодами, то дополнительного контрольного оборудования нам не понадобится — всё будет видно по реакции реле и соответствующих светодиодов на плате.

Установка и запуск программы

Сначала нужно скачать утилиту ControlHUB и разархивировать её в одноимённый каталог на диске C: (в вашем случае это может быть другой каталог). Далее нужно запустить интерфейс командной строки Windows (cmd).

При попытке запустить утилиту ControlHUB без параметров, она выдаёт сообщение об ошибке и даёт подсказку правильного синтаксиса управляющих команд.

Здесь NamePort — это номер виртуального COM-порта, к которому подключён контроллер, а command — это номер управляющей команды (подробнее см. в документации на контроллер).

Утилита ControlHUB может работать как интерактивном режиме, так и в режиме исполнения одиночных команд.

1. Режим командной строки. В этом режиме при запуске программы в параметрах указывается COM-порт и код команды. ControlHUB NamePort command, после чего команда передается в контроллер, который возвращает результат и программа завершает работу.

2. Диалоговый режим. В режиме диалога программа запускается без кода команды ControlHUB NamePort и далее она интерактивно запрашивает параметры команд и выполняет их, попутно выводя на экран диагностические сообщения. Диалог циклически повторяется до принудительного завершения программы нажатием комбинации клавиш Ctrl-C.

Пример управления реле и питанием USB выходов

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

Включение реле №1:

ControlHUB COM3 129

Здесь COM3 — это виртуальный COM-порт, к которому подключён USB хаб (у вас это может быть другой порт), а 129 — это команда включения первого реле, согласно вышеприведённой таблицы.

Контроллер отвечает:

Device connect
129

подтверждая успешное получение и выполнение команды и включает реле №1.

Выключение реле №1:

ControlHUB COM3 128

Контроллер подтверждает успешное выполнение команды и выключает реле №1.

Получение данных о состоянии реле №1:

ControlHUB COM3 0

Посылаем на контроллер соответствующую команду и получаем от него ответ: первый 0 — это номер поступившей в контроллер команды, а второй 0 — это состояние реле №1 (выключено).

Аналогичным образом управляются питающие выходы USB портов (1-4).

Работа с дополнительными GPIO

Кроме реле и питания USB, в контроллере USB хаб имеются также дополнительные GPIO линии, которые могут использоваться для расширения функционала системы.

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

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

Пример работы с дополнительными GPIO

В этом примере мы получим данные о режиме работы GPIO0 (вход, выход, работа с прерываниями или аналоговый вход).

Посылаем соответствующую команду (64, см. таблицу выше) в контроллер

ControlHUB COM3 64

И получаем ответ «0», что соответствует работе GPIO0 в режиме цифрового входа (0/1).

Переключаем GPIO0 в аналоговый режим.

ControlHUB COM3 195

Затем снова проверяем режим работы GPIO0.

ControlHUB COM3 64

В результате контроллер рапортует нам о том, что линия GPIO0 работает в аналоговом режиме (3).

Далее запрашиваем текущее значение аналогового входа GPIO0.

ControlHUB COM3 32

И получаем значение 115, что при пересчёте (0-5 В, 0-255) составляет 2,25 В.

Программное управление

Кроме утилиты ControlHUB, существует ещё множество способов управления контроллером USB хаб. Например, это может быть автоматическое управление при помощи программы на компьютере или специализированном контроллере.

Обмен данными между USB хаб и управляющей системой осуществляется по последовательному интерфейсу. Конфигурация работы по UART встроенной прошивки — 115200-8-N-2.

Больше информации об USB хаб

Документация USB хаб