Hi I'm making code using S32K144.
There were various errors, but problems occurred while trying to get through one by one.
To be honest, right now, this doesn't affect me, but I thought it would be better to solve it for later.
When the power line of the power supply is unplugged and reconnected, the MCU sends an unidentified CAN signal to the vector (CANOE).
I think there is a pattern similar to the ID value, but I don't know why I send it. Do you happen to know why?
In addition, the other problem is that when you TX from VECTOR to MCU with CAN and WAKE UP 8 times, WAKE UP normally in the 9th time, but it generates ERROR and increases ERROR count.
Hi,
FlexCAN should not sent any message itself upon startup. You can check if full MB area is initialized properly.
For ACK error detected on CAN tool, you can measure MCU TX/RX pins to know message is properly ACKed.
BR, Petr
Could you take a look at this?
With some code fixes, rxerrcnt seems to be missing, although equally ACK errors occur. Is that correct?
I deactivated the module by MASKing the MDIS before entering the VLPS.
Is the error related to the SAMPLE POINT?
I received SPL as 160MHZ now and am using 40MHZ as system clock. I think CAN FD is using 500K, 2M as SAMPLE POINT 80%. Is that right? Please check it.
Hi,
bit timing looks normal. Maybe you can try to select one with same prescalers and increase RJW. If XOSC (40MHz) is used fro PE clock you can try
CANx_CBT = 0x80272687; // bitrate=500kbps, CPI clk=40 MHz; Prescaler= 2, PROPSEG=10, PSEG1=21, PSEG2=8, RJW=8, smp=80%
CANx_FDCBT = 0x00111421; // bitrateFD=2000kbps, CPI clk=40 MHz; fPrescaler= 2, fPROPSEG=5, fPSEG1=2, fPSEG2=2, fRJW=2, smp=80%
BR, Petr
Hi, I don't understand
You're saying you're sending me a message when the mcu is powered on because you didn't initialize the buffer with caninit??
Also, it was confirmed that an error occurred every 8 signals after rxerrcnt went up tremendously when exiting vlps with canrx(pe4) changed to porte interrupt just before entering vlps. Is there any way to wake up with canrx without error? As rxerrxnt is over, it is expected that an active error will occur for every 8 wake signals.