Страница 1 из 1

Stm32f103c8t6 работает на паразитном питании

Добавлено: Чт май 01, 2025 20:34:29
pushkin42
Собственно сабж.

Когда отключён внешний источник питания и подключён usb-uart к USART1, с него приходит 3.3в подтяжки и контроллер стартует.
При этом на шине питания около 1.5в, и остальная периферия тоже худо бедно запускается, хотя и не на полную яркость (7сег и еепром)

Битов BOD у этого камня нет.

В связи с чем вопрос. Так то я могу в начале инициализации прочитать vref с ацп и заблокировать запуск, но это как бы так себе выход.
Супервизор с ресетом я бы поставил, но плату переделывать уже лень, все работает, да и в целом вопрос скорее из разряда "что будет если клиент воткнет устройство в розетку 220".

Также я понимаю природу явления - паразитное питание через защитные диоды на GPIO. Но мне все это не особо нравится.

Какие варианты есть по этому поводу?

Re: Stm32f103c8t6 работает на паразитном питании

Добавлено: Чт май 01, 2025 20:53:19
Уош
PVD в 2.9 вольта не спасёт? (Power control register PWR_CR)

Re: Stm32f103c8t6 работает на паразитном питании

Добавлено: Чт май 01, 2025 21:16:14
pushkin42
Дык воно только прерывания умеет делать, особо бессмысленно...
Мне бы что нибудь типа BODLEVEL в avr..

Re: Stm32f103c8t6 работает на паразитном питании

Добавлено: Чт май 01, 2025 21:20:33
vlasovzloy
А если ресет притянуть или куда он там должен, не будет возбуждаться мк?

Re: Stm32f103c8t6 работает на паразитном питании

Добавлено: Чт май 01, 2025 21:21:05
Мурик
pushkin42 писал(а):Дык воно только прерывания умеет делать, особо бессмысленно
Почему бессмысленно?
Поставьте там цикл без возможности выхода или отправьте МК в перезагрузку.

Re: Stm32f103c8t6 работает на паразитном питании

Добавлено: Чт май 01, 2025 22:56:09
pushkin42
Так это я и по уровню на аналоговом питании понять могу, никакие прерывания для этого не нужны. Я просто боюсь чтобы ничего не случилось такого...

Re: Stm32f103c8t6 работает на паразитном питании

Добавлено: Чт май 01, 2025 23:36:50
veso74
Как писали коллеги настройте PVD power down reset в X вольт. Включите EXTI line 16 is connected to the PVD output -> в прерывании PVR_IRQ переведите МК в бесконечный цикл, в спящий режим, перезагружайте или другое.
--
Давно был похожий случай с PIC, входной сигнал: по timer0, анализ по частоте (вход с высоким импедансом, слабый ток, но ест амплитуда). Сигнал просто выпрямлялся диодами на входе и питал МК. При наличии входного сигнала МК не мог выполнить инициализации периферии (иногда работает, иногна - нет). BROWNOUT решило вопрос.

Re: Stm32f103c8t6 работает на паразитном питании

Добавлено: Чт май 01, 2025 23:50:02
Мурик
Можно подключить USB-UART не напрямую, а через резисторы. И по питанию резистор поставить на 200 ом.

Re: Stm32f103c8t6 работает на паразитном питании

Добавлено: Пт май 02, 2025 00:00:35
jcxz
[uquote="Мурик",url="/forum/viewtopic.php?p=4710607#p4710607"]Можно подключить USB-UART не напрямую, а через резисторы. И по питанию резистор поставить на 200 ом.[/uquote]А по питанию то зачем? И по какому "питанию"?
Достаточно одного последовательного резистора. На линии UART.RX микроконтроллера. Странно, что он не был предусмотрен заранее в схеме. :dont_know:

Re: Stm32f103c8t6 работает на паразитном питании

Добавлено: Пт май 02, 2025 00:34:06
Уош
ну, если usb-uart рядом на плате, то вроде как особо и не надо... А если не рядом, то не только резистор, ещё бы и супрессоров поставить, всё-таки человек цеплять будет.

Re: Stm32f103c8t6 работает на паразитном питании

Добавлено: Пт май 02, 2025 01:20:11
jcxz
[uquote="Уош",url="/forum/viewtopic.php?p=4710621#p4710621"]ну, если usb-uart рядом на плате, то вроде как особо и не надо...[/uquote]Рядом не рядом, а запитываться может отдельно. От USB, а не от питания МК. Тогда нужен резистор обязательно.
Вообще - когда в схеме есть узлы, запитываемые от разных источников, включаемых в разное время, но связанных сигнальными линиями, то всегда нужно задумываться о паразитном питании. Простейшее решение тут - последовательные резисторы. А если "по феншую" - специальные трансляторы уровней.

[uquote="Уош",url="/forum/viewtopic.php?p=4710621#p4710621"]А если не рядом, то не только резистор, ещё бы и супрессоров поставить, всё-таки человек цеплять будет.[/uquote]Согласен.

Re: Stm32f103c8t6 работает на паразитном питании

Добавлено: Пт май 02, 2025 01:54:52
pushkin42
По rx tx и swd стоит резистор 1206х4 100 ом.
Питания от usb-uart не подключено, ESD сборка есть на плате usb-uart.
Транслятор уровней при 3.3в логике особенно и не нужен, хотя у меня имеются txs0108e, но пришли они уже после изготовления платы...
На стороне usb-uart тупая ch340, она сама уровни на ногах поднимает...
Увеличивать резистор пробовал, начинаются проблемы с передачей данных, насосная на то что хвост длиной 5см.
IMG_20250502_025400.jpg
1
(106.94 КБ) 119 скачиваний
Вот начинал с 33 ом, но там прям светится все и до 2.7в доходит

Re: Stm32f103c8t6 работает на паразитном питании

Добавлено: Пт май 02, 2025 11:31:36
jcxz
[uquote="pushkin42",url="/forum/viewtopic.php?p=4710640#p4710640"]На стороне usb-uart тупая ch340, она сама уровни на ногах поднимает...
Увеличивать резистор пробовал, начинаются проблемы с передачей данных, насосная на то что хвост длиной 5см.[/uquote]Значит нужно использовать не тупую и дешёвую CH340, а что-то получше. Например FT232. Его уровни на выходах UART зависят от уровня напряжения на ноге VCCIO. Подключаете её к питанию МК и теперь, когда оно выключено, и паразитной запитки не должно быть.
VCCIO:
+1.8V to +5.25V supply to the UART Interface and CBUS group pins
(1...3, 5, 6, 9...14, 22, 23). In USB bus powered designs connect this pin
to 3V3OUT pin to drive out at +3.3V levels, or connect to VCC to drive
out at 5V CMOS level. This pin can also be supplied with an external
+1.8V to +2.8V supply in order to drive outputs at lower levels. It should
be noted that in this case this supply should originate from the same
source as the supply to VCC. This means that in bus powered designs a
regulator which is supplied by the +5V on the USB bus should be used.

Re: Stm32f103c8t6 работает на паразитном питании

Добавлено: Пт май 02, 2025 11:40:40
pushkin42
Ну честно сказать этот проект не стоит покупки таких микросхем. Это был чисто академический интерес. Да и в целом подключать usart будут не так уж и часто...

Re: Stm32f103c8t6 работает на паразитном питании

Добавлено: Пт май 02, 2025 11:55:26
veso74
Все всего лишь несколько строк кода, попробуйте. Легкий способ (HAL):
https://github.com/yohanes-erwin/stm32f ... ain.c#L154
Если на CMSIS, повторите шаги. В перерыве добавьте то, что вам нужно для действия.

Re: Stm32f103c8t6 работает на паразитном питании

Добавлено: Пт май 02, 2025 14:44:36
Мурик
jcxz писал(а):А по питанию то зачем? И по какому "питанию"?
По питанию МК. Получится делитель напряжения состоящий из резистора в цепи сигнального вывода uart, диода gpio и резистора по питанию МК, который нужен для просадки напряжения паразитного питания.

Re: Stm32f103c8t6 работает на паразитном питании

Добавлено: Пт май 02, 2025 15:27:03
jcxz
[uquote="Мурик",url="/forum/viewtopic.php?p=4710828#p4710828"]По питанию МК. Получится делитель напряжения состоящий из резистора в цепи сигнального вывода uart, диода gpio и резистора по питанию МК, который нужен для просадки напряжения паразитного питания.[/uquote]Ясно. Т.е. вы хотите сказать - обеспечить некоторое минимальное потребление по шине питания МК. Можно и так, если у автора не батарейное питание.

Вообще - можно ещё диод Шоттки последовательный поставить. По UART.RX МК. Анодом к МК. И включить pull-up на входе МК. Не очень хорошее решение для больших скоростей, но как костыль и для не очень больших скоростей - должно работать.

Re: Stm32f103c8t6 работает на паразитном питании

Добавлено: Сб май 03, 2025 07:57:28
pushkin42
У автора аккумулятор на 360мач,поэтому вопрос и возник, собственно. Питаясь от розетки я вряд ли бы стал заморачиваться над этим...

Re: Stm32f103c8t6 работает на паразитном питании

Добавлено: Чт май 08, 2025 11:50:09
AVI-crak
Тут не бороться нужно, а возглавить. Внешняя линия данных по сути часть отладки, поэтому подача питания должна быть гарантированной.

Re: Stm32f103c8t6 работает на паразитном питании

Добавлено: Пт май 09, 2025 00:50:45
ds1307
А если сделать опторазвязку?
Цифровые изоляторы CA-IS3720LS, CA-IS3722LS использовать например.