Изнасилование 5-вольтным сигналом.

LastHopeMan
Offline
Зарегистрирован: 19.09.2016

Устройство по шине должно общаться с контроллером, контроллер работает на 5В, а устройство на 3.3В. 

Если я буду кормить устройство по питанию 3.3В, а по шине I2C 5В, оно сдохнет? Как вообще выходят из положения, если существует вольтовый барьер между устройствами, а нужно выполнять обмен в обе стороны по одним и тем же дорожкам? 

 

С 5В на 3.3В легко решится диодом с резистором, а вот обратно на повышении какие-то не экономные варианты с транзистором в голову приходят...

Araris
Offline
Зарегистрирован: 09.11.2012

Погуглите "bi-directional logic level converter".

Почему содержание темы не соответствует названию, я протестую !

toc
Offline
Зарегистрирован: 09.02.2013

LastHopeMan, наверняка можно "контроллер" питать 3.3 В

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

1. Изучите

2. Если 16 рублей за 4-канальный преобразователь для Вас не слишком "неэкономично", то купите и "забудьте о перхоти".

Logik
Offline
Зарегистрирован: 05.08.2014

LastHopeMan пишет:

устройство по питанию 3.3В, а по шине I2C 5В, оно сдохнет?

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

Это относится только к соединению по типу "открытый коллектор" обычные логические так соединять нельзя. Но иногда можна дешево выкрутится - запитать не 5В и 3,3В а 4В и 3,5В, если диапазон питания позволяет понизить до 4В. Кстати у атмеги328 при 8МГц питание от 2,7В до 5,5В целиком по спецификации, при 16МГц питание 4В немного за рамками но работает ;)

Alex_Ferrum
Offline
Зарегистрирован: 04.05.2015

А в чем проблема, возьмите ADUM1250 или ADUM1251, также согласователи уровней для шины I2C есть у фирм Texas Instruments и Maxim Integrated.

Logik
Offline
Зарегистрирован: 05.08.2014

Alex_Ferrum пишет:

А в чем проблема, возьмите ADUM1250 или ADUM1251, 

"Купи слона", зачем добавлять в нормальную схему лишнее..

Alex_Ferrum
Offline
Зарегистрирован: 04.05.2015

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

Logik
Offline
Зарегистрирован: 05.08.2014

Контроллер самый нормальный - 328p, ведомых много разных пробовал, ну остановимся к для определенности на MPU6050 (илм можна бы и RDA5807 для которого в даташите красным выделено "Interface supply voltage 1.5 to 3.6V").

Alex_Ferrum пишет:

 вполне возможно что контроллер будет воспринимать 3.3 вольта как логическую единицу 

Вполне возможно что любой из ныне существующих контроллеров  будет воспринимать 3.3 вольта как логическую единицу ;)

James
Offline
Зарегистрирован: 26.02.2016

328p как раз и будет считать 3.3 как единицу. а вот писать он будет единицу как напряжение питания+20 ом

Logik
Offline
Зарегистрирован: 05.08.2014

James пишет:

328p ... писать он будет единицу как напряжение питания+20 ом

Нет. По i2c единица - отсутствие нуля, т.е. высокоомное состояние.

ПС. " напряжение питания+20 ом" - даже для этог форума запредельный бред. Вольты+омы... наверно килопаскали  получаются ;)

Клапауций 234
Offline
Зарегистрирован: 24.10.2016

изнасилование, расчленение, людоедство 

*так... чисто для гугло-рейтинга форума стараюсь.

a5021
Offline
Зарегистрирован: 07.07.2013

Тогда нужно добавить "секс", "разврат" и Анастасия Волочкова.

Клапауций 234
Offline
Зарегистрирован: 24.10.2016

a5021 пишет:

Тогда нужно добавить "секс", "разврат" и Анастасия Волочкова.

уже не нужно :D

James
Offline
Зарегистрирован: 26.02.2016

"По i2c единица - отсутствие нуля, т.е. высокоомное состояние."- это из документации протокола как такового? там вроде +3.3 или +5. https://cdn-shop.adafruit.com/datasheets/an97055.pdf

плюс не в смысле сложить, а в смысле через резистор в 20ом. Я думал, что разные величины не слаживаются будет самособой разумеющимся, "даже для этого форума" . 

Logik
Offline
Зарегистрирован: 05.08.2014

Это из документации на реализации протокола. Atmel-8271I-AVR- ATmega-Datasheet_10/2014

As depicted in Figure 22-1, both bus lines are connected to the positive supply voltage through pull-up resistors.
The bus drivers of all TWI-compliant devices are open-drain or open-collector. This implements a wired-AND
function which is essential to the operation of the interface. A low level on a TWI bus line is generated when one
or more TWI devices output a zero. A high level is output when all TWI devices tri-state their outputs, allowing
the pull-up resistors to pull the line high.
wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

James пишет:

"Я думал, что разные величины не слаживаются ..."

"Ложить - не правильно, правильно - класть" (с) Бессмертный фильм "День выборов" ;) ;) ;)

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

James пишет:

Я думал, что разные величины не слаживаются 

Всё когда-нибудь сладится. Всё слаживается, если с умом подойти.

James
Offline
Зарегистрирован: 26.02.2016

wdrakula и ЕвгенийП Такое ощущение, что Клапауций вас покусал:) 
Логику: "A high level is output when all TWI devices tri-state their outputs, allowing

the pull-up resistors to pull the line high " когда все отпустили ноль, что у нас на линии? не напряжение питания?