USB-HID ⟷ UART преобразователь

 

Заказчик

Общество с ограниченной ответственностью "ТестЭйр"

 

Проект 

Проектирование, разработка и изготовление USB-HID ⟷ UART преобразователя.

 

Цели и задачи 

Главным отличием данного устройства от типовых USB ⟷ UART преобразователей (FTDI FT232RL, Microchip MCP2200, Prolific PL2303 и т.д.) является то, как он определяется при подключении к ПК/планшету/телефону. В отличие от вышеперечисленных устройств, которые определяются как Virtual COM Port и требуют установки драйверов для своей работы, данный преобразователь определяется как USB HID устройство, которому, как известно, дополнительные драйверы не нужны. Отсюда и перечень задач: 

  • Проектирование/изготовление опытного образца, имеющего возможность работать как на +3,3 В, так и на +5 В уровнях напряжения со стороны UART;
  • Разработка демонстрационного приложения для операционных систем Windows и Linux, позволяющего наглядно продемонстрировать двухсторонний обмен данными.

  

Решение 

За основу устройства преобразователя был выбран микроконтроллер ST Microelectronics STM32F042F4 в корпусе SSOP20. Особенностью данного МК является отсутствие необходимости во внешнем кварцевом резонаторе, несмотря на работу/обмен данными через USB. Как следствие, на печатной плате помимо самого микроконтроллера размещается несколько чип-резисторов/конденсаторов и разъёмы, т.е. габаритные размеры платы получаются минимальными. В конечном итоге устройство должно переслать данные, полученные через UART, "наверх" посредством USB, и наоборот, данные от USB отправить на UART. 
Поскольку при подключении Переходник определяется как Custom HID-устройство, основная сложность ложится на разработчика ПО верхнего уровня. Необходимо определить факт подключения непосредственно Переходника, открыть устройство и непрерывно опрашивать его. Для USB 2.0 full-speed (FS) HID устройств максимальный размер данных в рамках одного репорта - 8 байт. Соответственно при передаче больших массивов данных в любую из сторон необходимо учитывать этот факт и фрагментировать отправляемые/принимаемые данные. 

Разработка топологий печатных плат приёмника и передатчика выполнялась с использованием свободного ПО KiCAD.

Разработка ПО для микроконтроллеров выполнялась с использованием: 

  • программатор/отладчик ST-LINK;
  • среда разработки - Eclipse;
  • компилятор/ассемблер/компоновщик - от Mentor Graphics/CodeSourcery;
  • система контроля версий - Git;
  • дополнительно используемые библиотеки:
    • STM32F0 Standard peripheral library;
    • STM32F0 USB Full speed device library


Разработка ПО для компьютера под управлением ОС семейства Linux выполнялась с использованием: 

  • среда разработки Qt Creator + инструментарий Qt5;
  • библиотека libusb;

  

Результаты

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

© ООО "Контроль-В" 2012 - 2018