Ви працюєте з автобусом I2C, правда? Я буду закликати лінії на 3,3 V стороні SDA3 та SCL3 ; дві лінії на стороні 5,0 V SDA5 та SCL5 .
" MOSFET і два резистори"
Як уже вказували todbot і cyphunk, схема "MOSFET і два резистори", описана в підручнику "Датчик взаємодії" SparkFun, робить те, що ви хочете: Логічний потік даних є симетричним - потоки даних в обох напрямках на лініях SDA низька сторона до високої сторони і, через кілька мілісекунд, від високої до низької.
Примітка "не працюватиме в іншому напрямку" зазначає, що схема є фізично несиметричною: ваш 5,0 В I²C пристрій повинен бути підключений до "високої сторони", ваш 3,3 В пристрій повинен бути підключений до "низької сторони". Оскільки схема є фізично асиметричною, це, безумовно, не очевидно, що вона логічно симетрична. (Цей підручник посилається на додаток до AN97055, що показує схему "два MOSFET і два резистора", яка є фізично симетричною і, отже, очевидно логічно симетрична).
Рядки з маркуванням "TX" на перетворювачах SparkFun - на що вказував оригінальний плакат - реалізують цю схему "MOSFET і два резистори" двосторонню схему. Тому підключіть SDA3 до TX_LV, SDA5 до TX_HV, SCL3 до TX2_LV, а SCL5 до TX2_HV.
Потім дані протікають в обох напрямках: Коли ваш пристрій з низькою стороною рухає штифтами SDA3 та SCL3, відповідні напруги бачать на шпилях високої сторони SDA5 та SCL5. Через кілька секунд, коли пристрій з високою стороною рухає штифтами SDA5 та SCL5, відповідні напруги бачать на штифтах SDA3 та SCL3.
(Невідповідно, лінії, позначені "RX" на цій платі перетворювача, передаватимуть дані лише у високовольтному напрямку в низьковольтний напрямок.)
Двонаправлений оптоізолятор
Оскільки ви використовуєте I²C, вас також може зацікавити двонаправлений оптоізолятор для I²C . Двооптичний ланцюг є дорожчим і повільнішим, ніж ланцюг "MOSFET і два резистори", але він працює, коли одна сторона має сигнали, що коливаються між 0 В і 5,0 В, а друга сторона має сигнали, що коливаються між 500,0 В і 505,0 V.
Дві оптоізоляторні схеми також повністю фізично симетричні - і, отже, логічно симетричні - не має значення, яка сторона є високою стороною, а яка - низькою.