Hi All,
i am working on flexcan driver related application on imx6q freescale processor
i have a CAN network with one node A sending continuous can frame, bus speed at 125 kbps towards node B receiving, then everything is normal well and fine.
i am generating Error Frame using Canking (CAN analyser) software from PC with 500 kbps or any other baud rate apart from working bus speed 125kbps
i am checking with two processor one is with imx28(2.6.35.XX kernel) and other with imx6q (3.10.XX kernel)
for 1 min, with imx 28 , tx passive error count nearly 1000 where as with imx6q the tx passive error count(FLEXCANX__ECR -- error counter register) nearly 100 where as in CAN analyser Error frames are near to 10000 for 1 min.
1. Could you make me understand why the passive error count are different in processor and the CAN analyser are different ?
2. looks like passive error count are not properly catched by the flexcan error count register at 500Kbps/ 1Mbps, but neatly works < 500Kbps. could anyone suggest why this happening..?
Please refer to the Section 26.8.7 "Error Counter Register (FLEXCANx_ECR)" of the i.MX6Dual/Quad Reference Manual document, available on the processor's Documentation web page:
In particular, it says the following.
"If the Rx_Err_Counter increases to a value greater than 127, it is not incremented further, even if more errors are detected while being a receiver".
So, the RX_ERR_COUNTER cannot count more than 128 consecutive receive errors.
Have a great day,
Artur
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------