IP Library Granted Patent US 9,524,264
Granted Patent B2
US 9,524,264 · App. 14/316,026 · Granted Dec 20, 2016

Generating combined bus clock signals using asynchronous master device reference clocks in shared bus systems, and related methods, devices, and computer-readable media

Inventors: Yossi Amon (Kiryat Tivon, IL); David Asher Friedman (Zichron-Yaakov, IL); Ben Levin (Haifa, IL); Sharon Graif (Zichron-Yaakov, IL)
Assignee: QUALCOMM Incorporated
G06F13/4226G06F13/364G06F13/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 9,524,264
App. No.
14/316,026
Granted
Dec 20, 2016
Kind
B2
Abstract

Generating combined bus clock signals using asynchronous master device reference clocks in shared bus systems, and related methods, devices, and computer-readable media are disclosed. In one aspect, a method for generating combined bus clock signals comprises detecting a start event by each master device of multiple master devices communicatively coupled to a shared clock line of a shared bus. Each master device samples a plurality of shared clock line values of the shared clock line at a corresponding plurality of transitions of a reference clock signal for the master device. Each master device determines whether the plurality of shared clock line values is identical. If the shared clock line values are identical, each master device drives a shared clock line drive value inverse to the plurality of shared clock line values to the shared clock line at a next transition of the reference clock signal for the master device.

Claims (57)

1. A method for generating combined bus clock signals, comprising:

detecting a start event by each master device of one or more master devices communicatively coupled to a shared clock line of a shared bus;

sampling, by each master device, a plurality of shared clock line values of the shared clock line at a corresponding plurality of transitions of a reference clock signal for the master device;

determining, by each master device, whether the plurality of shared clock line values is identical; and

responsive to determining that the plurality of shared clock line values is identical, driving, by each master device, a shared clock line drive value inverse to the plurality of shared clock line values to the shared clock line at a next transition of the reference clock signal for the master device.

2. The method of claim 1 , further comprising sampling the shared clock line drive value as a next shared clock line value of the shared clock line.

3. The method of claim 1 , wherein:

a ratio of a fastest reference clock signal and a slowest reference clock signal among reference clock signals for the one or more master devices is less than 4:3; and

determining whether the plurality of shared clock line values is identical comprises determining whether two most recent shared clock line values are identical.

4. The method of claim 1 , wherein:

a ratio of a fastest reference clock signal and a slowest reference clock signal among reference clock signals for the one or more master devices is greater than or equal to 3:2; and

determining whether the plurality of shared clock line values is identical comprises determining whether three most recent shared clock line values are identical.

5. The method of claim 1 , wherein detecting the start event comprises detecting a start of bus arbitration among the one or more master devices for access to the shared bus.

6. The method of claim 1 , wherein each transition of the plurality of transitions of the reference clock signal comprises a rising edge of the reference clock signal.

7. The method of claim 1 , wherein each transition of the plurality of transitions of the reference clock signal comprises a falling edge of the reference clock signal.

8. A master device, comprising:

a communications interface communicatively coupled to a shared bus comprising a shared clock line; and

a control system configured to:

detect a start event on the shared clock line;

sample a plurality of shared clock line values of the shared clock line at a corresponding plurality of transitions of a reference clock signal for the master device;

determine whether the plurality of shared clock line values is identical; and

responsive to determining that the plurality of shared clock line values is identical, driving a shared clock line drive value inverse to the plurality of shared clock line values to the shared clock line at a next transition of the reference clock signal for the master device.

9. The master device of claim 8 , further configured to sample the shared clock line drive value as a next shared clock line value of the shared clock line.

10. The master device of claim 8 , configured to determine whether the plurality of shared clock line values is identical by determining whether two most recent shared clock line values are identical.

11. The master device of claim 8 , configured to determine whether the plurality of shared clock line values is identical by determining whether three most recent shared clock line values are identical.

12. The master device of claim 8 , configured to detect the start event by detecting a start of bus arbitration among one or more master devices for access to the shared bus.

13. The master device of claim 8 , configured to sample the plurality of shared clock line values of the shared clock line at the corresponding plurality of transitions of the reference clock signal for the master device by sampling the plurality of shared clock line values at a corresponding plurality of rising edges of the reference clock signal.

14. The master device of claim 8 , configured to sample the plurality of shared clock line values of the shared clock line at the corresponding plurality of transitions of the reference clock signal for the master device by sampling the plurality of shared clock line values at a corresponding plurality of falling edges of the reference clock signal.

15. The master device of claim 8 integrated into an integrated circuit (IC).

16. The master device of claim 8 integrated into a device selected from the group consisting of a set top box, an entertainment unit, a navigation device, a communications device, a fixed location data unit, a mobile location data unit, a mobile phone, a cellular phone, a computer, a portable computer, a desktop computer, a personal digital assistant (PDA), a monitor, a computer monitor, a television, a tuner, a radio, a satellite radio, a music player, a digital music player, a portable music player, a digital video player, a video player, a digital video disc (DVD) player, and a portable digital video player.

17. A master device, comprising:

a means for detecting a start event on a shared clock line of a shared bus;

a means for sampling a plurality of shared clock line values of the shared clock line at a corresponding plurality of transitions of a reference clock signal for the master device;

a means for determining whether the plurality of shared clock line values is identical; and

a means for, responsive to determining that the plurality of shared clock line values is identical, driving a shared clock line drive value inverse to the plurality of shared clock line values to the shared clock line at a next transition of the reference clock signal for the master device.

18. A non-transitory computer-readable medium having stored thereon computer-executable instructions to cause a processor to:

detect a start event on a shared clock line of a shared bus;

sample a plurality of shared clock line values of the shared clock line at a corresponding plurality of transitions of a reference clock signal;

determine whether the plurality of shared clock line values is identical; and

responsive to determining that the plurality of shared clock line values is identical, drive a shared clock line drive value inverse to the plurality of shared clock line values to the shared clock line at a next transition of the reference clock signal.

19. The non-transitory computer-readable medium of claim 18 having stored thereon computer-executable instructions to further cause the processor to sample the shared clock line drive value as a next shared clock line value of the shared clock line.

20. The non-transitory computer-readable medium of claim 18 having stored thereon computer-executable instructions to cause the processor to determine whether the plurality of shared clock line values is identical by determining whether two most recent shared clock line values are identical.

21. The non-transitory computer-readable medium of claim 18 having stored thereon computer-executable instructions to cause the processor to determine whether the plurality of shared clock line values is identical by determining whether three most recent shared clock line values are identical.

22. The non-transitory computer-readable medium of claim 18 having stored thereon computer-executable instructions to cause the processor to detect the start event by detecting a start of bus arbitration among one or more master devices for access to the shared bus.

23. The non-transitory computer-readable medium of claim 18 having stored thereon computer-executable instructions to cause the processor to sample the plurality of shared clock line values of the shared clock line at the corresponding plurality of transitions of the reference clock signal for a master device by sampling the plurality of shared clock line values at a corresponding plurality of rising edges of the reference clock signal.

24. The non-transitory computer-readable medium of claim 18 having stored thereon computer-executable instructions to cause the processor to sample the plurality of shared clock line values of the shared clock line at the corresponding plurality of transitions of the reference clock signal for a master device by sampling the plurality of shared clock line values at a corresponding plurality of falling edges of the reference clock signal.

25. A method for generating combined bus clock signals, the method comprising:

at a first master device:

detecting a start event at the first master device communicatively coupled to a shared clock line of a shared bus;

sampling, by the first master device, a plurality of shared clock line values of the shared clock line at a corresponding plurality of transitions of a reference clock signal for the first master device;

determining whether the plurality of shared clock line values is identical; and

responsive to determining that the plurality of shared clock line values is identical, driving, by the first master device, a shared clock line drive value inverse to the plurality of shared clock line values to the shared clock line at a next transition of the reference clock signal for the first master device; and

concurrently at a second master device:

detecting the start event at the second master device communicatively coupled to the shared clock line of the shared bus;

sampling, by the second master device, a second plurality of shared clock line values of the shared clock line at a corresponding second plurality of transitions of the reference clock signal for the second master device;

determining whether the second plurality of shared clock line values is identical; and

responsive to determining that the second plurality of shared clock line values is identical, driving, by the second master device, a second shared clock line drive value inverse to the second plurality of shared clock line values to the shared clock line at the next transition of the reference clock signal for the second master device such that, collectively between actions of the first master device and the second master device, a combined clock signal is created on the shared clock line.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2014
From: AMON, YOSSI; FRIEDMAN, DAVID ASHER; LEVIN, BEN; GRAIF, SHARON
To: QUALCOMM INCORPORATED
Reel/Frame 033674/0198 →
Continuity (1)
Related Publication 20150378955A1 · Dec 31, 2015