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

Кто любит RISC в жизни, заходим, не стесняемся.
Post Reply
pushkin42
Прорезались зубы
Posts: 219
Joined: Tue Nov 17, 2009 12:34:02

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

Post by pushkin42 »

Собственно сабж.

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

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

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

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

Какие варианты есть по этому поводу?
Реклама
Уош
Опытный кот
Posts: 700
Joined: Sun Mar 23, 2025 14:56:55

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

Post by Уош »

PVD в 2.9 вольта не спасёт? (Power control register PWR_CR)
Реклама
pushkin42
Прорезались зубы
Posts: 219
Joined: Tue Nov 17, 2009 12:34:02

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

Post by pushkin42 »

Дык воно только прерывания умеет делать, особо бессмысленно...
Мне бы что нибудь типа BODLEVEL в avr..
User avatar
vlasovzloy
Друг Кота
Posts: 20070
Joined: Thu Jan 26, 2012 16:44:29
Location: Таксимо

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

Post by vlasovzloy »

А если ресет притянуть или куда он там должен, не будет возбуждаться мк?
Мои поставщики запчастей с отличной репутацией
texnomag.ru
radioremont.com
pl-1.org
4ip.info
elitan.ru
Реклама
Эиком - электронные компоненты и радиодетали
User avatar
Мурик
Друг Кота
Posts: 3385
Joined: Mon Oct 11, 2010 19:00:08

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

Post by Мурик »

pushkin42 wrote:Дык воно только прерывания умеет делать, особо бессмысленно
Почему бессмысленно?
Поставьте там цикл без возможности выхода или отправьте МК в перезагрузку.
Реклама
pushkin42
Прорезались зубы
Posts: 219
Joined: Tue Nov 17, 2009 12:34:02

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

Post by pushkin42 »

Так это я и по уровню на аналоговом питании понять могу, никакие прерывания для этого не нужны. Я просто боюсь чтобы ничего не случилось такого...
Реклама
veso74
Поставщик валерьянки для Кота
Posts: 1916
Joined: Sat May 05, 2012 20:24:52
Location: KN34PC, Болгария
Contact:

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

Post by veso74 »

Как писали коллеги настройте PVD power down reset в X вольт. Включите EXTI line 16 is connected to the PVD output -> в прерывании PVR_IRQ переведите МК в бесконечный цикл, в спящий режим, перезагружайте или другое.
--
Давно был похожий случай с PIC, входной сигнал: по timer0, анализ по частоте (вход с высоким импедансом, слабый ток, но ест амплитуда). Сигнал просто выпрямлялся диодами на входе и питал МК. При наличии входного сигнала МК не мог выполнить инициализации периферии (иногда работает, иногна - нет). BROWNOUT решило вопрос.
User avatar
Мурик
Друг Кота
Posts: 3385
Joined: Mon Oct 11, 2010 19:00:08

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

Post by Мурик »

Можно подключить USB-UART не напрямую, а через резисторы. И по питанию резистор поставить на 200 ом.
jcxz
Мудрый кот
Posts: 1731
Joined: Tue Aug 15, 2017 10:51:13

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

Post by jcxz »

[uquote="Мурик",url="/forum/viewtopic.php?p=4710607#p4710607"]Можно подключить USB-UART не напрямую, а через резисторы. И по питанию резистор поставить на 200 ом.[/uquote]А по питанию то зачем? И по какому "питанию"?
Достаточно одного последовательного резистора. На линии UART.RX микроконтроллера. Странно, что он не был предусмотрен заранее в схеме. :dont_know:
Уош
Опытный кот
Posts: 700
Joined: Sun Mar 23, 2025 14:56:55

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

Post by Уош »

ну, если usb-uart рядом на плате, то вроде как особо и не надо... А если не рядом, то не только резистор, ещё бы и супрессоров поставить, всё-таки человек цеплять будет.
jcxz
Мудрый кот
Posts: 1731
Joined: Tue Aug 15, 2017 10:51:13

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

Post by jcxz »

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

[uquote="Уош",url="/forum/viewtopic.php?p=4710621#p4710621"]А если не рядом, то не только резистор, ещё бы и супрессоров поставить, всё-таки человек цеплять будет.[/uquote]Согласен.
pushkin42
Прорезались зубы
Posts: 219
Joined: Tue Nov 17, 2009 12:34:02

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

Post by 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 KiB) Downloaded 120 times
Вот начинал с 33 ом, но там прям светится все и до 2.7в доходит
jcxz
Мудрый кот
Posts: 1731
Joined: Tue Aug 15, 2017 10:51:13

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

Post by 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.
pushkin42
Прорезались зубы
Posts: 219
Joined: Tue Nov 17, 2009 12:34:02

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

Post by pushkin42 »

Ну честно сказать этот проект не стоит покупки таких микросхем. Это был чисто академический интерес. Да и в целом подключать usart будут не так уж и часто...
veso74
Поставщик валерьянки для Кота
Posts: 1916
Joined: Sat May 05, 2012 20:24:52
Location: KN34PC, Болгария
Contact:

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

Post by veso74 »

Все всего лишь несколько строк кода, попробуйте. Легкий способ (HAL):
https://github.com/yohanes-erwin/stm32f ... ain.c#L154
Если на CMSIS, повторите шаги. В перерыве добавьте то, что вам нужно для действия.
User avatar
Мурик
Друг Кота
Posts: 3385
Joined: Mon Oct 11, 2010 19:00:08

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

Post by Мурик »

jcxz wrote:А по питанию то зачем? И по какому "питанию"?
По питанию МК. Получится делитель напряжения состоящий из резистора в цепи сигнального вывода uart, диода gpio и резистора по питанию МК, который нужен для просадки напряжения паразитного питания.
jcxz
Мудрый кот
Posts: 1731
Joined: Tue Aug 15, 2017 10:51:13

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

Post by jcxz »

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

Вообще - можно ещё диод Шоттки последовательный поставить. По UART.RX МК. Анодом к МК. И включить pull-up на входе МК. Не очень хорошее решение для больших скоростей, но как костыль и для не очень больших скоростей - должно работать.
pushkin42
Прорезались зубы
Posts: 219
Joined: Tue Nov 17, 2009 12:34:02

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

Post by pushkin42 »

У автора аккумулятор на 360мач,поэтому вопрос и возник, собственно. Питаясь от розетки я вряд ли бы стал заморачиваться над этим...
User avatar
AVI-crak
Прорезались зубы
Posts: 202
Joined: Sat Jan 09, 2016 15:51:17
Contact:

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

Post by AVI-crak »

Тут не бороться нужно, а возглавить. Внешняя линия данных по сути часть отладки, поэтому подача питания должна быть гарантированной.
User avatar
ds1307
Грызет канифоль
Posts: 260
Joined: Thu Jan 13, 2011 18:54:29
Location: Минск

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

Post by ds1307 »

А если сделать опторазвязку?
Цифровые изоляторы CA-IS3720LS, CA-IS3722LS использовать например.
Учиться, учиться, ...
Post Reply

Return to “ARM”