Reduced acoustic noise during spin-up by driving a spindle motor open loop using sinusoidal signals
A disk drive is disclosed comprising a disk, a head actuated over the disk, and a spindle motor for rotating the disk, wherein the spindle motor comprises a plurality of windings. During a spin-up operation of the disk, a sinusoidal driving signal is applied to each winding of the spindle motor for a spin-up interval, wherein during at least eighty percent of the spin-up interval the sinusoidal driving signals are applied to the windings of the spindle motor open loop.
Latest Western Digital Technologies, Inc. Patents:
The control circuitry 12 commutates the windings of the spindle motor 8 over commutation intervals using any suitable commutation sequence. For example, commutation logic 14 may control switches 16 to commutate the windings of the spindle motor 8 in a two-phase, three-phase, or hybrid two-phase/three-phase commutation sequence. A commutation controller 18 applies a control signal 20 to the commutation logic 14 in order to transition between the commutation states.
The windings of the spindle motor 8 are connected to a back electromotive force (BEMF) detector 22 which detects threshold crossings (e.g., zero crossings) in the BEMF voltage generated by the windings with respect to the center tap. Since the BEMF voltage is distorted when current is flowing, the commutation controller 18 signals the BEMF detector 22 over line 23 when an “open” winding is generating a valid BEMF signal. At each BEMF threshold crossing the BEMF detector 22 toggles a signal to generate a square wave signal 24. The frequency of the BEMF threshold crossings and thus the frequency of the square wave signal 24 represent the speed of the spindle motor 8. The commutation controller 18 evaluates the square wave signal 24 and adjusts the control signal 20 in order to control the speed of the spindle motor 8.
The spindle motor 8 may be driven using any suitable driving signals, such as with square or trapezoidal waves, but the preferred driving signal is a sinusoidal wave. Example sinusoidal driving signals applied to the windings of the spindle motor 8 are shown in
When the disk 2 is spun up after the disk drive is powered on or exits an idle mode, the BEMF signal 24 is not a reliable velocity sensor. Therefore, the prior art typically employs some other form of closed loop feedback to spin-up the disk 2, such a technique referred to as inductive sense. With inductive sense, the BEMF detector 22 periodically senses the angular position of the spindle motor 8 and generates a corresponding inductive sense signal 26. The commutation controller 18 processes the inductive sense signal 26 in order to commutate the windings of the spindle motor 8 at the appropriate time. A problem with using inductive sense as closed loop feedback during spin-up is the acoustic noise generated each time the driving signals are disabled (or modified) in order to make an inductive sense measurement.
In the embodiment of
The control circuitry 34 commutates the windings of the spindle motor 32 over commutation intervals using any suitable commutation sequence. For example, commutation logic 40 may control switches 42 to commutate the windings of the spindle motor 32 in a two-phase, three-phase, or hybrid two-phase/three-phase commutation sequence. A commutation controller 44 applies a control signal 46 to the commutation logic 40 in order to transition between the commutation states.
The windings of the spindle motor 32 are connected to a back electromotive force (BEMF) detector 48 which detects threshold crossings (e.g., zero crossings) in a BEMF voltage generated by the windings with respect to the center tap. Since the BEMF voltage is distorted when current is flowing, the commutation controller 44 signals the BEMF detector 48 over line 50 when an “open” winding is generating a valid BEMF signal. At each BEMF threshold crossing the BEMF detector 48 toggles a signal to generate a square wave signal 52. The frequency of the BEMF threshold crossings and thus the frequency of the square wave signal 52 represent the speed of the spindle motor 32. The commutation controller 44 evaluates the square wave signal 52 and adjusts the control signal 46 in order to control the speed of the spindle motor 32.
During at least eighty percent of a spin-up interval, the commutation controller 44 drives the windings of the spindle motor open loop using sinusoidal driving signals which may be generated in any suitable manner, such as in continuous time or discrete time. In one embodiment, the sinusoidal driving signals are generated in discrete time using a sine table 54 as shown in
In one embodiment, the sine table 54 of
In the example of
In one embodiment, the control circuitry 34 initializes the sinusoidal driving signals in response to an initial angular position of the spindle motor and an initial angular velocity of the spindle motor. Referring again to the embodiment of
The sine table 54 may be generated in any suitable manner. In an embodiment illustrated in the flow diagram of
In the embodiment of
A number of spindle motor parameters are configured (step 66), and in one embodiment, each parameter value is generated using a random number in order to uniformly distribute the parameter values over the plurality of Monte Carlo iterations. The parameter values correspond to possible values that a spindle motor of a production disk drive may take on. For example, the winding resistance may vary from drive to drive, as well as vary over time due to environmental conditions such as temperature. In the embodiment of
-
- Initial Position—Initial spindle motor position.
- Initial Velocity—Initial spindle motor velocity.
- Load Torque—One or more of opposing torques (e.g., windage friction and/or bearing friction) acting on the spindle motor.
- Kepk—Defines the developed torque that opposes the load torque acting on the spindle motor.
- Rwinding—Phase to phase coil winding resistance of the spindle motor.
- Rdriver—The on-state resistance of the driver MOSFETs.
- Risofet—The on-state resistance of the MOSFET that is used to isolate the input supply to the motor supply.
- Rtrace—The resistance from the power ASIC to the motor connections.
- Rcontact—The resistance of the PCBA to HDA contact point.
- Vsupply—The input supply voltage.
After configuring the spindle motor parameters, a Monte Carlo iteration is executed by simulating a spin-up operation (step 68) over the current time interval (one Δt) as shown in
When the number of Monte Carlo iterations is reached (step 78), and the minimum rpm is less than the target rpm (step 82), then the current entry of the sine table is configured (step 84) based on the minimum angular position of the spindle motor across all of the Monte Carlo iterations. A change in the minimum position ΔP is computed as a difference between the current minimum position and the previous minimum position, and the change in position ΔP is used to configure the current sine table entry with the corresponding number of steps. For example, consider the first entry of the sine table corresponding to the first time interval Δt of
After configuring the current entry of the sine table, the next entry of the sine table is configured (step 86) with an estimate of the next change in position for the next time interval. In the embodiment of
The flow diagram of
In one embodiment, after defining the sine table by running spin-up simulations over the Monte Carlo iterations, the sine table is copied into each production disk drive during manufacturing. For example, the sine table may be stored in a non-volatile semiconductor memory (e.g., a Flash memory) of each production disk drive.
In the embodiment of
Any suitable control circuitry may be employed to implement the flow diagrams in the embodiments of the present invention, such as any suitable integrated circuit or circuits. For example, the control circuitry may be implemented within a power chip, or in a component separate from the power chip, such as a disk controller, or certain steps described above may be performed by a power chip and others by a disk controller. In one embodiment, the power chip and disk controller are implemented as separate integrated circuits, and in an alternative embodiment they are fabricated into a single integrated circuit or system on a chip (SOC). In addition, the control circuitry may include a suitable preamp circuit implemented as a separate integrated circuit, integrated into the power chip or disk controller circuit, or integrated into an SOC.
In one embodiment, the control circuitry comprises a microprocessor executing instructions, the instructions being operable to cause the microprocessor to perform the steps of the flow diagrams described herein. The instructions may be stored in any computer-readable medium. In one embodiment, they may be stored on a non-volatile semiconductor memory external to the microprocessor, or integrated with the microprocessor in a SOC. In yet another embodiment, the control circuitry comprises suitable logic circuitry, such as state machine circuitry.
Claims
1. A disk drive comprising:
- a disk;
- a head actuated over the disk;
- a spindle motor for rotating the disk, the spindle motor comprising a plurality of windings; and
- control circuitry operable to spin-up the disk by applying a sinusoidal driving signal to each winding of the spindle motor for a spin-up interval, wherein during at least eighty percent of the spin-up interval the sinusoidal driving signals are applied to the windings of the spindle motor open loop.
2. The disk drive as recited in claim 1, wherein:
- the windings of the spindle motor generate a back electromotive force (BEMF) voltage; and
- after the spin-up interval, the control circuitry is further operable to apply a driving signal to each winding of the spindle motor closed loop in response to the BEMF voltage.
3. The disk drive as recited in claim 1, wherein a frequency of the sinusoidal driving signals increases over the spin-up interval in order to accelerate the spindle motor.
4. The disk drive as recited in claim 1, wherein:
- the control circuitry is further operable to generate the sinusoidal driving signals using a sine table comprising a plurality of entries;
- each entry comprises a number of steps; and
- each step corresponds to a fraction of a sinusoidal wave.
5. The disk drive as recited in claim 4, wherein each entry corresponds to a fraction of a spin-up interval.
6. The disk drive as recited in claim 4, wherein the number of steps per entry increases over the spin-up interval to accelerate the spindle motor.
7. The disk drive as recited in claim 6, wherein:
- a first entry corresponds to a first fraction of the spin-up interval; and
- a second entry corresponds to a second fraction of the spin-up interval, wherein the second fraction is different than the first fraction.
8. The disk drive as recited in claim 4, wherein the control circuitry is further operable to measure an initial angular position of the spindle motor in order to determine an initial entry in the sine table to generate the sinusoidal driving signals.
9. The disk drive as recited in claim 8, wherein the control circuitry is further operable to measure an initial angular velocity of the spindle motor in order to determine an initial entry in the sine table to generate the sinusoidal driving signals.
10. The disk drive as recited in claim 1, wherein the control circuitry is further operable to measure an initial angular position of the spindle motor in order to initialize the sinusoidal driving signals.
11. The disk drive as recited in claim 10, wherein the control circuitry is further operable to measure an initial angular velocity of the spindle motor in order to initialize the sinusoidal driving signals.
12. A method of tuning sinusoidal signals applied to windings of a spindle motor to spin-up a disk of a disk drive, the disk drive comprising a head actuated over the disk and a sine table comprising a plurality of entries, wherein: the method comprising:
- each entry corresponds to a fraction of a sinusoidal wave; and
- at least two of the entries correspond to different size fractions of the sinusoidal wave;
- initializing a first entry of the sine table;
- performing a first spin-up simulation over a first time interval for a plurality of disk drive spindle motors in response to the first entry; and
- configuring a second entry of the sine table in response to a minimum angular position of the spindle motors after the first spin-up simulation.
13. The method as recited in claim 12, wherein:
- the first entry corresponds to a first fraction of the sinusoidal wave;
- the second entry corresponds to a second fraction of the sinusoidal wave; and
- the second fraction is greater than the first fraction.
14. The method as recited in claim 12, wherein each entry corresponds to a fraction of a spin-up interval.
15. The method as recited in claim 14, wherein:
- the first entry corresponds to a first fraction of the spin-up interval; and
- the second entry corresponds to a second fraction of the spin-up interval, wherein the second fraction is different than the first fraction.
16. The method as recited in claim 12, wherein:
- each entry comprises a number of steps;
- each step corresponds to a fraction of the sinusoidal wave; and
- at least two of the steps correspond to the same size fraction of the sinusoidal wave.
17. The method as recited in claim 16, wherein the number of steps in the second entry is greater than the number of steps in the first entry.
18. The method as recited in claim 12, further comprising:
- performing a second spin-up simulation over a second time interval for a plurality of disk drive spindle motors in response to the first and second entries, wherein the second time interval is greater than the first time interval; and
- configuring a third entry of the sine table in response to a minimum angular position of the spindle motors after the second spin-up simulation.
19. The method as recited in claim 18, wherein the second time interval equals the first time interval plus a fraction of a spin-up interval.
20. The method as recited in claim 12, further comprising configuring a number of spindle motor parameters prior to performing the first spin-up simulation.
21. The method as recited in claim 20, wherein the spindle motor parameters comprises a velocity of the spindle motor.
22. The method as recited in claim 20, further comprising configuring the spindle motor parameters in response to a random number.
5798623 | August 25, 1998 | El-Sadi |
5915861 | June 29, 1999 | Wegmann et al. |
6140793 | October 31, 2000 | Carr et al. |
6236174 | May 22, 2001 | White |
6280088 | August 28, 2001 | Leuthold et al. |
6534936 | March 18, 2003 | Messenger et al. |
6577088 | June 10, 2003 | Heydt et al. |
6825622 | November 30, 2004 | Ryan et al. |
6943523 | September 13, 2005 | Feres |
6946808 | September 20, 2005 | Kandori |
7026781 | April 11, 2006 | Yamazaki et al. |
7071640 | July 4, 2006 | Kurosawa et al. |
7253582 | August 7, 2007 | Ding et al. |
7294982 | November 13, 2007 | Kurosawa et al. |
20020190673 | December 19, 2002 | Brenden et al. |
- George Pelz, “Designing Circuits for Disk Drives”, Proceedings of the International Conference on Computer Design: VLSI in Computers & Processors, Sep. 23, 2001.
Type: Grant
Filed: Jun 26, 2008
Date of Patent: Nov 8, 2011
Assignee: Western Digital Technologies, Inc. (Irvine, CA)
Inventors: Robert P. Ryan (Mission Viejo, CA), Brett A. Henne (Lake Forest, CA), Steven Nemshick (Santa Ana, CA)
Primary Examiner: Bentsu Ro
Assistant Examiner: Thai Dinh
Application Number: 12/146,678
International Classification: H02P 6/18 (20060101);