This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TXB0102:使用 TXB0102和 Arduino Nano 的振荡

Guru**** 2587345 points
Other Parts Discussed in Thread: TXB0102, TXB0106, TXS0102

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/logic-group/logic/f/logic-forum/757444/txb0102-oscillations-using-txb0102-and-arduino-nano

器件型号:TXB0102
Thread 中讨论的其他器件: TXB0106TXS0102

您好!
我使用 Arduino Nano、其中蓝牙模块(RN42)通过 TX 和 RX 引脚连接在硬件 UART 上。
我使用德州仪器的 TXB0102双向电平转换器将5V 逻辑电平传递到3.3V 逻辑电平。 我使用的是专用 PCB。
虽然 TX 引脚没有问题、但我注意到 RX 上存在一种奇怪的行为。
基本上、只要 BT 模块尝试拉低 RX 处的电压、就会发生振荡。
这是我在发送 ASCII 字符"n"时得到的结果:
https://imgur.com/NkxLwFD

下面显示了我将更详细地了解的振荡:
https://imgur.com/P4j6hzR

我不使用硬件 UART、而是尝试在通用数字引脚上使用软件串行库实现串行端口、我没有遇到特殊问题:
https://imgur.com/Oe6NiTs

(在这里、我禁用了内部上拉、但即使在启用上拉的情况下也能正常工作、尽管逻辑低电平高于0V、但 TXB0102数据表对此进行了说明)。

所以问题在于使用了输入的 RX 引脚。 我在此处阅读了 Arduino 原理图:
www.Arduino.cc/.../Arduino_Nano-Rev3.2-SCH.pdf  
与普通数字输入相比、RX 和 TX 引脚上的硬件差异主要在于它们还在内部连接到 FT232 USB UART 芯片、并且有一个1K 串联电阻器。
您能不能帮助我了解这是否是纯粹的硬件问题、我应该使用其他类型的电平转换器、或者 Arduino 串行库初始化 RX 引脚的方式是否是软件问题? 在这种情况下、我可能会尝试在 Arduino 消息板的软件方面获得一些帮助。

在初始化串行端口后、我尝试在代码中添加 pinMode (0、input)行(这也应该禁用内部上拉电阻器)、但它没有解决问题。  

感谢您的帮助!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Francesco:

    我可以获得您设置的原理图吗? 我认为这可能是硬件问题。 TXB 器件不喜欢过大的负载、因为它不能提供太多的驱动器强度。 它也不喜欢强上拉和下拉、因为它们也会导致问题。 我的假设是上拉导致问题、因为器件在驱动低电平时会振荡、在这种情况下、上拉电阻将在 TXB 器件中使用内部4K 电阻器创建分压器。

    Arduino 原理图的链接也不适用于我。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、感谢您的回复。
    这是我尝试再次链接的 Arduino Nano 原理图:
    [URL]www.Arduino.cc/.../url]

    这是我的 Arduino Nano 原理图的一部分:
    [URL]imgur.com/.../url]

    我使用两个 TXB0102芯片通过带开关的数字选择器将蓝牙或 Xbee 模块连接到 Arduino Nano UART。 我还在使用 TXB0106、但它与 SPI 总线一起用于驱动 ADC 和 SDCard、并且工作正常。
    正如您说过的、我认为 RX 引脚不同于其他数字输入、它被微控制器中的 UART 或 FT232芯片上拉、即使我不使用板载 USB 端口、FT232芯片仍然连接。 在后一种情况下、上拉电阻将通过与 FT232的上拉等效电阻串联的1k 电阻器。
    实际上、我刚刚尝试使用一个用于 I2C 总线的不同电压转换器、它似乎能够将 RX 线路驱动为低电平而不会出现问题:
    [URL]learn.sparkfun.com/.../url]

    我猜 TXB0102不是与 Arduino Nano UART 配合使用的正确电压转换器:/
    您是否认为可替代德州的 TXS0102工作?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    链接工作不好、我无法编辑帖子:

    我的原理图:
    https://imgur.com/VivGeUh

    Arduino 原理图:
    www.Arduino.cc/.../Arduino_Nano-Rev3.2-SCH.pdf

    我尝试过的其他电平转换器:
    learn.sparkfun.com/.../all
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    正如迪伦提到的、您不能在 TXB 中使用上拉/下拉或串联电阻器。

    如果您有上拉电阻器、则可以改用 TXB0102。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Clemens Ladiscy">正如 Dylan 提到的、TXB 不能使用上拉/下拉或串联电阻器。

    如果您有上拉电阻器、则可以改用 TXB0102

    [/报价]

    谢谢、但您说的是 TXS0102、对吧?

    TXB 就是我现在使用的东西。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    哎呀、抱歉。 我实际上指的是 TX。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、谢谢、我将使用另一个电压转换器。