Сбой защиты от перенапряжения I²C

У меня есть разъем pogo с +8,4 В/GND/SDA/SCL. Я хотел бы защитить свой микроконтроллер от перенапряжения (+8,4 В потенциально могут касаться SDA/SCL). Я пробовал эту схему:

Введите описание изображения здесь

Но дело в том, что с этой схемой на выводе I²C всего 2,4 В, а без 3,3 В. Схема работает отлично, но 2,4 В для высокого уровня не соответствует спецификации esp32-pico-d4, которую я использую (минимум 2,475 В). Как я могу изменить конструкцию/компоненты, чтобы иметь почти 3,3 В на выводе GPIO (когда он высокий) и точное ограничение напряжения?

Я просмотрел много вопросов о защите от перенапряжения на Stack Exchange, но не нашел решения своей проблемы.

Помните/осторожно относитесь к времени переключения (и емкости) диода. «Не должно» иметь большого значения для I2C (он относительно медленный), но в целом стоит отметить.

Ответы (6)

Как я могу изменить дизайн / компоненты, чтобы иметь почти 3,3 В на выводе GPIO (когда он высокий) и точное ограничение напряжения?

Стабилитроны не так совершенны, как вы, возможно, думаете. Даже ниже напряжения стабилитрона они по-прежнему будут проводить некоторый ток и из-за подтягивающего резистора (4,7 кОм) не допустят появления полных 3,3 вольта на вашем выводе I2C. Вы могли бы добиться большего успеха, если бы вместо стабилитрона вы использовали диод Шоттки от вывода I2C к вашей локальной шине 3,3 В, то есть через резистор 4k7: -

введите описание изображения здесь

Это ограничит напряжение I2C примерно до 3,6 вольт или, возможно, 3,7 вольт, возвращая избыточный ток, подаваемый через резистор 330 Ом, на шину питания. Это зависит от способности большинства микросхем выдерживать несколько более высокое напряжение на своих выводах ввода-вывода, чем на выводах шины питания. Это обычная практика, но она будет работать только в том случае, если ваш интерфейсный чип I2C имеет эту «избыточную» способность.

Большое спасибо за ваш ответ. Я попробую эту схему, как только получу несколько диодов Шоттки. Я подозревал, что мой стабилитрон пропускает ток, но не был уверен. Я везде читал, что они не идеальны, но я хотел протестировать простую схему, чтобы почувствовать, как работает простая защита от перенапряжения и ее пределы. Что касается способности моей платы (Tinypico с esp32) выдерживать чуть более высокое напряжение на I2C, я это проверю. Большое спасибо за схему!
@AyubowanPro, пожалуйста, пройдите двухминутный тур , чтобы понять мотивацию людей, оказывающих бесплатную помощь.
Установка стабилитрона между +3,3 В и GND даст дополнительную защиту. В противном случае это зависит от чего-то еще в цепи, чтобы поглотить ток фиксации 15 мА.
@jpa Я рад, что вы упомянули об этом, и, если ОП предоставит больше информации об угрозе и их внутреннем режиме питания, я постараюсь прояснить этот момент подробнее.
С вашей схемой лучше подключить шоттки и резистор 4,7k к LDO 3,3 В (у меня есть один на печатной плате, которую я разрабатываю) или к внутреннему регулятору 3,3 В моей платы (Tinypico)?
@AyubowanPro, чтобы ответить, что мне нужно знать об угрозе (упомянутые вами +8,4 вольта) и о том, как долго она может присутствовать, т. Е. Является ли это всплеском или что-то, что потенциально будет присутствовать четыре секунды, минуты или часы. Затем мне нужно знать, какая у вас емкость на шине 3,3 В на землю и какой тип регуляторов вы дополнительно рассматриваете. Кроме того, мне интересно, почему вы используете регулятор LDO исключительно для этого - это не кажется осуществимой идеей.
На разъеме контакт +8,4 В может войти в контакт с контактом SDA/SCL в течение нескольких секунд (<5 с). Это не переходный ток/ESD. К сожалению, в настоящее время у меня нет инструмента для измерения емкости. Извините, я запутался, потому что пытаюсь защитить линии SDA/SCL на двух разных цепях. Итак, на том, над которым я сейчас работаю, стоит не LDO, а полноценный модуль (понижающий) от Pololu (D24V10F3).
Вся информация нужна.

Стабилитроны ниже 5 В действительно ужасны и пропускают значительный ток ниже своего напряжения стабилитрона.

Эта диаграмма для типичного небольшого стабилитрона ( BZX84 ) показывает, насколько мягким является «колено» напряжения для низковольтных стабилитронов по сравнению с более высокими напряжениями. Устройство на 6,8 В имеет довольно резкое включение, в то время как версия на 3,3 В практически не имеет «изгиба».

(Обратите внимание, что на графике используется логарифмическая шкала для оси Y, которая расширяет характеристики слабого тока).

Диод 3,3 В на этой диаграмме пропускает около 100 мкА при 2,4 В.

Стабилитроны выше примерно 6 В работают по другому механизму, называемому лавинным эффектом, и демонстрируют гораздо более близкую к идеальной работу. Лично я никогда не использую стабилитроны ниже 5-6В.

Еще одной нежелательной характеристикой низковольтных стабилитронов является их очень высокая емкость - устройство BZX84 3,3 В имеет емкость 450 пФ. Этот высокий уровень может плохо повлиять на такие схемы, как защита I2C. Другие подходы, использующие диод Шоттки для питания, имеют гораздо меньшую емкость.

введите описание изображения здесь Техническое описание BZX84

Большое спасибо за график. Я не знал, что стабилитроны с низким номинальным напряжением пропускают слишком большой ток в нежелательном направлении. Очень интересно ! Я воспользуюсь вашим советом не использовать стабилитрон ниже 5 В. Более того, я понимаю, почему я вижу, что многие люди используют их при 5 В и выше, а не так много при 3,3 В, лол.

У вас есть источник питания 3,3 В и стабилитрон на 3,3 В с резистором между ними.

Следовательно, напряжение на резисторе будет равно 0 В, и ток не может протекать. Так что это не может работать так, как вы предполагали, потому что части работают не так, как вы себе представляете.

Существует неправильное представление о стабилитронах как о «магических перепадах напряжения». Фактически они представляют собой линейную часть с набором характеристик, указанных в их паспорте. Фактическое поведение стабилитрона должно быть рассчитано на мнимое падение напряжения.

Так что вам нужна совершенно другая схема.

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

Как насчет двунаправленного переключателя уровней с равными уровнями?

Эта настройка используется для разных напряжений на шине i2c, но я думаю , что она должна работать и для 3v3 на 3v3 (но я не проверял это). МОП-транзистор должен выдерживать 8v4 на стороне разъема и в противном случае следовать за сигналом.

https://assets.nexperia.com/documents/application-note/AN10441.pdf

схематический

смоделируйте эту схему - схема, созданная с помощью CircuitLab

Здесь очень интересная схема. Спасибо ! Если другие участники скажут, что это сработает, я попробую.

Вот один (ужасный) подход:

введите описание изображения здесь

По сути, это идеальный диод, подключенный от выхода к 3,3 В, и входной резистор, чтобы он не потреблял «бесконечный» ток.

Основные проблемы с этим подходом:

  1. Для токового зеркала требуется согласованная пара транзисторов. (Вы можете получить двойные пакеты с 2 согласованными транзисторами.)
  2. Для этого требуется довольно много компонентов.
  3. Хотя это работает на низких частотах, переходная характеристика ужасна. Вы можете смягчить это, добавив диодный фиксатор (Шоттки) параллельно с полевым транзистором, но это не устраняет переходные процессы, а только уменьшает их длину.
  4. Поскольку полевой транзистор имеет конечное сопротивление, выходное напряжение увеличивается при высоких напряжениях, но медленно. Вы можете смягчить это, увеличив резистор, но:
  5. Ваш выходной импеданс ужасен (3,3 кОм в этом примере). В основном это становится проблемой на более высоких частотах. Вы можете смягчить это, уменьшив резистор, но см. 3 и 5.
  6. При высоких напряжениях вы начинаете рассеивать значительную мощность на резисторе. Вы можете смягчить это, увеличив резистор, но см. 4.
  7. У вас есть изрядная нагрузка на выходе, что еще больше замедляет/искажает сигналы.

(Конечно, вы можете сделать то же самое с операционным усилителем, но остерегайтесь пропускной способности.)

(Вы также можете сделать что-то подобное с идеальным диодом, но, опять же, остерегайтесь пропускной способности.)

...как говорится, просто используйте изолятор. Это легче. (Если вы не делаете это массово, в этом случае это не самый дешевый вариант.)

Спасибо за ваш дизайн. Я попытаюсь понять его с его ограничениями.

2,4 В для высокого уровня, на мой взгляд, слишком мало.

Почему ваше мнение важно здесь? Единственное «мнение», которое имеет значение, — это техническое описание устройства, к которому вы подключаетесь. Ничто другое не важно.

В качестве быстрой справки я взял техническое описание микроконтроллера TI OMAP-L138, с которым я сейчас работаю. Для источника питания 3,3 В высокий логический уровень на входах составляет минимум 2,0 В, а низкий логический уровень составляет максимум 0,8 В. Ваш вход с 2,4 В для высокого логического уровня будет очень надежным.

Тем не менее, ваша схема может не дать надежного 2,4 В, потому что стабилитроны не являются блестяще линейным компонентом. Вам нужно будет посмотреть на их кривые с допусками и при разных температурах, чтобы быть уверенным в том, является ли 2,4 В лучшим или худшим случаем.

Я бы также добавил, что ваша схема защиты должна также охватывать входное напряжение ниже 0 В. Вы можете подумать, что этого не может быть, но если вы находитесь в какой-либо промышленной среде, то это небезопасное предположение.

Мнения и опыт людей являются неотъемлемой частью большинства решений, преднамеренных или нет. Это естественно. Все ваши четыре абзаца цитируют ваше мнение или интерпретацию.
В esp32-pico-d4 требования высокого уровня: VDD + 0,3 В макс. и 0,75 * VDD мин. В моем случае VDD равно 3,3В. Таким образом, высокий уровень должен быть минимум 2,475 В, поэтому 2,4 В не соответствует спецификации.
@TonyM Боюсь, ни одно из ваших утверждений неверно. Уровни напряжения, необходимые для входов с высоким/низким логическим уровнем, не подлежат обсуждению или толкованию. Я привел один пример, к которому у меня был доступ; как я уже сказал, ОП должен проверить техническое описание своего устройства. Опыт может помочь добавить дополнительные допуски, которые могут отсутствовать в техническом описании (например, электромагнитная совместимость), но это также и не «мнение».
@AyubowanPro Достаточно честно. Вы можете улучшить свой вопрос, сказав, каковы ваши фактические пороговые значения, потому что это спецификация, а не «мнение». :)
Извините, не соответствует словам. (pg1) чистое мнение (pg2) использовал TI OMAP-L138, потому что думал, что он будет соответствовать, но нет (pg3) "схема может не дать" (pg4) спекулятивное мнение. К сожалению, ваши комментарии читаются так, как будто вы не сдвинетесь с места, но первый (pg1) настраивает остальных на падение. Без этого и угадывания (pg2) у вас был бы разумный ответ. В любом случае, никакого вреда, я оставлю вас с этим.