您正在使用 I2C 总线,对吗?我将调用 3.3 V 侧SDA3和SCL3上的线路;5.0 V 侧的两条线SDA5和SCL5。
“ MOSFET和两个电阻器”
正如 todbot 和 cyphunk 已经指出的那样,SparkFun“传感器接口”教程中描述的“MOSFET 和两个电阻器”电路可以满足您的需求:逻辑数据流是对称的——数据在 SDA 线上双向流动,从低端到高端,几毫秒后,从高端到低端。
“不会在另一个方向工作”注释指出电路在物理上是不对称的:您的 5.0 V I²C 设备必须连接到“高端”,您的 3.3 V 设备必须连接到“低端”。因为电路在物理上是不对称的,所以它在逻辑上是对称的肯定不是很明显。(该教程链接到一个 AN97055 应用笔记,该笔记显示了一个物理对称的“两个 MOSFET 和两个电阻”电路,因此显然是逻辑对称的)。
SparkFun 转换器上标记为“TX”的行——原始海报指出——实现了“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 V 和 5.0 V 之间摆动,而另一侧有信号在 500.0 V 和 505.0 之间摆动时工作五。
双光隔离器电路也是完全物理对称的——因此是逻辑对称的——哪一侧是高端,哪一侧是低端并不重要。