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.

[参考译文] SN65HVD251:SN65HVD251

Guru**** 2482225 points
Other Parts Discussed in Thread: SN65HVD251

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/669030/sn65hvd251-sn65hvd251

器件型号:SN65HVD251

SN65HVD251隔离式 CANBUS

我有3个节点 A、B 和 C 通过 CANbus 进行通信。 节点 A (主控制器)通过2个专用连接器物理连接到 B 和 C。

节点 B 由节点 A 供电、以节点 A 的同一接地端为基准(不能更改)。

但是、节点 C 必须与节点 A (和 B)接地基准进行电流隔离。

为此、我使用了2个 SN65HVD251收发器。 一个连接到节点 B 连接器 CANH/CANL 线路(SN65HVD251以节点 A 接地为基准)。

另一个收发器连接到节点 C 连接器 CANH/CANL 线路、由隔离式5V 电源供电、此外、D (CAN 发送)和 R (CAN 接收)线路通过双通道数字隔离器(Si8621)与电源隔离。

两个 D (CAN 发送)信号连接在一起并连接到我的微控制器 CANTX 端口、两个 R (CAN 接收)信号通过一个双端口与门门门门门门门门门控到微控制器 CANRX 端口。

主控制器持续广播 CAN 电报、按照预期在节点 B 和节点 C 处正确接收。

但是,当我尝试从节点 B 发送电报时,我会收到许多“填充错误”消息,当我尝试从节点 C 发送电报时,我会收到许多“位错误”消息。 有人能帮您解决问题、或许可以提出更好的解决方案吗?

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

    Christian、

    感谢您提请我们注意此问题。 我只想确保我完全了解设置、如果您有任何原理图、波形截屏或方框图供您分享、那将会很棒!

    • "...in Addition D (CAN 发送)和 R (CAN 接收)线路通过双通道数字隔离器与电源隔离..."
      • 您是否意味着来自微控制器的信号与收发器隔离? 还是 TXD 和 RXD 上的上拉电阻是隔离的?
    • '两个 D (CAN 发送)信号连接在一起并连接到我的微控制器 CANTX 端口、两个 R (CAN 接收)信号通过一个双端口与门门门门门门门门门控到微控制器 CANRX 端口。'
      • 您是否意味着节点 B 和 C 的 D 和 R 信号都连接到一个控制两个节点的微控制器? 它与节点 A 的控制器分离

    感谢您回答所有问题、我希望在解决您所看到的问题之前、确保我完全了解系统。

    此致、

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

    嗨、Eric

    感谢您的快速响应。

    我已附上设置的简单方框图。

    请访问 regardse2e.ti.com/.../Isolated-CANBUS.pdf

    Christian

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

    嗨、Eric

    我参加了一整天的会议,因此没有机会向你提供更多的数据。

    您是否需要我提供更多信息来评估我的设计?

    此致

    Christian

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

    Christian、

    我今天无法做到这一点、但我明天会查看并做出回应。

    此致、

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

    Christian、

    从您提供的问题说明中、似乎总线上未达到正确的阈值。 当接收到的位的级别与发送的位不匹配时、会给出一个位错误、填充错误表示接收到六个相同状态的位(假设控制器侧有位填充)。 在这两种情况下、收发器显然无法从总线正确解释正确的电压电平、或者收发器驱动器无法将正确的电平驱动到控制器。 前者似乎更有可能。

    这可能有两种原因:由于使用了隔离、因此三个收发器之间的 GND 基准可能会关闭、尽管看起来您没有正确连接任何东西。 另一个原因可能是总线上的电容过大、但在您的应用中、情况并非如此。

    • 客户能否仅出于测试目的使 GND 保持一致(不要将节点 C 与 A 和 B 隔离)并查看错误是否消失? 如果它们仍然存在、请尝试将5V 全部连接在一起、然后查看它们是否消失。
    • 在发生错误时、是否有任何方法可以获得总线的示波器屏幕截图? 在与门之间进行探头?
    • 您能解释与门的功能吗? 节点 B 和 C 从主控制器接收到相同的信息、然后笔记本电脑和控制面板应以显性位进行响应、否则响应为隐性。 该应用到底是什么?

    此致、

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

    嗨、Eric

    感谢您的意见、感谢您的参与。

    如果我们能够进行您建议的测试、我将尝试进行测试、并将告知您。

    由于我们不想将两个 R 输出连接在一起以避免损坏收发器、因此将与门连接在一起。

    此致

    Christian

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

    只是好奇-您是否能够进行进一步的测试来尝试找出此问题的根本原因?

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

    您好、Max

    我认为问题是器件看不到彼此的消息(碰撞)、我还认为可以通过添加额外的2个与门来模拟 CAN 总线的主导状态来解决这一问题、这样 TX 信号就与其他器件传输的数据进行门控。 我将在下周中旬进行测试、并将让您了解和更详细地描述修改。

    此致

    Christian

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

    感谢您的更新。

    这就说明了在不知道另一条总线的情况下从一条总线接收数据会出现问题。 不过、您必须小心地实现在收发器之间引入 TXD/RXD 信号的逻辑。 您最终可能会遇到一条总线上的显性状态提示另一条总线变为显性状态的情况、 然后、这将驱动第一条总线上的显性返回、从而产生一个无限循环、从而锁定两条总线(直到发生超时且该过程重新开始)。 由于逻辑电路有点复杂、您可能需要查看此 TI 参考设计中的实现:

    www.ti.com/.../TIDA-01487

    该设计旨在将非隔离式 CAN 总线桥接至隔离式 CAN 总线、反之亦然、而无需额外的 CAN 控制器端口(例如、在 MCU 上)、因此它看起来与您尝试实现的目标相当相似。

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

    您好、Max

    非常感谢您提供 TI 参考的链接、这似乎是我要寻找的内容、今天我将详细介绍。

    为了供您参考、我在给我发送 TI 参考设计链接之前、附上了我所想到的原理图、我想正如您之前所解释的那样、此设计最终可能会出现无限循环。

    Be2e.ti.com/.../new-isocan.pdfest此致

    Christian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Max
    TI 参考中的设计正是我想要的、我相信它会解决我的问题。 非常感谢您帮助我完成这个。
    此致
    Christian
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Max
    非常感谢您的帮助。
    此致
    Christian