Преобразование уровня напряжения между +3 В и +3,3 В

В моем проекте у меня есть две ИС, которые работают при разных напряжениях. IC_A на 3 В и IC_B на 3,3 В, и они общаются друг с другом через UART.

В моем прототипе я использую MOSFET с двумя резисторами для каждого сигнала в UART (TX, RX) в качестве преобразователя уровня.

Мой вопрос:

Могу ли я опустить MOSFET и подключить их напрямую или только с последовательным резистором? И если да, то как узнать номинал резистора? например закон Ома?

редактировать: 3 В и 3,3 В - теоретические напряжения. Когда я измеряю их, они составляют 2,85 В и 3,3 В ...

Я прочитал таблицы данных и распечатал их на бумаге, но я боюсь подключать микросхемы, потому что у 3-вольтовой микросхемы VImax = 3 В, поэтому 3,3 В могут ее убить. Если это сделка, я должен придерживаться мосфетов. IC_B принимает 3 В как высокое.
Я не хочу отвечать на ваш вопрос другим вопросом, но серьезно, почему бы не запустить часть 3,3 В на 3,0 В? Мои деньги говорят, что не будет абсолютно никакой операционной разницы.
Деталь - ATSAM4LC2A. В техническом описании сказано, что если я буду использовать периферийное устройство USB, я должен питаться от 3,3 В. Другая часть - это GSM, который питается от 4 В, но его контактный выход - 3 В. Так что у меня нет выбора. :(

Ответы (5)

На самом деле вам все равно, какой уровень напряжения VCC или VDD, но вас больше интересуют требования к V (вход Lo) и V (вход High) для обоих устройств.

Для элементов вашей системы 3 В и 3,3 В настоящие вопросы таковы:

  1. Может ли выходное напряжение быть слишком высоким при подаче на вход 3 В от выхода элемента 3,3 В?

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

Некоторая логика имеет структуры зажима во входных элементах, так что есть еще что рассмотреть. Для этих элементов это может выглядеть примерно так:

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

В этих условиях (высокий уровень сигнала), когда входные диодные зажимы представляют собой планарные диоды с типичным значением Vf 650 мВ, маловероятно, что ток, протекающий с выхода 3,3 В в структуру/источник питания 3-вольтовых элементов VDD.
В целях безопасности вы можете добавить небольшой резистор для ограничения тока.

  1. При подаче высокого уровня от элемента 3 В V (выходной высокий уровень) будет соответствовать требованиям элемента 3,3 В V (входной высокий уровень).

Так как V (выходной высокий уровень) элемента 3 В будет приближаться к 3 В, это легко удовлетворит требованиям, которые вероятны на уровне 1-1,8 В. Вы можете напрямую подключить выход элемента 3 В к входу элемента 3,3 В.

Я пытаюсь понять ваш ответ, но я не знаю о Vf. Это какой-то жизненно важный параметр в таблицах данных, который я должен посмотреть, или это напряжение на схеме, которую вы предоставили. Также спасибо за проблемы с публикацией этого.
Ооо!!!! Vf — падение напряжения на шоттки. Мой разум застрял на мгновение. :)
В обычных микросхемах CMOS нет диодов Шоттки во внутренних контактных площадках ввода-вывода. Создание барьера Шоттки требует специальных этапов процесса и является непомерно дорогим. Это обычные планарные диоды.
@Али Чен. Вы абсолютно правы, это не диоды Шоттки .... мой плохой. Фиксированный ответ.

Здесь следует учитывать важный принцип:

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

Обычно пределы входного напряжения абс. макс. от Vdd до GND +/- 300 мВ. Когда один из них выключен, это означает, что более чем +/- 300 мВ вы нарушаете абсолютную максимальную спецификацию. Если ток не ограничен, может произойти повреждение, особенно при повторном подаче питания на выключенный.

Есть несколько способов справиться с этим (в порядке возрастания стоимости и производительности):

  1. Последовательный резистор (или делитель напряжения) ограничит ток, а делитель немного снизит его.

  2. BJT или MOSFET можно использовать с подтяжкой к соответствующему источнику питания. BJT немного дешевле и прочнее.

  3. Можно использовать микросхему преобразователя напряжения с раздельным питанием (оба питания идут на микросхему). Некоторые микросхемы принимают напряжение от 1,8 до 5,5 В с обеих сторон или другие широкие диапазоны. Например , 74AVCH2T45 преобразует один бит в каждом направлении из любого источника 0,8~3,6 в любой источник 0,8~3,6 со временем распространения < 10 нс в любом направлении.


Чтобы использовать резистор, вы должны довольствоваться относительно небольшими задержками распространения. Для 3 В-> 3,3 В вы почти наверняка можете просто использовать последовательный резистор. Большинство 3-вольтовых устройств являются CMOS, и большинство из них довольны 0,7 Вдд или 2,31 В для питания 3,3 В, поэтому у вас все равно будет запас по шуму 600-700 мВ, что достаточно.

Если скорость не является проблемой, подойдет что-то вроде 10K, которое ограничивает входной ток до действительно безопасного уровня. Чтобы пойти другим путем, вы, возможно, снова сможете уйти с 10 000, но было бы лучше разделить его примерно на 10%, поэтому 10 000 / 100 000:

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

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

С точки зрения скорости, если бы емкостная нагрузка была довольно большой (скажем, 100 пФ) из-за кабеля или чего-то еще, то постоянная времени была бы 1 мкс. Вероятно, это не проблема для UART, по крайней мере, на скорости 115 кбод или меньше.

Конечно, транзисторы инвертируют сигнал, а резисторы (и большинство преобразователей напряжения) — нет, но вы это знали.

Вы сделали хорошее замечание, но у меня уже был мосфет, который я хочу опустить, поэтому 2 и 3 занимают много места. Поэтому я хочу попробовать 1.
@Сферо. Вам не нужен резистор в верхней части корпуса от выхода 3 В до входа 3,3 В, нет возможности повреждения ни при каких обстоятельствах.
@JackCreasey Если питание 3,3 В отключено и цепь 3 В подключена к входу, через защитный диод будет протекать большой ток, который может вызвать защелку (и последующее разрушение части 3,3 В) при повторном подаче питания 3,3 В. По крайней мере, это перегрузит выход 3 В и может вызвать проблемы с надежностью, даже если драйвер 3 В слишком слаб, чтобы вызвать защелку. Я думаю, что это плохая практика, и я определенно видел разрушенные чипы.
@Сферо. Ясно, но вы ожидаете, что поставки из какого-то общего источника. Выход практически всех логических элементов ограничен по току, поэтому представленный вами случай вряд ли кажется действительным. Если типичный затвор имеет пределы короткого замыкания даже 20-30 мА, вам будет трудно что-либо разрушить. Может быть, с некоторыми из более старых серий 4000, но с современными логическими устройствами ( ti.com/lit/an/slya014a/slya014a.pdf )?
@JackCreasey Большинство микроконтроллеров не ограничивают ток на своих выходах, они с радостью выдают ток, достаточный для повреждения своих драйверов, как выяснили многие незадачливые пользователи Arduino.
@mbrig. Я согласен, что Atmel328 легко сломать, но обычно не закорачивая только один выходной контакт. Ток короткого замыкания составляет около 80-90 мА на любом контакте ввода-вывода, но структура ввода-вывода имеет внутренний предел около 100 мА для групп контактов. См. atmel.com/Images/… Раздел 32.2 и прочтите примечания внизу. Если вы превысите 100 мА, вы можете вытолкнуть группу. Однако ATMega328 считается свободным от блокировок. Если вам нужен положительный предел ниже максимальной спецификации на контакт, вам нужен резистор на 150 Ом последовательно.
@JackCreasey - Ущерб, о котором говорит Спехро, заключается не в том, сколько или как мало тока драйвер с включенным питанием может напрямую вводить в выключенную часть. Все, что превышает несколько мА, введенное в отключенную часть, может найти путь блуждающей цепи на этой части к стеку соединения PNPN или NPNP. Требуется очень небольшой инжектированный заряд, чтобы привести один из этих переходов типа SCR в состояние «смещено как включено». Затем, когда обесточенная часть включается, этот первичный SCR может проводить ток прямо внутри этой части; не от того мощного выхода, который просто обеспечивает смещение. Если вы (продолжение)
(продолжение сверху) повезло, что SCR будет проводить только небольшое количество тока и выдыхаться, когда часть становится полностью запитанной. Немного более неприятным является то, что SCR вызывает некоторые локальные логические нарушения в части, но только при ограниченном токе. В этом случае вся система должна быть отключена, чтобы удалить эту заблокированную логику. В катастрофическом случае защелка SCR просто оказывается на пути внутренней цепи между Vdd и Gnd. Если это произойдет, протекание тока может быть ограничено только металлизацией кристалла или удельным сопротивлением легированного кремния и (продолжение снова)
(продолжение сверху) может привести к разрушению кремния. Такое разрушение может быть кратковременным, как при локализованном расплавлении, или может быть долговременным напряжением кремния. В долгосрочной перспективе сбой, скорее всего, произойдет, если защелкивание будет повторяющимся событием. Небезопасно когда-либо выдавать этот эффект за то, что он происходит только со старыми чипами. Это реальный эффект и причина того, что все производители чипов указывают максимальные значения абс. для выводов относительно Vdd и Gnd, что, кстати, применяет любой уровень напряжения, который может существовать на этом выводе Vdd. Я видел все типы latchup на протяжении многих лет.
@JackCreasey - Еще одна вещь, которую следует иметь в виду, это то, что по мере того, как ИС становятся все более и более сложными, в некоторых случаях с миллиардами транзисторов, появляется все больше и больше возможных логических путей, которые могут быть «предварительно смещены» путем инъекции заряда.
@Майкл Карас. Я согласен, что ситуация может быть сложной, но современные SOC не рассчитаны на такой шанс, как могут показаться из ваших комментариев. Например, Intel использует правила проектирования (как и большинство других), которые исключают создание структур, подверженных защелкам. Если бы это было не так, то вы бы увидели, что отказы защелки и scr часто возникают в SOC с логическими блоками 5, 3,3 и 1 В, но вы этого не делаете. Я признаю, что в логических решениях, построенных вручную (многие ИС), могут быть потенциальные возможности для этих ошибок, но это редко. В лучшем случае дизайнер должен обращать внимание на порядок включения/выключения расходных материалов. продолжение/
/продолжение Вероятность выхода из строя поставок в мелкомасштабном решении, таком как обсуждаемый ОП, возникает только при неисправностях. Если доска сломана... конечно, все правила отключены. Но при нормальной работе для такого решения риски (происшествия или зависания) приближаются к нулю, согласны?
@JackCreasy - Говорите, что хотите, но знайте, что я работаю в Intel и разрабатываю материнские платы для серверов. Требования к дизайну вещей, о которых я говорил выше, очень требовательны и строги.
@JackCreasy - теперь я знаю
@JackCreasey - сейчас я работаю над управлением питанием SOC и чипсета и могу сказать вам, что правильная последовательность включения питания чрезвычайно важна, а также следить за тем, чтобы рекомендации по проектированию противоречили условиям, которые позволили бы подавать ток в отключенные секции устройств.
@Майкл Карас. Я тоже работал в Intel (Jones Farm) (сейчас я на пенсии), так что, думаю, я понимаю. Я также провел годы, работая над аппаратным обеспечением низкого уровня в Microsoft с новым оборудованием (материнские платы многих производителей). Вы не единственный с таким опытом.

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

Здесь нужно думать о двух разных вещах.

Во-первых, низковольтное устройство разговаривает с более высоковольтным устройством. Как упомянул @BrianCarlton, если напряжение, выдаваемое низковольтным устройством для ВЫСОКОГО значения, превышает ВЫСОКИЙ порог для логического входа (если В О ЧАС выше В я ЧАС ), то его можно напрямую подключить. Если нет, то вам понадобится какой-то способ поднять напряжение выше В я ЧАС .

Второй — это устройство высокого напряжения, разговаривающее с устройством низкого напряжения. Это больше связано с риском перегрузки входа, чем с любыми логическими уровнями (хотя вы можете просто проверить пороги НИЗКОГО логического уровня так же, как и для ВЫСОКОГО уровня в другом направлении).

Сначала вы должны проверить абсолютные максимальные значения для низковольтного устройства, чтобы убедиться, что более высокое напряжение не будет слишком высоким. Если оно находится в пределах абсолютного максимума для входа (обычно что-то вроде Vcc + 0,3 В), то все должно быть в порядке, хотя для устойчивых ВЫСОКИХ значений оно может быть «хитрым».

Большинство устройств имеют некоторую форму защиты на входах (хотя и не все, поэтому сначала проверьте) в виде диодов между контактом и землей и Vcc. Это позволяет подавать любое избыточное напряжение выше Vcc (или ниже земли) на соответствующую шину, а не на вывод IO (зажим диода). Однако они имеют только ограниченную токовую мощность, и в этом сценарии помогает добавление резистора к входу - ограничение тока, чтобы избежать повреждения этих диодов (при условии, что они существуют - вы также всегда можете добавить свой собственный).

Некоторые спецификации включают в свои характеристики «максимальный предел тока перенапряжения». Это в основном номинальный ток этих диодов. Вы можете использовать это, чтобы определить наименьшее значение резистора, которое все еще будет безопасным. В целом, тем не менее, чем выше, тем лучше, но не слишком высоко, чтобы неблагоприятно повлиять на форму вашего сигнала. Для данных UART это не проблема, поскольку вы работаете на относительно низких частотах.

Однако за цену, скажем, BSS138P и пары резисторов по 10К, действительно ли стоит рисковать?

Ну рисковать точно не стоит. Я только что прочитал даташиты. IC_A (VCC = 3 В) определяет высокий уровень в диапазоне 3–2,55 В и низкий уровень в диапазоне 0,45–0 В. IC_B (VCC = 3,3 В) представляет собой микроконтроллер ATSAM4LC2AA, но должен питаться от 3,3 В. Я прочитал таблицу данных микроконтроллеров на странице 1136, но здесь нужно написать много параметров. Я немного запутался. Существуют минимальные и максимальные значения для каждого VILmin VIMmax. :(
Извините за ошибку я разобрался.....

Все довольно просто. Вам не нужно ничего делать, и просто подключите обе цепи напрямую. Разница между шинами на самом деле находится в пределах нормального допуска 10% для интерфейса LVCMOS-33.

Оба устройства являются устройствами CMOS. Устройства CMOS имеют логический (переключающий) порог где-то посередине шин напряжения. Точка переключения пропорциональна пропорционально напряжению питания. Таким образом, одно устройство будет иметь его на 1,5 В, другое на 1,65 В, плюс-минус 300-400 мВ в худшем случае. Стандарт для низковольтных CMOS-33 определяет запасы безопасности и требует уровня 2 В как минимального входного сигнала HIGH. Следовательно, пока обе стороны управляют своими соответствующими сигналами почти от рельса к рельсу (как обычно для малонагруженных КМОП-схем) и HIGH выше 2 В, а LOW ниже 0,8 В, все будет в порядке.

См. стандарт JDEC JESD8C.01.