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 待机模式收到数据错误

Other Parts Discussed in Thread: SN65HVD230, SN65HVD231

你好,

同一电路板上两个SN65HVD230互相通信测试,

第一片 RS引脚通过10k连接到GND,它连接CAN1

第二片RS引脚通过10k连接到3.3V,它连接CAN2

CAN1通过第一片SN65HVD230发数,

CAN2接收,示波器可以看到有数据过来,但是CPU无法正常接收,估计是校验没法通过。

这时把第二片RS引脚接地,CPU的CAN2可以正确收到CAN1的数据。

第二种情况,把CAN线,再连接一个USB转CAN的工具,到PC,打开这个工具后,工具能正常收数,这时CAN2也能正确收数,注意此时RS是10k电阻接3.3V的。

下图是两根CAN信号线,无法正常接收情况:

下图是可以正常接收情况:

附加一份原理图:

希望得到帮助,谢谢!

  •  Rs拉高时候,driver是off,receiver是activity,所以按理CAN1是看不到数据发送过来的。

    至于当RS拉高时候,接上USB转CAN工具,能正常收发,对于从低功耗状态return到normal operation状态,datasheet中有这样一句描述: The host controller (MCU, DSP) returns the device to a transmitting mode (high speed or slope control) when it wants to transmit a message to the bus or if during standby mode it received bus traffic indicating the need to once again be ready to transmit.

  • 首先谢谢回答,但是没发解决疑问。

    在数据手册第二页,description:

    The circuit of the SN65HVD230 enters a low-current standby mode during which the driver is switched off and
    the receiver remains active if a high logic level is applied to pin 8. The DSP controller reverses this low-current
    standby mode when a dominant state (bus differential voltage > 900 mV typical) occurs on the bus.

    这句话的意思是,PIN8 = High,但是当CAN的两根线压差超过0.9V,会退出待机模式。 这个是它区别于SN65HVD231的地方。

    我们做的是车载设备,而这个芯片能消耗8mA,比我们整个电路板都多,请帮忙认真分析下,谢谢!

     

  • 那我想是不是可以做如下实验:

    当CAN1 和CAN2 的Rs均为low时,收发均没问题。

    当CNA1 RS为low,CAN2的Rs为高时,CAN1 发数据,CAN2接收错误,按照datasheet上描述,HVD230的driver off,但receiver还是activity的,那么此时能否用其他trancevier发送数据试试,CAN2是否能正常接收呢?

    另外,两片CAN的Vref均接地的,建议接1/2 Vcc.波形更直观些。