あなたはI2Cバスで働いていますよね?3.3 V側のラインをSDA3およびSCL3と呼びます。5.0 V側の2本のラインSDA5とSCL5。
「MOSFETと2つの抵抗」
todbotとcyphunkがすでに指摘したように、SparkFunの「センサーインターフェース」チュートリアルで説明されている「MOSFETと2つの抵抗」回路は、あなたが望むことを実行します:論理データフローは対称的です。ローサイドからハイサイドへ、ミリ秒後にハイサイドからローサイドへ。
「反対方向には機能しない」という注記は、回路が物理的に非対称であることを示しています。5.0VI²Cデバイスは「ハイサイド」に接続し、3.3 Vデバイスは「ローサイド」に接続する必要があります。回路は物理的に非対称であるため、論理的に対称であることは明らかではありません。(このチュートリアルは、物理的に対称であり、したがって論理的に対称である「2つのMOSFETと2つの抵抗」回路を示すAN97055アプリケーションノートにリンクしています)。
SparkFunコンバーターで「TX」とラベル付けされたライン-元の投稿者が指摘した-は、その「MOSFETと2つの抵抗」双方向回路を実装しています。したがって、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の双方向オプトアイソレーターにも興味があるかもしれません。2つの光アイソレータ回路は、「MOSFETと2つの抵抗」回路よりも高価で低速ですが、片側に0 V〜5.0 Vでスイングする信号があり、反対側に500.0 V〜505.0でスイングする信号がある場合に機能します。 V.
2光アイソレータ回路も完全に物理的に対称です-したがって、論理的に対称です-ハイサイドとローサイドのどちらが問題ではありません。