Method of using protocol CRC to implement end to end protection of a CAN message

US11295036B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11295036-B2
Application numberUS-201916707357-A
CountryUS
Kind codeB2
Filing dateDec 9, 2019
Priority dateDec 9, 2019
Publication dateApr 5, 2022
Grant dateApr 5, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for processing packets received over Controller Area Network (CAN) interface, comprising: computing, at a CAN protocol controller, a cyclic redundancy check (CRC) value from header and payload values in a received CAN data frame, thereby verifying frame integrity of the received CAN data frame across a physical media layer; storing the header and payload values and CRC value in a memory buffer of the CAN protocol controller; computing, at a host controller, a reconstructed CRC value from the header and payload values retrieved from the memory buffer; and verifying frame integrity of the received CAN data frame at a transaction layer by comparing, at the host controller, the reconstructed CRC value to the CRC value retrieved from the memory buffer. 2. The method of claim 1 , where verifying frame integrity of the received CAN data frame across the physical media layer comprises: computing, at the CAN protocol controller, a first CRC value from header and payload values in the received CAN data frame; and comparing, at the CAN protocol controller, the first CRC value to the CRC value in the received CAN data frame to detect a match. 3. The method of claim 1 , further comprising removing a start-of-frame bit and any stuff bits from the header and payload values and the CRC value before storing the header and payload values and the CRC value in the memory buffer. 4. The method of claim 1 , further comprising constructing, at the host controller, a reconstructed CAN data frame comprising a start-of-frame bit, the header and payload values, and the reconstructed CRC value before inserting one or more stuff bits in the reconstructed CAN data frame. 5. The method of claim 1 , further comprising accessing, at the host controller, a lookup table to determine if the CAN data frame requires frame integrity verification by the host controller. 6. A method for transmitting packets over Controller Area Network (CAN) interface, comprising: constructing, at a host controller, a reference CAN data frame comprising header and payload values and a first cyclic redundancy check (CRC) value generated from at least the header and payload values to be transmitted; storing, by the host controller, at least the first CRC value in memory; loading a copy of the header and payload values in a memory buffer of a CAN protocol controller; constructing a transmit CAN data frame comprising a protocol CRC value generated from at least the copy of the header and payload values to be transmitted; storing the protocol CRC value in a memory buffer of the CAN protocol controller; and comparing, at the host controller, the first CRC value to the protocol CRC value retrieved from the memory buffer, thereby verifying frame integrity of the transmit CAN data frame at an application layer. 7. The method of claim 6 , where constructing the reference CAN data frame comprises inserting one or more stuff bits and a stuff count (SB) into the reference CAN data frame. 8. The method of claim 7 , where storing at least the first CRC value in memory comprises storing the reference CAN data frame in memory of the host controller comprising a start of field frame, the first CRC value, the header and payload values, and the one or more stuff bits and the stuff count (SB). 9. The method of claim 8 , where the loading includes the host controller loading the copy of the header and payload values in the memory buffer of the CAN protocol controller without including the start of field frame, first CRC value or the one or more stuff bits and the stuff count (SB). 10. The method of claim 9 , further comprising retrieving by the host controller the first CRC value from memory of the host controller for comparison to the protocol CRC value retrieved from the memory buffer of the CAN protocol controller. 11. The method of claim 6 , further comprising inserting by the CAN protocol controller, into the transmit CAN data frame, a start-of-frame field, the protocol CRC value and any required stuff bits and stuff count (SB) values. 12. The method of claim 11 , further comprising transmitting by the CAN protocol controller the transmit CAN data frame, where the CAN protocol controller stores a copy of the protocol CRC value in the memory buffer of the CAN protocol controller. 13. A Controller Area Network (CAN) device, the CAN device comprising: a CAN protocol controller connected between a host and a CAN transceiver interface to process packets received and/or transmitted over the CAN transceiver interface, wherein the CAN protocol controller computes a cyclic redundancy check (CRC) value from header and payload values in a CAN data frame received over the CAN transceiver interface for storage in memory with the header and payload values, thereby verifying frame integrity of the received CAN data frame across a physical media layer; and wherein the host verifies the CRC value by computing a reconstructed CRC value from the header and payload values retrieved from memory and comparing the reconstructed CRC value with the CRC value retrieved from memory, thereby verifying frame integrity of the received CAN data frame at a transaction layer. 14. The CAN device of claim 13 , where the CAN protocol controller is configured to verify the frame integrity of the received CAN data frame across the physical media layer by: computing a first CRC value from header and payload values in the received CAN data frame; and comparing the first CRC value to the CRC value in the received CAN data frame to detect a match. 15. The CAN device of claim 13 , where the CAN protocol controller is configured to remove a start-of-frame bit and any stuff bits from the header and payload values and the CRC value before storing the header and payload values and the CRC value in memory. 16. The CAN device of claim 13 , where the host is configured to construct a reconstructed CAN data frame comprising a start-of-frame bit, the header and payload values, and the reconstructed CRC value before inserting one or more stuff bits in the reconstructed CAN data frame. 17. The CAN device of claim 13 , where the host is configured to access a lookup table to determine if the CAN data frame requires frame integrity verification by the host. 18. A CAN device of claim 13 , where the host is further configured to transmit packets over the CAN transceiver interface by constructing a second CRC value from transmit header and payload values and any start-of-frame bit and any stuff bits to be transmitted over the CAN transceiver interface and storing the second CRC value in memory; and where the CAN protocol controller is further configured to construct and store in a memory buffer a transmit CAN data frame comprising a second protocol CRC value generated from at least the copy of the transmit header and payload values so that the host can compare the second CRC value to the second protocol CRC value retrieved from the memory buffer, thereby verifying frame integrity of the transmit CAN data frame at an application layer. 19. The CAN device of claim 18 , where the host is further configured to construct a transmit reference CAN data frame comprising the transmit header and payload values and the second cyclic redundancy check (CRC) value. 20. The CAN device of claim 19 , where the host is further configured to insert one or more stuff bits and a stuff count (SB) into the transmit reference CAN data frame.

Assignees

Inventors

Classifications

  • Buffering arrangements · CPC title

  • G06F21/64Primary

    Protecting data integrity, e.g. using checksums, certificates or signatures · CPC title

  • Details regarding a bus controller · CPC title

  • in the data link layer [OSI layer 2], e.g. HDLC · CPC title

  • Applying verification of the received information (cryptographic mechanisms or cryptographic arrangements for data integrity or data verification H04L9/32) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11295036B2 cover?
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 memor…
Who is the assignee on this patent?
Nxp Usa Inc
What technology area does this patent fall under?
Primary CPC classification G06F21/64. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 05 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).