Bạn đang làm việc với một chiếc xe buýt I2C, phải không? Tôi sẽ gọi các đường dây ở phía 3,3 V SDA3 và SCL3 ; hai dòng trên 5,0 V phía sda5 và SCL5 .
" MOSFET và hai điện trở"
Như todbot và cyphunk đã chỉ ra, mạch "MOSFET và hai điện trở" được mô tả trong hướng dẫn "giao diện cảm biến" SparkFun thực hiện những gì bạn muốn: Luồng dữ liệu logic là đối xứng - luồng dữ liệu theo cả hai hướng trên các đường SDA, từ phía thấp đến phía cao và, mili giây sau, từ phía cao sang phía thấp.
Ghi chú "sẽ không hoạt động theo hướng khác" chỉ ra mạch không đối xứng về mặt vật lý: thiết bị I²C 5.0 V của bạn phải được kết nối với "phía cao", thiết bị 3,3 V của bạn phải được kết nối với "phía thấp". Bởi vì mạch không đối xứng về mặt vật lý, chắc chắn không rõ ràng rằng nó là đối xứng logic. (Hướng dẫn đó liên kết đến một ghi chú ứng dụng AN97055 cho thấy mạch "hai MOSFET và hai điện trở" đối xứng vật lý, và do đó rõ ràng là đối xứng logic).
Các dòng được gắn nhãn "TX" trên bộ chuyển đổi SparkFun - mà poster ban đầu đã chỉ ra - thực hiện mạch hai chiều "MOSFET và hai điện trở". Vì vậy, kết nối SDA3 với TX_LV, SDA5 với TX_HV, SCL3 với TX2_LV và SCL5 với TX2_HV.
Sau đó, dữ liệu chảy theo cả hai hướng: Khi thiết bị phía thấp của bạn điều khiển các chân SDA3 và SCL3, các điện áp phù hợp được nhìn thấy trên các chân SDA5 và SCL5 phía cao. Một phần nghìn giây sau, khi thiết bị phía cao điều khiển các chân SDA5 và SCL5, các điện áp phù hợp được nhìn thấy trên các chân SDA3 và SCL3.
(Không nhất quán, các dòng có nhãn "RX" trên bảng chuyển đổi đó sẽ chỉ truyền dữ liệu theo hướng điện áp cao đến điện áp thấp.)
Máy quang điện tử hai chiều
Vì bạn đang sử dụng I²C, bạn cũng có thể quan tâm đến máy quang điện tử hai chiều cho I²C . Mạch hai optoisolator đắt hơn và chậm hơn mạch "MOSFET và hai điện trở", nhưng nó hoạt động khi một bên có tín hiệu dao động trong khoảng từ 0 V đến 5.0 V, và bên còn lại có tín hiệu dao động trong khoảng 500.0 V đến 505.0 V.
Mạch hai optoisolator cũng hoàn toàn đối xứng về mặt vật lý - và do đó đối xứng logic - không quan trọng bên nào là bên cao và bên nào là bên thấp.