Vibration transducer control

By tracking the temperature metric of the vibration transducer and controlling the driving signal, the problems related to temperature changes in the prior art are solved, and more stable vibration transducer performance and longer life are achieved.

CN119856138APending Publication Date: 2025-04-18CIRRUS LOGIC INT SEMICON LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380064912.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-12-02
Filing Date
2023-09-13
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

The existing vibration transducer control technology has limitations in over-offset protection, especially over-offset protection related to temperature changes.

Method used

The vibration transducer is protected from over-offset by tracking the temperature metric of the vibration transducer and controlling the drive signal based on the tracked temperature metric to limit the maximum value of the drive signal or the peak of the frequency response.

Benefits of technology

This method can adjust the over-offset protection so that it is essentially temperature independent or less dependent on the temperature of the vibration transducer, thereby improving the performance and life of the vibration transducer.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119856138A_ABST
    Figure CN119856138A_ABST
Patent Text Reader

Abstract

A method of controlling a vibration transducer, the method comprising: tracking a temperature metric of the vibration transducer; and controlling a drive signal for the vibration transducer, where the drive signal is limited to a value that protects the vibration transducer from over-offset, and where the value is a function of the tracked temperature metric.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to vibration transducer control, for example, to controlling a drive signal used to drive a vibration transducer. In particular, the present disclosure relates to over-excursion protection associated with a vibration transducer. Background Art

[0002] Vibration transducers can be used in a range of technical fields, including the field of tactile feedback. As is well known, tactile (or haptic) technology creates a touch experience or tactile experience by applying force, vibration or motion to the user.

[0003] Haptic effects can be used to enhance user experience in areas such as gaming or mobile phone ringtones by applying a drive waveform to a vibration transducer (tactile transducer) such as an LRA (linear resonant actuator) or a piezoelectric transducer. Using a vibration transducer, a force can be applied to the user to give a tactile experience (also called tactile feedback) that accompanies and / or enhances another user experience, such as an audio or visual experience, or simply provides the user with tactile information about the status of an ongoing process.

[0004] The haptic effects may be provided by a host device, which may also provide accompanying experiences, such as audio or audio-visual experiences as described above. The host device may be considered a haptic-enabled device (a haptic-enabled device), wherein the host device is provided with an LRA or other tactile output transducer that is driven to apply force to a user directly or indirectly (e.g., via a touch screen). In this context, the host device may be considered an electrical or electronic device, and may be a mobile device. Example devices include portable and / or battery-powered host devices, such as mobile phones or smart phones, audio players, video players, PDAs, mobile computing platforms such as laptops or tablets, and / or gaming devices.

[0005] Existing controls for vibration transducers such as LRAs typically include some form of excursion limiting to protect the transducer from over-excursion events caused by longer waveform playback (e.g., with a mechanical Q factor as high as a typical LRA, longer signals at resonance are more likely to produce over-excursions.) In this context, over-excursion can be thought of as pushing the driver to (or in some cases, beyond) its mechanical limits, causing, for example, the vibration mass of the vibration transducer to travel beyond its safe operating limits, even to the point of impacting a mechanical limit or stop.

[0006] It has been found that existing controls for vibration transducers have limitations, particularly with respect to over-excursion protection.

[0007] It would be desirable to address some or all of the above problems.It would be desirable to provide an improved technique for vibration transducer control. Summary of the invention

[0008] According to a first aspect of the present disclosure, there is provided a method of controlling a vibration transducer, the method comprising: tracking a temperature metric of the vibration transducer; and controlling a drive signal for the vibration transducer, wherein the drive signal is limited to a value that protects the vibration transducer from over-excursion, and wherein the value is a function of the tracked temperature metric.

[0009] The temperature metric may indicate the temperature of the vibration transducer, for example representing the temperature of the overall vibration transducer (e.g., an average temperature). The vibration transducer may be an LRA or another resonant actuator, a motor, or a vibration motor. By controlling the value as a function of the tracked temperature metric, the over-excursion protection may be adjusted so as to be substantially independent of temperature, or less dependent on the temperature of the vibration transducer. In this way, the performance or life of the vibration transducer may be made less dependent on the temperature of the vibration transducer. The vibration transducer may be protected from over-excursion by limiting the excursion of the vibration transducer to a value that prevents mechanical limiting or reduces the chance of mechanical limiting. The excursion may be limited by limiting the drive signal, for example limiting the maximum value of the drive signal in the time domain or limiting the peak value of the frequency response of the drive signal (or the peak value within a limited frequency range).

[0010] Depending on the application, tracking may be performed continuously or periodically or from time to time. The drive signal may be, for example, a voltage (i.e., voltage-mode) signal and may be generated based on an input signal that may also be a voltage signal (e.g., based on a gain that defines a relationship between the two signals). The gain may be controlled as a function of a temperature metric.

[0011] According to a second aspect of the present disclosure, there is provided a method of controlling a vibration transducer, the method comprising: tracking a temperature metric of the vibration transducer; and controlling a drive signal for the vibration transducer, wherein the drive signal is limited to a value that reduces or prevents mechanical limiting of the vibration transducer or reduces the probability of mechanical limiting of the vibration transducer, wherein the value is a function of the tracked temperature metric.

[0012] According to a third aspect of the present disclosure, there is provided a method for controlling a vibration transducer, the method comprising: tracking a temperature metric of the vibration transducer; deriving a transducer offset limit based on the tracked temperature metric; and (dynamically) adjusting a drive signal for the vibration transducer based on the derived offset limit to prevent or inhibit amplitude limiting of the vibration transducer or reduce the probability of amplitude limiting of the vibration transducer.

[0013] According to a fourth aspect of the present disclosure, a method for controlling a vibration transducer is provided, the method comprising: tracking a temperature measurement of the vibration transducer; and adapting a feedforward offset prediction model for the vibration transducer based on the tracked temperature measurement; and controlling the vibration transducer based on the adapted feedforward offset prediction model.

[0014] According to a fifth aspect of the present disclosure, a method for controlling a vibration transducer is provided, the method comprising: tracking a dynamic metric indicating at least one dynamic characteristic of the vibration transducer; and limiting a drive signal for driving the vibration transducer to a value that protects the vibration transducer from over-excursion, wherein the value is a function of the tracked dynamic metric.

[0015] According to a sixth aspect of the present disclosure, there is provided a method of controlling a vibration transducer, the method comprising: tracking a temperature metric indicating the temperature of the vibration transducer; and limiting a drive signal used to drive the vibration transducer to a value that protects the vibration transducer from over-excursion, wherein the value is a function of the tracked temperature metric.

[0016] According to a seventh aspect of the present disclosure, a method for controlling a vibration transducer is provided, the method comprising: tracking the temperature of the vibration transducer; and limiting a drive signal for driving the vibration transducer to a value that protects the vibration transducer from over-excursion, wherein the value is a function of the tracked temperature.

[0017] According to an eighth aspect of the present disclosure, a method for controlling a vibration transducer is provided, the method comprising: tracking the temperature of the vibration transducer; and generating a drive signal for driving the vibration transducer based on an input signal according to a defined relationship, wherein the relationship is configured to protect the vibration transducer from over-excursion, wherein the relationship is a function of the tracked temperature.

[0018] According to a ninth aspect of the present disclosure, there is provided a computer program, which, when executed on a controller connected for controlling a vibration transducer, causes the controller to perform the method of any one of the preceding aspects.

[0019] According to a tenth aspect of the present disclosure, a computer-readable storage medium is provided, on which the computer program of the ninth aspect is stored.

[0020] According to an eleventh aspect of the present disclosure, a controller for controlling a vibration transducer is provided, the controller being configured to perform the method of any one of the first to eighth aspects, optionally wherein the controller is implemented as an integrated circuit (IC), optionally including a processor.

[0021] According to a twelfth aspect of the present disclosure, there is provided a vibration transducer system, the vibration transducer system comprising: the controller according to the eleventh aspect; and a vibration transducer, wherein the controller is connected to drive the vibration transducer with a drive signal.

[0022] According to the thirteenth aspect of the present disclosure, a host device is provided, which is an electrical or electronic device, and includes a controller according to the eleventh aspect or a vibration transducer system according to the twelfth aspect, optionally wherein the host device includes a mobile phone, a laptop computer, a tablet computer or other personal device.

[0023] Corresponding method aspects, computer program aspects and storage medium aspects are also contemplated. Features of one aspect may be applicable to another aspect and vice versa. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Reference will now be made, by way of example only, to the accompanying drawings in which:

[0025] Figure 1 A graph illustrating the effect of temperature on LRA characteristics is presented;

[0026] Figure 2 is a schematic diagram of an example vibration transducer system according to one embodiment;

[0027] Figure 3 is a flow chart presenting a control method according to one embodiment;

[0028] Figure 4 is a schematic diagram of a host device according to one embodiment;

[0029] Figure 5 is a schematic diagram of an example vibration transducer system according to one embodiment;

[0030] Figure 6 According to an implementation scheme Figure 5 A schematic diagram of a subsystem of a controller;

[0031] Figures 7 to 10 yes Figure 6 Schematic diagram of the corresponding parts of the subsystem. DETAILED DESCRIPTION

[0032] The following description sets forth example embodiments according to the present disclosure. Additional example embodiments and specific implementations will be apparent to those of ordinary skill in the art. In addition, those of ordinary skill in the art will recognize that various equivalent techniques may be substituted for or applied in conjunction with the embodiments discussed below, and all such equivalent techniques should be deemed to be encompassed by the present disclosure.

[0033] Previously considered excursion protection methods typically use predictive models to predict the excursion and limit it to avoid over-excursion. Such predictive models are usually based on the characteristics of the vibration transducer characterized before use. It is assumed that the characteristics will not change due to aging or environment.

[0034] However, the inventors have studied vibration transducer performance and have determined that transducer (e.g., LRA) characteristics change due to aging and environmental changes such as temperature and / or pressure - especially temperature changes. Temperature changes are very common when using a host device such as a mobile device and may be due to ambient temperature changes and / or the device getting hot due to its own operation.

[0035] Figure 1 Graphs illustrating the effect of temperature (shown in degrees Celsius) on the characteristics of an LRA as an example vibration transducer are presented. The left graph shows the effect of temperature on the impedance response at 10 degree intervals from -10°C to 60°C. The right graph shows the effect of temperature on the shift spectrum at 10 degree intervals from 20°C to 60°C. In both cases, the difference in response based on temperature is obvious. For example, in the right graph, there is a change of about 3-4dB in the peak value, and there is also a shift in the peak (resonant) frequency. It should be noted here that the temperature is the temperature of the overall or entire transducer, not the temperature of only the coil or voice coil of the transducer.

[0036] Figure 2 is a schematic diagram of an example vibration transducer system 100 . Figure 3 is a flow chart presenting a control method 200 corresponding to the operation of the vibration transducer system 100 .

[0037] The vibration transducer system 100 includes a controller 110 and a vibration transducer 120. The controller 110 may be implemented in any combination of hardware and software. Figure 4 Explained in more detail, the functionality of the controller 110 may be implemented as a computer program, which may be provided on a computer-readable storage medium and executable on a processor of the controller 110 .

[0038] refer to Figure 2 and Figure 3 , the controller 110 is connected to drive the vibration transducer 120 with a drive signal and is configured to perform a control method 200. The method 200 includes tracking a dynamic metric indicating at least one dynamic characteristic or property of the vibration transducer 120 (step S1), and limiting the drive signal to a value that protects the vibration transducer 120 from over-excursion (step S2), wherein the value is a function of the tracked dynamic metric. The method steps S1 and S2 can be repeated as indicated so that the control of the vibration transducer 120 adapts to changes in the dynamic metric.

[0039] The dynamic metric may indicate one or more of temperature, ambient pressure, and age (as examples of dynamic characteristics or properties) of the vibration transducer 120. For example, the dynamic metric may be a temperature metric and indicate the temperature of the vibration transducer 120.

[0040] Considering the example temperature metric, method 200 may be considered to track the temperature metric, and control the drive signal, wherein the drive signal is limited to a value that protects the vibration transducer from over-excursion, and wherein the value is a function of the tracked temperature metric.

[0041] The method 200 may include limiting the voltage or current of the drive signal to protect the vibration transducer from over-excursion (i.e., the drive signal may be a voltage mode or current mode signal). Thus, the value may be a voltage limit value or a current limit value. For example, the voltage limit value or the current limit value may be retrieved from a memory based on the tracked temperature metric. In general, the controller 110 may be considered to implement a control model (which controls the drive signal based at least on an input signal), and it may be or include a predictive model. The method 200 may include adapting / adjusting such a control model or predictive model based on the tracked temperature metric. It may be estimated based on the temperature metric whether the excursion of the vibration transducer is close to an over-excursion and / or a limiting condition, and the value may be set based on the estimate. For example, the value may be derived from an excursion model adapted using a temperature metric.

[0042] In an example implementation, a set of values ​​as limit values ​​may be defined or stored in, for example, a lookup table, which respectively correspond to different values ​​or value ranges of the temperature metric. The limit value may then be selected based on the correspondence between the limit value and the value of the temperature metric.

[0043] The drive signal may be considered to be generated in real time based on the input signal as indicated. Also as noted, control may be performed based at least in part on a feedback signal from the vibration transducer 120 and / or a control signal provided to the vibration transducer 120. In the case of temperature, a current and / or voltage signal or a power signal indicative of the power consumed by the vibration transducer 120 may be fed back from the vibration transducer 120 to enable calculation / determination of a dynamic metric (temperature metric). In the case of ambient pressure or aging, a signal from a pressure sensor or clock may be provided to the controller 110 as part of the control signal.

[0044] The input signal may be considered as or include a tactile output signal, and may include (or be generated by) an audio signal, a video signal, an audio-visual signal, an ultrasonic signal, an electromagnetic signal, a biometric signal, a synthetic signal (e.g. generated by a video game) and / or a sensor signal (e.g. generated by a microphone or a force sensor).

[0045] The vibration transducer system 100 may be implemented as a host device. Figure 4is a schematic diagram of a host device 100A as an example implementation of the vibration transducer system 100. The host device 100A may be an electrical or electronic device. The example host device 100A includes a portable and / or battery-powered host device such as a mobile phone or smart phone, an audio player, a video player, a PDA, a mobile computing platform such as a laptop or tablet computer, and / or a gaming device.

[0046] like Figure 1 As shown, the host device 100A may include an enclosure 101A, a controller 110A, an input and / or output unit (I / O unit) 120A, and a memory 130A. Figure 1 1, but the memory 130A may be considered as part of the controller 110A. The controller 110A may be considered as an example implementation of the controller 110, and the I / O unit 120A may be considered as an example implementation of the vibration transducer 120, and may actually include an LRA as the vibration transducer 120.

[0047] The enclosure 101A may include any suitable housing, case, rack, or other enclosure for housing the various components of the host device 100A. The enclosure 101A may be constructed of plastic, metal, and / or any other suitable material. In addition, in some arrangements, the enclosure 101A may be adapted (e.g., sized and shaped) so that the host device 100A is easily transportable by a user (i.e., a person).

[0048] The controller 110A may be housed within the enclosure 101A and may include any system, device, or apparatus configured to control the functionality of the host device 100, including any or all of the memory 130A and the I / O unit 120A. The controller 110A may be implemented as a digital or analog circuit, in hardware or in software running on a processor, or in any combination of these.

[0049] Thus, the controller 110A may include any system, device or apparatus configured to interpret and / or execute program instructions or codes and / or process data, and may include, but is not limited to, a processor, a microprocessor, a microcontroller, a digital signal processor (DSP), an application specific integrated circuit (ASIC), an FPGA (field programmable gate array), or any other digital or analog circuit configured to interpret and / or execute program instructions and / or process data. Thus, the code may include program code or microcode, or, for example, code for setting or controlling an ASIC or FPGA. The code may also include code for dynamically configuring a reconfigurable device (such as a reprogrammable logic gate array). Similarly, the code may include code for a hardware description language such as Verilog TM or VHDL. As will be appreciated by the skilled person, the code may be distributed between multiple coupled components that communicate with each other. Where appropriate, such aspects may also be implemented using code running on a field (re)programmable analog array or similar device to configure analog hardware. Processor control code for execution by the controller 110A may be provided on a non-volatile carrier medium such as a disk, CD-ROM or DVD-ROM, a program memory such as a read-only memory (firmware), or on a data carrier such as an optical signal carrier or an electrical signal carrier. The controller 110A may be referred to as a control circuit and may be provided as an integrated circuit such as an IC chip or as a part thereof.

[0050] The memory 130A may be housed within the enclosure 101A, may be communicatively coupled to (or may be a part of) the controller 110A, and may include any system, device, or apparatus (e.g., a computer-readable medium) configured to retain program instructions and / or data for a period of time. In some embodiments, the controller 110A interprets and / or executes program instructions and / or processes data stored in the memory 130A and / or other computer-readable media accessible to the controller 110A.

[0051] I / O unit 120A may be housed within enclosure 101A, may be distributed across host device 100A (ie, it may represent multiple units), and may be communicatively coupled to controller 110. Although not described herein, Figure 4 Although not specifically shown in FIG. 1 , I / O unit 120A includes an LRA (as an example implementation of vibration transducer 120 ), ie, a device capable of outputting a force such as vibration.

[0052] The I / O unit 120A may (additionally) include any or all of a microphone, a radio (or other electromagnetic) transmitter / receiver, a speaker, a display screen (optionally a touch screen), an indicator (e.g., an LED), a sensor (e.g., a force sensor, an accelerometer, a temperature sensor, a gyroscope, a camera, a tilt sensor, an electronic compass, etc.), and one or more buttons or keys. Example force sensors include or include capacitive displacement sensors, inductive force sensors, strain gauges, piezoelectric force sensors, force sensing resistors (resistive force sensors), piezoresistive force sensors, thin film force sensors, and force sensors based on quantum tunneling composite materials. However, the focus herein will be on the control of an LRA as an example of a vibration transducer 120, rather than on such possible additional elements of the I / O unit 120A. Therefore, for simplicity, the I / O unit 120A may be referred to as LRA 120A hereinafter.

[0053] In the presence of LRA 120A (as an example tactile transducer), host device 100A may be considered a tactile-enabled device. Some aspects of the present disclosure, such as controller 110A (or controller 110), may be arranged as part of a tactile circuit (e.g., a tactile circuit that may be provided in host device 100A). Circuits or circuit systems (such as controller 110 or 110A) embodying aspects of the present disclosure may be (at least partially) implemented as an integrated circuit (IC), such as on an IC chip. One or more input or output transducers (such as LRA 120A) may be connected to the integrated circuit in use.

[0054] For ease of understanding, a running example will be employed in which the vibration transducer 120 will be assumed to be an LRA, and the dynamic metric will be assumed to be a temperature metric and indicate the temperature of the LRA. However, it should be understood that an LRA is an example of a vibration transducer, and a temperature metric is an example of a dynamic metric. The present disclosure will be understood accordingly. Of course, an LRA is merely a convenient example vibration transducer; a vibration transducer (in this context, a tactile transducer) may be a resonant actuator or a motor or a vibration motor (such as an eccentric rotating mass vibration motor).

[0055] Figure 5 1 is a schematic diagram of an example vibration transducer system 100B as an example implementation of the vibration transducer system 100 (or similarly, 100A). The vibration transducer system 100B includes a controller 110B and an LRA 120B as example implementations of the controller 110 and the vibration transducer 120, respectively.

[0056] Despite Figure 5 is not explicitly shown, but as described later Figures 6 to 10As will be apparent, the controller 110B is configured to execute the control method 200 in order to adapt its control based on the temperature of the LRA 120B. Figure 5 As indicated in FIG. 1 , the current monitoring signal Imon and the voltage monitoring signal Vmon are fed back to the controller 110B as Figure 1 An example of a feedback signal in FIG. The current monitoring signal Imon indicates the current drawn by the LRA 120B, and the voltage monitoring signal Vmon indicates the voltage across (the impedance or effective impedance of) the LRA 120B. These signals can be used to determine the power drawn by the LRA 120B.

[0057] The vibration transducer system 100B, and in particular the controller 110B, is useful for understanding in more detail how the drive signal may be controlled in an example implementation and in particular how over-excursion protection may be performed. Figures 6 to 10 Associated example configurations for adapting such drive signal control based on temperature metrics are described.

[0058] Considering the controller 110B itself, the drive signal output to the LRA 120B is generated based on the received input signal. In detail, the input signal is separated into a high frequency portion and a low frequency portion that are passed along the corresponding circuit branches by frequency filtering (see high pass filter HPF and low pass filter LPF), and then these portions are summed. The result of the summation is amplified to generate the drive signal. The low frequency portion of the input signal is passed via an excursion limiter, which operates to limit this portion (and therefore the associated portion of the drive signal), thereby ensuring that the LRA 120B is protected from over-excursion. Note that the low pass filtering occurs at Figure 5 The excursion limiter may be after the excursion limiter in , however in other implementations it may occur before the excursion limiter. The separation into high frequency and low frequency parts is not necessary - the excursion limiter may act on the input signal over an applicable frequency bandwidth.

[0059] Keeping in mind the LRA 120B, the drive signal is generated as an AC voltage to drive a (voice) coil within the LRA 120B to vibrate the moving mass connected to the spring along the principal axis, thereby vibrating the entire LRA 120B (with a force perceptible to humans), especially when driven at the resonant frequency of the spring / mass combination. By limiting the low frequency portion and therefore the associated portion of the drive signal, the vibration amplitude of the mass can be limited to protect the LRA 120B from over-excursion. Over-excursion in this context can be considered as driving the mass beyond a given safety limit or even to its mechanical limit, to the point of impacting a mechanical limit or stop.

[0060] The deflection limiter is controlled based on a deflection estimate, i.e., an estimate of how far the mass has traveled along the principal axis. The deflection estimate is based on a modeled deflection generated by a feedforward model (deflection prediction model) based on the input signal, and based on a direct displacement estimate generated (by a direct displacement model) based on the current monitoring signal Imon and the voltage monitoring signal Vmon. The direct displacement estimate is provided together with the output of the feedforward model to a supervisory unit, which outputs a value that is multiplied by the modeled deflection to generate a deflection estimate.

[0061] In general, an excursion limiter can be thought of as an amplifier that applies a gain (whose value may vary with frequency) to the low frequency portion of the input signal, and that gain may be controlled based on an estimate of the excursion. Where the gain is frequency dependent (i.e., has a non-flat frequency response), it will be appreciated that the value to which the drive signal is limited may also have a non-flat frequency response, but the limitation may in fact limit the peak of the frequency response and have the effect of limiting the peak excursion in the time domain.

[0062] Figure 6 is a schematic diagram of a subsystem 300 of controller 110B (and which may also be implemented in controller 110A or 110), and Figures 7 to 10 is a schematic diagram of corresponding parts of subsystem 300.

[0063] The subsystem 300 includes a temperature tracking unit 400, an offset difference tracking unit 500, a decision unit 600, and a drive signal control improvement unit 700. Figures 7 to 10 Considered in more detail in FIG. 4 , temperature tracking unit 400 includes temperature estimation unit 410 and temperature calculation unit 420, and offset difference tracking unit 500 includes offset estimation unit 510 and difference unit 520. These units may be considered as blocks or subcomponents or elements of subsystem 300, etc.

[0064] The functionality of subsystem 300 may be implemented as an algorithm, for example represented in a computer program executed by controller 110B. Figures 6 to 10 The distribution of overall functionality between different units in is only for ease of understanding.

[0065] In order to improve the performance of the excursion protection system due to temperature changes, the subsystem 300 tracks the LRA 120B (tactile transducer or vibration transducer) temperature in real time with a temperature tracking unit 400, estimates the excursion difference (the difference between the modeled excursion and the direct displacement estimate) with an excursion difference tracking unit 500, generates a transducer temperature decision based on the tracked LRA 120B temperature and / or the estimated excursion difference with a decision unit 600, and adapts or controls one or more units of the controller 110B based on the transducer temperature decision to use a drive signal control improvement unit 700 to affect over-excursion protection.

[0066] See also Figure 5 , the drive signal control improvement unit 700 may therefore adapt (based on the temperature metric) one or more of, for example, a feedforward model (offset prediction model), a direct displacement unit (direct displacement model), a supervisory unit, and an offset limiter (amplifier) ​​to affect over-excursion protection. For example, parameters of the feedforward model (offset prediction model) may be adjusted, parameters of the direct displacement unit (direct displacement model) may be adjusted, parameters of the supervisory unit may be adjusted, and / or parameters (such as gain) of the offset limiter itself (amplifier) ​​may be adjusted to affect over-excursion protection.

[0067] In practice, the drive signal may be controlled based on the tracked temperature of the LRA 120B, i.e., by adapting how the drive signal is controlled (at least one factor of the system being controlled) based on the tracked temperature of the LRA 120B. The drive signal to the LRA 120B may be controlled such that the drive voltage is limited to a value that reduces mechanical clipping or the probability or chance thereof, wherein the value is a function of the tracked temperature.

[0068] Figure 7 is a schematic diagram of a temperature tracking unit 400 including a temperature estimation unit 410 and a temperature calculation unit 420 .

[0069] The temperature estimation unit 410 includes a Re estimation unit 412, a coil temperature estimation unit 414, and a thermal model unit 416. The temperature calculation unit 420 includes a temperature calculation (non-smoothing) unit 422 and a smoothing unit 424.

[0070] The Re estimation unit 412 is configured to estimate the Re of a coil (e.g., a voice coil) of the LRA 120B, where Re is the DC resistance of the coil. A pilot tone is provided to the LRA 120B via a drive signal, and the amplitudes of the current monitoring signal Imon and the voltage monitoring signal Vmon at the pilot tone frequency are extracted from the current monitoring signal Imon and the voltage monitoring signal Vmon. The pilot tone voltage amplitude (level) may be divided by the pilot tone current amplitude (level) to obtain an estimate of the resistance Re.

[0071] The coil temperature estimation unit 414 estimates the temperature T of the coil using the estimated value of the resistance Re based on a given resistance-temperature conversion relationship. coil .

[0072] The thermal model unit 416 is configured to use the input power of the LRA 120B as an input to the thermal model to track the coil temperature variation T C-model And also track the transducer temperature change T LRA-model The input to the thermal model is power (ie, power consumed or drawn by the LRA 120B), and the output of the model is the change in coil and LRA temperature caused by the input power.

[0073] The temperature calculation (non-smoothing) unit 422 is configured to estimate the ambient temperature T according to the following equation based on the value estimated by the temperature estimation unit 410 as above. e :

[0074] T e =T coil –T C-model

[0075] And the LRA temperature is evaluated according to the following formula:

[0076] T LRA =T e +T LRA-model =T coil –T C-model +T LRA-model

[0077] The smoothing unit 424 then performs smoothing (e.g., low-pass filtering) to remove noise and any other high-frequency artifacts, thereby tracking long-term or low-frequency temperature changes, and outputs the (smoothed) instantaneous transducer temperature. Although optional, the output may also be the (smoothed) ambient temperature, for example for use by another system or subsystem.

[0078] Of course, if there is a thermal sensor near the LRA 120B, that sensor can be used to track the LRA temperature instead of tracking it as described above.

[0079] Figure 8 is a schematic diagram of an offset difference tracking unit 500 including an offset estimation unit 510 and a difference unit 520.

[0080] The offset estimation unit 510 includes an offset prediction unit 512 and a direct displacement unit 514. The offset prediction unit 512 is configured to output a modeled offset generated by a feedforward model (offset prediction model) based on an input signal, and thus may be Figure 5 The direct displacement unit 514 is configured to output a direct displacement estimate generated based on the current monitoring signal Imon and the voltage monitoring signal Vmon (by the direct displacement model), and thus can be the same as the feedforward model unit of , or another instance thereof. Figure 5 The direct displacement estimation unit is the same unit as, or another instance of, the direct displacement estimation unit.

[0081] The difference unit 520 is configured to calculate or determine the difference between the modeled offset and the direct displacement estimate generated by the offset estimation unit 510 and output it as an offset difference, and thus may be similar to Figure 5The supervisory unit of the direct displacement unit 514 may be the same unit as the supervisory unit of the direct displacement unit 514, or another instance thereof. As a specific implementation, the offset difference may be calculated in the supervisory unit, and the supervisory unit may output a decision (see unit 600) and a gain adjustment to the limiter. An example implementation of the direct displacement model of the direct displacement unit 514 is Figure 8 , but this is only an example.

[0082] In general, the offset estimation unit 510 thus calculates the difference between the offset model output and the direct displacement. The greater the temperature change, the greater the difference observed. For example, from Fig. 9 It will be appreciated that the output offset differences may be buffered and smoothed to track long term differences.

[0083] Fig. 9 Decision unit 600 is a schematic diagram of decision unit 600. Decision unit 600 includes buffering and smoothing units 612 and 614, a weighted metric unit 616, a history function unit 618, and a threshold unit 620.

[0084] Buffering and smoothing units 612 and 614 are configured to receive instantaneous transducer temperature and offset difference from temperature tracking unit 400 and offset difference tracking unit 500, respectively, and output corresponding smoothed signals to weighted metric unit 616. In some arrangements, buffering and smoothing may be optional.

[0085] The weighted metric unit 616 is configured to combine the (smoothed) instantaneous transducer temperature and the (smoothed) offset difference and to generate a temperature metric therefrom, for example as a weighted combination of the (smoothed) instantaneous transducer temperature and the (smoothed) offset difference.

[0086] For example, the weighting may be more or even completely biased towards the (smoothed) instantaneous transducer temperature. That is, in some arrangements, the (smoothed) instantaneous transducer temperature may be used as the temperature metric. In some arrangements, the (smoothed) offset difference may be used as the temperature metric. In other arrangements, the (smoothed) instantaneous transducer temperature may be weighted and combined with the (smoothed) offset difference to provide a temperature metric.

[0087] The history function unit 618 is configured to store or buffer a history of temperature metric values, and the threshold unit 620 is configured to determine when a change in the temperature metric (or the value of the temperature metric) reaches a given or predefined threshold, in which case a transducer temperature decision can be made, thereby triggering a modification of the offset limit performed by the controller 110B. In this way, changes in instantaneous transducer temperature and / or offset difference (or its level) preferably do not immediately trigger a modification of the offset limit. The system can effectively determine whether the offset estimate is approaching an overload condition based on the temperature change, and limit the offset of the LRA 120B accordingly based on the estimate.

[0088] Fig.10is a schematic diagram of a drive signal control improvement unit 700 and is configured to control the modification of the excursion limit performed by the controller 110B based on the transducer temperature decision of the decision unit 600 .

[0089] As previously described, the drive signal control improvement unit 700 may adapt any parameter or element (or combination of parameters or elements) of the control of the drive signal, for example, performed by the controller 110B. The adaptation or adjustment may be performed continuously, iteratively, or dynamically, i.e., on the fly or when the controller is online or operating. The adaptation or adjustment may be performed from time to time, i.e., periodically or occasionally.

[0090] See also Figure 5 , the drive signal control improvement unit 700 may adapt, for example, one or more of a feedforward model (offset prediction model), a direct displacement unit (direct displacement model), a supervisory unit, and an offset limiter (amplifier) ​​to affect over-excursion protection. This may be performed by selecting between different such models or adapting parameters of such models.

[0091] For example, unit 710 may be configured to update a feedforward model. Unit 710 may be configured to select between different feedforward models, or to adapt or update the parameters of a feedforward model with its model adaptation unit 712 (e.g., continuously). For example, for each temperature data point of a temperature region of interest (e.g., at 20°C, 30°C, 40°C, 50°C, 60°C intervals or levels), LRA 120B may be characterized, and appropriate model parameter values ​​(or increments compared to nominal parameter values) may be determined. These values / increments may be incorporated into separate feedforward models, which may be selected between a single feedforward model, or may be used to update a single feedforward model (e.g., seamlessly or continuously). That is, based on the adaptation decision, a switch of a feedforward model (i.e., selection from a plurality of saved models) may be triggered. A similar approach may be applied to a direct displacement model, or to any calculation, for example, performed by subsystem 300.

[0092] As another example, the unit 720 may be configured to maintain a parameter table in its parameter mapping unit 722, mapping different parameters to different temperature data points indicated by the transducer temperature decision of the decision unit 600. In this way, the parameter adaptation unit 724 may be configured to adapt the parameters of the direct displacement model (and / or the offset prediction model) based on the parameter mapping in the parameter table and the transducer temperature decision to (e.g., seamlessly or continuously) adapt the model. Similar methods may be applied to feedforward models, or to any calculations performed, for example, by the subsystem 300.

[0093] As not in Fig.10In another example shown in FIG. 7 , the drive signal control improvement unit 700 may be configured to adjust, adapt or change the gain of the offset limit based on temperature changes (ie, transducer temperature determination), for example Figure 5 The gain of the offset limiter.

[0094] In summary, the temperature of the vibration transducer is tracked, and the drive signal for the vibration transducer is controlled based on the tracked temperature. As part of this control, the drive signal can be limited to a value that protects the vibration transducer from over-excursion, wherein the value is a function of the tracked temperature.

[0095] Those skilled in the art will recognize that some aspects of the above-described apparatus (circuit) and method may be embodied as processor control code, for example, on a non-volatile carrier medium such as a disk, CD or DVD-ROM, a programming memory such as a read-only memory (firmware), or on a data carrier such as an optical or electrical signal carrier. For example, the tactile signal generator 200, 200A or 200B may be implemented as a processor that operates based on the processor control code. As another example, the controller 110 or 110A may be implemented as a processor that operates based on the processor control code.

[0096] For some applications, such aspects will be implemented on a DSP (digital signal processor), ASIC (application specific integrated circuit) or FPGA (field programmable gate array). Thus, the code may include conventional program code or microcode, or, for example, code for setting up or controlling an ASIC or FPGA. The code may also include code for dynamically configuring a reconfigurable device, such as a reprogrammable logic gate array. Similarly, the code may include code for a hardware description language such as Verilog TM or VHDL. As will be appreciated by the skilled person, the code may be distributed among multiple coupled components that communicate with each other. Where appropriate, such aspects may also be implemented using code running on a field (re)programmable analog array or similar device to configure analog hardware.

[0097] Some embodiments of the present invention may be arranged as part of an audio processing circuit, such as an audio circuit (such as a codec or the like) which may be provided in a host device as discussed above. A circuit (circuit or circuitry) according to embodiments of the present invention may be (at least partially) implemented as an integrated circuit (IC), such as on an IC chip. One or more input or output transducers (such as LRAs) may be connected to the integrated circuit in use.

[0098] It should be noted that the above embodiments illustrate rather than limit the present invention, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. The word "comprising" does not exclude the presence of elements or steps other than those listed in the claims, "a" or "an" does not exclude a plurality, and a single feature or other unit may perform the functions of several units recited in the claims. Any reference signs or labels in the claims should not be construed as limiting their scope.

[0099] As used herein, when two or more elements are referred to as being “coupled” to each other, such terminology indicates that the two or more elements are in electrical or mechanical communication, whether indirectly or directly connected, with or without intervening elements, as applicable.

[0100] The present disclosure covers all changes, substitutions, changes, alterations and modifications to the exemplary embodiments herein that will be understood by those of ordinary skill in the art. Similarly, where appropriate, the appended claims cover all changes, substitutions, changes, alterations and modifications to the exemplary embodiments herein that will be understood by those of ordinary skill in the art. In addition, the reference to a device or system or a component of a device or system adapted, arranged, capable, configured, enabled, operable or operatively performing a specific function in the appended claims covers this device, system or component, regardless of whether it or this specific function is activated, opened or unlocked, as long as this device, system or component is so adapted, arranged, capable, configured, enabled, operable or operative. Therefore, without departing from the scope of the present disclosure, the systems, devices and methods described herein may be modified, added or omitted. For example, the components of the systems and devices may be integrated or separated. In addition, the operation of the systems and devices disclosed herein may be performed by more, less or other components, and the described method may include more, less or other steps. In addition, the steps may be performed in any suitable order. As used in this document, "each" refers to each member of a set or each member of a subset of a set.

[0101] Although exemplary embodiments are shown in the drawings and described below, the principles of the present disclosure may be implemented using any number of techniques, whether currently known or not. The present disclosure should not be limited in any way to the exemplary specific implementations and techniques shown in the drawings and described above.

[0102] Unless expressly stated otherwise, items depicted in the drawings are not necessarily drawn to scale.

[0103] All examples and conditional language described herein are intended to help readers understand the present disclosure and the concepts contributed by the inventors to promote technology for the purpose of teaching, and are interpreted as not being limited to such specific examples and conditions. Although the embodiments of the present disclosure have been described in detail, it should be understood that various changes, substitutions and modifications may be made to the embodiments without departing from the spirit and scope of the present disclosure.

[0104] Although specific advantages have been listed above, various embodiments may include some or all of the listed advantages, or may not include the listed advantages. In addition, other technical advantages may become apparent to those of ordinary skill in the art after reviewing the foregoing drawings and descriptions.

[0105] It should be understood, especially by those of ordinary skill in the art who have the benefit of this disclosure, that the various operations described herein, especially those described in conjunction with the accompanying drawings, may be implemented by other circuits or other hardware components. The order in which each operation of a given method is performed may be changed, and the various elements of the systems shown herein may be added, reordered, combined, omitted, modified, etc. The present disclosure is intended to cover all such modifications and changes, and therefore, the above description should be regarded as illustrative rather than restrictive.

[0106] Similarly, although the present disclosure refers to specific embodiments, certain modifications and changes may be made to these embodiments without departing from the scope and coverage of the present disclosure. In addition, any benefits, advantages, or solutions to problems described herein with respect to specific embodiments are not intended to be interpreted as key, required, or essential features or elements. Likewise, other embodiments that benefit from the present disclosure will be apparent to those of ordinary skill in the art, and such embodiments should be deemed to be included herein.

[0107] To assist the Patent Office (USPTO) and any reader of any patent issuing in this application in interpreting the appended claims, applicants wish to note that they do not intend for any of the appended claims or claim elements to invoke 35 U.S.C. §112(f) unless the words “means for” or “step for” are expressly used in a particular claim.

[0108] This disclosure extends to the following statements:

[0109] A1. A method for controlling a vibration transducer, the method comprising:

[0110] tracking a temperature measurement of the vibration transducer; and

[0111] A drive signal for the vibration transducer is controlled, wherein the drive signal is limited to a value that protects the vibration transducer from over-excursion, and wherein the value is a function of the tracked temperature metric.

[0112] A2. The method of statement A1, comprising adjusting the value based on the temperature metric to reduce or at least partially compensate for an effect of the temperature of the vibration transducer on:

[0113] Over-excursion protection; and / or

[0114] Mechanical limiting of the vibration transducer; and / or

[0115] the probability or risk of mechanical limiting of the vibration transducer; and / or

[0116] The incidence of mechanical limiting of the vibration transducer.

[0117] A3. A method according to statement A1 or A2, wherein:

[0118] The temperature metric is indicative of a temperature of the vibration transducer; and / or

[0119] The temperature metric is a measure of the temperature of the overall vibration transducer; and / or

[0120] The vibration transducer includes a plurality of subcomponents including a coil, and the temperature metric is a measure of a temperature or a representative temperature of a combination of the plurality of subcomponents.

[0121] A4. A method as described in statement A3, wherein the plurality of subcomponents include the coil, enclosure, movable mass, and spring.

[0122] A5. A method according to any of the preceding statements, comprising generating the temperature metric based on one or more signals and / or electrical characteristics of the vibration transducer.

[0123] A6. A method according to any of the preceding statements, the method comprising generating the temperature metric by at least one of:

[0124] obtaining a reading from a thermal sensor of the vibration transducer or a thermal sensor proximate to the vibration transducer;

[0125] measuring an impedance of a coil of the vibration transducer and estimating a temperature of the coil based on the measured impedance;

[0126] tracking temperature changes of the coil based on input power to the vibration transducer using a thermal model; and

[0127] A thermal model is used to track temperature changes of the (bulk) vibration transducer based on the input power to the vibration transducer.

[0128] A7. A method according to any of the preceding statements, comprising:

[0129] limiting a voltage or current of the drive signal to protect the vibration transducer from over-excursion, optionally wherein the value is a voltage limit value or a current limit value;

[0130] retrieving a voltage limit value or a current limit value from a memory based on the tracked temperature metric; and / or

[0131] controlling the drive signal by adapting a control model or a predictive model based on the tracked temperature metric; and / or

[0132] estimating whether an excursion of the vibration transducer is approaching an over-excursion and / or clipping condition based on the temperature metric, and setting the value based on the estimation, optionally wherein the value is derived from an excursion model adapted using the temperature metric; and / or

[0133] Optionally, a set of values ​​is defined or stored in a lookup table, the set of values ​​being limit values ​​corresponding to different values ​​or ranges of values ​​of the temperature metric, respectively, and the limit values ​​are selected based on the correspondence between the limit values ​​and the values ​​of the temperature metric.

[0134] A8. A method according to any of the preceding statements, comprising generating the drive signal based on an input signal.

[0135] A9. The method according to statement A8 includes: generating the temperature metric based on an offset difference, wherein the offset difference is the difference between a predicted offset predicted by an offset prediction model based on the input signal or the drive signal and a direct displacement value generated based on the current drawn by the vibration transducer and / or the voltage across the vibration transducer.

[0136] A10. The method according to statement A8 or statement A9, the method comprising:

[0137] predicting a displacement of the vibration transducer based on the input signal using a displacement prediction model;

[0138] generating the drive signal based on the predicted offset or based on the input signal and the predicted offset; and

[0139] The offset prediction model is adjusted (dynamically) based on the temperature metric to adjust the value.

[0140] A11. The method of statement A10, wherein adjusting the offset prediction model comprises at least one of:

[0141] (dynamically) adjusting one or more parameters of the offset prediction model; and

[0142] The offset prediction model is selected from a plurality of candidate offset prediction models.

[0143] A12. A method according to any one of statements A8 to A11, comprising:

[0144] generating a direct displacement value using a direct displacement model based on a current drawn by the vibration transducer and / or a voltage across the vibration transducer, the direct displacement value being a measure of an excursion of the vibration transducer;

[0145] generating the drive signal based on the direct displacement value or based on the input signal and the direct displacement value; and

[0146] The direct displacement model is adjusted (dynamically) based on the temperature metric to adjust the value.

[0147] A13. The method of statement A12, wherein adjusting the direct displacement model comprises at least one of:

[0148] (dynamically) adjusting one or more parameters of the direct displacement model; and

[0149] The direct displacement model is selected from a plurality of candidate direct displacement models.

[0150] A14. A method according to any one of statements A8 to A13, comprising:

[0151] calculating an offset difference, the offset difference being the difference between a predicted offset predicted by an offset prediction model based on the input signal and a direct displacement value generated by a direct displacement model based on a current drawn by the vibration transducer and / or a voltage across the vibration transducer, the direct displacement value being a measure of the offset of the vibration transducer;

[0152] generating the drive signal based on the offset difference or based on the input signal and the offset difference; and

[0153] The offset prediction model and / or the direct displacement model are (dynamically) adjusted based on the temperature metric to adjust the value.

[0154] A15. The method of claim A14, wherein adjusting the offset prediction model and / or the direct displacement model comprises at least one of:

[0155] (dynamically) adjusting one or more parameters of the offset prediction model and / or the direct displacement model; and

[0156] The offset prediction model and / or the direct displacement model is selected from a plurality of candidate models.

[0157] A16. The method of any one of Statements A8 to A15, comprising controlling a relationship between the drive signal and the input signal based on the temperature metric to adjust the value.

[0158] A17. A method according to statement A16, wherein the relationship comprises a gain between the drive signal and the input signal, optionally wherein the gain is frequency dependent or has a non-flat frequency response.

[0159] A18. A method for controlling a vibration transducer, the method comprising:

[0160] tracking a temperature measurement of the vibration transducer; and

[0161] A drive signal for the vibration transducer is controlled, wherein the drive signal is limited to a value that reduces, prevents, or reduces the probability of mechanical limiting of the vibration transducer, wherein the value is a function of the tracked temperature metric.

[0162] A19. A method for controlling a vibration transducer, the method comprising:

[0163] tracking a temperature measurement of the vibration transducer;

[0164] deriving a transducer excursion limit based on the tracked temperature metric; and

[0165] A drive signal for the vibration transducer is (dynamically) adjusted based on the derived excursion limit to prevent or inhibit or reduce the probability of clipping of the vibration transducer.

[0166] A20. A method for controlling a vibration transducer, the method comprising:

[0167] tracking a temperature measurement of the vibration transducer; and

[0168] adapting a feed-forward excursion prediction model for the vibration transducer based on the tracked temperature metric; and

[0169] The vibration transducer is controlled based on the adapted feed-forward excursion prediction model.

[0170] A21. A method for controlling a vibration transducer, the method comprising:

[0171] tracking a dynamic metric indicative of at least one dynamic characteristic of the vibration transducer; and

[0172] A drive signal used to drive the vibration transducer is limited to a value that protects the vibration transducer from over-excursion, wherein the value is a function of the tracked dynamic metric.

[0173] A22. A method for controlling a vibration transducer, the method comprising:

[0174] tracking a temperature metric indicative of a temperature of the vibration transducer; and

[0175] A drive signal used to drive the vibration transducer is limited to a value that protects the vibration transducer from over-excursion, wherein the value is a function of the tracked temperature metric.

[0176] A23. A method for controlling a vibration transducer, the method comprising:

[0177] tracking a temperature of the vibration transducer; and

[0178] A drive signal used to drive the vibration transducer is limited to a value that protects the vibration transducer from over-excursion, wherein the value is a function of the tracked temperature.

[0179] A24. A method of controlling a vibration transducer, the method comprising:

[0180] tracking a temperature of the vibration transducer; and

[0181] generating a drive signal for driving the vibration transducer based on an input signal according to a defined relationship, the relationship being configured to protect the vibration transducer from over-excursion,

[0182] Wherein the relationship is a function of the temperature being tracked.

[0183] A25. The method according to any of the preceding statements, wherein the vibration transducer is at least one of:

[0184] Tactile transducer;

[0185] a resonant actuator, such as a linear resonant actuator; and

[0186] Motor or vibratory motor, such as an eccentric rotating mass vibratory motor.

[0187] A26. A computer program which, when executed on a controller connected for controlling a vibration transducer, causes the controller to perform a method according to any one of the preceding statements.

[0188] A27. A computer-readable storage medium having stored thereon a computer program according to statement A26.

[0189] A28. A controller for controlling a vibration transducer, the controller being configured to perform the method of any one of Statement A1 to Statement A25, optionally wherein the controller is implemented as an integrated circuit (IC), optionally including a processor.

[0190] A29. A vibration transducer system, the vibration transducer system comprising

[0191] A controller according to statement A28; and

[0192] The vibration transducer,

[0193] Wherein the controller is connected to drive the vibration transducer with the drive signal.

[0194] A30. A host device, the host device being an electrical or electronic device, the host device comprising a controller according to statement A28 or a vibration transducer system according to statement A29, optionally wherein the host device comprises a mobile phone, a laptop computer, a tablet computer or other personal device.

[0195] B1. Provided is a control system and method for a vibration transducer, the method comprising the following steps:

[0196] a) Tracking the temperature measurement of the vibration transducer;

[0197] b) controlling a drive signal for the vibration transducer, wherein the drive signal is limited to a value that reduces mechanical limiting of the transducer, wherein the value is a function of the tracked temperature metric.

[0198] B2. The step of controlling the drive signal may include retrieving a voltage or current limit value from a memory based on the tracked temperature metric. Additionally or alternatively, the step of controlling the drive signal may include adapting a control model or a predictive model based on the tracked temperature metric.

[0199] B3. A control system and method for a vibration transducer are also provided, the method comprising the following steps:

[0200] Tracking temperature measurements of vibration transducers;

[0201] deriving a transducer excursion limit based on the temperature metric;

[0202] - Adjusting a drive signal for the vibration transducer based on the derived excursion limit to prevent clipping of the vibration transducer.

[0203] B4. Preferably, the step of deriving a transducer excursion limit comprises determining, based on the temperature metric, whether an estimate of the transducer excursion is approaching a clipping condition, and wherein the excursion limit for the drive signal is limited based on the estimate.

[0204] B5. Preferably, the excursion limit is derived from an excursion model adapted using the temperature metric.

[0205] B6. Preferably, the step of deriving a transducer excursion limit comprises adapting an excursion prediction model based on the temperature metric, and wherein the step of adjusting the drive signal is based on an output of the excursion prediction model.

[0206] B7. Preferably, the system and method include providing a plurality of offset limit values ​​for a range of the tracked temperature metric, and wherein the offset limit is selected from the plurality of offset limit values ​​based on the tracked temperature metric. The values ​​may be provided in a memory, for example as a lookup table (LUT), wherein the plurality of offset limit values ​​are derived from a characterization of the vibration transducer and / or a host device incorporating the vibration transducer.

[0207] B8. A control system and method for a vibration transducer are also provided, the method comprising the following steps:

[0208] Tracking temperature measurements of vibration transducers;

[0209] Adapting a feed-forward offset prediction model for the transducer based on the tracked temperature metric; and

[0210] - Controlling the transducer based on the adapted excursion prediction model.

[0211] B9. Preferably, the system and method comprises the further steps of:

[0212] Tracking the offset difference metric for the transducer, and

[0213] • Adapting the feed-forward offset prediction model for the transducer based on the tracked offset difference metric.

[0214] B10. Preferably, the offset difference metric is calculated based on the offset prediction model and direct displacement measurement.

[0215] B11. Preferably, the step of adapting the offset prediction model comprises:

[0216] · select one of a plurality of predefined offset prediction models, or

[0217] Dynamically adjust one or more parameters of an existing drift prediction model.

[0218] B12. Preferably, the offset difference model used to generate the offset difference metric is adapted based on the tracked temperature metric.

[0219] B13. Preferably, an integrated circuit (IC) is provided, the integrated circuit comprising a processor arranged to implement the above-mentioned system and method. The IC may include an integrated transducer driver for coupling with a tactile vibration transducer, the transducer driver being arranged to output a drive signal. The IC may also include an integrated analog front end for interfacing with a force sensor.

[0220] B14. Preferably, a host device in the form of an electronic device including the above IC or system and method is provided, such as a mobile phone, laptop computer, tablet computer or other personal device. A controller is also provided, which is arranged to implement the above system and method. It should be understood that the vibration transducer preferably comprises a linear resonant actuator (LRA), but any other vibration transducer may be controlled by the described system and method.

Claims

1. A method for controlling a vibration transducer, the method comprising: tracking a temperature measurement of the vibration transducer; as well as A drive signal for the vibration transducer is controlled, wherein the drive signal is limited to a value that protects the vibration transducer from over-excursion, and wherein the value is a function of the tracked temperature metric.

2. The method of claim 1 , comprising adjusting the value based on the temperature metric to reduce or at least partially compensate for the effect of the temperature of the vibration transducer on: Over-excursion protection; and / or Mechanical limiting of the vibration transducer; and / or the probability or risk of mechanical limiting of the vibration transducer; and / or The incidence of mechanical limiting of the vibration transducer.

3. The method according to claim 1 or 2, wherein: The temperature metric is indicative of a temperature of the vibration transducer; and / or The temperature metric is a measure of the temperature of the overall vibration transducer; and / or The vibration transducer includes a plurality of subcomponents including a coil, and the temperature metric is a measure of a temperature or a representative temperature of a combination of the plurality of subcomponents.

4. The method of claim 3, wherein the plurality of subcomponents include the coil, enclosure, movable mass, and spring.

5. A method according to any preceding claim, comprising generating the temperature metric based on one or more signals and / or electrical characteristics of the vibration transducer.

6. A method according to any one of the preceding claims, comprising generating the temperature metric by at least one of: obtaining a reading from a thermal sensor of the vibration transducer or a thermal sensor proximate to the vibration transducer; measuring an impedance of a coil of the vibration transducer and estimating a temperature of the coil based on the measured impedance; tracking temperature changes of the coil based on input power to the vibration transducer using a thermal model; as well as A thermal model is used to track temperature changes of the (bulk) vibration transducer based on the input power to the vibration transducer.

7. A method according to any one of the preceding claims, comprising: limiting a voltage or current of the drive signal to protect the vibration transducer from over-excursion, optionally wherein the value is a voltage limit value or a current limit value; retrieving a voltage limit value or a current limit value from a memory based on the tracked temperature metric; and / or controlling the drive signal by adapting a control model or a predictive model based on the tracked temperature metric; and / or estimating whether an excursion of the vibration transducer is approaching an over-excursion and / or clipping condition based on the temperature metric, and setting the value based on the estimation, optionally wherein the value is derived from an excursion model adapted using the temperature metric; and / or Optionally, a set of values ​​is defined or stored in a lookup table, the set of values ​​being limit values ​​corresponding to different values ​​or ranges of values ​​of the temperature metric, respectively, and the limit values ​​are selected based on the correspondence between the limit values ​​and the values ​​of the temperature metric.

8. A method according to any preceding claim, comprising generating the drive signal based on an input signal.

9. A method according to claim 8, comprising generating the temperature metric based on an offset difference, the offset difference being the difference between a predicted offset predicted by an offset prediction model based on the input signal or the drive signal and a direct displacement value generated based on the current drawn by the vibration transducer and / or the voltage across the vibration transducer.

10. The method according to claim 8 or 9, comprising: predicting a displacement of the vibration transducer based on the input signal using a displacement prediction model; generating the drive signal based on the predicted offset or based on the input signal and the predicted offset; as well as The offset prediction model is adjusted based on the temperature metric to adjust the value.

11. The method of claim 10, wherein adjusting the offset prediction model comprises at least one of: adjusting one or more parameters of the deviation prediction model; and The offset prediction model is selected from a plurality of candidate offset prediction models.

12. The method according to any one of claims 8 to 11, comprising: generating a direct displacement value using a direct displacement model based on a current drawn by the vibration transducer and / or a voltage across the vibration transducer, the direct displacement value being a measure of an excursion of the vibration transducer; generating the drive signal based on the direct displacement value or based on the input signal and the direct displacement value; as well as The direct displacement model is adjusted based on the temperature metric to adjust the value.

13. The method of claim 12, wherein adjusting the direct displacement model comprises at least one of: adjusting one or more parameters of the direct displacement model; and The direct displacement model is selected from a plurality of candidate direct displacement models.

14. The method according to any one of claims 8 to 13, comprising: calculating an offset difference, the offset difference being the difference between a predicted offset predicted by an offset prediction model based on the input signal and a direct displacement value generated by a direct displacement model based on a current drawn by the vibration transducer and / or a voltage across the vibration transducer, the direct displacement value being a measure of the offset of the vibration transducer; generating the drive signal based on the offset difference or based on the input signal and the offset difference; as well as The offset prediction model and / or the direct displacement model are adjusted based on the temperature metric to adjust the value.

15. The method of claim 14, wherein adjusting the offset prediction model and / or the direct displacement model comprises at least one of: adjusting one or more parameters of the offset prediction model and / or the direct displacement model; and The offset prediction model and / or the direct displacement model is selected from a plurality of candidate models.

16. A method according to any one of claims 8 to 15, comprising controlling the relationship between the drive signal and the input signal to adjust the value based on the temperature measure.

17. A method according to claim 16, wherein the relationship comprises a gain between the drive signal and the input signal, optionally wherein the gain is frequency dependent or has a non-flat frequency response.

18. A method of controlling a vibration transducer, the method comprising: tracking a temperature measurement of the vibration transducer; as well as adapting a feed-forward excursion prediction model for the vibration transducer based on the tracked temperature metric; as well as The vibration transducer is controlled based on the adapted feed-forward excursion prediction model.

19. A method of controlling a vibration transducer, the method comprising: tracking a temperature of the vibration transducer; as well as generating a drive signal for driving the vibration transducer based on an input signal according to a defined relationship, the relationship being configured to protect the vibration transducer from over-excursion, Wherein the relationship is a function of the temperature being tracked.

20. The method of any one of the preceding claims, wherein the vibration transducer is at least one of: Tactile transducer; a resonant actuator, such as a linear resonant actuator; and Motor or vibratory motor, such as an eccentric rotating mass vibratory motor.

21. A computer program which, when executed on a controller connected for controlling a vibration transducer, causes the controller to perform a method according to any preceding claim.

22. A computer-readable storage medium having stored thereon the computer program according to claim 21.

23. A controller for controlling a vibration transducer, the controller being configured to perform the method according to any one of claims 1 to 20.

24. A vibration transducer system, comprising A controller according to claim 23; and The vibration transducer, Wherein the controller is connected to drive the vibration transducer with the drive signal.

25. A host device, the host device being an electrical or electronic device, the host device comprising a controller according to claim 23 or a vibration transducer system according to claim 24.