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.

ECAN TI28035 with transceiver SN65HVD251

Other Parts Discussed in Thread: SN65HVD233, SN65HVD251

Currently I am controller card with design of the TI28035 (20Mhz Crystal) with transceiver SN65HVD233 without any isolator. And the ECAN is working absolutely fine.

Now we have updated the design that is having the TI28035 with transceiver SN65HVD251 with isolator of Avago ACSL-7210 which supports 25Mbd.

But for some reason same code is not working for the updated circuit, it send out only one erroneous frame as shown below.

Transceiver is having the following connection

RS is connected to gnd, Vref is floating and having 120ohm termination resistor.

Using the 1Mbps for old design following is the register setting and they are working fine:

ECanaShadow.CANBTC.bit.BRPREG = 2;

ECanaShadow.CANBTC.bit.TSEG2REG =1;

ECanaShadow.CANBTC.bit.TSEG1REG =6;

  • Hi Darsh,

    This seems to be an issue due to propagation delay and termination resistor miss-match. This is just my guess...
    Check this discussion: www.keil.com/.../

    www.ti.com/.../slla270.pdf

    Regards,
    Gautam
  • Hi Gautam,

    Thanks for the reply.

    we have used termination resistor value as 120ohm since my cable is hardly 1-1.5m
    Regarding propagation delay I have tried the BT=15, so effectively increasing the Tseg1.

    ECanaShadow.CANBTC.bit.BRPREG = 1;//2;

    ECanaShadow.CANBTC.bit.TSEG2REG =2;// 1;

    ECanaShadow.CANBTC.bit.TSEG1REG =10;// 6;

  • Darsh,
    Did you try lowering the bit-rate to, say, 50kbps? If prop delay is indeed the cause, you may be able to succeed with a lower bit-rate. If you feel comfortable, could you share the schematics of the CAN portion of the design? Just the signal chain from CANTX/CANRX pins -->Isolator-->Transceiver-->Termination resistor.
  • Above we have made few modification like opened the R81 and C88 to make Vref Floating. And shorted the R79 and put the R80 120ohm termination resistor.

    And Not mounted the R77 and shorted C85 to make RS strongly pulled down. I have tried reducing the baud rate to 50kbps in that case getting continously error frames. If baud rate increased to 100kbps then only 1 error frame comes and it stops there.

  • Darshan,

                This doesn’t look like a propagation delay issue to me. I have a feeling something is not right with your interface circuit. Since you are only in the prototype stage, you could get rid of all components that are absolutely not needed for CAN communication. This includes the TVS diode array and pull-up resistors (unless an o/p is open-drain). Once you do this, please capture the signals at the CANTX & CANRX pins on the MCU side with an oscilloscope. Ensure your bit timing is correct and the waveform is clean. The only difference you should see is during the ACK phase.

     

     

  • Hi Hareesh,

    Thanks for the solution. I have tried it and it worked.

    But I have removed all the supporting component. I am planning put one by one back to check which one was causing the problem.

    Will update on the post later on which one was causing the problem

  • OK, I have a suspicion that you have excess capacitance both on the MCU side as well as the CAN bus side. Please do post your findings.