IP Library Granted Patent US 7,793,022
Granted Patent B2
US 7,793,022 · App. 12/219,565 · Granted Sep 7, 2010

Repeater for a bidirectional serial bus

Assignee: RedMere Technology Ltd.
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 7,793,022
App. No.
12/219,565
Granted
Sep 7, 2010
Kind
B2
Abstract

A digital bit-level repeater for joining two wired-AND buses such as the I 2 C bus is described. A protocol detector is used for tracking clock and data signals to determine the direction of the transfer. A state machine reads and regenerates the clock lines of both buses and provides the clock-stretching protocol feature on both buses. The repeater is designed to pass data bits from one bus to the other transparently when possible, and to latch and hold each data bit until the receiving bus can be clocked when clock-stretching occurs or when the bus is turned around.

Claims (57)

1. A digital repeater for repeating bidirectional signals between a host side wired-AND bus connected to a master device, the host side wired-AND bus comprising a host side serial clock line (SCLH) and a host side serial data line (SDAH), and a remote side wired-AND bus connected to a slave device, the remote side wired-AND bus comprising a remote side serial clock line (SCLR) and a remote side serial data line (SDAR), the digital repeater comprising:

an internal repeater logic circuitry;

two host side serial line interface cells for interfacing between the internal repeater logic circuitry and the host side serial clock and data lines;

two remote side serial line interface cells for interfacing between the internal repeater logic circuitry and the remote side serial clock and data lines;

a START/STOP detector for receiving signals from the host side serial clock and data lines and determining start and stop flags indicating START and STOP conditions respectively on the wired-AND bus;

a protocol sequencer for receiving signals from the remote side serial clock and data lines, determining whether the master device on the host side wired-AND bus or the slave device on the remote side wired-AND bus is transmitting, and asserting a “slaveData” flag to indicate that the slave device is transmitting; and

a state machine for receiving clock signals arriving on the host and remote side serial clock lines, receiving the start, stop, and “slaveData” flags, and sending clock signals on the host and remote side serial clock lines and determining whether to pass, hold, or force serial data signals on the host and remote side serial data lines, wherein to pass is to pass a signal through the repeater, to hold is to hold a signal at a previous value, and to force is to set a signal on one side of the repeater to a logical zero LO or a logical one HI regardless of the signal on the other side of the repeater.

2. The digital repeater of claim 1 , further including a data-line controller for passing, holding or forcing the serial data signals under control of the state machine.

3. The digital repeater of claim 2 , wherein the data-line controller includes:

a transparent host side latch for passing or holding the SDAH under control of the state machine;

a transparent remote side latch for passing or holding the SDAR under control of the state machine;

a switch allowing the SDAR to float under control of the state machine; and

a Field Effect Transistor (FET) for grounding the SDAR under control of the state machine.

4. The digital repeater of claim 1 , wherein the state machine is always in one of a plurality of N states, and each successor state is reached by a trigger condition derived from signals received by the state machine.

5. The digital repeater of claim 4 , wherein N=18.

6. The digital repeater of claim 4 , wherein the N states of the state machine include:

at least one state having a plurality of successor states, a first one of which is triggered when the “slaveData” flag is logical “0” and a second one of which is triggered when the “slaveData” flag is logical “1”.

7. The digital repeater of claim 4 , wherein the N states of the state machine include:

at least one state having a plurality of successor states, a first one of which is triggered when the start flag is determined and a second one of which is triggered when the stop flag is determined.

8. The digital repeater of claim 4 , wherein the state machine is associated with a timer and includes at least one state for which the trigger is a time out of the timer.

9. A method for repeating bidirectional signals between a host side wired-AND bus connected to a master device, the host side wired-AND bus comprising a host side serial clock line (SCLH) and a host side serial data line (SDAH), and a remote side wired-AND bus connected to a slave device, the remote side wired-AND bus comprising a remote side serial clock line (SCLR) and a remote side serial data line (SDAR), the method comprising:

receiving each of the bidirectional signals of the host side and remote side wired-AND buses;

extracting in serial line interface cells unidirectional clock and data receive signals from the bidirectional signals of the serial clock and data lines;

processing the unidirectional clock and data receive signals to generate unidirectional clock and data transmit signals;

outputting the unidirectional clock and data transmit signals on the host side and remote side wired-AND buses through the serial line interface cells;

determining start and stop flags from the unidirectional clock and data receive signals; and

determining from the unidirectional clock and data receive signals whether a master device on the host side wired-AND bus or a slave device on the remote side wired-AND bus is transmitting, and asserting a “slaveData” flag to indicate that the slave device is transmitting;

the step of processing including:

triggering a state machine with the unidirectional clock receive signals, and the start, stop, and “slaveData” flags; and

outputting from the state machine the unidirectional clock transmit signals, according to a state reached in the state machine.

10. The method of claim 9 , further including:

outputting one or more control signals from the state machine according to the state reached in the state machine and generating the unidirectional data transmit signals according to the control sigma by passing the unidirectional data receive signals through, holding the unidirectional data transmit signals at their previous value, or forcing them, wherein to force is to set to a logical zero LO or a logical one HI regardless of the value of the unidirectional data receive signals.

11. The method of claim 10 , wherein the outputting control signals includes:

outputting a master data control signal,

one value of which to cause the value of SDAR to pass to SDAH, another value to cause the previous value of SDAH to be held.

12. The method of claim 11 , wherein the outputting control signals comprises:

outputting a slave data control signal,

one value of which to cause the value of SDAH to pass to SDAR,

a second value of which to cause the previous value of SDAR to be held,

a third value of which to cause SDAR to float HI, and

a fourth value of which to set SDAR to LO.

13. The method of claim 9 , wherein the triggering includes triggering the state machine from one of a plurality of N states, into a successor state that is a distinct other of the plurality of N states.

14. The method of claim 13 , wherein N=18.

15. The method of claim 13 , wherein the triggering includes triggering at least one state having a plurality of successor states, a first one of which is triggered when the “slaveData” flag is logical “0” and a second one of which is triggered when the “slaveData” flag is logical “1”.

16. The method of claim 13 , wherein the triggering includes triggering at least one, state having a plurality of successor states, a first one of which is triggered when the start flag is determined and a second one of which is triggered when the stop flag is determined.

17. The method of claim 13 , wherein the triggering includes triggering with a timer.

18. The digital repeater of claim 1 , wherein the wired-AND bus is an I 2 C bus.

19. The method of claim 9 , wherein the wired-AND bus is an I 2 C bus.

20. A communication system, comprising:

a master device connected to a host side wired-AND bus, and a slave device connected to a remote side wired-AND bus, wherein the host side wired-AND bus is joined to the remote side wired-AND bus by a digital repeater to provide a communication path between the master device and the slave device;

wherein said digital repeater is provided for repeating bidirectional signals between the host side wired-AND bus connected to the master device, the host side wired-AND bus comprising a host side serial clock line (SCLH) and a host side serial data line (SDAH), and the remote side wired-AND bus connected to the slave device, the remote side wired-AND bus comprising a remote side serial clock line (SCLR) and a remote side serial data line (SDAR), the digital repeater comprising:

an internal repeater logic circuitry;

two host side serial line interface cells for interfacing between the internal repeater logic circuitry and the host side serial clock and data lines;

two remote side serial line interface cells for interfacing between the internal repeater logic circuitry and the remote side serial clock and data lines;

a START/STOP detector for receiving signals from the host side serial clock and data lines and determining start and stop flags indicating START and STOP conditions respectively on the wired-AND bus;

a protocol sequencer for receiving signals from the remote side serial clock and data lines, determining whether the master device on the host side wired-AND bus or the slave device on the remote side wired-AND bus is transmitting, and asserting a “slaveData” flag to indicate that the slave device is transmitting; and

a state machine for receiving clock signals arriving on the host and remote side serial clock lines, receiving the start, stop, and “slaveData” flags, and sending clock signals on the host and remote side serial clock lines and determining whether to pass, hold, or force serial data signals on the host and remote side serial data lines, wherein to pass is to pass a signal through the repeater, to hold is to hold a signal at a previous value, and to force is to set a signal on one side of the repeater to a logical zero LO or a logical one HI regardless of the signal on the other side of the repeater.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2025
From: SPECTRA7 MICROSYSTEMS (IRELAND) LIMITED
To: PARADE TECHNOLOGIES, LTD.
Reel/Frame 071332/0354 →
CHANGE OF NAME Recorded Mar 21, 2025
From: REDMERE TECHNOLOGY LIMITED
To: SPECTRA7 MICROSYSTEMS (IRELAND) LIMITED
Reel/Frame 070582/0470 →
RELEASE OF SECURITY INTEREST Recorded Dec 7, 2018
From: SPECTRA 7 MICROSYSTEMS (IRELAND) LIMITED; SPECTRA7 MICROSYSTEMS CORP., AS SUCCESSOR IN INTEREST TO FRESCO MICROCHIP INC.; SPECTRA7 MICROSYSTEMS LTD.
To: MIDCAP FINANCIAL TRUST, AS AGENT
Reel/Frame 047742/0404 →
SECURITY INTEREST Recorded Apr 5, 2016
From: SPECTRA7 MICROSYSTEMS (IRELAND) LIMITED, AS SUCCESSOR IN INTEREST TO REDMERE TECHNOLOGY LIMITED
To: MIDCAP FINANCIAL TRUST, AS AGENT
Reel/Frame 038358/0681 →
RELEASE OF SECURITY INTEREST Recorded Apr 4, 2016
From: COMERICA BANK, A TEXAS BANKING ASSOCIATION AND AUTHORIZED FOREIGN BANK UNDER THE BANK ACT (CANADA)
To: SPECTRA7 MICROSYSTEMS (IRELAND) LIMITED, AS SUCCESSOR IN INTEREST TO REDMERE TECHNOLOGY LIMITED
Reel/Frame 038182/0265 →
SECURITY AGREEMENT Recorded Feb 22, 2013
From: REDMERE TECHNOLOGY LIMITED
To: COMERICA BANK, A TEXAS BANKING ASSOCIATION AND AUTHORIZED FOREIGN BANK UNDER THE BANK ACT (CANADA)
Reel/Frame 029854/0663 →
CHANGE OF ADDRESS Recorded Aug 10, 2011
From: REDMERE TECHNOLOGY LTD.
To: REDMERE TECHNOLOGY LTD.
Reel/Frame 026731/0548 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2008
From: TRAVERS, JAMES DENIS; RYAN, PADRAIG
To: REDMERE TECHNOLOGY LTD.
Reel/Frame 021332/0733 →
Continuity (2)
Provisional Application 6093508000 · Jul 25, 2007
Related Publication 20090031065A1 · Jan 29, 2009