Изнасилование 5-вольтным сигналом.
- Войдите на сайт для отправки комментариев
Втр, 25/10/2016 - 06:01
Устройство по шине должно общаться с контроллером, контроллер работает на 5В, а устройство на 3.3В.
Если я буду кормить устройство по питанию 3.3В, а по шине I2C 5В, оно сдохнет? Как вообще выходят из положения, если существует вольтовый барьер между устройствами, а нужно выполнять обмен в обе стороны по одним и тем же дорожкам?
С 5В на 3.3В легко решится диодом с резистором, а вот обратно на повышении какие-то не экономные варианты с транзистором в голову приходят...
Погуглите "bi-directional logic level converter".
Почему содержание темы не соответствует названию, я протестую !
LastHopeMan, наверняка можно "контроллер" питать 3.3 В
1. Изучите
2. Если 16 рублей за 4-канальный преобразователь для Вас не слишком "неэкономично", то купите и "забудьте о перхоти".
устройство по питанию 3.3В, а по шине I2C 5В, оно сдохнет?
Нет. Будет долго и нормально работать. На I2C высокий уровень ни мастер ни слейв не выдают, только низкий. А высоки поступает через резисторы подтяжки, потому токи ограничены и проблем не возникает.
Это относится только к соединению по типу "открытый коллектор" обычные логические так соединять нельзя. Но иногда можна дешево выкрутится - запитать не 5В и 3,3В а 4В и 3,5В, если диапазон питания позволяет понизить до 4В. Кстати у атмеги328 при 8МГц питание от 2,7В до 5,5В целиком по спецификации, при 16МГц питание 4В немного за рамками но работает ;)
А в чем проблема, возьмите ADUM1250 или ADUM1251, также согласователи уровней для шины I2C есть у фирм Texas Instruments и Maxim Integrated.
А в чем проблема, возьмите ADUM1250 или ADUM1251,
"Купи слона", зачем добавлять в нормальную схему лишнее..
Также было бы неплохо, если бы вы сказали что у вас за контроллер и что за ведомое устройство, вполне возможно что ведомое устройство допускает по входу 5 вольт при 3.3 вольтах питания (не факт, но возможно), вполне возможно что контроллер будет воспринимать 3.3 вольта как логическую единицу (то есть можно шину подтянуть к 3.3 вольтам).
Контроллер самый нормальный - 328p, ведомых много разных пробовал, ну остановимся к для определенности на MPU6050 (илм можна бы и RDA5807 для которого в даташите красным выделено "Interface supply voltage 1.5 to 3.6V").
вполне возможно что контроллер будет воспринимать 3.3 вольта как логическую единицу
Вполне возможно что любой из ныне существующих контроллеров будет воспринимать 3.3 вольта как логическую единицу ;)
328p как раз и будет считать 3.3 как единицу. а вот писать он будет единицу как напряжение питания+20 ом
328p ... писать он будет единицу как напряжение питания+20 ом
Нет. По i2c единица - отсутствие нуля, т.е. высокоомное состояние.
ПС. " напряжение питания+20 ом" - даже для этог форума запредельный бред. Вольты+омы... наверно килопаскали получаются ;)
изнасилование, расчленение, людоедство
*так... чисто для гугло-рейтинга форума стараюсь.
Тогда нужно добавить "секс", "разврат" и Анастасия Волочкова.
Тогда нужно добавить "секс", "разврат" и Анастасия Волочкова.
уже не нужно :D
"По i2c единица - отсутствие нуля, т.е. высокоомное состояние."- это из документации протокола как такового? там вроде +3.3 или +5. https://cdn-shop.adafruit.com/datasheets/an97055.pdf
плюс не в смысле сложить, а в смысле через резистор в 20ом. Я думал, что разные величины не слаживаются будет самособой разумеющимся, "даже для этого форума" .
Это из документации на реализации протокола. Atmel-8271I-AVR- ATmega-Datasheet_10/2014
"Я думал, что разные величины не слаживаются ..."
"Ложить - не правильно, правильно - класть" (с) Бессмертный фильм "День выборов" ;) ;) ;)
Я думал, что разные величины не слаживаются
Всё когда-нибудь сладится. Всё слаживается, если с умом подойти.
wdrakula и ЕвгенийП Такое ощущение, что Клапауций вас покусал:)
Логику: "A high level is output when all TWI devices tri-state their outputs, allowing