IP Library Granted Patent US 8,022,646
Granted Patent B1
US 8,022,646 · App. 12/494,868 · Granted Sep 20, 2011

Method and apparatus for spindle motor control

Assignee: Marvell International 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 8,022,646
App. No.
12/494,868
Filed
Jun 30, 2009
Granted
Sep 20, 2011
Kind
B1
Examiner
LEYKIN, RITA
Art Unit
2837
USPC
318/268
Abstract

Information indicative of the placement of spindle motor components may be obtained and used to provide a correction to one or more BEMF-derived attributes used to control the spindle speed. In some implementations, first and second signals indicative of BEMF of different stator windings may be used to determine a speed-related characteristic. The speed related characteristic may be used to determine an error amount, which may be used to determine a correction factor to control the speed of the spindle motor.

Claims (58)

1. A method comprising:

receiving timing information associated with a first stator winding and a second stator winding of a spindle motor, the timing information being generated based on a rotational speed of the spindle motor;

determining position information including physical positions of the first and second windings relative to each other;

comparing the received timing information with reference information; and

adjusting the rotational speed of the spindle motor based on the comparison and the position information.

2. The method of claim 1 , where receiving timing information includes receiving information indicative of zero crossings associated with the first stator winding and the second stator winding,

where comparing the received timing information includes identifying a time difference between the zero crossings and the reference information.

3. The method of claim 1 , further comprising:

receiving the reference information including reference timing information,

where comparing the received timing information includes determining a time difference between the received timing information and the reference timing information.

4. The method of claim 3 , where the reference timing information corresponds to a target speed of the spindle motor.

5. The method of claim 4 , where adjusting the rotational speed includes adjusting the rotational speed based on the time difference to match the target speed of the spindle motor.

6. The method of claim 1 , where comparing the received timing information includes identifying one or more timing errors between the received timing information and the reference information.

7. The method of claim 6 , where adjusting the rotational speed includes:

determining a correction factor based on the one or more identified timing errors; and

adjusting the rotational speed based on the correction factor.

8. The method of claim 7 , where:

identifying one or more timing errors includes:

measuring the one or more timing errors over one or more revolutions of the spindle motor; and

averaging the one or more measured timing errors to generate an average error; and

determining the correction factor includes determining the correction factor based on the average error.

9. The method of claim 6 , further comprising filtering the one or more identified timing errors to generate one or more filtered timing errors,

where adjusting the rotational speed includes adjusting the rotational speed based on the one or more filtered timing errors.

10. The method of claim 1 , further comprising:

receiving the reference information including receiving a reference clock,

where comparing the received timing information includes determining a phase error indicative of a time difference between the received timing information and the reference clock.

11. The method of claim 10 , further comprising:

determining a non-zero mean value associated with a phase error; and

determining a corrected phase error based on the non-zero mean value and the phase error,

where adjusting the rotational speed includes adjusting the rotational speed based on the corrected phase error.

12. The method of claim 1 , where receiving timing information includes:

receiving a first signal indicative of a first back electromotive force (BEMF) induced in the first stator winding;

receiving a second signal indicative of a second BEMF induced in the second stator winding; and

identifying a spacing interval between the first stator winding and the second stator winding based on the first signal and the second signal.

13. The method of claim 12 , further comprising:

receiving the reference information indicative of a target spacing interval,

where comparing the received timing information includes determining a timing error based on the identified spacing interval and the target spacing interval.

14. The method of claim 13 , further comprising:

filtering the timing error; and

determining a corrected timing error based on the determined timing error and the filtered timing error.

15. The method of claim 1 , where receiving timing information includes:

identifying a first timing mark associated with the first stator winding including time-stamping the first timing mark;

identifying a second timing mark associated with the second stator winding including time-stamping the second timing mark; and

determining a time interval based on the first time-stamped timing mark and the second time-stamped timing mark.

16. The method of claim 15 , where comparing the received timing information includes comparing the time interval with a target time interval; and

where adjusting the rotational speed includes:

increasing the rotational speed if the time interval is longer than the target interval; and

decreasing the rotational speed if the time interval is shorter than the target interval.

17. A spindle motor controller comprising:

one or more inputs configured to receive timing information from a spindle motor, the timing information including timing information associated with a first stator winding and a second stator winding of the spindle motor, the timing information being generated based on a rotational speed of the spindle motor; and

a module configured to:

determine position information including physical positions of the first and second windings relative to each other;

compare the received timing information with reference information; and

adjust the rotational speed of the spindle motor based on the comparison and the position information.

18. The controller of claim 17 , where the timing information includes information indicative of zero crossings associated with the first stator winding and the second stator winding,

where the processor compares the received timing information by identifying a time difference between the zero crossings and the reference information.

19. The controller of claim 17 , where the module includes one or more circuits configured to determine the position information, compare the received timing information and adjust the rotational speed of the spindle motor.

20. The controller of claim 17 , where the module includes a processor executing software instructions to determine the position information, compare the received timing information and adjust the rotational speed of the spindle motor.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053475/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: MARVELL INTERNATIONAL LTD.
To: CAVIUM INTERNATIONAL
Reel/Frame 052918/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2011
From: SUTARDJA, PANTAS; RICHGELS, JERRY
To: MARVELL SEMICONDUCTOR, INC.
Reel/Frame 026288/0823 →
CHANGE OF NAME Recorded May 17, 2011
From: MARVELL SEMINCONDUCTOR, INC.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 026288/0847 →
Continuity (3)
Continuation 12098008 · Apr 4, 2008
Continuation 10752601 · Jan 6, 2004
Provisional Application 60471800 · May 20, 2003