CP2102 - еще один переходник USB-COM

Универсальный переходник CP2102 USB-COM.


Особенности моего донгла:
  1. «Универсальный» режим питания CP2102-модуля, а также подключаемого MCU модуля:
    USB/Внешнее питание/Сдвоенное питание.
  2. Дополнительные линии DTR/RTS для бутлоадера (проверено на бутявках Arduino/AVR, STM32)
  3. USB-супрессор
  4. Авто-Толерантность RX/TX к уровням сигнала MCU 3.3-5V (ну это заслуга создателей CP2102, привет FT232!)


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

Схема
cp2102_schematic

Плата
cp2102_3D_pcb

Схема с герберами в KiCAD на Github'e

Пояснения по режимам питания и программирования:
  • JP3 отвечает за режим питания СP2102 и подключаемой MCU-платы:
    Соединение 1-2 Универсальное:
    1. Подходит для питания CP2102 от USB (MCU 3.3-5V питается отдельно):

      cp2102_and_mcu_independent_power_source

    2. Для 5V MCU: Внешнее питание CP2102 или сдвоенное питание
      (на MCU 4.6V в действительности при питании от USB)
      5V пин модуля соединяем с выходом стабилизатора 5V MCU

      cp2102_and_mcu_double_power_5V_small

    Соединение 2-3 только для 3.3V MCU:
    При необходимости внешнего питание СP2102 или сдвоенного питание для 3.3V MCU 5V пин модуля соединяем со входом 3.3V стабилизатора MCU, 3.3V пин модуля соединяем с выходом стабилизатора 3.3V MCU

    cp2102_and_mcu_double_power_3.3V_small

  • Для простого режима последовательного обмена (RX-TX)
    DTR и RTS не соединяем ни с чем.
  • Для программирования AVR/Arduino.
    Ставим перемычку JP1
    JP2-JP4 разомкнуты.
    DTR соединяем с Reset AVR.
  • Для программирования STM32.
    Ставим перемычки JP1, JP2, JP4
    DTR соединяем с Reset STM32.
    RTS c BOOT0 STM32.
  • При запитке от USB 5-ти вольтового MCU-устройства нужно иметь ввиду что имеется просадка на диоде шоттки и на схему в реальности приходит 4.6-4.7В.
  • Если нужно, чтобы CP2102 питалась только от MCU диод D1 нужно выпаять. По идее тут тоже можно было бы поставить джампер.


Что в прикреплённых архивах:
  • cp2102_explain_power_diagramm.zip — диаграммы с пояснениями по режимам питания системы (те что выше), в высоком разрешении.
  • STM32Prog_1.0.5_en.zip — малоизвестная немецкая прога, для программирования STM32 через USB-COM и авто-управления линиями DTR(RESET)-RTS(BOOT0), поправил интерфейс ResourseHacker'ом на английский т.к. в оригинале прога выложена только на немецком.
    stm32_prog_mainform

    В архиве файл reset-dtr_boot-rts_settings_for_stm32f10x.png содержит
    скриншот моих настроек программы для управления линиями DTR(RESET)-RTS(BOOT0).

    settings_form

  • CP2102_USB-COM_UNIVERSAL_v1.1.zip — Cхема с герберами в KiCAD


PS.
Привет народ!
Первый пост… ))
  • +5
  • 20 марта 2019, 23:51
  • maxxir
  • 3

Комментарии (2)

RSS свернуть / развернуть
Можно использовать CP2104 и добавить регулятор на VIO.
Тогда можно выход от 1.8V и выше делать.
0
  • avatar
  • x893
  • 21 марта 2019, 12:40
Черт, а я все руками reset/boot дергаю! Надо, действительно, поковыряться в коде stm32flash и добавить «аппаратное» управление этими ногами!
Хорошая идея.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.