IP Library › Granted Patent US 12,253,969
Granted Patent B2
US 12,253,969 · App. 18/031,187 · Granted Mar 18, 2025

Validation of a time synchronization

Inventors: Mohamed-Saad Abdelhameed (Dachau, DE); Manjeet Singh Bilra (Hoerlkofen, DE); Karl Budweiser (Munich, DE); Wolfgang Laengst (Bergkirchen, DE)
Assignee: Bayerische Motoren Werke Aktiengesellschaft
G06F13/4295H04J3/0661H04J3/14
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,253,969
App. No.
18/031,187
Granted
Mar 18, 2025
Kind
B2
Abstract

A method includes sending, from the master controller to the slave controller, a follow up message in response to a pull of a predefined pin, wherein the follow up message includes a global time of the master controller when the predefined pin was pulled; sending, from the slave controller to the master controller, a validation message in response to the received follow up message, wherein the validation message includes a global time of the slave controller when the pull of the predefined pin is detected by the slave controller; and validating the time synchronization by checking, at the master controller and/or the slave controller, if a difference between the global time of the master controller when the predefined pin was pulled and the global time of the slave controller when the pull of the predefined pin is detected by the slave controller is smaller than a predefined first threshold.

Claims (80)

1. A method for validation of a time synchronization of at least two controllers connected to each other via a private communication bus, wherein one of the at least two controllers is a master controller and the other one of the at least two controllers is a slave controller, the method comprising:

a plurality of cycles, wherein each cycle comprises:

sending, from the master controller to the slave controller, a follow up message in response to a pull of a predefined pin of the master controller, wherein the follow up message includes a global time of the master controller when the predefined pin was pulled,

sending, from the slave controller to the master controller, a validation message in response to the received follow up message, wherein the validation message includes a global time of the slave controller when the pull of the predefined pin is detected by the slave controller, and

validating the time synchronization by checking, at the master controller and/or the slave controller, if a difference between the global time of the master controller when the predefined pin was pulled and the global time of the slave controller when the pull of the predefined pin is detected by the slave controller is smaller than a predefined first threshold.

2. The method according to claim 1 , further comprising:

capturing, at the master controller, a global time of the master controller when the predefined pin was pulled,

wherein the validation message includes a local hardware counter of the slave controller, the local hardware counter corresponding to the global time of the slave controller when the pull of the predefined pin is detected by the slave controller, and

wherein the validating the time synchronization includes checking, at the master controller, if a difference between

a difference of the global time captured by the master controller when the predefined pin was pulled and a global time captured by the master controller when the predefined pin was pulled in a previous cycle, and

a difference between the local hardware counter corresponding to the global time of the slave controller when the pull of the predefined pin is detected by the slave controller and a local hardware counter corresponding to a global time of the slave controller when the pull of the predefined pin is detected by the slave controller in the previous cycle,

is smaller than a predefined second threshold, and/or

wherein the validating the time synchronization includes checking, at the slave controller, if a difference between

a difference of the global time of the master controller received by the slave controller in the follow up message and a global time of the master controller received by the slave controller in the follow up message in a previous cycle, and

a difference between the local hardware counter corresponding to the global time of the slave controller when the pull of the predefined pin is detected by the slave controller and the local hardware counter corresponding to the global time of the slave controller when the pull of the predefined pin is detected by the slave controller in the previous cycle,

is smaller than the predefined second threshold.

3. The method according to claim 2 , wherein the validation message includes the difference between the local hardware counter corresponding to the global time of the slave controller when the pull of the predefined pin is detected by the slave controller and the local hardware counter corresponding to a global time of the slave controller when the pull of the predefined pin is detected by the slave controller in the previous cycle.

4. The method according to claim 2 , wherein the master controller comprises a master port and a slave port, wherein the master controller is connected via the slave port to a further bus and the slave port and the master port each comprise a clock, and

wherein the method further comprises:

synchronizing a global time of the clock of the slave port of the master controller with a global time of the further bus,

synchronizing a global time of the clock of the master port of the master controller to the global time of the clock of the slave port of the master controller, and

capturing, at the master controller, a global time of the slave port when the predefined pin was pulled,

wherein the validating the time synchronization includes checking, at the master controller, if a difference between the global time captured by the master controller at the master port when the predefined pin was pulled and the global time captured by the master controller at the slave port when the predefined pin was pulled is smaller than a predefined third threshold.

5. The method according to claim 2 , further comprising:

updating a global time of the slave controller to the global time of the master controller included in the follow up message after capturing the local hardware counter and the global time of the slave controller when the pull of the predefined pin is detected by the slave controller.

6. The method according to claim 2 ,

wherein the validation message includes the global time sent from the master controller to the slave controller in the follow up message, and

wherein the validating the time synchronization includes checking, at the master controller, if a difference between the global time captured by the master controller when the predefined pin was pulled and the global time included in the validation message is smaller than a predefined fourth threshold.

7. A master controller configured to be connected to a slave controller via a private bus, the master controller comprising:

a processor,

wherein the master controller is further configured to:

send a follow up message to the slave controller via the private bus in response to a pull of a predefined pin of the master controller, wherein the follow up message includes a global time of the master controller when the predefined pin was pulled,

receive a validation message from the slave controller via the private bus in response to the sent follow up message, wherein the validation message includes a global time of the slave controller when the pull of the predefined pin is detected by the slave controller, and

validate a time synchronization of a global time of the slave controller and a global time of the master controller by checking if a difference between the global time of the master controller when the predefined pin was pulled and the global time of the slave controller when the pull of the predefined pin is detected by the slave controller is smaller than a predefined first threshold.

8. The master controller according to claim 7 ,

wherein the validation message includes a local hardware counter of the slave controller, the local hardware counter corresponding to the global time of the slave controller when the pull of the predefined pin is detected by the slave controller,

wherein the master controller is configured to capture a global time of the master controller when the predefined pin was pulled, and

wherein the master controller is further configured to validate the time synchronization of the global time of the slave controller and the global time of the master controller by checking if a difference between

a difference of the global time captured by the master controller when the predefined pin was pulled and a global time captured by the master controller when the predefined pin was pulled in a previous cycle, and

a difference between the local hardware counter corresponding to the global time of the slave controller when the pull of the predefined pin is detected by the slave controller and a local hardware counter corresponding to a global time of the slave controller when the pull of the predefined pin is detected by the slave controller in the previous cycle,

is smaller than a predefined second threshold.

9. The master controller according to claim 8 , wherein the validation message includes the difference between the local hardware counter corresponding to the global time of the slave controller when the pull of the predefined pin is detected by the slave controller and the local hardware counter corresponding to the global time of the slave controller when the pull of the predefined pin is detected by the slave controller in the previous cycle.

10. The master controller according to claim 7 , wherein the master controller further comprises a master port and a slave port, the slave port and the master port each comprising a clock,

wherein the master controller is connected via the slave port to a further bus, and

wherein the master controller is further configured to:

synchronize a global time of the clock of the slave port to a global time of the further bus,

synchronize a global time of the clock of the master port to the global time of the clock of the slave port of the master controller,

capture a global time of the slave port when the predefined pin was pulled, and

validate a time synchronization of the global time of the master controller by checking if a difference between the global time of the master port when the predefined pin was pulled and the global time of the slave port when the predefined pin was pulled is smaller than a predefined third threshold.

11. A slave controller configured to be connected to a master controller via a private bus, the slave controller comprising:

a processor, wherein the slave controller is further configured to:

receive a follow up message from the master controller via the private bus in response to a pull of a predefined pin of the master controller, wherein the follow up message includes a global time of the master controller when the predefined pin was pulled,

detect the pull of the predefined pin of the master controller and capture a global time of the slave controller when the pull of the predefined pin is detected by the slave controller, and

validate a time synchronization by checking if a difference between the global time of the master controller included in the follow up message and the global time captured by the slave controller when the pull of the predefined pin is detected by the slave controller is smaller than a predefined first threshold.

12. The slave controller according to claim 11 , wherein the slave controller is further configured to send a validation message to the master controller via the private bus in response to the received follow up message,

wherein the validation message includes the global time of the slave controller when the pull of the predefined pin is detected by the slave controller such that the master controller can validate the time synchronization by checking, at the master controller, if a difference between the global time of the master controller when the predefined pin was pulled and the global time of the slave controller when the pull of the predefined pin is detected by the slave controller is smaller than the predefined first threshold.

13. The slave controller according to claim 11 , wherein the slave controller is further configured to:

capture a local hardware counter of the slave controller, the local hardware counter corresponding to the global time of the slave controller when the pull of the predefined pin is detected by the slave controller, and

validate the time synchronization of the global time of the slave controller and the global time of the master controller by checking if a difference between

a difference of the global time of the master controller included in the follow up message and a global time of the master controller included in the follow up message in a previous cycle, and

a difference between the local hardware counter corresponding to the global time of the slave controller when the pull of the predefined pin is detected by the slave controller and a local hardware counter corresponding to a global time of the slave controller when the pull of the predefined pin is detected by the slave controller in the previous cycle,

is smaller than a predefined second threshold.

14. The slave controller according to claim 13 ,

wherein the slave controller is configured to send the validation message including the local hardware counter of the slave controller and the global time of the master controller included in the follow up message such that the master controller can validate the time synchronization of the global time of the slave controller and the global time of the master controller by checking if the difference between

the difference of the global time of the master controller included in the validation message and a global time of the master controller included in the validation message in the previous cycle, and

the difference between the local hardware counter corresponding to the global time of the slave controller when the pull of the predefined pin is detected by the slave controller and the local hardware counter corresponding to the global time of the slave controller when the pull of the predefined pin is detected by the slave controller in the previous cycle,

is smaller than the predefined second threshold.

15. The slave controller according to claim 11 , wherein the slave controller is further configured to update a global time of the slave controller to the global time of the master controller included in the follow up message after capturing the local hardware counter and the global time of the slave controller.

16. A communication network comprising:

a master controller comprising a first processor,

a slave controller comprising a second processor, and

a private communication bus connecting the master controller and the slave controller to each other, wherein the private communication bus comprises a connection between a predefined pin of the master controller and the slave controller,

wherein the master controller is configured to:

send a follow up message to the slave controller via the private bus in response to a pull of the predefined pin of the master controller, wherein the follow up message includes a global time of the master controller when the predefined pin was pulled,

receive a validation message from the slave controller via the private bus in response to the sent follow up message, wherein the validation message includes a global time of the slave controller when the pull of the predefined pin is detected by the slave controller, and

validate a time synchronization of a global time of the slave controller and a global time of the master controller by checking if a difference between the global time of the master controller when the predefined pin was pulled and the global time of the slave controller when the pull of the predefined pin is detected by the slave controller is smaller than a predefined first threshold, and

wherein the slave controller is configured to:

receive the follow up message from the master controller via the private bus,

detect the pull of the predefined pin of the master controller and capture the global time of the slave controller when the pull of the predefined pin is detected by the slave controller, and

validate the time synchronization by checking if the difference between the global time of the master controller included in the follow up message and the global time captured by the slave controller when the pull of the predefined pin is detected by the slave controller is smaller than the predefined first threshold.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2023
From: ABDELHAMEED, MOHAMED-SAAD; BILRA, MANJEET SINGH; BUDWEISER, KARL; LAENGST, WOLFGANG
To: BAYERISCHE MOTOREN WERKE AKTIENGESELLSCHAFT
Reel/Frame 063442/0509 →
Continuity (1)
Related Publication 20230376446A1 · Nov 23, 2023
References Cited (21)
US 10671558B1 · Evans · 2020 [cited by examiner]
US 20050015521A1 · Hartwich · 2005 [cited by applicant]
US 20150074306A1 · Ayyagari · 2015 [cited by examiner]
US 20160087738A1 · Jeon · 2016 [cited by examiner]
US 20160124459A1 · Armbruster · 2016 [cited by examiner]
US 20180196465A1 · Sharpe-Geisler · 2018 [cited by examiner]
US 20180219694A1 · Kim · 2018 [cited by examiner]
US 20190332137A1 · Benjamini et al. · 2019 [cited by applicant]
US 20190363815A1 · Bogenberger et al. · 2019 [cited by applicant]
US 20230155806A1 · Abdelhameed · 2023 [cited by examiner]
DE 10145219A1 · 2003 [cited by applicant]
EP 3156904A1 · 2017 [cited by applicant]
JP 2020526051A · 2020 [cited by applicant]
WO WO2019001929A1 · 2019 [cited by applicant]
WO WO2019018798A1 · 2019 [cited by applicant]
International Search Report (PCT/ISA/210) issued in PCT Application No. PCT/EP2020/078637 dated Jul. 23, 2021 (three (3) pages). [cited by applicant]
Written Opinion (PCT/ISA/237) issued in PCT Application No. PCT/EP2020/078637 dated Jul. 23, 2021 (eight (8) pages). [cited by applicant]
Raju, S. et al, “Time Synchronized Diagnostic Event Data Recording based on AUTOSAR”, 2017 IEEE International Conference on Advanced Networks and Telecommunications Systems (ANTS), IEEE, Dec. 17, 2017, pp. 1-6, XP033358… [cited by applicant]
Beltrami, M. et al., “Multiprocessor System for Developing Control Strategies of Car Engines”, 29 [cited by applicant]
“(R) Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles”, Surface Vehicle Recommended Practice, SAE (Society of Automotive Engineering) International, J3016 [cited by applicant]
English translation of Japanese-language Office Action issued in Japanese Application No. 2023-515640 dated Oct. 23, 2024 (3 pages). [cited by applicant]