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.

CAN Problem in TMS320F28062 MCU

Other Parts Discussed in Thread: SN65HVD230, TMS320F28062

Dear All

I get into a trouble with CAN.

I use TMS320F28062 MCU and SN65HVD230 to implement CAN communication, I did below test with 100k bps

ECanaShadow.CANBTC.bit.BRPREG = 19; // (BRPREG + 1) = 40M/(19+1)=2M, 20TQ, 100K bps
ECanaShadow.CANBTC.bit.TSEG1REG = 14; //7; // Bit time = 20, baud=2M/(14+3+2+1)=100k
ECanaShadow.CANBTC.bit.TSEG2REG = 3; // SP=(20-4)/20=80%

1. Disconnected dsp with tranceiver, run the test program with SELF TEST BIT ON (ECanaShadow.CANMC.bit.STM = 1;), it passed

2. Connected DSP with tranceiver and connect my device to a CAN analyser (it is a tool and can be operated from computer, be set to 100K bps), then I turn off the SELF TEST BIT (ECanaShadow.CANMC.bit.STM = 0;) then transmit frame but just stucked at while, there is no ACK bit received.

do {
ECanaShadow.CANTA.all = ECanaRegs.CANTA.all;
} while(!ECanaShadow.CANTA.bit.TA0);

3. I then disconnected DSP with the transceiver again and detect CANTXA pin with a scope, seems like below pic

fourthermore the high voltage on the CANTX pin is always 1.4V but I think it should be 3.3V. I checked the CAN spec it should not be like this.

I have no any idea and try to figure it for more than one week but still fail now.

Somebody can you help, I appriciate you !

Bobby

  • Hi Bobby,

    The low TX signal amplitude is strange, and could be the cause of the communications issues you are seeing. Is there anything on the PCB (pull-down resistors, LEDs, etc.) that may be loading this signal and pulling its voltage down? When you view these waveforms on an oscilloscope, are you connecting them to a high-impedance input?

    Regards,
    Max