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

Питание интерфейса (VDDIO, VLOGIC)

У многих датчиков два вывода питания: основной VDD и VDDIO для интерфейса. Второй задаёт логические уровни I²C или SPI, и датчик с ядром на 3,3 В можно подключить к микроконтроллеру на 1,8 В без преобразователя уровней. Разбираем, как это устроено у BMP280 и MPU-6050 и где здесь ловушки.

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

VDDIO (у MPU-6050 — VLOGIC, у других микросхем VIO или VCCIO) — отдельный вывод питания цифрового интерфейса микросхемы. От него питаются входные и выходные каскады I²C, SPI и других выводов, поэтому именно VDDIO задаёт логические уровни. Ядро и аналоговая часть питаются от основного VDD.

Зачем два питания

Датчику для точной работы может требоваться одно напряжение, а микроконтроллер работает от другого. Например, у Bosch BMP280:

ВыводДиапазонЧто питает
VDD1,71–3,6 Ваналоговая и цифровая часть
VDDIO1,2–3,6 Вцифровой интерфейс

Подав на VDDIO напряжение микроконтроллера, получают совместимые уровни без преобразователя уровней. У MPU-6050 VLOGIC может быть 1,8 В ±5 % или равен VDD (2,375–3,46 В), а MPU-6000 с единственным выводом питания такой возможности не имеет. Подробнее — на страницах BMP280 и MPU-6050.

Ограничения

  1. Уровни на входах. Напряжение на выводах интерфейса BMP280 не должно выходить за пределы от −0,3 В до VDDIO + 0,3 В. Это не толерантный к 5 В вход: подтяжки I²C подключают к шине VDDIO, а не к более высокому питанию.
  2. Обратное питание. Если VDDIO выключено, а на интерфейсе высокий уровень, через защитные диоды течёт инжектированный ток. Bosch предупреждает, что это может необратимо повредить датчик.
  3. Порядок включения. У MPU-6050 VLOGIC никогда не должен превышать VDD; у BMP280 порядок свободный, а при поданном VDDIO и выключенном VDD выводы интерфейса в высокоимпедансном состоянии, и шиной можно пользоваться. См. последовательность включения питания.

На модулях

На готовом модуле вывод VDDIO может быть соединён с VDD прямо на плате, а между датчиком и разъёмом могут стоять свой стабилизатор и преобразователи уровней. Тогда уровни интерфейса определяет схема модуля, и её проверяют по принципиальной схеме или измерением, а не по даташиту датчика.

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

Можно ли подключить BMP280 к микроконтроллеру на 1,8 В?

Да, через VDDIO. Подайте на VDD питание датчика (от 1,71 до 3,6 В), а на VDDIO — те же 1,8 В, что у микроконтроллера: VDDIO допускает от 1,2 до 3,6 В. Логические уровни интерфейса будут от VDDIO, и преобразователь уровней не нужен. Подтяжки I²C подключают к той же шине 1,8 В.

Что будет, если подать сигнал на интерфейс при выключенном VDDIO?

Ток пойдёт через защитные диоды выводов во внутреннюю шину питания. Bosch для BMP280 прямо предупреждает: высокий уровень на выводах SDI, SDO, SCK или CSB при выключенном VDDIO может необратимо повредить датчик. Поэтому VDDIO выключают вместе с шиной или раньше снимают сигналы.

Можно ли просто соединить VDDIO с VDD?

Можно, если уровни интерфейса совпадают с питанием датчика. У MPU-6050 VLOGIC допускается равным VDD. Но VLOGIC никогда не должен быть больше VDD — это требование InvenSense к порядку включения.

Источники

  1. Bosch Sensortec. BMP280 Digital Pressure Sensor, Data sheet BST-BMP280-DS001-26, Revision 1.26 (October 2021) — разд. 1: VDD 1,71–3,6 В, VDDIO 1,2–3,6 В (тип. 1,8 В); разд. 2, предельные режимы: VDD и VDDIO от −0,3 до 4,25 В, любой вывод интерфейса от −0,3 до VDDIO + 0,3 В; разд. 3.2: VDD питает аналоговую и цифровую часть, VDDIO — отдельное питание цифрового интерфейса; ограничений на порядок и скорость нарастания нет; высокий уровень на SDI, SDO, SCK или CSB при выключенном VDDIO может необратимо повредить датчик током через защитные диоды; при поданном VDDIO и выключенном VDD выводы интерфейса в высокоимпедансном состоянии, шину можно использовать
  2. InvenSense. MPU-6000 and MPU-6050 Product Specification, PS-MPU-6000A-00, Revision 3.4 (08/19/2013) — разд. 3.1: MPU-6050 имеет вывод VLOGIC, задающий логические уровни I²C, в дополнение к аналоговому питанию VDD 2,375–3,46 В; VLOGIC — 1,8 В ±5 % или VDD; таблица отличий: VLOGIC 1,71 В…VDD; у MPU-6000 один вывод питания; разд. 7.4: VLOGIC ≤ VDD всегда, нарастание VLOGIC ≤ 3 мс, VDD ≤ 100 мс, монотонно

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