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: The RS pin must be pulled down to receive the correct bus data

Part Number: SN65HVD230

Hi team,

The customer's current situation is: SN65HVD230 in listen only state, after receiving the RX pin signal, STM32 MCU must first pull the RS pin down can receive the correct bus data.

If the customer's this node is in the low-power mode, only needs to receive bus data and does not need to send data, can the SN65HVD230 be in the listen only mode all the time? That is, can SN65HVD230 receive the correct bus data without pulling down RS pin?

Best Regards,

Amy Luo

  • Yes. When RS is high, the receiver remains active.

  • Hi Clemens,

    However, the customer's current situation is that the RS pin must be pulled down first, and then the sn65hvd230 can receive correct data. What may be the reason?

    Best Regards,

    Amy Luo

  • Is the customer really using the SN65HVD230, or some other device?

    The normal CAN protocol requires the receiving devices to transmit an ACK.

  • Amy,

    When RS is pulled down, the device is in high speed mode, which will correctly receive data. This is expected. When the RS pin is pulled up, the device will be in listen-only mode where data will still come to the RXD pin, but the transceiver can no longer transmit to the CAN bus. In either case RXD should be toggling with the CAN bus. Can you elaborate more on the issue the customer is seeing, and maybe share a schematic?

    Regards,

    Eric Hackett 

  • Hi Clemens,

    Yes, the customer is using the SN65HVD230.

    Hi Eric,

    The customer's code is:

    when a dominant state is detected on the bus, the transceiver will be switched to the high-speed mode in the interrupt (this function is realized by using the CAN_Transceiver_Work function), so that the bus can receive data correctly. 

    If the CAN_Transceiver_Work function is commented out in the interrupt, that is, the transceiver is not switched to the high-speed mode, this node will not receive any data.

    The difference is: pull down Rs or not.

    Best Regards,

    Amy Luo

  • The CAN protocol requires that all nodes both receive and transmit. When you put the transceiver in listen-only mode, you will not be able to send the ACK.

  • Amy,

    As Clemens said, if the CAN node can't transmit back to the bus, then no ACK bit will be received and an error will be thrown. Is there no waveform showing up on RXD at all, or is it just the controller that is not reporting back any data?

    Regards,

    Eric Hackett 

  • This means that the customer's this receiving node needs to pull down RS pin and then send an ACK, otherwise it cannot receive bus data. Is that right?

  • Amy,

    If the transceiver can't transmit, then the ACK will never get sent and an error will get asserted to CAN bus, likely throwing away that message in the controller. Is the controller not receiving messages correctly or is the RXD pin not reporting the message at all?

    Regards,

    Eric Hackett