Логический уровень шины I2C

Master_G
Offline
Зарегистрирован: 04.07.2019

Добрый день. Часто сталкиваюсь с вопросом логических уровней... Есть датчики работающие при питании 3,3Volt a есть на 5Volt. Есть от 3,3 до 5Volt...
1) Что именно смотреть в даташите чтобы понять какое напряжение выхода на их шине I2C ?
2) Если напряжение питания сенсора 5Volt возможно ли что напряжение на линии I2C будет уровня 3,3V например... ?(чтобы знать как соединять)
3) Можно ли мультиметром просто измерить напряжение на линии i2c или это будут не точные паказатели?

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Master_G пишет:
какое напряжение выхода на их шине I2C ?
То, к которому Вы его (выход) резистором притянули.

Master_G
Offline
Зарегистрирован: 04.07.2019

ЕвгенийП пишет:

Master_G пишет:
какое напряжение выхода на их шине I2C ?
То, к которому Вы его (выход) резистором притянули.

Резистором не притягивал. У сенсоров пишут есть свой подтягивающий резистор.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Значит у Вас не голый сенсор, а уже распаянный модуль. Тогда смотрите схемотехнику модуля и трансформируйте мою фразу так: то, к которому китайцы его (выход) резистором притянули.

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

Master_G
Offline
Зарегистрирован: 04.07.2019

А если вообще без подтягивающего резистора; У меня 2 сенсора один на 5volt (MiCS-6814)питания другой другой на 3,3 (BME280). Оба висят на одном I2C и вроде работают. Но правильно ли?

ВН
Offline
Зарегистрирован: 25.02.2016

Master_G пишет:

А если вообще без подтягивающего резистора; 

тогда это не I2C

вам же уже написали

ЕвгенийП пишет:

 На выходах I2C устройств открытый коллектор или открытый сток, ....

Master_G
Offline
Зарегистрирован: 04.07.2019

Спасибо! Буду разбираться.

sadman41
Онлайн
Зарегистрирован: 19.10.2016

Но надо иметь ввиду, что не все I2C устройства являются настоящими I2C устройствами (с open-drain). Про что-то бошевское, по-моему, в даташите так и заявлено - мол I2C, но нестандартный. Так что шанс пальнуть всё равно есть ;)

ВН
Offline
Зарегистрирован: 25.02.2016

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

Master_G
Offline
Зарегистрирован: 04.07.2019

Пробовал. При питании к примеру 5Volt LCD 16x2 I2C показывает на I2C 4,5V. По идее 5V логика

 

ВН
Offline
Зарегистрирован: 25.02.2016

логично. Возможно там защита модуля  от переполюсовки сделана в виде диода по входу, потому и 4,5 

-NMi-
Онлайн
Зарегистрирован: 20.08.2018

sadman41 пишет:

Но надо иметь ввиду, что не все I2C устройства являются настоящими I2C устройствами (с open-drain).

Дык вроде у самой дурдуины выход то не ОК, вроде.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

-NMi- пишет:

Дык вроде у самой дурдуины выход то не ОК, вроде.

А причём тут она? Вопрос ТС был: какое напряжение высокого уровня на выходах I2C устройств?

ВН
Offline
Зарегистрирован: 25.02.2016

 -NMi-, в мануале на нану написано

  • I2C: A4 (SDA) и A5 (SCL). Посредством выводов осуществляется связь I2C (TWI). Для создания используется библиотека Wire (информация на сайте Wiring).
-NMi-
Онлайн
Зарегистрирован: 20.08.2018

ЕвгенийП пишет:

А причём тут она? Вопрос ТС был: какое напряжение высокого уровня на выходах I2C устройств?

Ну на этот вопрос был уже правильный ответ в #2.

Но "41" очень верно подметил по поводу "подводных камней" с выходным каскадом AVR - ибо ежли "мозгануть" - ответ в #2 окажеццо НЕВЕРНЫМ!               Вот причём тут "она" )))