Abstract:
A vibration motor driving apparatus using a serial interface comprises a serial interface part for receiving an effect command (effect digital data or effect generating command digital data) from a main processor upon occurrence of an event, a unit for generating a clock when the effect command is received from the serial interface unit, a vibration motor driving signal generating unit including an effect data generating part for outputting effect data having a resonance frequency of a vibration motor on the basis of the effect command received from the serial interface unit and the clock received from the clock generating unit, and a D/A converting part for converting the effect data into a vibration motor driving signal, and the vibration motor which vibrates in accordance with the vibration motor driving signal to generate a haptic rhythm.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    The present invention relates to a vibration motor driving apparatus that generates haptic rhythms using a vibration motor. More particularly, the present invention relates to a vibration motor driving apparatus that it uses a serial interface without the existing PWM controller to generate various resonance frequencies in case of an event, use various types of vibration motors by controlling resonance frequency to operator vibration motor, improve the pulse capacity by precisely adjusting resonance frequencies, and control the operation and amplitude of vibration motor accurately and precisely. Therefore, it can be applied to all electronic devices that use vibration motors to generate various haptic rhythms, such as mobile devices. 
         [0002]    Recently, haptic phones and electronic devices have been released to gain popularity among users. The haptic devices are equipped with haptic functions to generate various haptic rhythms for distinguish and maximize the effects of UI (User Interface) that simply used vibration, ring, or LED lights in case of certain events (pressing buttons or playing games). 
         [0003]    The present invention relates to the operation and control of a vibration motor driving apparatus that operates the vibration motor for haptic functions.  FIG. 1  illustrates a block diagram of a conventional vibration motor driving apparatus. 
         [0004]    As shown in  FIG. 1 , a conventional vibration motor driving apparatus  200  receives PWM signals from the main processor  100 , uses a fixed divider  210  and XOR (Exclusive Or Gate:  220 ) to divide the PWM frequencies entered, and amplifies them into reverse and non-reverse signals through an integrator using the capacitor inside an amplifier  240  to output the actual waveform to operate the vibration motor  300 . 
         [0005]    However, this type of vibration motor driving apparatus can only generate a fixed resonance frequency to operate AC-type vibration motors (LRA motor, etc) by processing the PWM signals through the fixed divider  210 , XOR  220 , and the integrator inside amplifier  240 , and cannot use the vibration motors using various resonance frequencies. 
         [0006]    In particular, PWM type requires the clock frequency of the main processor  100  to match the resonance frequency of the vibration motor  300 , but it is difficult to equalize them as each type of vibration motor has different resonance frequencies. 
         [0007]    Furthermore, the vibration motor designed to have a consistent resonance frequency may generate slightly different resonance frequency due to inconsistencies in the manufacture process. Thus, the improvement of the pulse capacity of the vibration motors has been limited as a precise adjustment of the resonance frequency considering the offset of each vibration motor has been impossible. 
         [0008]    It is also difficult to provide the accurate and precise amplitude control to operate the AC motor (LRA motor) and DC motor (ERM motor) to convert PWM duties into the amplitude that decides the strength of pulse of vibration motor. 
         [0009]    As the main processor  100  needs to output the PWM signals, the processor  100  is required to have PWM functions. The processors without the PWM signal output function cannot use this type of operator or require many additional peripheral circuits to operate the vibration motor driving apparatus. 
       SUMMARY OF THE INVENTION 
       [0010]    The present invention was designed to solve the aforementioned problems. An object of this invention is to control the resonance frequency of vibration motor to use one vibration motor driving apparatus to use vibration motors generating various resonance frequencies. 
         [0011]    Another object of the present invention is to adjust the original resonance frequency of the vibration motor to improve its pulse capacity and to use a D/A converter to generate its operating amplitude for more accurate and precise control of the vibration motor. 
         [0012]    Further another object of the present invention is to control the vibration motor driving apparatus through serial interface to be able to use the vibration motor driving apparatus in a processor without a PWM module to generate various haptic rhythms and significantly reduce the load on main processor, while minimizing the amount of control signals for generating the effect received from the main processor by generating a certain effect waveform in the hardware of the vibration motor driving apparatus without continuous effect digital processor that indicates the amplitude value when an effect generating command data with the additional information of pulse signal, such as waveform and period, are received from serial interface. 
         [0013]    In accordance with the present invention to achieve the objects thereof, there is provided a vibration motor driving apparatus using a serial interface comprising: a serial interface part for receiving effect command, which is effect digital data or effect generating command data, in the form of serial data from main processor in case of an event; a clock generator that generates a clock when the effect command is received from the serial interface; a vibration motor driving signal generator having an effect data generator that outputs an effect data with the resonance frequency of the vibration motor based on the effect command received from the serial interface and the clock received from the clock generator and a D/A converter that converts the effect data into a vibration motor driving signal; and a vibration motor that vibrates according to the vibration motor driving signal to generate haptic rhythms. 
         [0014]    Here, the effect digital data is an amplitude of the vibration motor when the effect command is the effect digital data and the effect data generator comprises: a digital logic part having a resonance frequency register that stores the clock value or resonance frequency value to control the resonance frequency of the vibration motor, a motor type register that stores the information of the type of the vibration motor, and an operation control register that temporarily stores the amplitude value for an immediate output when the vibration motor has DC motor and every half period of resonance frequency when the vibration motor has AC motor; and a counter and comparator that extracts the resonance frequency information of vibration motor from the resonance frequency register and counts the clock from the clock generator to output the high and low values alternately to the operation control register every time the clock value becomes ½ of the number of clock for the resonance frequency of the vibration motor. 
         [0015]    Also, the main processor sets the information of a motor type and the resonance frequency of the vibration motor, which are initially connected to it, on the motor type register and the resonance frequency register. 
         [0016]    Moreover, when the effect command is the effect generating command data, the effect generating command data contains one or more of waveform information, period information, and additional information. 
         [0017]    Furthermore, the effect data generator comprises: a waveform data generator that generates waveform data corresponding to the information contained in the effect generating command data; a counter and comparator that compares the resonance frequency of the vibration motor with a number of the clock value counted from the clock inputted from the clock generator and outputs high and low values alternately every time the clock value becomes ½ of the number of clock for the resonance frequency of vibration motor to generate pulse waves that have the same frequency with the resonance frequency of the vibration motor; and a modulation part that is connected to the counter and comparator and the waveform data generator to modulate the waveform data outputted from waveform data generator into effect digital data through the pulse waves applied from the counter and comparator and outputs them through the D/A converter. 
         [0018]    The present invention as described above has advantageous effects in that, one vibration motor driving apparatus can be used to operate vibration motors in various resonance frequencies as the resonance frequency of vibration motor can be controlled, improve the pulse capacity by precisely adjusting resonance frequencies, and control the operation and amplitude of vibration motor accurately and precisely to improve the haptic rhythms of product. 
         [0019]    Also, the vibration motor driving apparatus is controlled by digital values of the serial interface to apply the Haptic function to any main processor without the PWM signal output function. Therefore, haptic rhythms can be created on more various types of system environment and more various vibration motors can be used for the convenience of developers. 
         [0020]    Moreover, when additional data containing waveform, amplitude, period, and other information are received to generate a certain effect waveform in the vibration motor driving apparatus, it is possible to generate various haptic rhythms while minimizing the amount of control signals received, thus significantly reducing the load on the main processor. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0021]    The foregoing and other objects, features and advantages of the present invention will become more, apparent from the following detailed description when taken in conjunction with the accompanying drawings in which: 
           [0022]      FIG. 1  is a block diagram of a configuration of a vibration motor driving apparatus using a conventional PWM control method; 
           [0023]      FIG. 2  is a block diagram of a configuration of a vibration motor driving apparatus using a serial interface of the present invention; 
           [0024]      FIG. 3  is a detailed block diagram illustrating an example of effect data generator; 
           [0025]      FIG. 4  is a detailed block diagram illustrating another example of effect data generator; 
           [0026]      FIG. 5  is an illustration of an example of data structure of effect generating command; and 
           [0027]      FIG. 6  is an illustration of an example of waveform data generated in the example of  FIG. 4 . 
       
    
    
     DESCRIPTIONS ON REFERENCE NUMBERS FOR THE MAJOR COMPONENTS IN THE DRAWINGS 
       [0028]      
         [0000]    
       
         
               
               
               
             
           
               
                   
               
             
             
               
                   
                   
                 10: Main Processor 
               
               
                   
                   
                 11: Serial interface 
               
               
                   
                   
                 12: Control S/W 
               
               
                   
                   
                 20: Vibration motor driving apparatus 
               
               
                   
                   
                 21: Serial interface 
               
               
                   
                   
                 23: Clock Generator 
               
               
                   
                   
                 25: Vibration motor Driving signal Generator 
               
               
                   
                   
                 27: Amplifier 
               
               
                   
                   
                 30: Vibration motor 
               
               
                   
                   
                 40: Memory 
               
               
                   
                   
                 50: Effect Data Generator 
               
               
                   
                   
                 60: D/A Converter 
               
               
                   
                   
                 70: Digital Logic 
               
               
                   
                   
                 71: Operation Control Register 
               
               
                   
                   
                 73: Motor Type Register 
               
               
                   
                   
                 75: Resonance Frequency Register 
               
               
                   
                   
                 80: Counter and comparator 
               
               
                   
                   
                 90: Waveform Data Generator 
               
               
                   
                   
                 95: Modulation part 
               
               
                   
               
             
          
         
       
     
       DETAILED DESCRIPTION OF THE INVENTION 
       [0029]    Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. 
         [0030]      FIG. 2  shows a block diagram of the configuration of the vibration motor driving apparatus with serial interface. 
         [0031]    As shown in  FIG. 2 , the vibration motor driving apparatus  2  with serial interface is placed in between a main processor  10  and a vibration motor  30 . 
         [0032]    The Main processor  10  transmits an effect command (effect digital data or effect generating command data) to vibration motor driving apparatus  200  in case of an event for generating an effect (tactile rhythm of vibration motor). As it uses a serial interface part  21 , such as I2C, instead of PWM signals, it can be used with processors without a PWM module. If the effect command is effect digital data, it is the actual digital value indicating the amplitude of the vibration motor  30 ; if the effect command is an effect generating command data, it may contain additional information, such as the waveform or period, of driving signals of vibration motor  30 . 
         [0033]    The former will be further described in  FIG. 3  and the latter in  FIG. 4 . 
         [0034]    The vibration motor driving apparatus  20  generates vibration motor driving signals for the vibration motor  30  once it receives the effect command (effect digital data or effect generating command) from a serial interface  21  through the main processor  10 . The vibration motor driving apparatus  20  includes a serial interface  21 , a clock generator  23 , a vibration motor driving signal generator  25 , and an amplifier  27 . 
         [0035]    The serial interface  21  receives serial data from the main processor  10 . I2C was used in this example, but any type of serial interface can be used as long as it can receive digital data. 
         [0036]    The clock generator  23  outputs a standard clock for internal operation and to generate resonance frequencies for the vibration motor  30 , and its variability should be maximized to make it possible to control the frequency of clock output.  FIGS. 3 and 4  will describe the generation of vibration motor driving signals using the clock from the clock generator  23  in further detail. 
         [0037]    The vibration motor driving signal generator  25  includes an effect data generator  50  that outputs the effect data with the resonance frequency of the vibration motor  30  based on the effect command (effect digital data or effect generating command data) from the serial interface  21  and the clock received from the clock generator  23  and a D/A converter  60  that converts the effect data into vibration motor driving signals. Detailed configuration of the effect data generator  50  will be further described by  FIGS. 3 and 4 . 
         [0038]    The amplifier  27  amplifies the converted analog signals for an output through the vibration motor  30  and the vibration motor  30  receives the output from amplifier  27  to generate the haptic rhythms that correspond to the effect command of the main processor  10  or the effect data of the effect data generator  50 . 
         [0039]      FIG. 3  is a detailed block diagram illustrating an example of effect data generator. In the example of  FIG. 3 , the effect data are the actual digital values indicating the amplitude of the vibration motor  30  and the effect data generator outputs the digital values of the effect command received in digital values that fit the type of vibration motor or the waveform of resonance frequency. 
         [0040]    As illustrated in  FIG. 3 , the effect data generator  50  can include a digital logic part  70  and a counter and comparator  80 . 
         [0041]    The digital logic part  70  includes a motor type register  73  that stores the information of the type of the vibration motor  30 , a resonance frequency register  75  that stores the clock value or resonance frequency value for controlling the resonance frequency of the vibration motor  30 , and an operation control register  71  that outputs effect digital data, or the amplitude value, to the D/A converter  60  according to the output signal from the motor type register or the counter and comparator  80  described below. 
         [0042]    The motor type register  73  stores the information of the type of the vibration motor  30 , which indicates whether the type of the vibration motor  30  is AC motor or DC motor. 
         [0043]    The resonance frequency register  75  stores the clock value or the resonance frequency value to control the resonance frequency. The resonance frequency value can be set at the original resonance frequency of the vibration motor  30  or the original resonance frequency can be adjusted (+/−) appropriately to alter vibration characteristics. 
         [0044]    The operation control register  71  temporarily stores the amplitude value received when the effect command is the effect digital data. Then, it immediately outputs the amplitude value when the type of the vibration motor  30  is DC motor or outputs the high or low amplitude value at every ½ period of resonance frequency of the vibration motor  30  based on the output signal from the counter and comparator  80  when the type of the vibration motor is the AC motor. 
         [0045]    The counter and comparator  80  reads the resonance frequency information of the vibration motor  30  from the resonance frequency register  75  and counts the clock from the clock generator  23  to output the high and low clock value alternately at every ½ period of resonance frequency of the vibration motor  30  through the resonance frequency register  75 . 
         [0046]    The operation of vibration motor driving apparatus that generates the haptic rhythms using the vibration motor is further described below referring to  FIG. 2  and  FIG. 3 . 
         [0047]    When the system is powered on (or reset), the main processor  10  sets the registers in the vibration motor driving apparatus through the serial interface, such as I2C, with the necessary values, such as the type of vibration motor (ERM or LRA) and the resonance frequency of vibration motor. At this time, the value set on the resonance frequency register  75  can be the original resonance frequency of the vibration motor or resonance frequency adjusted (+/−) appropriately to alter vibration characteristics. 
         [0048]    After initial setting, the main processor delivers the effect digital data of the effect command indicating the amplitude value of an effect to the vibration motor driving apparatus  20  through the serial interface, such as I2C, in case of certain events (pressing buttons or playing games) to generate the effect (tactile rhythm of vibration motor). 
         [0049]    The vibration motor driving apparatus  20  receives this amplitude value through the serial interface  21 , such as I2C, and delivers it to the vibration motor driving signal generator  25 . 
         [0050]    The digital logic part  70  delivers the received amplitude value to the D/A converter  60  when the type of the vibration motor is set at an ERM type (DC motor) during initial operation, to convert the digital data into an analog data, which is then converted into a DC waveform through the amplifier  27  to operate the vibration motor  30 . 
         [0051]    The digital logic part  70 , when the type of the vibration motor is set at a LRA type (AC motor) during initial operation, uses the counter and comparator  80  to tabulate the clock input from the clock generator  23  and compare it with the clock value (or resonance frequency value) saved on the resonance frequency register  75 . If the tabulated number of the clock is smaller than or equal to ½ of the number of the clock for resonance frequency (the point where (+)(−) of signal changes), it outputs the high (low) value through the operation control register  71 ; if it is larger than ½ of the number of clock for resonance frequency, it outputs the low (high) value through the operation control register  71  to generate the resonance frequency signal of AC motor. 
         [0052]    Then, the effect digital data and the amplitude value received from the main processor  10  according to the high or low value, are delivered to the D/A converter  60  accordingly to convert the digital data into the analog data, which is then converted into DC waveform through the amplifier  27  to operate the vibration motor  30 . 
         [0053]    In this case, if the clock value tabulated at the counter and comparator  80  matches the number of the clock in a period of resonance frequency, the counter and comparator  80  starts tabulating again from 0 and repeats doing so until the vibration motor driving apparatus stops. 
         [0054]    The vibration motor  300  vibrates according to the vibration motor driving signal delivered from the vibration motor driving apparatus  200  to generator the haptic rhythms corresponding to the effect digital data from the main processor  100 . 
         [0055]    According to this example, the effect digital data from the main processor  100  are the digital values indicating the amplitude value and make it possible to control the amplitude value very precisely according to the size of data. 
         [0056]      FIG. 4  is a detailed block diagram illustrating another example of effect data generator.  FIG. 5  illustrates a structure of the effect generating command data used in this example and  FIG. 6  illustrates a waveform generated in the example of  FIG. 4 . The example of  FIG. 4  has an effect generating command data containing the waveform, frequency, or other information of vibration motor driving signal, and effect data generator generates the waveform of effect digital data that corresponds to the effect generating command data received. 
         [0057]    As illustrated in  FIG. 4 , the effect data generator  50  in this example includes a waveform data generator  90  that generates a waveform data corresponding to the information in the effect generating command data (waveform, period, etc), the counter and comparator  80  that compares the resonance frequency of the vibration motor  30  and the clock value from clock generator and outputs the high and low values alternately every time the clock value becomes ½ of the number of clock for the resonance frequency of the vibration motor  30  to generate pulse waves that have the same frequency with the resonance frequency of vibration motor, and a modulation part  95  that is connected to the waveform data generator  90  and the counter and comparator  80  to modulate the waveform data from waveform data generator into the effect digital data through the pulse waves from the counter and comparator  80  and outputs them through the D/A converter. 
         [0058]    Although it is not illustrated in  FIG. 4 , it is desirable to place registers  71 ,  83  and  85  for the functions described in  FIG. 3  on the inside or back of the waveform data generator  90  and in this case, the operation control register  71  temporarily stores the amplitude value of the effect waveform already configured in the hardware when effect command is effect generating command data. 
         [0059]      FIG. 5  is an example of effect generating command data in 8 bits. For example, the upper 2 bits can indicate waveform, the middle 3 bits can indicate period, and the lower 3 bits can indicate additional information. Although it does not show in the illustration, the waveform data generator  90  is required to have data parsing part that divides effect generating command data to each information segment and an embedded hardware circuit to generate waveform data with a certain waveform, period, or additional information according to each value of bit. 
         [0060]    For example, it can be set that the upper 2 bits indicate sine wave when it is 00, triangular wave when it is 01, sawtooth wave when it is 10, and spherical wave when it is 11, so that the waveform data generator  90  generates the waveform according to the value of upper 2 bits. 
         [0061]    This principle also applies to the middle 3 bits and the lower 3 bits and the periods and additional functions can be classified into 8 cases to generate waveform data with a certain period and amplitude. 
         [0062]    Based on this principle, the waveform in  FIG. 6  can be created. In  FIG. 6 , the bold line indicates the vibration motor driving signals after an analog conversion and the vibration strength of the vibration motor, and the output signals from the waveform data generator  90  indicate the discrete-type waveform data, e.g., a discrete-type waveform in the shape of sawtooth wave with a period T and a maximum amplitude Am. 
         [0063]    The following further describes the operation of the vibration motor driving apparatus that generates the haptic rhythms using the vibration motor referring to  FIG. 4  and  FIG. 5 . 
         [0064]    First of all, a memory  40  stores the effect command (effect digital data or effect generating command data) value to generate the haptic rhythms corresponding to each event. 
         [0065]    In case of certain events (pressing buttons or playing games) to generate the effect (tactile rhythm of vibration motor) during system operation, the main processor  10  reads the effect command (effect digital data or effect generating command data) from the memory  40  and delivers it to the vibration motor driving apparatus  20  through the serial interface, such as I2C. 
         [0066]    The vibration motor driving apparatus  20  receives the effect digital data that indicates the amplitude value through the serial interface  21 , such as I2C, or effect digital data to control the effect waveform already configured in the hardware to deliver them to the vibration motor driving signal generator  25 . 
         [0067]    In other words, the waveform data generator  90  analyzes the amplitude value when the effect command received is the effect digital data, the waveform, period, or additional information when the effect command is the effect generating command data to generate the corresponding waveform data. Also, the modulation part  95  modulates the waveform data generated from the waveform data generator  90  into the effect data along with the resonance frequency from the counter and comparator  80  and outputs them through the D/A converter  60 . 
         [0068]    Since the operation that follows is same as that in the example in  FIG. 3 , detailed descriptions are omitted here. 
         [0069]    According to this example, one vibration motor driving apparatus can be used to operate vibration motors in various resonance frequencies, improve the pulse capacity by precisely adjusting resonance frequencies, control the operation and the amplitude of vibration motor accurately and precisely to improve the rhythmic characteristics of product, and perform the haptic functions without limitation even in the main processor that does not output the PWM signals. 
         [0070]    Also, the main processor outputs effect generating command data containing the waveform, the amplitude, the period, and other information only one time to generate a certain effect waveform in the hardware of the vibration motor driving apparatus, making it possible to generate various haptic rhythms while minimizing the amount of control signals received from main processor, thus significantly reducing the load on the main processor. 
         [0071]    Although several exemplary embodiments of the present invention have been described for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims.