Patent Publication Number: US-7596795-B2

Title: Vibration compensation based on identification of vibration frequency

Description:
BACKGROUND 
     The present disclosure relates generally to vibration compensation in an electronic component, and more specifically, but not by limitation, to vibration compensation for periodic vibrations coupled through a system housing the electronic component. 
     Electronic devices, especially portable electronic devices, often include both audio and video capabilities, which require high capacity data storage systems. As demand for electronic devices, especially electronic portable devices, increases so does the demand for high capacity, small sized and low cost data storage systems. Unlike solid-state data storage devices, rotatable data storage devices provide a higher storage capacity. However, rotatable data storage devices are more susceptible to failure due to sources of vibration or shock. 
     In particular, rotatable data storage devices are sensitive to vibrations emanating from the electronic portable device within which it is housed. Example sources of vibration include a vibrator in a mobile phone and audio speakers in other types of electronic devices. When the vibrator or speaker is activated, the rotatable data storage device is induced with disturbances that cause position error of a data head relative to the rotatable medium in the rotatable storage device. 
     Typically, high end rotatable data storage devices use either expensive rotational vibration sensors or linear vibration sensors that can directly sense the vibration amplitude of a shock event. The sensed vibration amplitude can be processed and forwarded directly into a servo controller, which positions the data head relative to the rotatable medium of the high end rotatable storage device. By injecting the vibration amplitude directly into the servo controller, vibrations from the shock event can be compensated. Unfortunately, high end rotatable data storage devices are impractical for use in inexpensive electronic portable devices. 
     Current low cost rotatable data storage devices are equipped with inexpensive shock detection circuits for the purpose of write protection. The output of these inexpensive shock detection circuits cannot be used directly in a servo controller for vibration compensation. Instead, the outputs of these inexpensive shock detection circuits can only indicate a level of vibration amplitude. If the amplitude level exceeds a threshold level, the shock detection circuit outputs a trigger signal capable of preventing a write operation. 
     Since shock events in electronic devices, especially in electronic portable devices, are very common, preventing a write operation for each occurrence of a shock event compromises read/write data throughput of the rotatable data storage device. Therefore, utilizing an inexpensive shock detection circuit for vibration compensation in an electronic portable device is highly desirable. 
     SUMMARY 
     A shock detection circuit housed in an electronic device includes an output shock signal that is indicative of vibration amplitude. To compensate for vibrations that are experienced by the electronic device, the output shock signal is analyzed. The analysis of the output shock signal allows a vibration frequency of the output shock signal to be identified and used in vibration compensation. 
     A method is provided. An output shock signal is obtained from a shock detection circuit. The output shock signal is indicative of vibration amplitude. The output shock signal is analyzed by applying a sampling technique to the output shock signal. A vibration frequency of the output shock signal is identified based on the analyzed output shock signal. The identified vibration frequency is configured for use in vibration compensation. 
     An electronic component is provided. The electronic component includes a shock detection circuit configured to output an output signal. The output signal is indicative of vibration amplitude. The electronic component includes a first controller that is configured to receive the output signal and to identify a vibration frequency of the vibration based on the output signal. The rotatable data storage device also includes a second controller that is configured to receive the identified frequency of the vibration and to compensate the vibration. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a simplified block diagram of a host device including a rotatable data storage device. 
         FIG. 2  illustrates a graphical representation of a position error signal sensed by a transducer and fed back to the servo controller of the rotatable data storage device illustrated in  FIG. 1 . 
         FIG. 3  is a graphical representation of a position error signal when a speaker is activated in a mobile phone, but not a vibrator. 
         FIG. 4  is a graphical representation of a position error signal when a vibrator is activated in a mobile phone, but not a speaker. 
         FIG. 5  is a flowchart illustrating a method of identifying vibration frequency in an electronic portable device under one embodiment. 
         FIG. 6  is an example schematic illustration of a shock detection circuit. 
         FIG. 7  illustrates a graphical representation of an analog output signal and a digital output signal from the shock detection circuit illustrated in  FIG. 6 . 
         FIG. 8  is a flowchart illustrating a method of identifying vibration frequency in an electronic portable device under one embodiment. 
         FIG. 9  is a flowchart illustrating a method of identifying vibration frequency in an electronic portable device under one embodiment. 
         FIG. 10  is a schematic illustration of a microcontroller under one embodiment. 
         FIG. 11  is a flowchart illustrating a method of analyzing a digital output signal from the shock detection circuit in  FIG. 6  to identify a vibration frequency of an electronic portable device under one embodiment. 
         FIG. 12  is a graphical representation of an example digital output signal. 
         FIG. 13  is a graphical representation of a raw analog output signal from the shock detection circuit in  FIG. 6 . 
         FIG. 14  is a graphical representation of a filtered analog output signal from the shock detection circuit in  FIG. 6 . 
         FIG. 15  is a graphical representation of a filtered analog to digital converter channel output of the analog output signal from the shock detection circuit in  FIG. 6 . 
         FIG. 16  is a flowchart illustrating a method of analyzing an analog output signal from the shock detection circuit in  FIG. 6  to identify a vibration frequency of an electronic portable device under one embodiment. 
     
    
    
     DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS 
     Electronic devices, such as phones, video recorders, video players, computing systems, stereo systems, media systems and automotive systems, include sources of vibration. Such sources of vibration expose electronic components within the electronic devices with undesirable shock and vibrations. In particular, electronic components in electronic portable devices, such as mobile phones, digital music players, personal data assistants (PDAs) and camcorders, are highly susceptible to not only vibrations derived from the device itself, but also vibrations due to moving and dropping the device. One sensitive type of electronic component in an electronic device includes a data storage system. Electronic portable devices that include audio and video capability often times include either solid-state storage devices or rotatable storage devices. 
       FIG. 1  is a simplified block diagram of a host device  100  having a rotatable data storage device  102 . Host device  100  is an electronic portable device. Rotatable data storage device  101  includes a housing  103  that houses processing circuitry  134 . The various operations of rotatable data storage device  101  are controlled by processing circuitry  134  with the use of programming stored in a memory. Rotatable data storage device  101  also includes servo controller  136  which generates control signals applied to voice coil motor (VCM)  130 . Processing circuitry  134  instructs servo controller  136  to seek a transducer  120  to desired tracks of a medium or disc  112 . Although rotatable data storage device  102  illustrates a single disc  112 , it should be realized that the data storage device can include multiple discs. Servo controller  136  is also responsive to servo data, such as servo burst information recorded on medium or disc  112  and embedded servo fields or wedges included in data tracks. Medium or disc  112  is rotatable about a central axis  109  by a spindle motor  105 . 
     Rotatable data storage device  101  further includes a preamplifier (preamp)  138  for generating a write signal applied to transducer  120  during a write operation, and for amplifying a read signal emanating from transducer  120  during a read operation. A read/write channel  140  receives data from processing circuitry  134  during a write operation and provides encoded write data to preamplifier  138 . During a read operation, read/write channel  140  processes a read signal generated by preamp  138  in order to detect and decode data recorded on medium  112 . The decoded data is provided to processing circuitry  134  and ultimately through an interface  142  to host device  100 . 
     Unlike a solid-state data storage device, rotatable data storage device  101  provides a higher storage capacity for host device  100 . High data storage capacity is desirable especially for audio and video capability, which is often a feature of host device  100 . However, rotatable data storage device  101  is more susceptible to failure, compared to solid-state data storage systems, due to sources of vibration or shock emanating from host device  100 . In particular, two unique disturbance sources that commonly affect a portable electronic device, such as a mobile phone, include a vibrator and a speaker. In a mobile phone application, both sources or one of the sources of disturbance occur frequently to indicate an incoming phone call. When the vibrator or speaker is activated, such disturbance can cause position error of transducer  120 .  FIG. 2  is a graphical representation  200  of a position error signal (PES) sensed by the transducer and fed back to the servo controller  136 . The PES in  FIG. 2  represents the PES of a servo controller in a rotatable data storage system located in a mobile phone when neither the vibrator nor the speaker is activated.  FIG. 3  is a graphical representation  300  of a PES when the speaker is activated in a mobile phone, but not the vibrator.  FIG. 4  is a graphical representation  400  of a PES when the vibrator is activated in a mobile phone, but not the speaker. With reference to  FIGS. 2-4 , it is easily shown that a mobile phone&#39;s vibrator causes worse off-track results than that of the mobile phone&#39;s speaker. It should be understood that vibration compensation is one way in which these off-track results can be corrected. 
     Typically, high end rotatable data storage devices use either expensive rotational vibration sensors or linear vibration sensors that can directly sense the vibration amplitude of a shock event. The sensed vibration amplitude can be processed and injected directly into a servo controller. By injecting the vibration amplitude directly into a servo controller, vibrations from the shock event can be compensated, which can correct the position of a slider. Unfortunately, high end rotatable data storage devices are impractical for use in relatively inexpensive electronic portable devices. 
     Current low cost rotatable data storage devices are equipped with inexpensive shock detection circuits for the purpose of write protection. The output of these inexpensive shock detection circuits cannot be used directly in a servo controller, such as servo controller  136 , for vibration compensation. Instead, the outputs of these inexpensive shock detection circuits indicate a level of amplitude. If the amplitude level exceeds a threshold level, the shock detection circuit outputs a trigger signal capable of preventing a write operation. 
     Typically, a vibrator in a mobile phone is a rotary motor. Vibration of the vibrator is induced through the rotation of the motor shaft attached to a metal weight. Therefore, the vibration frequency of the vibrator is directly related to the motor speed. The vibration frequency waveform of the vibrator can be divided into three phases. In the first phase, the motor speed begins to pick up and, thus, vibration frequency increases. In the second phase, the motor spins at a constant speed and, thus, the vibration frequency is fixed. In the third phase, the motor speed drops and, thus, vibration frequency decreases. 
     As illustrated in  FIG. 4 , there is a large PES off-track result during vibration of a vibrator in a mobile phone. Such a large PES affects read/write data throughput during the vibration. Besides the inexpensive shock detection circuits of rotatable data storage devices in electronic portable devices being unable to identify vibration frequency for vibration compensation, the variation in phase to phase vibration frequency as well as the variation in vibrator type for each mobile phone drives the need for vibration frequency identification in real-time for use in vibration compensation. 
       FIG. 5  is a flowchart  500  illustrating a method of identifying vibration frequency of an electronic portable device. At block  502 , an output shock signal is obtained from a shock detection circuit capable of determining if a vibration exceeds a level of vibration amplitude and incapable of detecting a vibration frequency.  FIG. 6  illustrates an example shock detection circuit  600 . Example shock detection circuit  600  can output a signal that indicates a level of amplitude. The level of amplitude is used to prevent a write operation if an amplitude level exceeds a threshold value. Shock detection circuit  600  is unable to detect a vibration frequency. 
     In a shock detection circuit that is capable of determining if a vibration exceeds a level of vibration amplitude and is incapable of detecting a vibration frequency, a shock sensor signal will go through various amplifiers and filters to yield an analog output shock signal  602  as indicated in  FIG. 6  and in graphical representation  700  of  FIG. 7 . The analog output shock signal  602  is then compared with a predetermined threshold. If the analog output signal exceeds the predetermined threshold, then a digital output shock signal  604 , as indicated in  FIG. 6  and in graphical representation  700  of  FIG. 7 , will trigger the prevention of a write operation. It should be noted that the frequency of the digital output shock signal  604  reflects the frequency of the analog output signal  602 . In particular and as illustrated in  FIG. 7 , a change in time of alternate rising edges of the digital output signal  604  are equal to a period of the analog output signal  602 . 
     At block  502  and in one embodiment, the output shock signal obtained to identify vibration frequency can be the digital output signal  604 . The digital output signal  604  is obtained by comparing an analog output shock signal to a predetermined threshold value as indicated in block  802  of a flowchart  800  that illustrates one embodiment of identifying vibration frequency of an electronic portable device. At block  502  and in another embodiment, the output shock signal obtained can be the analog output signal  602  as indicated in block  902  of a flowchart  900  illustrating another embodiment of identifying vibration frequency of an electronic portable device. 
     At block  504 , a sampling technique is applied to the output shock signal for analysis. In one embodiment and as indicated in blocks  804  and  806  of  FIG. 8 , a plurality of time values between each rising edge of digital output signal  604  are captured and then the plurality of time values of each rising edge of the digital output signal are filtered to eliminate select rising edges that are due to high frequency noise. To analyze the digital output signal as indicated in blocks  804  and  806 , a microcontroller  1000  is utilized as illustrated schematically in  FIG. 10 . Microcontroller  1000  is mounted on a PCBA board in a rotatable data storage device and includes an external interrupt pin  1002  of which the digital output signal is coupled to. Microcontroller  1000  runs an interrupt service routine on the digital output signal coupled to external interrupt pin  1002 .  FIGS. 11-1  and  11 - 2  illustrate flowcharts  1100  and  1110  of such a routine. 
     As previously discussed, the presence of high frequency noise causes the digital output signal  604  to have more rising edges than the actual amount of correct rising edges due to vibrational shock. Since vibration frequency induced by a vibrator in a mobile phone is generally lower than 300 Hz, it can be realized that the correct change in time between two rising edges of vibration frequency should be more than a predetermined time T f . Predetermined time T f  can be used in the interrupt service routine to filter out rising edges caused by high frequency noise. 
     In flowchart  1100  of  FIG. 11-1 , initialization of a microcontroller, such as microcontroller  1000 , is completed. At block  1102 , a rotatable data storage device, such as device  100  ( FIG. 1 ), is synced and a servo controller, such as servo controller  136  ( FIG. 1 ) is locked. At block  1104 , a time capture buffer is reset such that a rising edge k is set to 1 and the time of a correct rising edge due to vibrational shock is set to 1. At block  1106 , the interrupt service routine is enabled. At block  1108 , initialization is complete. 
     In flowchart  1110  of  FIG. 11-2 , entry into the interrupt service routine is accomplished as the interrupt service routine comes across a rising edge. At block  1112 , current time from a free running timer is obtained. The current time is denoted by t(k), or in this case t( 1 ), upon entry into the routine after initialization. At decision block  1114 , it is determined whether the rising edge k is equal to 1. If k is equal to 1, as is the case when the interrupt service routine has just been initialized, then the routine proceeds to block  1116  where the current time t(k) is set as the previous time t(k−1). At block  1118  the interrupt service routine ends. Upon coming across another rising edge, the interrupt service routine is repeated at block  1112  where the rising edge k is now equal to 2. At block  1112 , the current time is obtained and denoted as, in this case, t( 2 ). At block  1114 , it is determined whether the rising edge k is equal to 1. If k is not equal to 1, as is the case upon interrupt service routine coming across another rising edge, then the routine proceeds to decision block  1120 . 
     At decision block  1120 , it is determined whether by subtracting the previous time t(k−1), in this instance t( 1 ), from the current time t(k), in this instance t( 2 ), is greater than a predetermined time T f . If the current time t(k) less the previous time t(k−1) is not greater than predetermined time T f  then the routine proceeds to block  1016  where the current time t(k) is set as the previous time t(k−1) and then proceeds to block  1118  where the interrupt service routine ends. If the current time t(k) less the previous time t(k−1) is greater than predetermined time T f  then the routine proceeds to block  1122 . At block  1122 , the timing capture buffer or vibration frequency T(n) is set equal to the previous rising edge t(k−1). 
     An example graphical representation  1200  of a digital output signal  1204  is illustrated in  FIG. 12 . As illustrated in  FIG. 12 , it can be seen that t( 1 ), t( 2 ), t( 3 ), t( 4 ), t( 5 ), t( 6 ), . . . , t(k) are the rising edges of digital output signal  1204 , while the actual vibration frequency or timing capture buffer is determined by T( 1 ), T( 2 ), T( 3 ), . . . , T(n). In regards to block  1122  of  FIG. 11-2 , the subtraction of the previous time t( 1 ) from the current time t( 2 ) is greater than the predetermined time T f  so T( 1 ) is equal to t( 1 ) as illustrated in graphical representation  1200  of  FIG. 12 . At block  1124 , the sequential number indicating the next actual rising edge due to vibration frequency is increased. At block  1116 , the current time t(k) is set as the previous time t(k−1) and the routine proceeds to block  1118  where the interrupt service routing ends. Entry into the interrupt service routine is repeated when coming across another rising edge. In  FIG. 12 , it is shown that example digital output signal  1204  includes a t( 3 )−t( 2 ) that is less than the predetermined time T f  and a t( 4 )−t( 3 ) that is less than the predetermined time T f . Therefore, both t( 2 ) and t( 3 ) are discarded (i.e., they are not rising edges due to vibration). However, a t( 5 )−t( 4 ) is greater than the predetermined time T f , so T( 2 )=t( 4 ) or the rising edge associated with t( 4 ) is a rising edge due to vibration. The rising edges T( 1 ), T( 2 ), . . . , T(n) are used to determine the vibration frequency of the output shock signal as illustrated in block  506  in  FIG. 5 . Identification of the vibration frequency can be used to compensate for external shock experience by the head of the rotatable storage device. 
     Referring back to  FIGS. 5 and 9 , in another embodiment of block  504 , the analog output signal obtained in block  902  of  FIG. 9  can be used to identify vibration frequency. The analog output signal can be filtered with a low-pass filter as indicated in block  904 , an analog to digital converter (ADC) channel output of the analog output signal can be sampled as indicated in block  906 , signal peaks of the filtered ADC output can be detected based on positive to negative gradient changes as indicated in block  908  and a time value between signal peaks can be determined at block  910 .  FIG. 13  illustrates a graphical representation  1300  of the raw analog output signal obtained in block  902  of  FIG. 9 .  FIG. 14  illustrates a graphical representation  1400  of the analog output signal as filtered in block  904 .  FIG. 15  illustrates a graphical representation  1500  of a filtered ADC channel output of the filtered analog output signal as sampled. 
     To analyze the obtained analog output signal as illustrated in blocks  904 ,  906  and  908 , an interrupt service routine is run on the signal. Flowchart  1600  illustrated in  FIG. 16  illustrates such a routine. At block  1602 , an ADC channel output x(k) of the analog output signal is obtained. At block  1604 , a burst counter is set to 1. At block  1606 , a low pass filter is applied to the ADC channel output to retrieve a filtered ADC channel output [y(k)=b 0 *x(k)+b 1 *x(k−1)+b 2 *x(k−2)−a 1 *y(k−1)−a 2 *y(k−2)]. The filtered ADC channel output is then put into an N-sample moving window buffer as denoted by y(k−N+1), y(k−N+2, . . . , y(k−1), y(k) at block  1608 . At block  1610 , it is determined whether the gradient changes are from positive to negative inside the moving window buffer. If a positive to negative gradient change is detected, then the peak location in the moving window y(k−X) is located at block  1612 . At block  1614 , a peak to peak change in time is determined based on a change of time from the location of the gradient change X from the burst counter. At block  1616 , the burst counter is set to the location of the current gradient change X. If no positive to negative gradient change is detected, the routine proceeds to exit the interrupt service routine until the next burst interrupt. The peak to peak change in time is used to determine the vibration frequency of the output shock signal as illustrated in block  506  in  FIG. 5 . Identification of the vibration frequency can be used to compensate for external shock experienced by the head of the rotatable storage device. 
     It is to be understood that even though numerous characteristics and advantages of various embodiments of the invention have been set forth in the foregoing description, together with details of the structure and function of various embodiments of the invention, this disclosure is illustrative only, and changes may be made in detail, especially in matter of structure and arrangement of parts within the principles of the present invention to the full extent indicated by the broad general meaning of the terms in which the appended claims are expressed. For example, the particular elements may vary depending on the particular application for a rotatable data storage device while maintaining substantially the same functionality without departing from the scope of the present invention. In addition, although the embodiments described herein are directed to a rotatable data storage device, it will be appreciated by those skilled in the art that the embodiment of the disclosure can be applied other types of data storage devices that have similar vibration issues, without departing from the scope of the invention.