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.

[参考译文] SN65HVD234:待机连接

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/867153/sn65hvd234-standby-connection

器件型号:SN65HVD234

你(们)好

我希望使用 SN65HVD234使 CAN 网络具有64个节点、并将总流耗降至最低。

其理念是使所有器件保持待机状态、仅启用一个驱动器。 我的问题是如何启用驱动程序。

总线速度为50kbps、位时间为20us。 驱动器在最大值内从待机状态变为显性状态 1、5us、似乎已经足够了。

恢复待机的速度有多快?

下面是我迄今为止测试过的内容:

通常、控制器中没有'RX byte'中断、仅在 RX 整帧之后、但对将 ACK 驱动到总线来说太晚了。

2.我不想从每帧的开头启用所有收发器、因为我需要在所有节点中启用收发器、并且总电流消耗会增加太多。

3.我没有找到具有专用待机引脚的 CAN 控制器,它们是否存在? 这样的想法是控制控制器 TX 的 Rs 引脚(修改了 DS 的示例):

当 TX 为低电平时、D 为显性状态、N FET 禁用、Rs 连接到10k 接地端(斜率控制)。

当 TX 变为高电平时、S 为隐性、N 将 Rs 拉至高电平、收发器进入待机状态。

我的理解是否正确?

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

    您好!

    这是一种使用该器件的不同寻常的方法、因此我们需要花一点时间进行思考、以了解是否存在潜在问题。 我们将在接下来的几天内回复您。

    此致、

    最大

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

    您好、Bogumil、

    如 Max 所述、这是一种使用此器件的不寻常方式。 该设置本质上将使用 Rs 作为 D 引脚(但反相)、以在启用时驱动显性状态、在禁用时允许衰减为隐性状态。 由于待机到显性状态的时序如您所指出的那样定义、这可能适用于显性转换。 转换到隐性状态时、只要在器件切换到待机模式之前足够早地驱动 D 引脚以使驱动器状态稳定、这可能适合慢50kbps 比特率的时序。 简而言之、以这种方式使用器件没有明显的缺陷。 但是、由于这是一种异常使用、并且由于 Rs 的非特性快速切换、可能会出现意外行为、因此我想建议另一种解决方案。

    由于 TMS320LF2407没有专用待机输出、我建议使用 GPIO 引脚通过斜率控制电阻器控制 SN65HVD234的 Rs 引脚。 这样、控制器将独立于传输数据直接控制器件状态、并且如果接收到的消息与之无关、节点可以保持待机状态。 为了在消息帧结束前中断节点、SN65HVD234的 R 引脚可连接到 TMS320LF2407的另一个 GPIO、该 GPIO 配置为中断。 这样、当 R 由于 CAN 流量而转换时、控制器可以在必要时唤醒并有足够的时间来处理消息和 ACK。 该中断可在初始转换后禁用、并在返回待机状态时重新启用。  

    根据您的系统、未使用的 SCI 引脚或 SPI 引脚可能最容易配置为待机控制引脚、因为它们与 CAN 引脚位于同一事件管理器上。 其中一个外部中断引脚可用作传入消息的 R 引脚中断。  

    请告诉我这一建议是否合理、或者您是否希望进一步探索您的图中显示的想法。 如果您可以共享系统的其他要求、则可以更轻松地推荐替代解决方案。

    此致、
    Eric

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

    尊敬的 Eric

    感谢您的详细解释。

    我们现在不使用 TMS320、它只是数据表示例中的一个。 您是否知道是否存在具有专用待机引脚的微控制器?

    我不确定我是否正确理解您的想法-在额外的 GPIO 中断例程中、在每个接收到的位之后、我应该检查 CAN 控制器

    状态/状态、如果接收到的帧正确/已完成并启用收发器以进行 ACK? 我不确定这是否可行、但我肯定会尝试。

    同时、我开始测试我的解决方案(100m 电缆、5个节点、室温)、它可以在桌面上工作。 我只需要用 P-FET 替换一个 N-FET、

    要从3V3电源轨完全启用、+第二个 P-FET 用于信号反相。

    测得的待机至显性时间、返回待机时间、收发器+ 100M 电缆的传播延迟-所有这些加在一起大约为2-3us、对于20us 位而言似乎是可以的。

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

    您好、Bogumil、

    Eric 目前不在办公室、但为了回答您的问题、我不知道 MCU 会有专用的 STB 输出引脚连接到 CAN 收发器。  不过、分配一个 MCU 的 GPIO 引脚来执行此功能是很常见的。  您可以使用此选项将收发器保持在待机模式、直到它需要发送一个帧或确认接收到的帧。

    尽管如此、您提出了一种非常有创意的方法-感谢您分享该方法并让我们了解您的进展。  我想听听您计划的未来测试的结果。

    此致、
    最大