This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RM46L852: What are CAN error levels exactly?

Part Number: RM46L852
Other Parts Discussed in Thread: HALCOGEN

Hi,

I'm working on a CAN driver and I wanted to understand better the Error and Status Register.

In the reference manual, the CAN error seems like a bitfield:
The CAN parity error is completely unrelated to CAN Passive state.

But in the code generated by HalCoGen, those bits are described as a "Level". 
The CAN parity error is simply when the RX/TX error counter is between 128 and 255.

Those two models seem mutually exclusive, to me. 
What model is correct and why?

Best regards,
Gabriel

  • Hi Gabriel,

    The CAN parity error is completely unrelated to CAN Passive state.
    The CAN parity error is simply when the RX/TX error counter is between 128 and 255.

    CAN parity error is not included in "Error Level" checking. If you verify carefully, we are multiplying Error and status register with 0xE0 that means we are processing Bit-7, Bit-6 and Bit5.

    Bit-7 is Bus off, Bit-6 is a Warning State and Bit-5 is a Error passive state.

    And i agreed that TRM is missing to explain these three bits as a level. I will take this as feedback and i will let internal team to know this.

    --

    Thanks & regards,
    Jagadish.