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.

[参考译文] THVD4431:使用 THVD4431 定制通信屏蔽

Guru**** 2779255 points

Other Parts Discussed in Thread: TPS2117, THVD4431, TLV775, SN74LVC245A, THVD4431EVM

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1618930/thvd4431-custom-communication-shield-with-thvd4431

器件型号: THVD4431
主题中讨论的其他器件: TLV775、TPS2117、 SN74LVC245A

您好、

我想设计一个自定义的多协议屏蔽、它必须与 Arduino V3 封装以及 ST Nucleo ZIO 连接器兼容。
我之所以设计这款屏蔽件、是因为我没有找到符合我的愿望和使用案例的现成屏蔽件。

我的屏蔽层基于 THVD4431 多协议芯片、以及 TLV775 LDO 等其他芯片构建、用于将 5V Arduino 电压转换为板上的 3、3V 电源电压。
我使用 TPS2117 电源多路复用器在连接到 ZIO 兼容板时自动选择 3、3V 的输入电压、在连接到 Arduino V3 板时自动选择 5V 的输入电压。

它必须是一个多用途实验屏蔽层、因此我想通过手动跳线配置所有跳线设置、但也必须能够通过 MCU 的软件进行控制。
为了在跳线配置和 MCU I/O 之间进行分离、我在两者之间使用了 SN74LVC245A。

在每个跳线附近、有一个绿色和橙色的 LED、可以直观地显示当前设置的状态。 (绿色=连接到 GND、琥珀色连接到 3、3V)

虽然我还在完成绘图,下面是它的最终版本或多或少在.pdf:
THVD4431 定制 Shield.pdf 

我的问题是、一切是否都能像我认为的那样正常工作?
我之前设计过汽车模块、几年前我已经正确理解了数据表。
THVD4431EVM 原理图也非常有助于验证某些配置、但正如我所说、我找不到可通过跳线进行编程的现有通信屏蔽、并且还具有软件覆盖选项。
对于我自己的特定用例、面临的挑战也是使其与 NUCLEO H753ZI 评估板以及堆叠式 LCD 屏蔽层兼容。
最后的配置是底部的 NUCLEO 板、中间的 NUCLEO 板堆叠在 Nucleo 板上的通信屏蔽和顶部堆叠在我的通信屏蔽上的 LCD 屏蔽。
这也影响了我可以使用的 I/O 连接器的布局和使用、而不会与 LCD 屏蔽层重叠。

出于电路板的目的、我还希望将所有通信信号扩展到电路板的一侧、以便轻松访问、从而可以轻松测量 UART 信号、GPIO 信号和 RS232/RS485 信号。

现在、我不是要求查看我的整个原理图、但如果有人通过查看它来发现任何主要设计缺陷或错误连接、从而使我的屏蔽层无法正常工作、我希望它可以正常工作、那将是非常令人高兴的。

非常感谢!

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

    您好、Stefan:

    我可以查看 THVD4431 原理图。

    您在设计中有一些冗余。

    RS485 线路上有外部终端、但器件本身在内部具有终端。 通常在全双工设置中、端接放置在接收器节点上、因此通常甚至不需要在 Y/Z 引脚上进行端接。  

    同样、使用半双工使能也可以使用器件的模式引脚来完成此操作。 在这两种情况下、只要您知道就可以、但从布局的角度来看、这会增加一些复杂性。 (例如,如果您使用内部端接并启用外部,或在内部启用全双工模式,但随后在外部启用半双工模式,这可能是一件坏事。 这为用户错误增加了更多空间)。

    您知道 C18-C21 电容器的额定值吗? 我通常建议使用大于 2 倍的 V-/V+电平。 最好选择 20V 或更高的电压。

    我建议在 L2 上使用弱上拉电阻器(可能为 47k)、以防您在 RS485 半双工模式下使用器件并且 DIR 设置为高电平、L2 将悬空并可能导致 MCU 干扰。

    其他想法:对于布局、RS485 线路应进行差分长度匹配、阻抗受控、并且残桩应尽可能少、以避免反射。  

    有些人选择使用双向 TVS 二极管在 RS232 引脚上添加外部 ESD 保护。 有时我会看到人们在 RS232 引脚上添加了小型串联电阻器、并在这些引脚上添加了一些小电容器(可能为 180pF)。 不过、我会避免它们成为 RS485 电路的一部分。  

    - Bobby

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

    您好 Bobby、

    感谢您抽出时间查看我的图纸。 这是非常感谢!

    我知道我在板上有一些多余的功能、但这样做是有意使其尽可能灵活。
    此项目的目的是创建一个多协议演示或实验屏蔽,可用于 ST 的 NUCLEO 评估板的 ZIO 兼容连接器布局,并同时兼容 Arduino Uno V3 封装。
    除了 Rx 和 Tx LED 的软件控制外、我设法使所有功能都兼容这两个平台。 当连接到 Arduino 平台时、这些 LED 将仅基于 UART 信号正常工作、并且无法由软件控制、因为我没有足够的兼容引脚来控制它。

    所有陶瓷电容器的额定电压均为 50V、采用 0805 封装甚至 1206 封装尺寸。 这不会导致任何布局问题、我知道我需要将去耦电容器尽可能靠近 IC 的电源引脚放置。 我做过的事情:-)

    关于上拉电阻器、您是将其添加到 THVD4431 芯片的 L2 输入端吗? (Rx 线路)?
    这是否会干扰 MCU UART 的数据传输?
    如果您可以确认这确实是正确的修改、那么我将在 L2 线上添加这个 47k 上拉电阻器。

    我尝试了尽可能好地计算和布局 RS485 的布线。
    我的 PCB 设计中的含义:
    A) A/B 对的匹配长度。 以及 Y/Z 对的匹配长度。 我试图使这些轨道尽可能短,它们的结果是±33mm 的 A/B 对和±42mm 的 Y/Z 对。 A/B 对的轨迹总长度差为 0.23mm、Y/Z 对的轨迹总长度差为±0.38mm。
    b) 计算出的 ZD=ZD 的总布线阻抗 117Ω  
    但是、我确实为所有 4 根导线提供了测试点、因此可以使用示波器轻松测量信号。
    这 也可以通过连接器本身来完成、但这样我就可以使电线保持连接、同时仍然能够对信号进行测量。

    关于额外的 ESD 保护、因为这主要用于实验室实验目的或在相对安全的环境中、再加上 THVD4431 具有一些针对 ESD 的内置保护功能、我认为我目前不需要此功能、但如果需要新的修订或设计、我肯定会感到非常兴奋。

    下面是我的 PCB 的 3D 渲染:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    关于上拉电阻、您是将其添加到 THVD4431 芯片的 L2 输入端吗? (Rx 线路)?
    这是否会干扰 MCU 的 UART 数据传输?

    是的、只要您选择相同的数字逻辑高电平将电阻器连接到并选择弱电阻器(高于 4.7K 或更大的电阻器应该足以让 Arduino 克服/驱动它)、它就不应发生干扰。 如果您的 Arduino Tx 引脚使用 5V 作为数字逻辑输出、我会将上拉电阻器连接到 5V 电源轨。 如果使用 3.3V 电压、则使用 3.3V 电压。

    a) A/B 对的匹配长度。 以及 Y/Z 对的匹配长度。 我试图使这些轨道尽可能短,它们的结果是±33mm 的 A/B 对和±42mm 的 Y/Z 对。 A/B 对的轨道长度总差为 0.23mm、Y/Z 对的轨道长度总差为±0.38mm。

    您还应与 PCB 制造厂合作、为布线设置特征阻抗。 通常对于 RS485 为 120、对于 RS422 为 100。  

    长度匹配的限制即可。 差分布线和减少残桩、我认为您应该将所有内容设置为针对 RS485 进行更优化。

    b) 计算出 ZD=ZD
    的总轨迹阻抗 117Ω

    我只想仔细检查一下、但总阻抗和特征阻抗并不相同。 特征阻抗为 sqrt (L/C)。  

    我将再次咨询 PCB 制造厂 、告诉他们您希望 将差分迹线设置为 120 欧姆或 100 欧姆的特性阻抗。  

    - Bobby