This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

CAN bus CRC - Probability of Undetected Failure

I wonder if anyone could help me please.

I am writing an assessment of the safety implications of functions that are reliant on a CAN bus.  

More specifically, I am interested in the Probability of Undetected Failure of the CAN bus CRC-15 Cyclic Redundancy Check.  I have found some figures and graphs for some specific CRCs, for some Bit Error Ratios, but not for the specific CRC of interest.  I know there are ways of calculating these figures given the CRC polynomial, packet length, and BER, but in the papers I have seen, the maths looks a bit beyond me.  Also, as it is a commonly used CRC I am interested in, I was hoping to find a source of pre-calculated values, ideally for a range of BERs.

Any assistance or guidance would be appreciated. 

Thanks

Bill

  • I am afraid the description is too vague for me to help, although you hint at specificity. The manufacturer of the kit would be the obvious body to ask. Otherwise some user group such as CiA https://www.can-cia.org/about-us/ 

  • Hmm the question seems to be about the CRC specifically, just applied to the slightly thorny problem of variable length CAN packets. There is a lot written about the chances of errors being missed under a CPC, but there are real situations, such as bursts of interference or periodically repeating  interference that complicate the answer relative to the white noise normally considered in the text books.

    Certainly it  is  possible to have far more un-spotted errors than the simple case suggests, if the errors are non-random. My maths is not really good enough to go far beyond this.

    Mike

  • The main point for me is the relevance to safety. If it is a safety-related calculation then the piece of kit is being used in a safety-related application. That will necessarily have been assessed - or is being assessed - against some standard (IEC 61508; IEC 61511, ISO 26262, etc). The manufacturer of the kit will have the kind of information that allows users to use their kit in safety-related applications according to that standard. As a matter of due diligence, you have first to ask them for their HRA, or data relevant for yours. That is why I suggested it.

  • Hi Peter

    Thanks for your response to my query.  I must apologise for the delay in my response.

    For various reasons, I am unable to expand on the details of the system I am dealing with, which is why the original question is deliberately vague about the application.

    The system I am dealing with is fully developed and in trials.  Some of the CAN network nodes in the system were developed by my company, some by sub-contractors to our main customer, and some are supplied by the ultimate end user for the system.  It will not be possible to get detailed technical information about all of the nodes to support my safety case.  However, that is not germane to my question.

    Regardless of the safety integrity to which the network nodes were developed, there is still a possibility that a frame on the CAN bus could be corrupted in transmission in such a way that the CRC does not detect it.  Our customer has asked us very specifically to include that failure in our safety case.  This will involve including the failure “message corruption in transmission, undetected by CRC” in a Fault Tree.  I therefore need to assign a probability to that failure.  This is why my question is very focused on the probability of undetected failure of the CAN 15-bit CRC, and not on any other failure mode of the network, as those other modes are accounted for elsewhere.

    I can find information on the probability of undetected failures for some other CRCs, dependent on packet length and BER, but I can’t file this information for the CAN 15-bit CRC.

     If you could provide this specific information, or any pointers to where I should look next, I would really appreciate it.

    Best Regards

    Bill

  • Mike

    Thanks for your response to my query.  I must apologise for the delay in responding.

    You are correct that the question is specifically about the CRC.  Regardless of the safety integrity to which the network nodes were developed, there is still a possibility that a frame on the CAN bus could be corrupted in transmission in such a way that the CRC does not detect it.  Our customer has asked us very specifically to include that failure in our safety case.  This will involve including the failure “message corruption in transmission, undetected by CRC” in a Fault Tree.  I therefore need to assign a probability to that failure.  This is why my question is very focused on the probability of undetected failure of the CAN 15-bit CRC, and not on any other failure mode of the network, as those other modes are accounted for elsewhere.

    I can find information on the probability of undetected failures for some other CRCs, dependent on packet length and BER, but I can’t find this information for the CAN 15-bit CRC.

    I understand your point about your maths not being good enough to try to calculate these failure rates yourself: I am in the same situation, which is why I am trying to find a pre-existing source of this data.

    If you could provide any pointers to where I should look next, I would really appreciate it.

    Best Regards

    Bill

  • The guy who convenes the German safety-standards committee for reliable/safe communication networks is a close colleague of mine, a former full-time academic who prefers to work in industry (although he still has a part-time academic position). I'll ask. He is off work at the moment until later in the week.

  • Hi Peter

    Thanks for your swift response.  That would be great, thanks.

    Bill

  • The response from Frank.  

    [begin quote]

    The official CAN group is here: https://www.can-cia.org/

    They should give the information needed.

    If the polynomial is proper then the max Residual Error Probability is 2^-15.

    I can calculate it for a specific data length but he might need an official value.

    Below are all values for data lengths between 1 and 800 bits. [pic omitted here]

    They probably have used a small bit error probability and a kind of data redundancy additionally. I remember, I tried to get some specific information about 15 years ago and gave up quickly since it was not important at all to me at that time.

    I use CAN as an example for Res. Err. Prob. only.

    [end quote]