Anda bekerja dengan bus I2C, kan? Saya akan memanggil saluran di sisi 3.3 V SDA3 dan SCL3 ; dua garis pada sisi 5.0 V SDA5 dan SCL5 .
" MOSFET dan dua resistor"
Seperti yang todbot dan cyphunk tunjukkan, rangkaian "MOSFET dan dua resistor" yang dijelaskan dalam tutorial "sensor interfacing" SparkFun melakukan apa yang Anda inginkan: Aliran data logis simetris - aliran data di kedua arah pada garis SDA, dari sisi rendah ke sisi tinggi dan, milidetik kemudian, dari sisi tinggi ke sisi rendah.
Catatan "tidak akan bekerja ke arah lain" menunjukkan bahwa sirkuit secara fisik asimetris: perangkat 5,0 V I²C Anda harus terhubung ke "sisi tinggi", perangkat 3,3 V Anda harus terhubung ke "sisi rendah". Karena rangkaian secara fisik asimetris, tentu tidak jelas bahwa itu adalah simetris secara logis. (Tautan tutorial itu ke catatan aplikasi AN97055 yang menunjukkan sirkuit "dua MOSFET dan dua resistor" yang secara fisik simetris, dan karenanya jelas-jelas simetris secara logis).
Garis-garis berlabel "TX" pada konverter SparkFun - yang ditunjukkan oleh poster asli - mengimplementasikan sirkuit dua arah "MOSFET dan dua resistor". Jadi sambungkan SDA3 ke TX_LV, SDA5 ke TX_HV, SCL3 ke TX2_LV, dan SCL5 ke TX2_HV.
Kemudian data mengalir di kedua arah: Ketika perangkat sisi rendah Anda menggerakkan pin SDA3 dan SCL3, tegangan yang sesuai terlihat pada pin SDA5 dan SCL5 sisi tinggi. Milidetik kemudian, ketika perangkat sisi tinggi menggerakkan pin SDA5 dan SCL5, tegangan yang sesuai terlihat pada pin SDA3 dan SCL3.
(Secara tidak konsisten, saluran berlabel "RX" pada papan konverter hanya akan mengirimkan data dalam arah tegangan tinggi ke tegangan rendah.)
Optoisolator dua arah
Karena Anda menggunakan I²C, Anda mungkin juga tertarik dengan optoisolator dua arah untuk I²C . Sirkuit dua optoisolator lebih mahal dan lebih lambat daripada sirkuit "MOSFET dan dua resistor", tetapi ia bekerja ketika satu sisi memiliki sinyal yang berayun antara 0 V dan 5.0 V, dan di sisi lain memiliki sinyal yang berayun antara 500.0 V dan 505.0 V.
Sirkuit dua optoisolator juga sepenuhnya simetris secara fisik - dan karena itu secara logis simetris - tidak masalah sisi mana yang sisi tinggi dan sisi mana sisi rendah.