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.

[参考译文] SN65HVD230:为了接收正确的总线数据、必须下拉 RS 引脚

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1035697/sn65hvd230-the-rs-pin-must-be-pulled-down-to-receive-the-correct-bus-data

器件型号:SN65HVD230

大家好、

客户当前的情况是: SN65HVD230处于仅监听状态、在接收到 RX 引脚信号后、STM32 MCU 必须先下拉 RS 引脚 才能接收正确的总线数据。

如果客户 的这个节点处于低功耗模式、只需要接收总线数据而不需要发送数据、那么 SN65HVD230是否能够 一直处于只听模式?  也就是说、SN65HVD230能否 在不下拉 RS 引脚的情况下接收正确的总线数据?

此致、

罗美

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

    是的。 当 RS 为高电平时、接收器保持激活状态。

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

    大家好、Clemens、

    但是、客户当前的情况是必须先下拉 RS 引脚、然后 sn65hvd230可以接收正确的数据。 原因可能是什么?

    此致、

    罗美

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

    客户是否确实使用了 SN65HVD230或其他一些器件?

    正常的 CAN 协议要求接收器件发送一个 ACK。

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

    Amy、

    当 RS 被下拉时、器件处于高速模式、这将正确接收数据。 这是预期的。 当 RS 引脚上拉时、器件将处于仅监听模式、在此模式下、数据仍将到达 RXD 引脚、但收发器无法再传输到 CAN 总线。 在任一种情况下、RXD 都应与 CAN 总线切换。 您能否详细阐述客户所看到的问题、并分享原理图?

    此致、

    Eric Hackett  

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

    大家好、Clemens、

    是的、 客户正在使用  SN65HVD230。

    尊敬的 Eric:

    客户代码为:

    当在总线上检测到一个显性状态时、收发器将在中断中切换到高速模式(此功能通过使用 CAN_收 发器_work 函数实现)、以便总线能够正确接收数据。  

    如果在中断中注释了 CAN_Receiver_work 函数、即收发器未切换到高速模式、则该节点将不会接收任何数据。

    区别在于:是否下拉 Rs。

    此致、

    罗美

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

    CAN 协议要求所有节点都接收和发送数据。 当您将收发器置于仅监听模式时、您将无法发送 ACK。

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

    Amy、

    正如 Clemens 所说的、如果 CAN 节点不能发送回总线、则不会接收到 ACK 位、并会引发错误。 RXD 上是否根本没有波形显示、还是仅控制器不报告任何数据?

    此致、

    Eric Hackett  

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

    这意味着客户的此接收节点需要拉低 RS 引脚、然后发送 ACK、否则无法接收总线数据。 对吗?

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

    Amy、

    如果收发器无法传输、则永远不会发送 ACK、并且错误会被置为 CAN 总线、这可能会将该消息丢弃到控制器中。 控制器是否未正确接收消息或 RXD 引脚是否根本未报告消息?

    此致、

    Eric Hackett