Detecting manipulation of data on a can bus
US-2021120017-A1 · Apr 22, 2021 · US
US11539550B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11539550-B2 |
| Application number | US-202016800519-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 25, 2020 |
| Priority date | Feb 25, 2020 |
| Publication date | Dec 27, 2022 |
| Grant date | Dec 27, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Embodiments of the invention include a vehicle telematics device that performs vehicle CAN bus discovery using bit timing analysis. In an embodiment, the vehicle telematics device enters a vehicle CAN bus protocol discovery mode, samples a vehicle CAN bus signal, performs bit timing analysis of the CAN bus signal, calculates a BAUD rate of the vehicle CAN bus based on the bit timing analysis, determines a data packet format of data packets on the vehicle CAN bus, and identifies a vehicle CAN bus protocol from a plurality of vehicle CAN bus protocols based on the calculated BAUD rate and data packet format.
Opening claim text (preview).
What is claimed is: 1. A vehicle telematics device in a vehicle, comprising: a processor and a memory storing a vehicle telematics application; and a communication interface for communicating with a remote server system and a plurality of vehicle modules on a vehicle Controller Area Network (CAN) bus of the vehicle; wherein the processor of the vehicle telematics device, on reading the vehicle telematics application, is directed to: enter a vehicle CAN bus protocol discovery mode; sample a vehicle CAN bus signal; perform bit timing analysis of the vehicle CAN bus signal, wherein to perform the bit timing analysis comprises to (i) monitor for a state transition of the vehicle CAN bus signal, (ii) measure, in response to a detection of the state transition, a pulse width of each valid high pulse and each valid low pulse occurring within a sample time after the detection of the state transition, and (iii) determine a bit timing of the vehicle CAN bus signal based on an observed minimum length of the high and low pulses occurring during the sample time, wherein each valid high and low pulse is defined as a pulse having a length falling within a window of valid bit pulse lengths for a BAUD rate of interest; calculate a BAUD rate of the vehicle CAN bus signal based on the bit timing analysis; determine a data packet format of data packets on the vehicle CAN bus; and identify a vehicle CAN bus protocol from a plurality of vehicle CAN bus protocols based on the calculated BAUD rate and data packet format, wherein the processor of the telematics device, on reading the vehicle telematics application, is further directed to set the vehicle CAN bus protocol to a default vehicle CAN bus protocol in response to a determination that the state transition has not been detected within a reference time period. 2. The vehicle telematics device of claim 1 , wherein the processor of the telematics device, on reading the vehicle telematics application, is directed to: measure a data packet length for a plurality of data packets; and select the data packet format based on the measured data packet lengths. 3. The vehicle telematics device of claim 1 , wherein the processor of the telematics device, on reading the vehicle telematics application, is directed to: identify a data pattern in a header of a data packet; and select the data packet format based on the identified data-pattern. 4. The vehicle telematics device of claim 1 , wherein the processor of the telematics device, on reading the vehicle telematics application, is directed to: identify a timing pattern of a data packet; and select the data packet format based on the identified timing pattern. 5. The vehicle telematics device of claim 1 , wherein the BAUD rate is at least one of the group consisting of 125 kbps, 250 kbps, 500 kbps, and 1 mbps, wherein the data packet format is at least one of the group consisting of an 11-bit standard data packet format and a 29-bit extended data packet format. 6. The vehicle telematics device of claim 1 , wherein the plurality of vehicle CAN bus protocols comprises an ISO 15765-4 CAN (11 bit ID,500 Kbaud), ISO 15765-4 CAN (29 bit ID, 500 Kbaud), ISO 15765-4 CAN (11 bit ID, 250 Kbaud), and ISO 15765-4 CAN (29 bit ID, 250 Kbaud). 7. The vehicle telematics device of claim 1 , wherein determining the data packet format comprises sampling and measuring data packets on the vehicle CAN bus for a threshold time period; and selecting the data packet format based on a statistical analysis of the sampled data packets. 8. A method for performing a vehicle Controller Area Network (CAN) bus protocol discovery for a telematics device, comprising: entering a vehicle CAN bus protocol discovery mode; sampling a vehicle CAN bus signal; performing bit timing analysis of the vehicle CAN bus signal, wherein performing the bit timing analysis comprises (i) monitoring for a state transition of the vehicle CAN bus signal, (ii) measuring, in response to a detection of the state transition, a pulse width of each valid high pulse and each valid low pulse occurring within a sample time after the detection of the state transition, and (iii) determining a bit timing of the vehicle CAN bus signal based on an observed minimum length of the high and low pulses occurring during the sample time, wherein each valid high and low pulse is defined as a pulse having a length falling within a window of valid bit pulse lengths for a BAUD rate of interest; calculating a BAUD rate of the vehicle CAN bus signal based on the bit timing analysis; determining a data packet format of data packets on the vehicle CAN bus; identifying a vehicle CAN bus protocol from a plurality of vehicle CAN bus protocols based on the calculated BAUD rate and data packet format; and setting the vehicle CAN bus protocol to a default vehicle CAN bus protocol in response to a determination that the state transition has not been detected within a reference time period. 9. The method of claim 8 , further comprising: measuring a data packet length for a plurality of data packets; and selecting the data packet format based on the measured data packet lengths. 10. The method of claim 9 , further comprising: measuring the data packet length based on a transition edge (1 to 0) of a dominant start-of-frame bit to a transition edge (0 to 1) at beginning of 11+ bit period of recessive (=1) state. 11. The method of claim 8 , further comprising: identifying a data pattern in a header of a data packet; and selecting the data packet format based on the identified data pattern. 12. The method of claim 8 , further comprising: identifying a timing pattern of a data packet; and selecting the data packet format based on the identified timing pattern. 13. The method of claim 8 , wherein the BAUD rate is at least one of the group consisting of 125 kbps, 250 kbps, 500 kbps, and 1 mbps, wherein the data packet format is at least one of a group consisting of an 11-bit standard data packet format and a 29-bit extended data packet format. 14. The method of claim 8 , wherein the plurality of vehicle CAN bus protocols comprises an ISO 15765-4 CAN (11 bit ID,500 Kbaud), ISO 15765-4 CAN (29 bit ID, 500 Kbaud), ISO 15765-4 CAN (11 bit ID, 250 Kbaud), and ISO 15765-4 CAN (29 bit ID, 250 Kbaud). 15. The method of claim 8 , wherein determining the data packet format comprises sampling and measuring data packets on the vehicle CAN bus for a threshold time period; and selecting the data packet format based on a statistical analysis of the sampled data packets. 16. A vehicle telematics device in a vehicle, comprising: a processor and a memory storing a vehicle telematics application; and a communication interface for communicating with a remote server system and a plurality of vehicle modules on a vehicle Controller Area Network (CAN) bus of the vehicle; wherein the processor of the telematics device, on reading the vehicle telematics application, is directed to: enter a vehicle CAN bus protocol discovery mode; sample a vehicle CAN bus signal; perform bit timing analysis of the vehicle CAN bus signal, wherein to perform the bit timing analysis comprises to (i) monitor for a state transition of the vehicle CAN bus signal, (ii) measure, in response to a detection of the state transition, a pulse width of each valid high pulse and each valid low pulse occurring within a sample time after the detection of the state transition, and (iii) determine a bit timing of the vehicle CAN bus signal based on an observed minimum length of the high and low pulses occurring during the sample time,
Parsing or analysis of headers · CPC title
Details regarding a bus controller · CPC title
the transportation system being a vehicle · CPC title
Controller Area Network CAN · CPC title
Nodes adapting their rate to the physical link properties (LAN switches H04L49/351) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.