Xenia 45 16 апреля, 2023 Опубликовано 16 апреля, 2023 · Жалоба 16 часов назад, Arlleex сказал: Переведите ноги в режим OUT Open-Drain. И помахайте ногами этими программно. Если работают, то дело явно где-то в коде)) Дело в том, что у меня есть несколько штук одинаковых плат (покупала их у китайцев одним лотом - 5 штук). У двух из них I2C "сгорел", на двух других I2C нормально работает, 5-ю пока никуда не подключала - берегу. Причем прошивка была на всех 4-х платах совершенно одинаковая. Я пишу "сгорел" потому, что на первых невезучих платах I2C сначала тоже работал, но потом перестал работать (пропали испускаемые из платы сигналы). В этой ситуации мне сложно пенять как на свою прошивку, так и на возможную неисправность плат с самого начала. Тем более, что на плате микроконтроллера пины (PB8 и PB9), ответственные за работу I2C, попросту выведены на разъем ("гребенка" по краям платы), и никаких других электронных компонентов по пути не содержит. Slave-устройство использовалось одно и то же, т.к. я его всего в одном экземпляре покупала. Те две платы, которые до сих пор еще работают с I2C, держатся на плаву благодаря вот такому методу: сперва подаю питание на Master и Slave при разорванной между ними шине I2C, а после тогда как они светодиодиками начали моргать, I2C-шину между ними соединяю. Тогда всё работает каждый раз устойчиво. Тогда как первая плата "сгорела" в момент подачи питания при соединенной шине, а вторая сгорела после того, так я сделала STM32 ресет (кнопочку такую на плате нажала). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 16 апреля, 2023 Опубликовано 16 апреля, 2023 · Жалоба 18 часов назад, Xenia сказал: А началось всё с того, что силовой ключ себе купила, вот такой: https://wiki.iarduino.ru/page/power-key-4p-i2c-datasheet/ , а управление им только через I2C. Силовым напряжением я него не нагружала, а питала от источника 5 V, причем того же самого, из которого LDO на плате делает напряжение 3.3 V для питания этого STM32. Подтяжку на линиях I2C тоже он создает. Ну вот этим и убили. Так как в даташите в параграфе "Absolute maximum ratings" указано: Если у Вас +3.3V формирует LDO, питаемый от +5V, то очевидно, что +5V появляется раньше +3.3V. Особенно если ёмкость после LDO достаточно большая. А значит: когда на линиях SCL/SDA появляется +5V, на VDD ещё может быть <+1V. В этот момент ноги имеют полное право сдохнуть. Делайте подтяжку от +3.3V и ваши ножки будут в целости и сохранности. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 45 16 апреля, 2023 Опубликовано 16 апреля, 2023 · Жалоба 50 минут назад, jcxz сказал: Делайте подтяжку от +3.3V и ваши ножки будут в целости и сохранности. Так у меня подтяжка шины I2C как раз 3-вольтовая. И я про это уже писала: 19 часов назад, Xenia сказал: Режим линий у STM32 - Open Drain, напряжение на линиях внешнее +3.23 V, а если закоротить на землю, то получаю ток 0.325 mA. Т.е. ток вроде бы совсем небольшой, чтобы повредить контроллеру. Тем не менее, подтяжку на шине создаю не я (т.к. мой STM32 этого не умеет), а Save-устройство, питаемое от 5V, а его схема мне неизвестна. Но перемычку с 5V на 3V3 на Slave я перепаяла сразу (это фото из его описания еще до перепайки): Однако все равно боюсь того, что Slave может на короткое время установить на шине напряжение 5V и лишь позднее снизить его до 3.3V. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 16 апреля, 2023 Опубликовано 16 апреля, 2023 · Жалоба 10 минут назад, Xenia сказал: Тем не менее, подтяжку на шине создаю не я (т.к. мой STM32 этого не умеет), а Save-устройство, питаемое от 5V, а его схема мне неизвестна. Так просто выпаяйте резисторы подтяжки с той платы. Подтяните шину на +3.3V на плате МК. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 45 16 апреля, 2023 Опубликовано 16 апреля, 2023 · Жалоба 1 час назад, jcxz сказал: Так как в даташите в параграфе "Absolute maximum ratings" указано: Мои I2C-пины (PB8 и PB9), согласно даташита, толерантны к 5V (FT): Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 16 апреля, 2023 Опубликовано 16 апреля, 2023 · Жалоба 2 минуты назад, Xenia сказал: Мои I2C-пины (PB8 и PB9), согласно даташита толерантны к 5V: Я же выше Вам выдержку из даташита привёл. Где расшифровывается, что понимается под характеристикой "5V tolerant". Почитайте её внимательнее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 45 16 апреля, 2023 Опубликовано 16 апреля, 2023 · Жалоба 1 минуту назад, jcxz сказал: Я же выше Вам выдержку из даташита привёл. Где расшифровывается, что понимается под характеристикой "5V tolerant". А я не поняла из вашей выдержки, какая же это толерантность к 5V, если уже при 4V наступает конец. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 16 апреля, 2023 Опубликовано 16 апреля, 2023 · Жалоба Это уже вопрос не ко мне, а к производителю. Что есть, то есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 229 16 апреля, 2023 Опубликовано 16 апреля, 2023 · Жалоба 52 минуты назад, Xenia сказал: А я не поняла из вашей выдержки, какая же это толерантность к 5V, если уже при 4V наступает конец. Толерантность во включенном состоянии и это нормально. Если подать логический уровень на вход незапитанной КМОП-микросхемы, так и вообще можно получить тиристорный эффект с дымом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 85 17 апреля, 2023 Опубликовано 17 апреля, 2023 · Жалоба 10 часов назад, Xenia сказал: толерантность к 5V, если уже при 4V наступает конец. Не 4, а VDD + 4. То есть, это более 7 В. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 17 апреля, 2023 Опубликовано 17 апреля, 2023 · Жалоба 5 часов назад, EdgeAligned сказал: Не 4, а VDD + 4. То есть, это более 7 В. А если всё-таки попытаться включить голову? PS: А для неумеющих включать - выше уже было всё разжёвано. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rudy_b 4 17 апреля, 2023 Опубликовано 17 апреля, 2023 · Жалоба Возможно поможет включение шоттки диодов с выходов I2C на питание 3.3 в на плате процессора. Это спасет и при включении питания. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 229 17 апреля, 2023 Опубликовано 17 апреля, 2023 · Жалоба 1 минуту назад, rudy_b сказал: Возможно поможет включение шоттки диодов с выходов I2C на питание 3.3 в на плате процессора. Это спасет и при включении питания. Перед борьбой нужно понять с чем, собственно, боремся. Поэтому хотелось бы увидеть осциллограммы сигналов I2C и питания на плате с STM32 при включении питания, ну а потом уже можно будет делать выводы и предлагать решения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 85 17 апреля, 2023 Опубликовано 17 апреля, 2023 · Жалоба А может научиться циферки складывать, хотяп на калькуляторе ? 3 + 4 = 7. И вообще, что за хамская манера общения? Чуть что - сразу поток хамства. У вас тут на форуме все такие высокомерные, иль это отдельные одарённые личности только? Можно же уважительно общаться же! Если кто-то вдруг ошибается, можно же без хамства объяснить же! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 229 17 апреля, 2023 Опубликовано 17 апреля, 2023 · Жалоба 32 минуты назад, EdgeAligned сказал: А может научиться циферки складывать, хотяп на калькуляторе ? 3 + 4 = 7. Откуда вы взяли 3 в момент включения? И вообще откуда 3, если ТС сказала что питание 3.3 В? В 15.04.2023 в 23:08, Xenia сказал: А началось всё с того, что силовой ключ себе купила, вот такой: https://wiki.iarduino.ru/page/power-key-4p-i2c-datasheet/ , а управление им только через I2C. Силовым напряжением я него не нагружала, а питала от источника 5 V, причем того же самого, из которого LDO на плате делает напряжение 3.3 V для питания этого STM32. Подтяжку на линиях I2C тоже он создает. Задержки подачи питания при использовании LDO быть не должно, поэтому мне версия с прилётом на вход недопустимо высокого напряжения (больше 4 В) при включении питания кажется крайне маловероятной. Но нужно смотреть осциллографом, чтобы окончательно расставить все точки над i. Поэтому вопрос к @Xenia: покажите осциллограммы на линиях I2C (хотя бы одной из них) и на линии питания STM32 при включении питания вашей системы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться