IP Library Granted Patent US 12,158,687
Granted Patent B2
US 12,158,687 · App. 17/320,528 · Granted Dec 3, 2024

System and method for providing increased number of time synchronized outputs by using communicating primary and secondary devices

Inventors: Sachin Deo (Austin, TX); Nariankadu D. Hemkumar (Austin, TX); Akhilesh Persha (Austin, TX); Younes Djadi (Austin, TX)
Assignee: Cirrus Logic, Inc.
G03B13/36G03B5/04G03B2205/0015G03B2205/0069
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,158,687
App. No.
17/320,528
Granted
Dec 3, 2024
Kind
B2
Abstract

A system includes primary and secondary devices (e.g., camera controllers that drive voice coil motors) each having respective outputs and a communication link. The primary device includes first and second hardware timers, each of which expires at a time derived from a periodic control loop trigger. At first timer expiration, the primary transmits first updated values to the secondary. At second timer expiration, primary device hardware picks up and applies second updated values to the primary device outputs. In response to receiving the first updated values from the primary device, the secondary device applies the received first updated values to its outputs. The primary/secondary device combination provide a sufficient number of total outputs that they could not individually provide and further synchronize the outputs with small skew through the timers, which are programmable to also accommodate processing of inputs (e.g., from voice coil motor sensors) to compute the outputs.

Claims (54)

1. A system, comprising:

a primary device and a secondary device each having one or more respective outputs;

a communication link between the primary device and the secondary device;

wherein the primary device comprises first and second hardware timers, each of which expires at a time derived from a periodic control loop trigger;

wherein at expiration of the first timer, the primary device transmits one or more first updated values to the secondary device over the communication link;

wherein at expiration of the second timer, hardware of the primary device picks up and applies one or more second updated values to the one or more outputs of the primary device;

wherein in response to receiving the one or more first updated values from the primary device, the secondary device applies the received one or more first updated values to the one or more outputs of the secondary device; and

wherein the first and second hardware timers are programmed with respective first and second delays relative to one another to:

provide the primary device time to compute the one or more first and second updated values after the control loop trigger;

reduce output skew between the hardware of the primary device picking up and applying the one or more second updated values and the secondary device applying the received one or more first updated values; and/or

reduce output latency between the periodic control loop trigger and application of the one or more first and second updated values to the one or more outputs of the primary device and the secondary device.

2. The system of claim 1 , wherein the primary device and the secondary device are camera controllers.

3. The system of claim 1 , wherein the primary device is further operable in an alternate mode in which, rather than using the first and second hardware timers, the primary device aperiodically receives the first and second updated values from a third device and in response:

transmits to the secondary device over the communication link the one or more first updated values received from the third device; and

applies to the one or more outputs of the primary device the one or more second updated values received from the third device.

4. The system of claim 3 , wherein the primary device comprises a processor that executes program instructions to apply to the one or more outputs of the primary device the one or more second updated values received from the third device as soon as possible.

5. The system of claim 1 , wherein the one or more outputs of the primary device and the secondary device are N outputs in total, wherein each of the primary device and the secondary device individually includes less than N of the total N outputs.

6. The system of claim 1 , wherein the secondary device comprises a processor that executes program instructions to apply the received one or more second updated values as soon as possible.

7. The system of claim 1 , wherein the one or more first and second updated values are computed based on inputs available before the control loop trigger.

8. The system of claim 7 , wherein the inputs are sensed from voice coil motors driven by the outputs of the primary device and the secondary device.

9. The system of claim 1 , wherein the communication link is a half-duplex link.

10. The system of claim 1 , wherein the communication link is a full-duplex link.

11. The system of claim 1 , wherein the outputs drive currents to voice coil motors.

12. The system of claim 1 , further comprising:

an additional secondary device having one or more outputs;

wherein at expiration of the first timer, the primary device transmits one or more third updated values to the additional secondary device; and

wherein in response to receiving the one or more third updated values from the primary device, the additional secondary device applies the received one or more third updated values to the one or more outputs of the additional secondary device.

13. A method for synchronizing outputs of a primary device and a secondary device each having one or more respective outputs and a communication link between them, comprising:

running first and second hardware timers of the primary device, each of which expires at a time derived from a periodic control loop trigger;

transmitting, by the primary device at expiration of the first timer, one or more first updated values to the secondary device over the communication link;

picking up and applying, by hardware of the primary device at expiration of the second timer, one or more second updated values to the one or more outputs of the primary device;

applying, by the secondary device in response to receiving the one or more first updated values from the primary device, the received one or more first updated values to the one or more outputs of the secondary device; and

programming the first and second hardware timers with respective first and second delays relative to one another to:

provide the primary device time to compute the one or more first and second updated values after the control loop trigger;

reduce output skew between the hardware of the primary device picking up and applying the one or more second updated values and the secondary device applying the received one or more first updated values; and/or

reduce output latency between the periodic control loop trigger and application of the one or more first and second updated values to the one or more outputs of the primary and secondary devices.

14. The method of claim 13 , wherein the primary device and the secondary device are camera controllers.

15. The method of claim 13 , further comprising:

operating the primary device in an alternate mode in which, rather than using the first and second hardware timers, the primary device aperiodically receives the first and second updated values from a third device and in response:

transmitting to the secondary device over the communication link the one or more first updated values received from the third device; and

applying to the one or more outputs of the primary device the one or more second updated values received from the third device.

16. The method of claim 15 , wherein the primary device comprises a processor that executes program instructions to apply to the one or more outputs of the primary device the one or more second updated values received from the third device as soon as possible.

17. The method of claim 13 , wherein the one or more outputs of the primary device and the secondary device are N outputs in total, wherein each of the primary and secondary devices individually includes less than N of the total N outputs.

18. The method of claim 13 , wherein the secondary device comprises a processor that executes program instructions to apply the received one or more second updated values as soon as possible.

19. The method of claim 13 , further comprising:

computing the one or more first and second updated values based on inputs available before the control loop trigger.

20. The method of claim 19 , further comprising:

sensing the inputs from voice coil motors driven by the outputs of the primary device and the secondary device.

21. The method of claim 13 , wherein the communication link is a half-duplex link.

22. The method of claim 13 , wherein the communication link is a full-duplex link.

23. The method of claim 13 , wherein the outputs drive currents to voice coil motors.

24. The method of claim 13 , further comprising:

transmitting, by the primary device at expiration of the first timer, one or more third updated values to an additional secondary device having one or more outputs; and

applying, by the additional secondary device in response to receiving the one or more third updated values from the primary device, the received one or more third updated values to the one or more outputs of the additional secondary device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2024
From: CIRRUS LOGIC INTERNATIONAL SEMICONDUCTOR LTD.
To: CIRRUS LOGIC, INC.
Reel/Frame 068229/0273 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2021
From: DEO, SACHIN; HEMKUMAR, NARIANKADU D.; PERSHA, AKHILESH; DJADI, YOUNES
To: CIRRUS LOGIC INTERNATIONAL SEMICONDUCTOR LTD.
Reel/Frame 056660/0906 →
Continuity (3)
Provisional Application 63186022 · May 7, 2021
Provisional Application 63024735 · May 14, 2020
Related Publication 20210356843A1 · Nov 18, 2021