AnsweredAssumed Answered

S32K144 FLEXCAN

Question asked by Yashwanth K on Jun 27, 2017
Latest reply on Jun 28, 2017 by Petr Stancik

Hi,

 

I am working on FLEX CAN in S32K144 EVB. I configured CAN bus to 500 Kbps. I am getting Synchronization error while participating in bus. I configured CAN as per example code given in S32K design studio. I am actually participating in CAN bus with simulator (Other controller) which is configured to 500 kbps. When I communicates with simulator with other controller, I'm getting response from simulator. But when I communicating with S32K144, it is giving synchronization error. I am thinking that S32K144 EVB is not configured to 500 Kbps.

 

I selected 8 MHz crystal oscillator as CAN clock source.

PSEG2 = 3

PSEG1 = 3

RJW = 3

PROPSEG = 6

PRESDIV = 0

 

In ESR1 register SYNCH bit is showing 0 that means CAN is not synchronized with the bus. Actually I'm not using SBC chip as CAN transceiver. I am using other transceiver that is working fine when I tested with other micro controller. 

 

The ESR1 and ECR registers values are

ESR1 = 0x00010112

ECR = 00008100

 

In example interrupts are not enabled but I enabled error interrupts and Bus off interrupts. I am using interrupt method.

 

When I writing 0x7E0 CAN ID in RAM register in 18 th position. It is storing like

Data Byte 0(DB-0) =  0x01

DB1 = 0xE0

DB2 = 0x00

DB3 = 0x00

but I'm thinking that it should store like

DB0 = 0x01

DB1 = 0xF0

DB2 = 0x00

DB3 = 0x00

 

When I write 0x7E8 also it is storing like 0x1EA but i'm thinking that it should store like 0x1FA. Why it is storing like that i'm not understanding. 

 

Please help me. Waiting for your response.

 

 

Regards,

Yashwanth

Outcomes