IP Library Granted Patent US 12,475,074
Granted Patent B2
US 12,475,074 · App. 18/310,864 · Granted Nov 18, 2025

Apparatus and method for communication on a serial bus

Inventor: Arnaud Dehamel (Monestier de Clermon, FR)
Assignee: STMicroelectronics (Grenoble 2) SAS
G06F13/4295G06F9/4418G06F9/546G06F11/3058G06F13/4291
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,475,074
App. No.
18/310,864
Granted
Nov 18, 2025
Kind
B2
Abstract

The present disclosure relates to a method comprising receiving edges conveyed by a serial bus and separated by multiples of a same duration, determining a measurement value of a ratio between a cycle time of a clock and the duration, and sending bits on the serial bus using the measurement value.

Claims (63)

1 . A method comprising:

setting, by a first device, a transmit enable signal to inactive;

receiving, by the first device, bus signal edges conveyed by a clockless serial bus and separated by multiples of a same duration, the duration being based on a second cycle time of a second clock of a second device sending the bus signal edges;

generating, by the first device, a sync pulse in response to detecting a falling bus signal edge on the clockless serial bus;

in accordance with the sync pulse, the inactive transmit enable signal, and a first clock of the first device, determining a measurement value of a ratio between a first cycle time of the first clock of the first device and the duration, without using the second clock;

storing the measurement value as a stored value;

using a same circuit to:

in accordance with an absence of the sync pulse, keeping the stored value fixed; and

in accordance with the transmit enable signal being active, keeping the stored value fixed;

setting, by the first device, the transmit enable signal to active; and

sending, by the first device in accordance with the transmit enable signal being active, bits on the clockless serial bus using the measurement value.

2 . The method according to claim 1 , wherein the determining the measurement value further comprises:

determining a first value representative of a sum of differences between the measurement value and an actual value of a ratio of cycles of the first clock of the first device occurring between two received falling bus signal edges; and

subtracting the first representative value from the stored value to update the stored value.

3 . The method according to claim 2 , further comprising, at each cycle of the first clock of the first device, integer-modulo adding a second value representative of the measurement value to a content of a register, the determining the first value being based on a difference in the content of the register between reception times of the two of the bus signal edges.

4 . The method according to claim 3 , further comprising setting the content of the register to zero in response to the sync pulse.

5 . The method according to claim 3 , wherein the sending of each of the bits starts at a time at which the content of the register crosses a threshold.

6 . The method according to claim 1 , further comprising receiving data using the measurement value, the bus signal edges comprising edges between bits of the received data.

7 . The method according to claim 6 , further comprising sending an acknowledgement of receipt of the data using the measurement value.

8 . The method according to claim 1 , wherein the determining the measurement value comprises adding, to the stored value, a predetermined value and/or a calculated value calculated as a function of a temperature.

9 . A first device configured to:

set a transmit enable signal to inactive;

receive bus signal edges conveyed by a clockless serial bus and separated by multiples of a same duration, wherein the duration is based on a second cycle time of a second clock of a second device sending the bus signal edges;

generate a sync pulse in response to detecting a falling bus signal edge on the clockless serial bus;

determine, without using the second clock, and in accordance with the sync pulse, the inactive transmit enable signal, and a first clock of the first device, a measurement value of a ratio between a first cycle time of the first clock of the first device and the duration;

store the measurement value as a stored value;

use a same circuit to:

in accordance with an absence of the sync pulse, keep the stored value fixed; and

in accordance with the transmit enable signal being active, keep the stored value fixed;

set the transmit enable signal to active; and

send, in accordance with the transmit enable signal being active, bits on the clockless serial bus using the measurement value.

10 . The first device according to claim 9 , wherein the first device configured to determine the measurement value comprises the first device configured to:

determine a first value representative of a sum of differences between the measurement value and an actual value of a ratio of cycles of the first clock of the first device occurring between two received bus signal edges; and

subtract the first representative value from the stored value to update the stored value.

11 . The first device according to claim 10 , wherein the first device is configured to, at each cycle of the first clock of the first device, integer-modulo add a second value representative of the measurement value to a content of a register, wherein the first device is configured to determine the first value based on a difference in the content of the register between reception times of the two of the bus signal edges.

12 . The first device according to claim 11 , wherein the first device is configured to set the content of the register to zero in response to the sync pulse.

13 . The first device according to claim 11 , wherein the first device is configured to send each of the bits starts at a time at which the content of the register crosses a threshold.

14 . The first device according to claim 9 , wherein the first device is configured to receive data using the measurement value, wherein the bus signal edges comprise edges between bits of the received data.

15 . The first device according to claim 14 , wherein the first device is configured to send an acknowledgement of receipt of the data using the measurement value.

16 . The first device according to claim 9 , wherein the first device configured to determine the measurement value comprises the first device configured to add, to the stored value, a predetermined value and/or a calculated value calculated as a function of a temperature.

17 . The first device according to claim 9 , wherein the first device comprises a multiplexer that provides the stored value, wherein a first input among a first plurality of inputs of the multiplexer is configured to receive the stored value, and wherein the first device is configured to select a second input among a second plurality of inputs during the sending of the bits.

18 . A system comprising:

a clockless serial bus; and

one or more first devices coupled to the clockless serial bus, each of the one or more first devices configured to:

set a transmit enable signal to inactive;

receive bus signal edges conveyed by the clockless serial bus and separated by multiples of a same duration, wherein the duration is based on a second cycle time of a second clock of a second device sending the bus signal edges;

generate a sync pulse in response to detecting a falling bus signal edge on the clockless serial bus;

determine, without using the second clock, and in accordance with the sync pulse, the inactive transmit enable signal, and a first clock of the first device, a measurement value of a ratio between a first cycle time of the first clock of the first device and the duration;

store the measurement value as a stored value;

use a same circuit to:

in accordance with an absence of the sync pulse, keep the stored value fixed; and

in accordance with the transmit enable signal being active, keep the stored value fixed;

set the transmit enable signal to active; and

send, in accordance with the transmit enable signal being active, bits on the clockless serial bus using the measurement value.

19 . The system according to claim 18 , wherein each of the one or more first devices configured to determine the measurement value comprises the one or more first devices configured to:

determine a first value representative of a sum of differences between the measurement value and an actual value of a ratio of cycles of the first clock of the respective first device occurring between two received bus signal edges; and

subtract the first representative value from the stored value to update the stored value.

20 . The system according to claim 18 , further comprising the second device coupled to the clockless serial bus, the second device configured to send:

first messages carrying a set of operations to be implemented by the one or more first devices; and

second messages addressed to a part of the one or more first devices, the second messages conveying respective identifiers of the part of the one or more first devices to which the second messages are respectively addressed, the second messages requesting from the part of the one or more first devices to which they are addressed to send respective reactions towards the second device within respective expected time intervals,

wherein the part of the one or more first devices are configured to:

receive the first messages, read the set of operations to be implemented, and implement operations as a function of the read set; and

receive the second messages, and react to the second messages by sending, within the respective expected time intervals, reactions towards the second device.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBER SUBMITTED PREVIOUSLY RECORDED AT REEL: 063509 FRAME: 0009. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 8, 2023
From: DEHAMEL, ARNAUD
To: STMICROELECTRONICS (GRENOBLE 2) SAS
Reel/Frame 063622/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2023
From: DEHAMEL, ARNAUD
To: STMICROELECTRONICS (GRENOBLE 2) SAS
Reel/Frame 063509/0009 →
Priority Claims (1)
FR 1909968 · Sep 10, 2019 · national
Continuity (2)
Continuation 17009903 · Sep 2, 2020
Related Publication 20230273896A1 · Aug 31, 2023
References Cited (62)
US 4853841A · Richter · 1989 [cited by applicant]
US 5038389A · Mizuno · 1991 [cited by applicant]
US 5608410A · Stilp et al. · 1997 [cited by applicant]
US 5867695A · Amini et al. · 1999 [cited by applicant]
US 5898640A · Ben-Meir et al. · 1999 [cited by applicant]
US 6149058A · Albaret · 2000 [cited by applicant]
US 6151369A · Ohkubo et al. · 2000 [cited by applicant]
US 7042932B1 · Song · 2006 [cited by examiner]
US 8018463B2 · Scheuermann · 2011 [cited by applicant]
US 8171334B2 · Kelly · 2012 [cited by applicant]
US 10304546B2 · Han · 2019 [cited by examiner]
US 10678726B2 · Rennig et al. · 2020 [cited by applicant]
US 11729021B2 · Mutter · 2023 [cited by examiner]
US 20010005871A1 · Shimoda · 2001 [cited by examiner]
US 20020097616A1 · Schneider et al. · 2002 [cited by applicant]
US 20020199124A1 · Adkisson · 2002 [cited by examiner]
US 20030042506A1 · Kellgren et al. · 2003 [cited by applicant]
US 20040258188A1 · Kim · 2004 [cited by examiner]
US 20060023820A1 · Adkisson et al. · 2006 [cited by applicant]
US 20060215629A1 · Miller · 2006 [cited by examiner]
US 20070038433A1 · Swoboda · 2007 [cited by examiner]
US 20070288786A1 · Miller · 2007 [cited by applicant]
US 20080276107A1 · Bogavac · 2008 [cited by applicant]
US 20090086874A1 · Wang · 2009 [cited by examiner]
US 20090106577A1 · Cherpantier · 2009 [cited by examiner]
US 20090158078A1 · Knoth · 2009 [cited by examiner]
US 20090323457A1 · Shori · 2009 [cited by applicant]
US 20100008493A1 · Marum et al. · 2010 [cited by applicant]
US 20100054282A1 · Schirmer · 2010 [cited by examiner]
US 20100073044A1 · Cornelius · 2010 [cited by applicant]
US 20100180003A1 · Jiang · 2010 [cited by applicant]
US 20120024964A1 · Lee · 2012 [cited by examiner]
US 20120140861A1 · Menon et al. · 2012 [cited by applicant]
US 20120163519A1 · Choudhury · 2012 [cited by examiner]
US 20120250739A1 · Nagaki · 2012 [cited by examiner]
US 20130070865A1 · Zhang · 2013 [cited by applicant]
US 20130100990A1 · Chu · 2013 [cited by examiner]
US 20130173949A1 · Cai et al. · 2013 [cited by applicant]
US 20130268789A1 · Yang · 2013 [cited by examiner]
US 20140082399A1 · Jerolm · 2014 [cited by applicant]
US 20140173391A1 · Hahn · 2014 [cited by applicant]
US 20140203798A1 · O'Mahony · 2014 [cited by examiner]
US 20150378955A1 · Amon et al. · 2015 [cited by applicant]
US 20160034409A1 · Kim et al. · 2016 [cited by applicant]
US 20160087737A1 · Gach · 2016 [cited by applicant]
US 20160197944A1 · Allouche et al. · 2016 [cited by applicant]
US 20170235692A1 · Ahamed · 2017 [cited by examiner]
US 20170288847A1 · Bock · 2017 [cited by examiner]
US 20170373824A1 · Mitchler · 2017 [cited by examiner]
US 20170373881A1 · Yu et al. · 2017 [cited by applicant]
US 20180054295A1 · Ribo et al. · 2018 [cited by applicant]
US 20180076816A1 · Matsuzaki · 2018 [cited by applicant]
US 20180180003A1 · Schaad et al. · 2018 [cited by applicant]
US 20180181183A1 · Yoon et al. · 2018 [cited by applicant]
US 20190025872A1 · Li et al. · 2019 [cited by applicant]
US 20190172509A1 · Kang · 2019 [cited by examiner]
US 20210073168A1 · Dehamel · 2021 [cited by applicant]
US 20220263450A1 · Hijikata et al. · 2022 [cited by applicant]
US 20220342843A1 · Lan · 2022 [cited by examiner]
CN 1315785A · 2001 [cited by applicant]
CN 103891194A · 2014 [cited by applicant]
EP 1253521A2 · 2002 [cited by applicant]