Hello
Iam now using S12ZVC .My problem is when Busoff occured . CANerror interrupt could happen .but somtimes when I deal the the CANerror interrupt .It will enter CANerror interrupt again .The following codes is all right in Demo board and in 10 percents of my boards .But 90 percents of my boards will enter CANerror interrupt again and again when busoff happened(use the following codes). I could not sove the problem
Is there any points to taken when deal MSCAN with the CAN PTY ,I just use CP0CR_CPE = 1;CP0CR_SPE = 1;
Other Registers about CAN PTY need care.
Original Attachment has been moved to: S12ZVC_Bus_off.zip
Hi xiaohui,
According to your description, it rather looks like some hardware issue or problem with CAN timing.
Do you really want to communicate at 100kbit/s? The standard is 125kbit/s.
The generated PE code configure bit rate with a big error.
BTW: I would like to recommend use external oscillator as the clock source for MSCAN module instead of bus clock (your case).
When I select 4MHz external oscillator as the clock source, the PE do not offer me any configuration for 100kbit/s bitrate.
The CAN PHY slew rate influences propagation delay and this way also ideal CAN bitrate configuration.
For such low bitrates, I would like to recommend for example CAN Physical Layer slew rate 6 (CPCR_SLR2-0 = 0b110).
I hope it helps you.
Have a great day,
Radek
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------