Skip to main content

专题、TXS0108E 双向电平转换模块使用场景

TXS0108E 适合连接距离短、信号电流很小的 3.3V 与 5V 数字接口,尤其适合需要双向传递信号的场合。但“八路双向、自动识别方向”不等于“八根线都能随便接”。在俱乐部的机器人上,无刷电机使能/PWM、NeoPixel 数据线和继电器模块输入,仍优先沿用已经验证的 74HCT245 方案;TXS0108E 更适合作为另一个按接口条件选用的工具,而不是全面替换它。TI 将 TXS0108E 列为可用于 I²C、UART、SPI 等接口的器件,同时要求注意线路负载和布线长度。

本章只讨论信号电平,不讨论负载供电。TXS0108E 不能给电机、灯环或继电器线圈供电,也不是电气隔离器或安全停机开关。Teensy 4.1 的引脚不能直接接收 5V;使用 ESP32-S3 时,也要按具体芯片及开发板的引脚规格核对。

一、先认识模块上的四类端子

常见 TXS0108E 模块会标出 VCCA、VCCB、GND、OE,以及成对的 A1~A8、B1~B8。以下是芯片端子的作用;成品板可能另外加入跳线或电阻,接线前仍须核对板子的说明或实物线路。

端子 在 3.3V ↔ 5V 方案中的接法 作用
VCCA 接稳定的 3.3V 决定 A 侧使用 3.3V 电平
VCCB 接稳定的 5V 决定 B 侧使用 5V 电平
GND 与两侧设备的信号地按设计相连 让双方对“高、低电平”有共同参考
A1~A8 接 3.3V MCU 一侧的信号 与同编号的 B 端一一对应
B1~B8 接 5V 设备一侧的信号 与同编号的 A 端一一对应
OE 高电平启用;低电平停用 停用时,信号端不再主动传递高、低电平

绝不能把 5V 接到 VCCA,也不能把机器人 7.4V、12V 或 24V 电池母线接到任一供电端。TXS0108E 要求 VCCA 不高于 VCCB;它允许两路电源先后上电,但若希望上电期间保持信号端关闭,应让 OE 在两路电源稳定前保持低电平。

二、它的“双向”到底是什么意思?

对一组 A1 ↔ B1 而言,TXS0108E 不需要像 74HCT245 那样预先设置传输方向:A 侧发出信号时可以传到 B 侧;B 侧发出信号时也可以传到 A 侧。不同通道也可以分别承担不同方向的信号。

但这不表示同一根线上两端可以同时输出相反电平。如果 MCU 和外设都把同一通道设为输出,一端强制为高、另一端强制为低,就会发生冲突。接线前仍须为每根线写清楚“通常由谁发送;是否会换方向”。

三、哪些场景适合尝试?

场景 判断 实际操作提示
3.3V MCU 与 5V I²C 设备通信 适合评估 SDA、SCL 分别用一组 A/B 通道;核对两侧原有上拉电阻及总线速度。若只需要两路,专用 I²C 转换器也是简洁选择。
短距离 UART 通信 可以使用 MCU 的 TX 接一组 A→B,外设的 TX 接另一组 B→A;两根线不能误接成同一个通道。
板内、短线、轻负载的普通数字信号 可以测试 一次只接一根信号验证,再逐渐加入其他通道;核对接收端是否能可靠识别转换后的高、低电平。
短线 SPI 通信 有条件可用 TXS0108E 的资料列有 SPI 应用,但必须按实际速度、接线长度及波形测试,不能仅凭标称最高速率判断整条线束可靠。

TXS0108E 内部有帮助信号变换的电路和上拉结构,因此既能处理 I²C 这类双方可能拉动的线路,也能用于一定条件下的普通数字信号。不过,实际效果仍取决于外部器件和线路,而不只是芯片标签上的“最高速率”。

一次适合新手的 I²C 接线练习

在确认 5V 设备的 SDA、SCL 确实是 I²C 接口后:

  1. 全部断电。接 VCCA→3.3V、VCCB→5V,并连接双方信号地。
  2. 接 MCU SDA→A1、B1→设备 SDA;接 MCU SCL→A2、B2→设备 SCL。
  3. 查看模块是否已固定连接 OE。若由 MCU 控制 OE,设计为两侧电源稳定后才启用;不要让该脚悬空。
  4. 先用较低的 I²C 速度读取一个已知设备,确认稳定后再提高速度;若不稳定,检查上拉电阻、接线长度和设备地址,而不是立刻更换更多模块。

四、俱乐部现有设备:哪些不宜优先选 TXS0108E?

1. 无刷电机驱动器的 EN、DIR、PWM:优先保留 74HCT245

这些线通常只需 MCU → 驱动器单向传递。俱乐部现有的 74HCT245 板已针对这个方向设计,没必要为了“双向”而替换。

尤其要检查 EN 线:驱动器的输入可能自带把信号拉向低电平的电阻。TXS0108E 的输出不适合承受较重的持续负载;外部下拉还可能把它输出的“高电平”拉低。以 TI 的测试为例,在测试条件下加入约 9.8kΩ 下拉后,高电平降到了约 2.18V。这不意味着所有电路都会得到同一个数值,却足以说明:驱动器若要求可靠的 5V 高电平,不能不查输入电路就直接换成 TXS0108E。

此外,OE 关闭后信号线不会自动变成“停机低电平”。电机应另有经过验证的硬件默认停机方式;不要用 TXS0108E 的 OE 代替急停。

2. 5V NeoPixel 灯环:优先保留已验证的单向转换板

NeoPixel 的 DIN 是单向数据输入,并不需要自动双向转换。对俱乐部已验证的接法,继续使用 74HCT245 更容易保持一致。灯环若装在机器人外壳上、数据线较长或经过连接器,更应检查实际信号质量;TI 建议 TXS0108E 保持较短的线路,以免线路负载和信号反射影响工作。

3. 5V 电平继电器模块:先查 IN,不要只看“5V 触发”

某些继电器模块的 IN 会给指示灯或光耦输入供电,所需电流不能简单按“普通数字输入”估计;有的还自带上拉或下拉。TXS0108E 更适合连接只需要很小信号电流的输入,不宜未经核对就接这类模块。若模块输入要求不明,继续使用经过验证的转换及驱动方案,或者选择明确支持 3.3V 控制的继电器模块。

4. 驱动器转速/报警反馈:能用,不代表值得替换分压方案

若已确认反馈是主动输出的 0~5V 数字信号,线路短、输入负载轻,可以评估用 TXS0108E 的一组 B→A 通道。但俱乐部现有的分压接法若已通过电压与脉冲测试,不必为了“统一用一块板”而更改。

若反馈是需要上拉的输出,先查清已有上拉接到哪里;若它实际输出 12V/24V,则绝不能接 TXS0108E 的 5V 一侧。

五、哪些情况应直接换方案?

  • 长线束、跨机器人机身的通信线,或电机附近干扰明显的线路:不要把 TXS0108E 当作长距离信号驱动器。先缩短线路、改善布线;确需远距离通信时,重新选择适合该距离与环境的接口方案。
  • 需要信号端提供较大电流,或接收端带较强下拉:选能满足其输入电流及高电平要求的单向缓冲/驱动方案。
  • 12V/24V 信号、模拟电压、负载供电:TXS0108E 是低压数字信号转换器,不适用于这些用途。
  • 需要控制侧与设备侧电气隔离:TXS0108E 要共用信号参考,不能代替隔离器件。

六、新手接线与验收清单

接线前:逐根标记信号方向和最高电压;查清外设输入是否有下拉、输出是否已有 5V 上拉;确认模块 OE 的实际接法。

首次上电:先不让机器人运动。测量模块的 3.3V、5V 和地是否正确,再确认 OE 状态。用一根非关键测试信号,检查 A、B 两侧高低电平;接上真实外设后再测一次,因为空载正常不代表带载正常。

整机测试:分别测试 MCU 先上电、外设先上电、MCU 复位和信号线脱落。对电机尤其要确认:任何一种情况都不会意外使能。不要只看万用表测得的平均电压,就断定 PWM 或通信脉冲可靠;出现间歇性故障时,应检查实际波形和接线。

本章小结

TXS0108E 的优势是八路、无需逐路设方向,适合经过核对的短距离、轻负载、双向数字信号;它的弱点是不能把每一路都当成强力的 5V 输出。在俱乐部现有机器人上,I²C 等双向接口可以考虑它;电机控制、NeoPixel 和继电器输入则先保留经过验证的 74HCT245 等方案。选模块时,“信号方向、输入负载、线有多长、失效后会怎样”比“双向”两个字更重要。