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

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
pushkin42
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт ноя 17, 2009 12:34:02

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

Сообщение pushkin42 »

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

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

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

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

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

Какие варианты есть по этому поводу?
Уош
Опытный кот
Сообщения: 700
Зарегистрирован: Вс мар 23, 2025 14:56:55

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

Сообщение Уош »

PVD в 2.9 вольта не спасёт? (Power control register PWR_CR)
pushkin42
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт ноя 17, 2009 12:34:02

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

Сообщение pushkin42 »

Дык воно только прерывания умеет делать, особо бессмысленно...
Мне бы что нибудь типа BODLEVEL в avr..
Аватара пользователя
vlasovzloy
Друг Кота
Сообщения: 20068
Зарегистрирован: Чт янв 26, 2012 16:44:29
Откуда: Таксимо

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

Сообщение vlasovzloy »

А если ресет притянуть или куда он там должен, не будет возбуждаться мк?
Мои поставщики запчастей с отличной репутацией
texnomag.ru
radioremont.com
pl-1.org
4ip.info
elitan.ru
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

Сообщение Мурик »

pushkin42 писал(а):Дык воно только прерывания умеет делать, особо бессмысленно
Почему бессмысленно?
Поставьте там цикл без возможности выхода или отправьте МК в перезагрузку.
pushkin42
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт ноя 17, 2009 12:34:02

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

Сообщение pushkin42 »

Так это я и по уровню на аналоговом питании понять могу, никакие прерывания для этого не нужны. Я просто боюсь чтобы ничего не случилось такого...
veso74
Поставщик валерьянки для Кота
Сообщения: 1905
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

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

Сообщение veso74 »

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

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

Сообщение Мурик »

Можно подключить USB-UART не напрямую, а через резисторы. И по питанию резистор поставить на 200 ом.
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

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

Сообщение jcxz »

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

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

Сообщение Уош »

ну, если usb-uart рядом на плате, то вроде как особо и не надо... А если не рядом, то не только резистор, ещё бы и супрессоров поставить, всё-таки человек цеплять будет.
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

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

Сообщение jcxz »

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

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

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

Сообщение 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в доходит
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

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

Сообщение 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
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт ноя 17, 2009 12:34:02

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

Сообщение pushkin42 »

Ну честно сказать этот проект не стоит покупки таких микросхем. Это был чисто академический интерес. Да и в целом подключать usart будут не так уж и часто...
veso74
Поставщик валерьянки для Кота
Сообщения: 1905
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

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

Сообщение veso74 »

Все всего лишь несколько строк кода, попробуйте. Легкий способ (HAL):
https://github.com/yohanes-erwin/stm32f ... ain.c#L154
Если на CMSIS, повторите шаги. В перерыве добавьте то, что вам нужно для действия.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

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

Сообщение Мурик »

jcxz писал(а):А по питанию то зачем? И по какому "питанию"?
По питанию МК. Получится делитель напряжения состоящий из резистора в цепи сигнального вывода uart, диода gpio и резистора по питанию МК, который нужен для просадки напряжения паразитного питания.
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

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

Сообщение jcxz »

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

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

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

Сообщение pushkin42 »

У автора аккумулятор на 360мач,поэтому вопрос и возник, собственно. Питаясь от розетки я вряд ли бы стал заморачиваться над этим...
Аватара пользователя
AVI-crak
Прорезались зубы
Сообщения: 202
Зарегистрирован: Сб янв 09, 2016 15:51:17
Контактная информация:

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

Сообщение AVI-crak »

Тут не бороться нужно, а возглавить. Внешняя линия данных по сути часть отладки, поэтому подача питания должна быть гарантированной.
Аватара пользователя
ds1307
Грызет канифоль
Сообщения: 260
Зарегистрирован: Чт янв 13, 2011 18:54:29
Откуда: Минск

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

Сообщение ds1307 »

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

Вернуться в «ARM»