Перейти к содержанию

Преобразователь логических уровней

Модуль на 5 В, микроконтроллер на 3,3 В — между ними нужен преобразователь уровней. Таких микросхем несколько типов, и они не взаимозаменяемы: та, что отлично работает на SPI, может сломать I²C, а для I²C нужна совсем другая архитектура.

Обновлено Редакция GAW

Преобразователь логических уровней (level shifter, voltage-level translator) — микросхема или схема, которая передаёт цифровой сигнал между узлами с разным напряжением питания, например 1,8, 3,3 и 5 В. Без него выход одной микросхемы может не достичь порогов VIH и VIL другой или превысить её допустимое напряжение (TI SCEA044, разд. 1; пороги — в статье «Логические уровни»).

Типы

ТипКак работаетДля чегоИсточник
Буфер с выводом направления (SN74AVC8T245)два питания, направление задаёт вход DIRшины с известным направлениемTI SCEA044
TXB — автоматический, буферныйслабый буфер 4 кОм и ускорители фронтовтолько двухтактные выходы: SPI, SDTI SCEA043
TXS — автоматический, ключевойN-канальный ключ и ускорители фронтов; у TXS0101/0102/0104E — постоянные подтяжки 10 кОм на обеих сторонах, у полубуферного TXS0108E — «умные» подтяжки, меняющие сопротивление в зависимости от уровняоткрытый сток: I²C, 1-WireTI SCEA044
LSF — пассивный ключполевой транзистор и внешние подтяжкиI²C и быстрые сигналы, разные уровни на каналахTI SLVA675B

Почему типы не взаимозаменяемы

  • TXB и подтяжки. Выход TXB в статике держится через 4 кОм, и внешняя подтяжка образует с ним делитель: при 50 кОм низкий уровень поднимается до 0,075·VCC (SCEA043). Подтяжки 4,7 кОм для I²C подняли бы его почти до половины питания (наш расчёт), поэтому TXB на I²C не ставят. Кроме того, внешний драйвер должен перебивать его током больше 2 мА.
  • Ключевые TXS и LSF проводят, когда одна сторона притянута к нулю, и закрываются, когда сигнал поднимается к напряжению затвора минус порог; высокий уровень дотягивают подтяжки. TI называет это «сильный 0, слабая 1» (SLVA675B). Своего тока у ключа нет — фронт определяют подтяжка и ёмкость линии.
  • Скорость. LSF работает до 200 МГц при понижении и до 100 МГц при повышении уровня (SLVA675B); TXB лучше подходит для ёмкостной нагрузки меньше 70 пФ (SCEA044).

Простые схемы на одном транзисторе, делителе или защитных диодах с расчётом — в статье «Согласование уровней 3,3 и 5 В». Иногда преобразователь не нужен: у STM32 есть входы, допускающие 5 В.

Не путать

С драйвером затвора и с преобразователем напряжения питания: преобразователь уровней передаёт только логический сигнал и почти не даёт тока; питание каждой стороне нужно своё.

Частые вопросы

Какой преобразователь уровней ставить на I²C?

Рассчитанный на открытый сток: ключевой TXS (TXS0101/0102/0104E) или пассивный LSF с внешними подтяжками (TI SCEA044, SLVA675B). Буферный TXB для I²C не годится: TI пишет, что он предназначен только для двухтактных драйверов, а подтяжки шины I²C образуют делитель с его выходным сопротивлением 4 кОм.

Почему TXB0108 не работает с подтяжкой?

Выход TXB в статике держит уровень через сопротивление около 4 кОм. Внешний резистор образует с ним делитель: при подтяжке 50 кОм низкий уровень поднимается до 0,075·VCC (TI SCEA043). По нашему расчёту, с подтяжкой 4,7 кОм, типичной для I²C, низкий уровень поднялся бы почти до половины питания — логика его не распознает.

Нужен ли преобразователь, если вход 5-вольтовый, а выход 3,3 В?

Иногда нет: если порог высокого уровня 5-вольтового входа ниже 3,3 В с запасом, сигнал 3,3 → 5 В проходит напрямую, а в обратную сторону нужен делитель или вход, допускающий 5 В. Это решается по порогам VIH и VIL конкретных микросхем — расчёт в статье о согласовании уровней 3,3 и 5 В (наш комментарий).

Источники

  1. Texas Instruments. A Guide to Voltage Translation With TXS-Type Translators (SCEA044, June 2010) — разд. 1: уровни 5 В КМОП и ТТЛ, 3,3 В LVTTL, 2,5–1,2 В КМОП несовместимы; буфер с выводом направления, например SN74AVC8T245; разд. 2: автоматические трансляторы TXB (буферные, только для двухтактных драйверов) и TXS (ключевые, для открытого стока, I²C); TXS0101/0102/0104E — N-канальный ключ с порогом около 1 В, подтяжки 10 кОм на обеих сторонах, ускорители фронта; TXB лучше при ёмкостной нагрузке меньше 70 пФ; TXS0108E — полубуферный, с «умными» подтяжками, меняющими сопротивление по уровню сигнала
  2. Texas Instruments. A Guide to Voltage Translation With TXB-Type Translators (SCEA043, March 2010) — разд. 2: TXB — «слабый буфер» с выходным сопротивлением 4 кОм и одновибраторами на фронтах; внешний драйвер должен давать больше ±2 мА, чтобы его перебить; разд. 3: внешняя подтяжка образует делитель с 4 кОм, при 50 кОм VOL = 0,075·VCCO; подтяжки выбирать большими; ускорение фронта — около 10 нс, выходное сопротивление 40–70 Ом
  3. Texas Instruments. Voltage-Level Translation With the LSF Family (SLVA675B, revised March 2015) — разд. 1: LSF — пассивные ключи на полевых транзисторах с внешними подтяжками; порог задаёт Vref_A, Vref_B на 0,8 В выше, подтяжка 200 кОм; до 200 МГц вниз и 100 МГц вверх; двунаправленный I²C, разные уровни на разных каналах; «сильный 0 и слабая 1»; своего тока у ключей нет — его дают подтяжки; разд. 2: пример 1,8 → 3,3 В

Нашли ошибку?