IP Library Granted Patent US 12,206,521
Granted Patent B2
US 12,206,521 · App. 18/066,018 · Granted Jan 21, 2025

Apparatus for a controller area network

Inventors: Rolf van de Burgt (Laag Zuthem, NL); Bernd Uwe Gerhard Elend (Hamburg, DE); Thierry G. C. Walrant (Bouge, BE); Dennis aan de Stegge (Ede, NL)
Assignee: NXP B.V.
H04L12/40H04B1/38
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,206,521
App. No.
18/066,018
Granted
Jan 21, 2025
Kind
B2
Abstract

An apparatus for a CAN transceiver configured to couple to a CAN bus and generate receive-data based on signals therefrom and generate signals on the CAN bus in response to transmit-data received from a CAN controller, wherein the apparatus is configured to: receive the receive-data comprising a plurality of bits; and for each of one or more bits of the receive-data, sample at a respective sample time to determine a respective value of each of the one or more bits; and with an edge detector determine, during a respective edge detector window, the occurrence of an edge in the receive-data and generate metadata indicative thereof, wherein the edge detector window comprises a period of time that includes the sample time; and wherein the apparatus is configured to determine whether transmit-data is compliant with one or more rules based on the respective values and the metadata.

Claims (46)

1. An apparatus for a controller area network (CAN) transceiver, the CAN transceiver configured to couple to a CAN bus and generate receive-data based on one or more signals received from the CAN bus and configured to generate one or more signals on the CAN bus in response to transmit-data received from a CAN controller, wherein the apparatus comprises control circuitry configured to:

receive the receive-data, the receive-data comprising a plurality of bits; and

for each of one or more bits of the plurality of bits of the receive-data, sample the receive-data at a respective sample time to determine a respective value of each of the one or more bits in the receive-data;

wherein the control circuitry comprises an edge detector configured to:

determine, during a respective edge detector window for each bit of the receive-data, the occurrence or non-occurrence of an edge in the receive-data; and

generate metadata that is indicative of an edge having occurred or not-occurred during the respective edge detector window;

wherein the respective edge detector window comprises a period of time, in each of the one or more bits of the plurality of bits, that extends from a first time to a second time and that includes the respective sample time; and

wherein the control circuitry is further configured to:

receive the transmit-data; and

determine whether or not the transmit-data is compliant with one or more rules based on the respective values of each of the one or more bits and the metadata.

2. The apparatus of claim 1 , wherein the period of time that defines the respective edge detector window is predetermined.

3. The apparatus of claim 1 , wherein the period of time that defines the respective edge detector window is configured to end prior to an end of the respective bit of the one or more bits.

4. The apparatus of claim 1 , wherein the apparatus is provided as part of the CAN transceiver for coupling with the CAN controller.

5. The apparatus of claim 4 , wherein the first time and the second time that define the period of time of the respective edge detector window is based on a clock drift parameter, the clock drift parameter defining the accuracy of a clock of one or more of the CAN controller and the apparatus.

6. The apparatus of claim 1 , wherein the period of time that defines the respective edge detector window is variable and dependent on a position in a CAN frame in the receive-data.

7. The apparatus of claim 1 , wherein the first time is prior to the respective sample time and the second time is after the respective sample time.

8. The apparatus of claim 1 , wherein based on a determination that the transmit-data is not compliant, the apparatus is configured to prevent transmission by the CAN transceiver of the transmit-data by:

modification of the transmit-data;

blocking of the transmit-data from receipt by a transmitter module of the CAN transceiver, the transmitter module configured to translate the transmit-data into differential voltage levels for transmission on the CAN bus; or

blocking of the output of the transmitter module of the CAN transceiver, the transmitter module configured to translate the transmit-data into differential voltage levels and output said differential voltage levels to the CAN bus.

9. The apparatus of claim 1 , wherein said apparatus is configured to detect errors in the receive-data, and wherein said one or more rules include the detection of an error frame in the transmit-data only at times that correspond to when the apparatus detects an error is present in the receive-data.

10. The apparatus of claim 9 , wherein the control circuitry is further configured to determine that the error is present in the receive-data if any of the following receive-data rules is contravened:

a stuff error rule, the stuff error rule defining adherence to a bit stuffing rule of a CAN protocol;

a cyclic redundancy check (CRC) error rule, the CRC error rule defining that a CRC field indicates that data in a data field is correct;

a form error rule, the form error rule defining one or more expected values of predetermined bits in a CAN frame according to the CAN protocol; or

a bit error rule, the bit error rule defining that bits in the transmit-data should be seen in the receive-data.

11. The apparatus of claim 9 , wherein the apparatus is configured to determine that the error frame was validly generated based on:

detection of an error frame, in the transmit-data, sent by the CAN controller;

determination that an error has occurred in the receive-data; and

the metadata does not indicate the occurrence of an edge associated with said one or more bits.

12. The apparatus of claim 9 , wherein the apparatus is configured to determine that the error frame was validly generated based on:

detection of an error frame, in the transmit-data, sent by the CAN controller;

determination that an error has not occurred in the receive-data; and

the metadata does indicate the occurrence of one or more edges associated with the one or more bits.

13. The apparatus of claim 1 , wherein the apparatus is configured such that the determination of the transmit-data being non-compliant with the one or more rules is less likely when the metadata is indicative of the occurrence of an edge in the respective edge detector window for one or more recent bits of the one or more bits than when the metadata is indicative of the non-occurrence of an edge in the respective edge detector window for the one or more recent bits of the one or more bits.

14. The apparatus of claim 1 , wherein the apparatus is configured to modify the receive-data that is to be sent to the CAN controller, wherein the apparatus is configured to latch the value of a respective bit, as represented in the receive-data, during the respective edge detector window, such that the value of the respective bit is held constant during the respective edge detector window.

15. A method for a controller area network (CAN) transceiver, the CAN transceiver configured to couple to a CAN bus and generate receive-data based on one or more signals received from the CAN bus and configured to generate one or more signals on the CAN bus in response to transmit-data received from a CAN controller, wherein the method comprises:

receiving the receive-data, the receive-data comprising a plurality of bits;

for each of one or more bits of the plurality of bits of the receive-data, sampling the receive-data at a respective sample time to determine a respective value of each of the one or more bits in the receive-data;

determining by an edge detector, during a respective edge detector window for each bit of the receive-data, the occurrence or non-occurrence of an edge in the receive-data and generate metadata that is indicative of an edge having occurred or not-occurred during the respective edge detector window and wherein the respective edge detector window comprises a period of time, in each of the one or more bits of the plurality of bits, that extends from a first time to a second time and that includes the respective sample time;

receiving the transmit-data; and

determining whether or not the transmit-data is compliant with one or more rules based on the respective values of each of the one or more bits and the metadata.

16. The method of claim 15 , wherein the period of time that defines the respective edge detector window is predetermined.

17. The method of claim 15 , wherein the period of time that defines the respective edge detector window is configured to end prior to an end of the respective bit of the one or more bits.

18. The method of claim 15 , wherein the method further comprises varying the period of time that defines the respective edge detector window dependent on a position in a CAN frame in the receive-data.

19. The method of claim 15 , wherein said method further comprises detecting errors in the receive-data, and wherein said one or more rules include the detecting of an error frame in the transmit-data only at times that correspond to when an error is present in the receive-data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2022
From: VAN DE BURGT, ROLF; ELEND, BERND UWE GERHARD; WALRANT, THIERRY G. C.; AAN DE STEGGE, DENNIS
To: NXP B.V.
Reel/Frame 062092/0373 →
Priority Claims (1)
EP 21215659 · Dec 17, 2021 · regional
Continuity (1)
Related Publication 20230198799A1 · Jun 22, 2023
References Cited (13)
US 11038508B2 · de Haas · 2021 [cited by examiner]
US 11061844B2 · de Haas · 2021 [cited by examiner]
US 11520600B2 · Muth · 2022 [cited by examiner]
US 20120051241A1 · Mori · 2012 [cited by examiner]
US 20180331852A1 · Kraly · 2018 [cited by applicant]
US 20190385057A1 · Litichever · 2019 [cited by examiner]
US 20210044600A1 · Elend · 2021 [cited by examiner]
US 20210226661A1 · de Haas · 2021 [cited by examiner]
US 20210400056A1 · Klosters et al. · 2021 [cited by applicant]
US 20220070022A1 · van de Burgt et al. · 2022 [cited by applicant]
US 20220376947A1 · Antonsson · 2022 [cited by examiner]
EP 2985955A1 · 2016 [cited by applicant]
EP 3691198A1 · 2020 [cited by applicant]