STM32 Blue Pill подключен к USB и SWD одновременно?

Я хотел бы написать код для STM32 Blue Pill, чтобы использовать USB в качестве последовательного канала. Поскольку для программирования платы я использую отладчик ST-Link, мне нужно будет подключить следующее:

  • Программирование: ноутбук - ST-Link - STM32
  • Тестирование: ноутбук - USB - STM32

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

Я прочитал следующее на https://stm32-base.org/boards/STM32F103C8T6-Blue-Pill.html :

Предупреждение: контакты +5 В на этой плате напрямую подключены к контакту +5 В разъема USB. Защиты на месте нет. Не подключайте эту плату через USB и внешний источник питания одновременно.

Я не уверен, что это значит. Не повредит ли я что-нибудь, если у меня будут оба вышеуказанных подключения одновременно?

При подключении ST-link не подключайте контакт 5V/3.3V, тогда подключение stlink и usb одновременно допустимо.
@AdityaChavan Спасибо. Для подтверждения подключите только GND, SWCLK и SWDIO от STLink, а с USB-подключением все в порядке?

Ответы (1)

При подключении ST-link не подключайте контакт 5V/3.3V, тогда подключение st-link и usb одновременно допустимо.

Предупреждение состоит в том, что если вы планируете питать плату через контакт 5 В, вы не можете также питать ее через USB, так как это приведет к короткому замыканию двух источников 5 В.

При использовании ST-link он обеспечивает выход 3,3 В, который уже обеспечивает наш usb. Таким образом, чтобы электрически соединить 2, вы просто замыкаете землю и оставляете контакт 3,3 В на STM32 Bluepill плавающим.

Не совсем. ST-Link не обеспечивает питание . Скорее, он отслеживает целевую мощность, чтобы знать, до какого уровня напряжения доводить сигналы SWD. Некоторые другие адаптеры SWD могут обеспечивать питание, некоторые маленькие ключи, никогда не предлагаемые ST, могут даже ложно позиционировать себя как ST-Link, когда на самом деле они являются продуктами сторонних производителей. На практике отключение может сработать; если обнаружение целевого напряжения окажется необходимым, можно использовать резистор в несколько сотен Ом.
Итак, в этом случае безопасно подключать оба устройства одновременно? Это все еще будет работать на практике, если его плавающее значение 3,3 В является сигнальным напряжением по умолчанию?
Сначала выясните, является ли ваш адаптер SWD на самом деле ST-Link или это подделка. Если это подделка, не подключайте линию 3 на 3. Если это ST-Link, попробуйте его без подключения, и если это не сработает, и вы уверены, что это настоящий ST-Link, который обнаруживает, а не включает питание, вы можете подключить его.
@ChrisStratton ST-Links имеют достаточную мощность, чтобы обеспечить 10 мА, достаточную для питания stm32f и его прошивки. Не рекомендуется использовать его с другими источниками.
@VoltageSpike нет, фактический вывод целевого напряжения ST-Link находится на входе , а не на выходе. По-видимому, есть еще один контакт с выходом, но он официально не задокументирован и не тот, который кто-то будет использовать. Как я уже упоминал в самом начале, существуют сторонние продукты в форм-факторе донгла, которые на самом деле не являются ST-Link, но ложно продаются как таковые, и ситуация с ними действительно отличается.
@ChrisStratton Мой ST-Link - подделка. У него явно есть выход 3,3 В, который подключается к входу 3,3 В на плате Blue Pill для его питания. Учитывая это, похоже, что я могу оставить 3,3 В неподключенным, но в противном случае подключить линии USB и SWDIO, SWCLK и G, чтобы я одновременно программировал плату и использовал USB.
@ChrisStratton У ST-Link V2 есть контакт Vdd, который четко задокументирован и доступен на 20-контактной распиновке. Пригодится тем, кому необходимо обновить прошивку в полевых условиях, когда устройство не может быть включено.