Abstract:
A continuous automatic calibration system and apparatus using a delta-sigma modulation technique. A first time duration is set. The first time duration is a length of time in terms of clock counts for a calibration procedure. Then, a second time duration occurring during the first time duration is measured. The second time duration is a length of time in terms of clock counts that a counter is operational. A multiplying factor is determined by dividing the first time duration by the second time duration.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates, in general, to driver circuits, and, more particularly, to an automatic calibration system and method for deriving the back electromotive force voltage by sigma-delta modulation.  
           [0003]    2. Relevant Background  
           [0004]    Switched power driver circuits are widely used to generate power suitable for driving loads such as motors. Switched power drivers turn on and off repetitively to supply regulated voltage or current in an efficient manner (i.e., with minimal switching loss). Switched power driver circuits are associated with driver circuits that control, for example, the magnitude (by means of the duty cycle of the on and off cycles), so as to supply a desired amount of power to a load. In a typical application, a power driver circuit is controlled by a system processor, often implemented as a microcontroller IC, that generates commands to the driver circuit. The driver circuit essentially turns on and off in a predefined sequence in response to the received commands. When on, the driver circuit supplies current to the load, and when off, the driver circuit cuts off current supply to the load.  
           [0005]    Permanent magnet motor loads, such as VCM (Voice Coil Motor), act as a motor or a generator. As a motor, the load provides a motion as a response to a voltage or current input. Additionally, if the load is in motion, it can generate a back electromotive force voltage (VBEMF). VBEMF subtracts from the applied voltage such that the motor acceleration responds to the difference in the two voltages.  
           [0006]    In a typical application, such as a VCM motor in a disk drive, the best performance in the head positioning servo system requires that the current in the motor be proportional to the servo controller command. This helps both the positioning of the head over the data track as well as moving the head from the track in an efficient manner.  
           [0007]    Head position control is implemented by a servo control system. Early servo control systems for low density drives used open loop positioning using stepper motor technology. However, at higher densities closed loop solutions are required. Current disk drives, for example, obtain head position information directly from data contained on the disk surface. A track number, in the form of encoded binary data, is recorded at various locations about the disk surface and uniquely identifies each recording track on the disk. Servo position, in the form of sinusoidal burst signals staggered in position between adjacent tracks can be used to determine the position of the head with respect to a track centerline. The track number and servo burst are used to compute a position error signal (PES), which is fed into the electromechanical servo position system.  
           [0008]    In a device driving a permanent magnet motor load such as a VCM, that is both switched mode and voltage mode, the resulting steady state output current to the load is directly proportional to the average voltage applied to the load terminals minus the V BEMF . (I A =(V AVE −V BEMF )/R L ), where R L  is the resistance of the motor load. In a voltage mode driver, the average applied voltage V AVE  is proportional to the input command. The VCM generates V BEMF  in proportion to its velocity. Therefore, for a step of command input, the current in the actuator will decrease as the VCM increases velocity. It is therefore desirable to cancel the voltage loss due to the coil resistance to keep the current applied to the actuator, I A , proportional to the command.  
           [0009]    Hard disks operate by having the read/write heads fly over the surface of the disk platters. However, this floating action occurs only when the platters are spinning. When the platters are not moving, the air cushion dissipates, and the heads float down to contact the surfaces of the platters. This contact occurs when the drive spins down, as soon as the platters stop spinning fast enough, and occurs again when the spindle motor is restarted, until the platters get up to speed. Each time the heads contact the surface of the platters, there is the potential for damage. In addition to friction on these sensitive components, dust can be created as the heads scrape off minute amounts of material from the platters.  
           [0010]    Traditionally, most disk drives have operated in a Contact Start-Stop (CSS) mode, in which heads come to rest on the disk surface when the drive is turned off. During start-up, the heads slide in contact over the disk surface until the disks are spinning sufficiently fast. In order to prevent adhesion of the heads to a smooth disk surface, which could impact drive spin-up, disk surfaces have been textured (roughened) in a precision process. Texturing is performed either uniformly over the entire disk surface or locally in a specific zone at the inner diameter of the disk that is dedicated for starting and stopping. While such texturing techniques have been satisfactory in the past, today&#39;s higher areal density designs require a level of disk surface perfection beyond the texturing needed to support CSS operation.  
           [0011]    In mobile systems, such as laptops and the like, power saving may be achieved by shutting down a disk drive whenever it is idling. Since extending battery life is such a great concern, the rate of performing a disk drive “park” in a mobile system far exceeds that of a desktop. Performing a CSS in a mobile system increases the wear and tear of the read/write head that ultimately leads to a shortening of the life span of a disk drive. Additional concerns of the mobile system are shock robustness and drive capacity. In consideration of those factors, CSS technology is no longer adequate in disk drive technology.  
           [0012]    One possible solution in disk drive technology is the advancement of load/unload technology. In drives that use load/unload technology, a lifting mechanism removes each head from the disk surface prior to power-down and returns the heads to the disk surface only after a sufficient rotation rate has been reached on the next start-up. As a result, head-to-disk contact is significantly reduced, and disk damage from such contact is virtually eliminated.  
           [0013]    In operation, instead of letting the heads fall down to the surface of the disk when the disk&#39;s motor is stopped, the heads are lifted completely off the surface of the disk while the drive is still spinning, using special ramps. Only then are the disks allowed to spin down. When the power is reapplied to the spindle motor, the process is reversed: the disks spin up, and once they are going fast enough to let the heads fly without contacting the disk surface, the heads are moved off the “ramps” and back onto the surface of the platters.  
           [0014]    However, ramp-loading topology is susceptible to temperature induced parameter variations. The objective of the ramp-loading scheme is to be able to control the velocity of the actuator by measuring the back electromotive force voltage (V BEMF ) developed in the motor and using it for velocity feedback. As such, the voltage across the winding resistance (R motor ) in the coil due to motor current must be cancelled out by means of circuit design. Unfortunately, winding resistance is a function of temperature. Therefore, the circuit implemented to cancel out the winding resistance must be able to overcome this challenge.  
           [0015]    [0015]FIG. 1 shows a prior art voltage feedback measurement circuit used in a typical ramp-loading circuit. The bemf op-amp  70  extracts both the V bemf  developed in the voice-coil-motor  40  as well as the undesirable voltage drop across the windings  50  in the motor, R m . To cancel out the winding resistance, the voltage drop across the sense resistor  30 , R s , is extracted through a sense op-amp  60  and multiplied by a K factor. The resulting product is then summed with the op-amp&#39;s output voltage, V bemf . This K value represents the ratio between R s  and R m . By choosing an appropriate K value, V bemf  developed across the motor can be extracted.  
           [0016]    As the voice-coil-motor heats up, the winding resistance also increases. The sense resistor&#39;s resistance increases at the same time, but at a different rate then the winding resistance due to the difference in temperature and temperature coefficient. Therefore, the previously determined K factor is no longer valid and a new value must be determined.  
           [0017]    The existing methods for finding a K value require periodic calibration and updating. This periodic updating can be performed on the ramp, during track following or on the fly. Significantly, the activities of the disk drive are interrupted during any calibration operation. Precious firmware time is traded for updating the K value. Inevitably, this results in a compromise between the read/write time and the performance of the ramp-loading circuit.  
         SUMMARY OF THE INVENTION  
         [0018]    Briefly stated, the present invention involves a method and apparatus for providing a continuous auto-calibration circuit in a hard disk drive system. In one aspect, a first time duration is set, wherein the first time duration is a length of time in terms of clock counts for a calibration procedure. Then, a second time duration during the first time duration is measured, wherein the second time duration is a length of time in terms of clock counts that a counter is operational. Finally, a multiplying factor is determined by dividing the first time duration by the second time duration. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0019]    The aforementioned and other features and objects of the present invention and the manner of attaining them will become more apparent and the invention itself will be best understood by reference to the following description of a preferred embodiment taken in conjunction with the accompanying drawings, wherein:  
         [0020]    [0020]FIG. 1 shows a prior art voltage control loop (VCL) used in a ramp loading circuit;  
         [0021]    [0021]FIG. 2 shows in block diagram form a disk drive control system in which the present invention is implemented;  
         [0022]    [0022]FIG. 3 shows a more detailed view of some of the components shown in FIG. 1;  
         [0023]    [0023]FIG. 4 shows a continuous auto-calibration system that uses a sigma-delta modulation technique for calculating a K-value that cancels the effect of the resistance in a voice-coil motor;  
         [0024]    FIGS.  5 A- 5 C illustrate one example of an automatic calibration procedure; and  
         [0025]    [0025]FIGS. 6A and 6B illustrate an expanded view of the wave forms of FIGS. 5A and 5B. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0026]    The present invention involves a continuous automatic calibration system and methodology in which a sigma-delta modulation technique is used to provide a reasonably accurate K factor. The sigma-delta modulation technique of the present invention is similar to the technique used in analog-to-digital converter (ADC). It is essentially a sampling of the analog signal of interest at a fixed frequency, but sampling beyond the bare minimum to achieve better accuracy. The technique may also be referred to as over-sampling.  
         [0027]    The present invention is particularly described in terms of a disk drive system in which a permanent magnet motor load, such as an actuator or voice coil motor, is being driven. The system does not take up precious firmware time and provides a reasonably accurate K factor with minimum increment in die size.  
         [0028]    [0028]FIG. 2 illustrates in simplified form a drive system  100  in which the present invention is embodied. Disk drive system  100  includes a system processor  113  that processes requests and commands from a host computer  101  that direct the drive system to perform specific behavior involving disk drive assembly  107 . Examples include reading and writing data to disk drive assembly  107 , providing state information such as defect tables, error status, and the like. Disk controller unit  106  includes data processing capacity as well as memory in the form of ROM  112  and buffer memory  104  to generate responses to received commands and requests. The generated responses return data, state information, and/or error codes depending on the particular operation being performed.  
         [0029]    Disk drive assembly  107  implements physical mass storage typically on a plurality of magnetic disks and read/write head electronics for transferring data with the disks. Disk drive assembly  107  typically includes read channel hardware for preprocessing and amplifying data read from the magnetic media as well as a spin motor for spinning the disks, and voice coil motor (VCM) for positioning the read/write head electronics at specific locations with respect to the disk surface(s).  
         [0030]    Servo control  108  generates drive signals that control the VCM and/or spin motors. These drive signals are in the form of precision current signals that drive the motors directly. In accordance with one aspect of the present invention, servo control  108  includes a voltage-mode driver and supplies the drive signals using a power drive circuit such as an H-bridge transistor configuration.  
         [0031]    Host  101  typically comprises a data processing device such as a personal computer, server, workstation or the like that requires access to bulk data storage capabilities of disk drive assembly  107 . Host  101  sends write commands and data via controller  106  to write data onto the disks as well as read commands to retrieve previously written data from disks within disk drive assembly  107 . On both read and write operations the data transmitted from the host  101  to the disk controller  106  includes an indication of a specific location or set of locations on the disk drive assembly that contains the data that is to be accessed.  
         [0032]    The data that is exchanged through disk controller  106  is typically buffered in buffer memory  104  that is accessible via memory controller  109  and subsequently transmitted to disk assembly  107  or host  101 . Buffer memory  104  is used to overcome differences between the speed at which host  101  operates as compared to the speed at which disk assembly  107  operates. In place of or in addition to buffer memory  104 , a cache memory may be implemented by appropriate changes (e.g., tag management, hit/miss detection, and the like) to memory controller  109 .  
         [0033]    [0033]FIG. 3 illustrates some of the components of FIG. 1 in greater detail. As shown in FIG. 2, servo control  108  includes spin control unit  201  that regulates the spin speed of spindle motor  209  in response to commands from system processor  113 . Head position control unit  203  operates through voltage mode driver unit  205  to deliver controlled voltage signals in response to commands from system processor  113  to voice coil motor  207 . These voltage signals cause voice coil motor unit  207  to move read/write head  213  into precision alignment with respect to the surfaces of disk  211 . Although the voltage controlled driver configuration of the present invention is particularly applied to voice coil motor  207 , it may be applicable to drive spin control unit  201  in certain applications.  
         [0034]    Read channel circuit  105  communicates data and control information with the surface of disk  211 . Control information such as servo control data, phase lock oscillator synchronization patterns, and servo bursts are encoded into portions of disk  211 . This information is provided through read channel circuit  105  to system processor  113 . System processor  113  uses this information to compute commands for spin control unit  201  and head position control unit  203 . Due to the nature of a motor load, the computed commands will not result in ideal reactions, hence the computed commands are modified by head position control unit  203  and/or voltage mode driver  205  so as to compensate for the motor characteristics.  
         [0035]    [0035]FIG. 4 illustrates details of an exemplary sigma-delta calibration circuit in accordance with an embodiment of the present invention. In one embodiment, the output of sense amplifier  60  (Vs) and the output of back electromagnetic force amplifier  70  (Vb) are fed to an integrator  429 . The respective outputs may be expressed as follows: 
           Vs=V ref+ Vsr   
           Vb=V ref− Vbr   
         [0036]    Within the context of the present invention, Vref is defined as the value read from integrator  429  without an applied signal. Vs is the voltage output from op-amp  60 , which is an amplification of the voltage across the sense resistor  30 . Vb is the voltage output from op-amp  70 , which is an amplification of the total of the back electromagnetic voltage  40  for the motor and the voltage across the winding  50 . Vsr is the AC component of the voltage across the sense resistor  30  possibly with an associated gain value. Vbr is the AC component of the total of back electromagnetic voltage  40  and voltage across winding  50 , which is the total voltage across the motor, possibly with an associated gain value. For the calibration circuit of the present invention to operate as intended, the condition Vsr&lt;Vbr should be maintained.  
         [0037]    In one embodiment, during track following time, current flowing through VCM is small. As such, the back EMF voltage produced is also small and the value of Vsr and Vbr are small as well. Vsr and Vbr are small because the current Im is small. Since the motor is a reactive component (having inductance), this condition will influence the settling time of the system. Before the system settles down, it is possible for the condition Vsr&lt;Vbr to be violated. Violation of this condition could possibly cause the sigma-delta calibration system to malfunction. In one aspect of the invention, two full wave rectifiers are provided, one each at the output of the sense amplifier and the output of the Vbemf amplifier to ensure the condition Vsr&lt;Vbr is maintained.  
         [0038]    Continuing with the sigma-delta calibration circuit of FIG. 4, the operation of the calibration method may be explained using the following equations. If switchl  415  is initially in the off position or open, Vs will charge capacitor Cint  425 . The input Vint_off (Vint measured at the input to comparator  430  when switchl  415  is off) can be expressed using either of the following equations: 
           V int_off= V ref−( is/C int). t off 
           V int_off= V ref−( Vsr/C int. R ). t off 
         [0039]    Continuing with the example of FIG. 4, at some point during the charging process, Vint becomes less than Vref 1 . Since Vref 1 =Vref 2 , if comparator  430  determines that Vint is less than Vref 2 , switchl  415  turns on, or closes, and the capacitor Cint is discharged by Vb. The output of the integrator Vint_on (Vint measured at the input to comparator  430  when switchl  415  is on) can be expressed using either of the following equations: 
           V int_on= V ref+{( ib−is )/ C int}. t on 
           V int_on= V ref+{( Vbr/C int. R )−( Vsr/C int. R )}. t on 
         [0040]    Since /ΔVint_off/=/ΔVint_on/ when Cint is completely discharged, Δs/Δb=ton/ttotal. If a clock of period Tclk is used to time the charging and discharging time, ton represents Nmeasured.Tclk and ttotal represents Ntotal.Tclk. Nmeasured is therefore defined as the duration of time in terms of clock counts that switchl  415  is turned on or closed and Ntotal is defined as the duration of time in terms of clock counts for the entire calibration process.  
         [0041]    The ratio between Rs and Rm, and therefore the multiplying K factor, can be determined by the ratio between Nmeasured and Ntotal. The following determines such a ratio. From above, Vsr/Vbr=Nmeasured/Ntotal. Since Vsr and Vbr can be mathematically replaced, Rs/Rm=Nmeasured/Ntotal. Therefore K factor=Nmeasured/Ntotal. Ntotal is a pre-determined value used to set the resolution of the sigma-delta calibration system and is set into counter  450 . Nmeasured is an unknown parameter that is extracted from the system by means of a counter  440 .  
         [0042]    With reference to FIG. 4, a signal may be provided by the microcontroller  400  to indicate if the hard disk drive (HDD) is in seeking or track-following mode. When the HDD is in track-following mode, switch 2   435  is closed and the clock  460  is enabled by switch logic  470 . The sigma-delta calibration system performs calibration. When the HDD is in seeking mode, switch 2   435  is opened and the clock is stopped. Opening switch 2   435  preserves the magnitude of charge that is stored in the capacitor Cint prior to entering seeking mode. The Ntotal counter  450  and Nmeasured counter  440  will cease counting because the clock is stopped. The Ntotal and Nmeasured values will be maintained that were existing prior to entering seeking mode.  
         [0043]    When the HDD begins its next track-following mode, switch 2   435  will close, the clock will enable, and Ntotal counter  450  and Nmeasured counter  440  will resume counting. As such, the sigma-delta calibration system will resume its calibration. The above-mentioned activities will repeat continuously until the preprogrammed value of Ntotal expires. At this point, the K-factor logic will process the Ntotal and the final Nmeasured and derive the ratio between Rs and Rm. The result is passed to microcontroller  400 .  
         [0044]    FIGS.  5 A- 5 C illustrate one example of a sigma-delta automatic calibration operation. Taking into consideration that K factor=Nmeasured/Ntotal, the operation calculates a value for both Nmeasured and Ntotal. In the illustrated embodiment, the total sample count, Ntotal, is set at 80. Ntotal is shown in wave form in FIG. 5A as V(CLK). Continuing with the illustrated example, FIG. 5B shows the wave pattern for Nmeasured, depicted as V(CLKIN). Nmeasured is calculated during track following time, depicted in FIG. 5C as V(TRACKING).  
         [0045]    In the illustrated example, V(TRACKING) is set to 20 clock counts. Therefore, Nmeasured is determined during the 20 clock cycles. Since Ntotal is set to 80 total clock cycles, 4 periods of V(TRACKING) are necessary to determine Nmeasured. The sigma-delta calibration system samples for the first 20 clock counts and records the Nmeasured 1 . Then, the system waits for the next track-following period, conducts sampling the next 20 clock counts and adds Nmeasured 2  to Nmeasured 1 . The operation continues until the pre-determined total sample count of 80 is reached. In the illustrated example, Nmeasured=Nmeasured 1 +Nmeasured 2 +Nmeasured 3 +Nmeasured 4 .  
         [0046]    Continuing with the illustrated example, Ntotal=80 and Nmeasured=60. From one calculation of K factor, K factor=Rs/Rm=Nmeasured/Ntotal=0.75. Assuming the fact that the inputs to the sigma-delta calibration circuit are Vsr=0.7V and Vbr=1.0V respectively, the theoretical ratio is Rs/Rm=0.7. The K factor determined from the operation of the calibration circuit differs from the theoretical ratio by approximately +7%. However, setting Ntotal to a larger value may reduce this error. FIGS. 6A and 6B show an expanded view of a few clock cycles for Nmeasured and Ntotal for one track-following period.  
         [0047]    There are no restrictions to the number of sampling count per track-following period. The longer the track-following period means that the sigma-delta calibration system can sample more counts per period. This will result to a shorter total calibration time. The sigma-delta calibration system is capable of using multiple tracking-following periods to complete a full calibration.  
         [0048]    In an HDD system, the actuator is continuously performing track following or seeking. The time spent on track following is a variable amount of time that is completely dependent on the individual users. So as to not to interrupt the activities of the HDD, the sigma-delta calibration system is capable of performing a calibration operation in-between seeking time for a pre-determined number of clock cycles and still providing an accurate K value.  
         [0049]    The advantage of the sigma-delta calibration method described herein is that the calibration is performed during track-following time, where the back EMF voltage developed in the voice-coil-motor is negligible. In addition, the calibration process works well with the firmware of the HDD because the sigma-delta calibration system is capable of performing calibration over many track-following cycles and can manage interrupts from seeking periods. The K value is updated automatically without additional firmware, being transparent to the firmware. With the implementation of the sigma-delta calibration system, the HDD will always have the most up-to-date Rs/Rm ratio.  
         [0050]    Although the invention has been described and illustrated with a certain degree of particularity, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the combination and arrangement of parts can be resorted to by those skilled in the art without departing from the spirit and scope of the invention, as hereinafter claimed.