CAN Protocol CRC End-to-End Integrity Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solutions for protecting data integrity in automotive vehicle networks, particularly for high Automotive Safety Integrity Level (ASIL D) applications, do not provide end-to-end protection and are challenging due to performance and cost constraints, as they either reduce bandwidth or increase processing overhead.

Innovation Solution

Implementing a protocol CRC that is generated and stored by the CAN protocol controller, allowing for verification at the application layer by comparing it with a reconstructed CRC, thereby providing additional integrity checks without embedding a CRC in the payload, and using a hardware lookup table to identify frames requiring additional protection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a CRC code is inserted in the CAN payload data to protect upper layers, then data integrity protection is improved, but bandwidth is reduced and processing overhead is increased

Engineering Contradiction:
Improvedata integrity protectionVSAvoidbandwidth
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent uses the existing CRC value from the data link layer as a copy for upper layer verification. Instead of calculating a separate CRC for the payload, the system retrieves and reuses the CRC already computed by the CAN controller, eliminating redundant calculations and preserving bandwidth while maintaining integrity protection.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent makes the CRC value generated for data link layer error detection serve a dual purpose by making it available to the application layer for end-to-end integrity verification. This multi-functional use of the same CRC value eliminates the need for separate protection mechanisms, avoiding bandwidth reduction and processing overhead.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If a CRC code is inserted in the CAN payload data to protect upper layers, then data integrity protection is improved, but processing overhead is increased

Engineering Contradiction:
Improvedata integrity protectionVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent retrieves the CRC value that has already been calculated by the CAN controller and stores it in a buffer accessible to the application layer. This copying approach eliminates the need for the application layer to independently calculate CRC values, significantly reducing processing overhead while maintaining comprehensive integrity protection.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs the CRC calculation at the data link layer before the application layer processes the data. By preparing the CRC value in advance and making it available to upper layers, the system avoids redundant calculations, reducing processing overhead at the application layer while ensuring integrity protection is already in place.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If redundancy is added to hardware elements that modify and store messages, then data integrity is improved, but die size and power consumption are increased

Engineering Contradiction:
Improvedata integrityVSAvoiddie size
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent enables the existing CRC hardware in the CAN controller to serve dual purposes: data link layer error detection and application layer end-to-end integrity verification. By making the CRC buffer accessible to the application layer, the same hardware infrastructure provides comprehensive protection without requiring additional redundant hardware elements, thus avoiding increased die size.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Reliability

If redundancy is added to hardware elements that modify and store messages, then data integrity is improved, but power consumption is increased

Engineering Contradiction:
Improvedata integrityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

The patent copies the CRC value from the CAN controller's buffer to the application layer for verification purposes. This approach reuses existing hardware resources without activating additional redundant components, thereby maintaining data integrity protection while avoiding increased power consumption that would result from enabling extra hardware redundancy.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11295036B2Method of using protocol CRC to implement end to end protection of a CAN message
Publication Date: 2022.04.05 NXP USA INC
  • US11295036B2 patent drawing
  • US11295036B2 patent drawing
  • US11295036B2 patent drawing

AI summary

A system, method, and apparatus are provided for processing packets received over Controller Area Network (CAN) interface where a CAN protocol controller computes a CRC value from header and payload values in a received CAN data frame to verify frame integrity of the received CAN data frame across a physical media layer, and then stores the header and payload values and the CRC value in a memory buffer of the CAN protocol controller so that a host core can compute a reconstructed CRC value from the header and payload values retrieved from the memory buffer, and then compare the reconstructed CRC value to the CRC value retrieved from the memory buffer to verify frame integrity of the received CAN data frame at a transaction layer.