Найти тему

Подключаем USB на STM32. Схема подключения

Оглавление
Злобный разъем так и хочет сказать: "ты никогда не вставишь меня с первого раза"
Злобный разъем так и хочет сказать: "ты никогда не вставишь меня с первого раза"

#USB #STM32

USB -- универсальный последовательный интерфейс известный всем и каждому. Он -- синоним совместимости с персональным компьютером, хотя бы на непрофессиональном, обывательском уровне. А значит, пока ваше устройство не будет оснащено этим разъемом, оно не будет восприниматься окружающими как Готовое.

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

Недостатки: средняя сложность программной имплементации, средний размер, отсутствие надежной фиксации разъема.

Сам протокол USB разрабатывается и отслеживается специальным комитетом.

Рисуем значок USB правильно
Рисуем значок USB правильно

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

Пример передачи данных
Пример передачи данных

В данной статье рассматривается протокол стандарта 2.0. Он совместим с другими стандартами, однако можно назвать его если не устаревшим, то утрачивающим актуальность. На момент написания самым актуальным протоколом можно назвать 3.1, а самым прогрессивным USB4, который должен обеспечить скорость до 40 ГБит/с

Рекомендации от STM

С полным руководством от STM можно ознакомится здесь.

Схема подключения USB как устройства достаточно проста. Однако в рекомендациях указано обеспечить защиту соединения, чтобы ненароком что-нибудь не сжечь.

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

Схема подключения устройства с собственным обеспечением питания
Схема подключения устройства с собственным обеспечением питания

Схема подключения USB как хоста гораздо сложнее. Зато это дает возможность подключать к Вашему устройству флешки как память или устройство ввода, много замечательных фишек (читай HID и т.п.). В основном, рекомендации касаются согласования напряжения и защиты по питанию. Самое опасное время для USB протокола -- время подключения и отключения.

Схема подключения в режиме OTG
Схема подключения в режиме OTG

Ниже представлено аппаратное решение

Итоговое подключение

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

Схема подключения USB
Схема подключения USB

Состав:

  1. Разъем USB выбранного Вами типа
  2. MF-MSMF050 -- предназначен для защиты от перегрузки от тока или перегрева
  3. BAT60JFILM -- барьерный диод Шотки
  4. ESDA6V1BC6 -- установлено для защиты от переходного напряжения, специально для систем с симметричным сигналом

Простейшее подключение аппаратных возможностей через STM32CubeMX:

  1. Выбрать настройки подключения USB_OTG_FS/USB_OTG_HS
  2. Выбрать в настройках вспомогательного программного обеспечения USB_DEVICE
Настройки STM32CubeMX для подключения USB как устройства
Настройки STM32CubeMX для подключения USB как устройства

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

Расположение элементов на плате
Расположение элементов на плате
Изготовленная схема
Изготовленная схема

Заключение

Разработка USB модуля для использования в собственных проектах дело относительно легкое. Оно полностью оправдывает затраченные на него усилия.

В дальнейших статьях будет описано программное подключение протокола USB для использования в проектах на STM32.