System for controller area network payload decoding

US12065088B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12065088-B2
Application numberUS-202318372966-A
CountryUS
Kind codeB2
Filing dateSep 26, 2023
Priority dateDec 13, 2019
Publication dateAug 20, 2024
Grant dateAug 20, 2024

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 for decoding an unknown automotive controller area network (“CAN”) message definitions. CAN data vehicle signal mappings are typically held in secret and varied by automotive model and year. Without knowledge of the mappings, the wealth of real-time vehicle data hidden in the automotive CAN packets is uninterpretable—impeding research, after-market tuning, efficiency and performance monitoring, fault diagnosis, and privacy-related technologies. This system can ascertain the CAN signals' boundaries (start bit and length), endianness (byte ordering), signedness (binary-to-integer encoding) from raw CAN data. This allows conversion of CAN data to time series. Interpreting the translated CAN data's physical meaning and finding a linear mapping to standard units (e.g., knowing the signal is speed and scaling values to represent units of miles per hour) can be achieved for many signals by leveraging diagnostic standards to obtain real-time measurements of in-vehicle systems. The system can be integrated into lightweight hardware enabling an OBD-II plugin for real-time in-vehicle CAN decoding or run on standard computers. The system can output a standard DBC file with the signal definition information.

First claim

Opening claim text (preview).

The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows: 1. A CAN-D system for tokenization and translation of CAN data communicated over a vehicle controller area network (CAN) comprising: a CAN transceiver configured to receive CAN frames from the vehicle CAN, wherein each CAN frame includes an arbitration identifier (AID) and an up to 64-bit data payload; a CAN controller in communication with the CAN transceiver; a processor in communication with the CAN controller, wherein the processor is configured to generate a signal definition for each AID mapping the up to 64-bit data payloads of CAN frames with that AID to a plurality of tokenized and translated signals defined by one or more sequences of bits of the up to 64-bit data payload, wherein the mapping accounts for start bit, length, endianness, and signedness of the signals. 2. The CAN-D system of claim 1 wherein the processor is configured to store the generated signal definition for each AID together with the AID in a CAN database file (DBC) in memory. 3. The CAN-D system of claim 1 wherein the processor is configured to predict signal boundaries within the up to 64-bit data payload, predict byte ordering of signals within the 64-bit data payload, and predict signedness of signals within the 64-bit data payload. 4. The CAN-D system of claim 1 wherein the processor is configured to translate new CAN data into tokenized and translated values in near real time. 5. The CAN-D system of claim 1 , wherein the processor is configured to predict whether signals cross a signal byte boundary and endianness of byte-crossing signals with an optimization procedure. 6. The CAN-D system of claim 1 , wherein the processor is configured to predict endianness of bytes within the CAN payload based on an optimization procedure using signal boundary predictions that assume a plurality of different endiannesses. 7. The CAN-D system of claim 1 , wherein the processor is configured to generate signal boundary probabilities based on at least one of a heuristic signal boundary classifier and a trained supervised learning signal boundary model. 8. The CAN-D system of claim 1 , wherein the processor is configured to predict endianness of signals based on signal boundary probabilities generated as a function of bits local to CAN payload bit gaps. 9. The CAN-D system of claim 1 , wherein the processor is configured to predict signedness of tokenized signals and generate translated signals with a CAN-D signedness heuristic. 10. The CAN-D system of claim 9 , wherein the CAN-D signedness heuristic is based on how the two most significant bits of a signal behave when the signal is signed and unsigned. 11. The CAN-D system of claim 1 , wherein each CAN frame comprises CAN message packing signals, the CAN message packing signals being encoded based on unknown definitions established by third parties, each unknown signal definition including information on how to tokenize, translate, and interpret a CAN message packing signal, where the information to tokenize is configured to demarcate a sequence of bits corresponding to a CAN message packing signal and includes start bit, bit-sequence length, and byte ordering, where the information to translate is configured to convert the sequence of bits to integers by indicating whether unsigned or signed binary-to-integer encoding was used to encode the sequence of bits. 12. The CAN-D system of claim 1 wherein the payload in each CAN frame is encoded based on an unknown signal definition established by a third party, each unknown signal definition including information to tokenize, translate, and interpret the payload, where the information to tokenize includes information to demarcate sequences of bits corresponding to signals in the payload and byte ordering, wherein the information to translate includes information about how the sequences of bits were converted to integers. 13. The CAN-D system of claim 12 where the information to interpret comprises label and unit giving physical meaning of the signal and its units, and a scale and offset providing a linear mapping of the signal to its units. 14. The CAN-D system of claim 1 wherein the processor is configured, for each received CAN frame, to partition the payload into signals having defined but unknown start bits, lengths, byte order, and signed or unsigned encoding to obtain a respective time series of integers, wherein partitioning the message comprises learning signal boundary probabilities by at least one of an unsupervised signal boundary classification algorithm and a supervised signal boundary classification algorithm, then optimizing, based on the signal boundary probabilities, the signal packing likelihood within the payload to tokenize signals by identifying byte orderings within the tokenized signals. 15. The CAN-D system of claim 14 wherein the processor is configured, for each received CAN frame, to classify each tokenized signal as signed or unsigned by at least one of a supervised learning method or an unsupervised learning method. 16. The CAN-D system of claim 15 wherein the processor is configured, for each received CAN frame, to convert each tokenized signal to a time series of integers based on signedness classification. 17. The CAN-D system of claim 16 wherein the processor is configured, for each received CAN frame, to interpret at least some of the time series of integers as corresponding physical measurements by comparing each time series of integers to a plurality of time series of labeled data to match the time series of integers to a corresponding one of time series of labeled data. 18. The CAN-D system of claim 1 , wherein the processor is configured to predict endianness of signals within the payload based on a cost function that balances partitioning the payload into too many signals and joining multiple disparate signals. 19. The CAN-D system of claim 18 wherein the balance is struck by balancing a cut penalty β with a join penalty f.

Assignees

Inventors

Classifications

  • Diagnosing performance data (testing of vehicles G01M17/00; testing of electrical installation on vehicles G01R31/005) · CPC title

  • communicating information to a remotely located station (transmission systems for measured values G08C) · CPC title

  • using counting means or digital clocks · CPC title

  • G06N20/00Primary

    Machine learning · CPC title

  • Controller area network [CAN] identifiers · 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 US12065088B2 cover?
A system for decoding an unknown automotive controller area network (“CAN”) message definitions. CAN data vehicle signal mappings are typically held in secret and varied by automotive model and year. Without knowledge of the mappings, the wealth of real-time vehicle data hidden in the automotive CAN packets is uninterpretable—impeding research, after-market tuning, efficiency and performance mo…
Who is the assignee on this patent?
Ut Battelle Llc
What technology area does this patent fall under?
Primary CPC classification G06N20/00. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 20 2024 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).