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
