Patent Description:
Piezoelectric elements are commonly used to generate haptic effects, i.e. recreation of the sense of touch by applying forces, vibrations, or motions to the user, in input devices such as touchkeys, touchscreens, and the like. A piezoelectric element can be used both to sense a pressing force applied by the user and to generate the haptic feedback. The first-mentioned involves sensing a voltage that the piezoelectric element generates in response to mechanical deformation, and the latter involves applying a voltage waveform to the piezoelectric element that temporarily deforms it mechanically, causing a corresponding elastic movement in the surrounding structures.

For the task of applying the voltage waveform to the piezoelectric element a driver circuit is used. <FIG> illustrates schematically the combination of a piezoelectric element <NUM> with a driving circuit. A voltage source <NUM> provides an input voltage to a voltage converter <NUM>, the task of which is to generate the voltage waveform. An output filter <NUM> is shown here separately, although it could be considered a part of the voltage converter <NUM>. A control circuit <NUM> controls the operation of the other blocks; it may receive feedback measurements from and give control commands to them.

The amplitude of a voltage waveform needed to drive a piezoelectric element <NUM> may be relatively high, in the order of some hundreds of volts, while the voltage provided by the voltage source <NUM> is typically much lower, for example in the order of only a few volts, or in the order of ten or twelve volts. Therefore the voltage converter <NUM> must include voltage boosting capability, to controllably take the output voltage to the full amplitude of the voltage waveform and back. The time duration of the voltage waveform is typically measured in some milliseconds, or some tens of milliseconds. The waveform may be a voltage pulse of single polarity, or it may involve one or more negative-polarity half-waves and one or more positive-polarity half-waves, so the amplitude meant here is the absolute value of amplitude. Suitable control signals from the control circuit <NUM> can be used to make the voltage converter <NUM> produce the voltage waveform exactly at desired amplitude and form.

It has been found that the form of the voltage pulse has a significant effect on the user experience, involving not only the sense of touch but also the sense of hearing of the user. In particular, the first- and higher-order time derivatives of the voltage, i.e. the rate at which voltage changes at each part of the voltage waveform, are important. As a basic rule, keeping the first-order time derivative of the voltage small enough enables suppressing audible artefacts that in many application cases are undesirable. In other cases a certain audible sound may be aimed at, meaning that the voltage waveform is deliberately designed to involve fast enough changes.

Problems may arise, however, if the same driver circuit should be used to drive several piezoelectric elements simultaneously, and/or if changes in temperature or other environmental conditions change the mechanical response of the structures affected by the piezoelectric element. As an example, the manufacturer of piezoelectric input devices may deliver to a car manufacturer, who would like to use these in various parts of the car dashboard. In some part of the dashboard a driver circuit has only one piezoelectric element to drive, while in some other part there are four or more piezoelectric elements to be driven simultaneously by a single driver circuit. The larger load presented by the plurality of piezoelectric elements may exceed the output capability of the driver circuit. As a result, the voltage waveform may distort, with the disadvantageous consequence that the user experience is not what it should.

A brute-force solution to the problem would be to always equip each piezoelectric element with a driver circuit of its own, but this is a costly solution both in terms of component cost and required installation space. Another brute-force solution would be to design the driver circuit so that it has sufficient power to drive even the largest number of piezoelectric elements that will be encountered. That too would be costly, because the driver circuit would be overdimensioned for a majority of cases. Yet another solution would be to provide a suite of differently dimensioned driver circuits, but that would involve obvious problems in logistics and management of product portfolio. <CIT> discloses a direct drive high voltage waveform generator for use in electronic device, has control circuit producing pulse width modulated signals on circuit output to generate high voltage waveform similar to waveform on waveform input.

It is an objective of the present invention to provide a piezoelectric user interface arrangement that is flexibly applicable to drive piezoelectric elements under various conditions, without having to overdimension its components.

This and other advantageous objectives are achieved by using a controller that can scale a target waveform on the basis of scaling information that may be obtained in advance and/or dynamically during the generation of a voltage waveform.

According to a first aspect there is provided a piezoelectric user interface arrangement according to claim <NUM>.

According to an embodiment the controller is configured to scale an amplitude of said target waveform on the basis of the scaling information. This involves the advantage that the generation of the voltage waveform may succeed better in general if one does not attempt to generate such high voltages that under certain circumstances prove to be difficult or impossible.

According to an embodiment the controller is configured to scale a length in time of said target waveform on the basis of said scaling information. This involves the advantage that the time derivative characteristics of the voltage waveform can be controlled more accurately.

According to an embodiment the scaling input comprises a configuring input for receiving at least a part of said scaling information in advance as configuration information. This involves the advantage that the operation of the piezoelectric user interface arrangement can be proactively adapted to different conditions.

According to an embodiment the scaling input comprises a feedback input for receiving at least a part of said scaling information dynamically as feedback information during the generation of a voltage waveform. This involves the advantage that the operation of the piezoelectric user interface arrangement can be flexibly adapted even to conditions that cannot be taken into account in advance.

According to an embodiment the feedback input comprises a voltage feedback input for receiving feedback of said output voltage. This involves the advantage that accurate and reliable feedback can be obtained with a relatively simple circuit.

According to an embodiment the feedback input comprises a current feedback input for receiving feedback of an output current of said voltage converter. This involves the advantage that feedback may be made indicative of actual output power.

According to an embodiment the scaling input comprises an internal input for using a quantity internal to the controller as said scaling information. This involves the advantage that the scaling can be performed completely within the controller circuit, preferably with programmable means.

According to an embodiment the voltage converter comprises a boost converter that comprises a power switch for closing and opening a current path through a boost inductor; said control signals are switching pulses to said power switch; and said controller is configured to change at least one of the duty cycle and the switching frequency of said switching pulses for controlling said output voltage. This involves the advantage that even relatively high output voltages can be generated and controlled in a well-known and stable manner.

According to a second aspect there is provided a method for driving piezoelectric elements in a user interface arrangement according to claim <NUM>.

According to an embodiment said scaling of said target waveform comprises scaling at least one of an amplitude and a length in time of said target waveform. This involves the advantages that the generation of the voltage waveform may succeed better in general if one does not attempt to generate such high voltages that under certain circumstances prove to be difficult or impossible, and that the time derivative characteristics of the voltage waveform can be controlled more accurately.

According to an embodiment at least a part of said scaling information is received in advance as configuration information. This involves the advantage that the operation of the piezoelectric user interface arrangement can be proactively adapted to different conditions.

According to an embodiment the method comprises receiving at least a part of said scaling information dynamically as feedback information during the generation of said voltage waveform. This involves the advantage that the operation of the piezoelectric user interface arrangement can be flexibly adapted even to conditions that cannot be taken into account in advance.

According to an embodiment said feedback information comprises voltage feedback from the generation of the voltage waveform. This involves the advantage that accurate and reliable feedback can be obtained with a relatively simple circuit.

According to an embodiment said feedback information comprises current feedback of an output current used to deliver the voltage waveform. This involves the advantage that feedback may be made indicative of actual output power.

According to an embodiment a voltage converter is used to generate said voltage waveform, control signals are given as switching pulses to a power switch in said voltage converter, and the method comprises changing at least one of a duty cycle and a switching frequency of said switching pulses to make said output voltage of said voltage converter follow said target waveform as a function of time. This involves the advantage that even relatively high output voltages can be generated and controlled in a well-known and stable manner.

<FIG> are comparable to each other in that <FIG> illustrates one example of how the principle of <FIG> can be realized in practice. As always with electronic circuitry it should be noted that the example of <FIG> illustrates just one of a number of possible implementations. A variety of other possible implementations exist, as is clear to the person skilled in the art in the light of the following description of how the various parts of the apparatus are expected to operate and interact with each other.

A piezoelectric user interface arrangement like that shown in <FIG> comprises a voltage converter <NUM> that is configured to controllably generate voltage waveforms for driving one or more piezoelectric elements <NUM>. The voltage converter <NUM> has a control input <NUM>. In the example of <FIG> the voltage converter <NUM> has the topology of an inductive boost converter, in which a current loop can be formed from the positive node of a voltage source <NUM> through a boost inductor <NUM> to the negative node of the voltage source <NUM> by closing a power switch <NUM>. A diode <NUM> is forward-coupled from the point between the boost inductor <NUM> and the power switch <NUM> to one output node of the voltage converter <NUM>, and a coupling to the negative node of the voltage source <NUM> constitutes the other output node.

The control input <NUM> controls the state of conduction of the power switch <NUM>. Repeated switching pulses to the control input <NUM> make the power switch <NUM> alternate between conductive and non-conductive states, which causes an output voltage to appear at the output of the voltage converter <NUM>. A capacitor is used as the output filter <NUM> to smooth the output voltage. The boost topology means that the output voltage may be higher than voltage available at the voltage source <NUM>. Varying the frequency and/or pulse width of the switching pulses makes the output voltage vary. A real-life voltage converter with boost topology is likely to comprise numerous other components, and this simplified example is used here only for graphical clarity and ease of understanding.

Using switching pulses to the power switch <NUM> as the control signal, and using a switch-controlling line like that in <FIG> as the control input <NUM> are also just examples. The known technology of controlling the output voltage of voltage converters offers numerous alternatives, such as using a dedicated switch driver circuit as a part of the voltage converter and giving the control signal(s) to said switch driver circuit in the form of voltage level(s) or the like. For the purposes of this description it is sufficient to assume that there is an unambiguous relation between the control signals and the output voltage of the voltage converter <NUM>, and this relation can be used to drive the output voltage high enough, and change the output voltage in a fast and controlled enough manner, to be useful in driving the one or more piezoelectric elements <NUM>.

The boost topology is an advantageous choice for the voltage converter <NUM> in the sense that it can produce an output voltage that is significantly higher than the input voltage, its operating characteristics are well known, and its operating stability is good. Other converter topologies can be used, such as the known SEPIC, buck-boost, flyback, half-bridge, full-bridge, forward, or split-pi topologies, or a capacitive charge pump, for example. If a high enough input voltage is available, the voltage converter may have a topology that does not produce an output voltage higher than the input voltage, such as the buck topology. A basic converter topology can be augmented with additional circuits at its output such as a voltage doubler for example to make the largest obtainable output voltage reach a desired level.

The piezoelectric user interface arrangement like that shown in <FIG> comprises a controller <NUM> that is coupled to the control input <NUM> of the voltage converter <NUM>. <FIG> shows said coupling so that there is a control signal output <NUM> in the controller <NUM>, and a coupling (C-C) exists between the control signal output <NUM> and the control input <NUM>. The controller <NUM> is configured to control the output voltage of the voltage converter <NUM> by applying control signals to the control input <NUM>. Above some examples of control signals were discussed already; in the simplified example of <FIG> the controller <NUM> would produce the switching pulses that would be conducted to the control input <NUM> to control the state of conduction of the power switch <NUM>. In such a case the controller <NUM> is configured to change the duty cycle and/or the switching frequency of the switching pulses for controlling the output voltage of the voltage converter <NUM>. The controller <NUM> comprises also one or more so-called scaling inputs <NUM>, <NUM>, and <NUM>, the significance and use of which are described in more detail later in this text.

Another part that is schematically shown in <FIG> is the controllable discharge connection that comprises a discharge switch <NUM> and a discharge resistor <NUM> coupled in series across the output of the voltage converter <NUM>. The controller <NUM> has an additional control signal output <NUM> for controllably making the discharge switch <NUM> conductive or non-conductive. The controller <NUM> can use the controllable discharge connection to discharge electric energy from the output of the voltage converter <NUM>, which may help to shape the output voltage waveform of the voltage converter <NUM> in particular on its falling parts. A more versatile form of a controllable discharge connection can be provided, for example by using a semiconductor switch that can be driven in its linear region, and/or by using a number of different, separately controllable current paths.

The controller <NUM> may be or comprise a microprocessor, a microcontroller, a control computer, or other kind of a programmable device that can be made to operate in a desired manner by programming, i.e. making it execute one or more sets of one or more machine-readable instructions stored on a machine-readable medium. The controller <NUM> may comprise an internal program memory for storing such instructions, and/or it may read such instructions from one or more external memory means. Yet another possibility is to use a fixed-function state machine, which strictly speaking is not programmable. The controller <NUM> may be a dedicated controller of the piezoelectric user interface arrangement, or it may be a controller of a larger entity so that only one part of its tasks concern the piezoelectric user interface arrangement. The controller <NUM> may comprise and implement functionalities that are at least partly distributed between several physical entities, like a higher-level control computer responsible for the operation of a larger entity and a lower-level control circuit that only interacts with the other parts of the piezoelectric user interface arrangement, under the control and supervision of said higher-level control computer.

The controller <NUM> is configured to form the control signals in such a way that they make the output voltage of the voltage converter <NUM> follow a target waveform as a function of time. This is possible when the operating characteristics of the voltage converter <NUM> are known well enough. For example for an ideal voltage converter that has a boost topology, the output voltage can be calculated from the input voltage and the duty cycle of the switching pulses in a known way. Assuming that the input voltage remains constant, the controller <NUM> can make the output voltage follow a target waveform by applying to the control input <NUM> switching pulses with a correspondingly varying duty cycle D. Known deviations from ideal operations can be accounted for by making compensating changes to the way in which the switching pulses are generated.

The target waveform can be thought of as a voltage-per-time graph that has been stored in a memory that is available to the controller <NUM> and that the output voltage of the voltage converter <NUM> is expected to follow. When there comes a triggering input, for example a processor interrupt that calls for giving a piece of haptic feedback to user with the piezoelectric element(s), the controller <NUM> reacts by outputting the corresponding control signals during a time interval that corresponds to the length in time during which the piece of haptic feedback is to be given. The present invention extends the concept of target waveforms to ones that are computed on the fly, during the generation of a voltage waveform, as will be explained in more detail later in this text.

As was pointed out earlier in this text, in some cases it may happen that if the controller <NUM> just follows the previously stored target waveform in giving the control signals, the eventual output voltage will not actually behave according to the target waveform. The reason for that may be for example that so many piezoelectric elements <NUM> have been coupled in parallel that the load capacitance that they represent together becomes too large for the voltage converter <NUM> to handle properly. Another possible reason is that the temperature of the piezoelectric element(s) differs so much from a default temperature that the mechanical properties of the piezoelectric element(s) are far from what they were supposed to be. An output voltage waveform that deviates from the target waveform may cause undesired effects, like unwanted noise and/or erratic kind of elastic deformation in the piezoelectric element(s) <NUM>.

Voltage feedback from the output of the voltage converter <NUM> to an input of the controller <NUM> can be used to some extent to counteract a tendency of the output voltage deviating from the target waveform. However, voltage feedback only works as long as there is sufficient reserve capacity available in the voltage converter <NUM>, which is not always the case.

In order to provide better adaptability in case the original target waveform cannot be followed the controller <NUM> is configured to scale the target waveform on the basis of scaling information received through the one or more scaling inputs <NUM>, <NUM>, or <NUM>. Examples of what kind of scaling information could be received, where such scaling information could originate from, and how said scaling of the target waveform is actually implemented are described in the following.

<FIG> concern examples in which the controller <NUM> is configured to scale an amplitude of the target waveform on the basis of the scaling information. An example of the original form of the target waveform is shown as the voltage-per-time graph <NUM> of <FIG>. For graphical clarity and ease of understanding the target waveform is here shown to only comprise a single, positive half-wave. This should not be construed as a limitation: the same considerations apply regardless of the polarity and/or complexity of the target waveform.

One example of a scaling input to the controller <NUM> is a configuring input, through which the controller <NUM> may receive at least a part of the scaling information in advance as configuration information. In other words, from some external source the controller <NUM> may receive information about a non-default configuration of the piezoelectric user interface arrangement. A default configuration may be for example one where the piezoelectric user interface comprises N1 piezoelectric element(s), where N1 is a positive integer (N = <NUM>, <NUM>, <NUM>,. The leftmost target waveform in <FIG> shows how the original target waveform <NUM> will apply unchanged when the number of piezoelectric elements to be driven is N1. Configuration information that tells the number of piezoelectric elements to be N2 or N3, where N2 and N3 are positive integers and N1 < N2 < N3, makes the controller <NUM> scale the target waveform smaller in amplitude, as illustrated by the scaled target waveforms <NUM> and <NUM> in the middle and on the right in <FIG>.

In addition to (or as an alternative to) the number of piezoelectric elements to be driven, the configuration information may relate to other factors. For example in the dashboard of a car or other installation that may be used under widely varying environmental conditions the configuration information may comprise an indicator of a temperature that affects the piezoelectric element(s). In general, configuration information comprises all information that can be provided to the controller <NUM> in advance, i.e. before the actual production of the output voltage according to the (scaled) target waveform takes place. It encompasses also information that the controller <NUM> and/or some closely associated circuit can autonomously generate in advance, like self-measured temperature and/or capacitance of the load, and/or accumulated information on how the load changes as a function of temperature.

In addition to (or as an alternative to) configuration information the scaling information may comprise feedback information that is obtained dynamically during the generation of a voltage waveform. The schematic illustration in <FIG> shows two examples of means that can be used dynamically to obtain feedback in real time: a voltage detection circuit <NUM> and a current detection circuit <NUM>. In this kind of operation the feedback information is thus not used (only) to make the voltage converter <NUM> follow more closely a previously stored target waveform, but the target waveform itself is changed. Feedback information can be obtained also from other measured quantities, like the effort that appears to be needed to make the generated waveform follow the target waveform. An example is shown in <FIG>.

The leftmost part of <FIG> shows how an original target waveform <NUM> is still the one to be aimed at when the piezoelectric user interface arrangement begins a particular instance of generating haptic feedback to a user. It is possible, though not mandatory, that voltage feedback is initially applied as an attempt to ensure that the actual output voltage of the voltage converter <NUM> follows the target waveform. However, at the moment of time shown as <NUM>, quite early in relation to the overall length in time of the target waveform, feedback information indicates that there is a gap <NUM> between the currently valid target waveform <NUM> and the actual achieved output voltage (the development of which is shown with a solid line in <FIG>). This feedback information makes the controller <NUM> scale the amplitude of the target waveform lower as shown with the arrow <NUM>, so that the new target waveform is the scaled target waveform <NUM> in the middle part of <FIG>.

One of the other examples mentioned above, i.e. obtaining feedback from the effort that appears to be needed, may work for example in the following way. The controller knows, what duty cycle should suffice to make the generated voltage waveform follow the target waveform at moment <NUM>. However, voltage feedback has already caused a larger-than-expected duty cycle to be used. In other words, it may happen that there is no gap <NUM> at moment <NUM>, but the fact that a higher-than-expected effort was needed indicates that there may develop a gap later, because there may come a moment at which the voltage feedback cannot increase the duty cycle any more even if the peak of the target waveform was not yet reached.

The controller may perform the examination of the actual duty cycle and its comparison to expected duty cycle internally. Therefore the concept of "scaling inputs" to the controller may be generalized to cover also internal inputs, for example one that feeds the actual duty cycle into evaluation and comparison to the expected duty cycle. An internal input may use a quantity internal to the controller as the scaling information. Such an internal input may be implemented by suitable programming in the instructions executed by the controller. An internal scaling input <NUM> is schematically shown in <FIG> for this purpose.

Irrespective of what actually triggered the scaling at moment <NUM> the current instance of generating the haptic feedback to the user continues. If voltage feedback control is in use, it may strive to ensure that the actual output voltage of the voltage converter <NUM> follows the new, scaled target waveform <NUM>. In <FIG> it is assumed, however, that at a moment <NUM> that is still quite early in relation to the overall length in time of the target waveform the feedback information indicates that there is still a gap <NUM> between the currently valid target waveform <NUM> and the actual achieved output voltage. This feedback information makes the controller <NUM> scale the amplitude of the target waveform still lower as shown with the arrow <NUM>, so that the new target waveform is the scaled target waveform <NUM> in the rightmost part of <FIG>.

In <FIG> it is assumed that after the second scaling shown with the arrow <NUM> the continuously obtained voltage feedback information shows that the actual output voltage of the voltage converter <NUM> follows the newest, two times scaled target waveform at a predefined, sufficient accuracy. Thus there will be no more scaling of the target waveform this time, and the actual output voltage develops over time so that if drawn in the same coordinate system it overlaps with the target waveform <NUM>.

It is advantageous to make the controller store the "lessons learned" in a situation like that of <FIG>. Taken that the target waveform had to be scaled during the generation of the most recent voltage waveform for some reason, it is probable that the same reason persists also next time when a voltage waveform is to be generated. In order to lessen or avoid the need of repeated scaling of the same kind the controller may store the final, scaled target waveform <NUM> as the new default target waveform that is to be applied next time. As a more general definition, the controller may store in volatile or nonvolatile memory information indicative of effective measures for generating the voltage waveform found during one or more previous generating attempts. Reading such stored information for the purpose of generating a proper voltage waveform that follows a (scaled) target waveform is then considered as one form of receiving scaling information through an internal input <NUM>.

In addition to or as an alternative to voltage feedback information, the controller <NUM> may receive feedback of an output current of the voltage converter <NUM>. <FIG> shows a current feedback input <NUM> of the controller <NUM>, to which the current feedback information comes from the current detection circuit <NUM> (coupling B-B).

The target waveform may be more complicated than in the simple example of <FIG>, so that it comprises two or more local extremes. The amplitude scaling explained above may affect the overall amplitude (amplitude at every point of the time axis) or only some part of it, like only the largest amplitude, or the N largest amplitudes where N is <NUM> or more. Additionally or alternatively, in particular the dynamically made amplitude scaling may affect only the largest amplitude that is still to come, and/or the amplitude of only those half-waves or other local extremes that are still to come.

Scaling a target waveform only by amplitude tends to change the absolute values of its derivatives. This is easy to see by comparing e.g. the three parts of <FIG>. The first-order derivative of a graph is its steepness, i.e. the angle between a local tangent and the horizontal axis. Each downscaled version of the graph in <FIG> has clearly smaller values of its first derivative than its predecessors. In some cases it is advisable to do the scaling so that the values of the derivatives are maintained. This may necessitate scaling the target waveform not only in amplitude but also in length in time.

<FIG> illustrate examples where the target waveform is scaled with respect to both amplitude and length in time. In <FIG> the leftmost graph <NUM> illustrates the original target waveform, and it is used when configuration information indicates that there are N1 piezoelectric elements to be driven. Graphs <NUM> and <NUM> illustrate scaled target waveforms that are used when configuration information indicates that there are N2 or N3 piezoelectric elements respectively, where N1 < N2 < N3.

In <FIG> the leftmost graph <NUM> illustrates again the original target waveform, which is found impossible for the actual output voltage to follow at moment <NUM>. Arrows <NUM> and <NUM> show how the original target waveform is scaled in both amplitude and length in time to obtain a first scaled target waveform <NUM>. At moment <NUM> even this first scaled target waveform is found impossible to follow, so according to arrows <NUM> and <NUM> it is scaled again in both amplitude and length in time to obtain a second scaled target waveform, which the actual output voltage then follows from that point of time onwards as shown with the rightmost graph <NUM> in <FIG>.

Scaling in time can be used also so that the amplitude of the target waveform is kept constant and only its length in time (or the length in time of a part of the target waveform) is changed. Scaling in time may take place in both directions: making the target waveform (or part of it) longer or shorter than previously. An example is shown in <FIG>, in which the leftmost graph <NUM> illustrates an original target waveform for use when configuration information indicates that there are N1 piezoelectric elements to be driven. Graphs <NUM> and <NUM> illustrate scaled target waveforms that are used when configuration information indicates that there are N2 or N3 piezoelectric elements respectively, where N1 < N2 < N3. The same principle, i.e. scaling the target waveform longer in time, can be also applied in dynamic scaling.

Scaling the target waveform longer in time may be advantageous for load handling, because the longer rise time towards a maximum amplitude value may burden less the voltage converter.

<FIG> illustrate two examples of methods for driving piezoelectric elements in a user interface arrangement. In general, the method comprises controllably generating a voltage waveform for driving said piezoelectric elements, of which there may be one or more. The method comprises controlling the generation of said voltage waveform to make the generated voltage waveform follow a target waveform as a function of time. This is illustrated both in <FIG> and in <FIG> as the "execute waveform" step <NUM>, which begins when a start command (such as an interrupt to a processor) comes during a wait state <NUM>. If the generating of the voltage waveform at step <NUM> proceeds as expected, little more happens and the execution of the method returns to the wait state <NUM> after the waveform is completed.

In <FIG> it is assumed that feedback control applies during the generation of the voltage waveform. Thus both <FIG> show how any small deviation from the target waveform, detected by analyzing feedback information, causes feedback control to be performed according to step <NUM>.

The methods of <FIG> comprise scaling the target waveform on the basis of received scaling information. <FIG> is pertinent to a case in which at least part of the scaling information is received in advance as configuration information. In that case also the scaling of the target waveform can be done in advance, as shown by step <NUM>. As explained earlier in this text, the scaling at step <NUM> may comprise scaling at least one of an amplitude and a length in time of the target waveform.

In <FIG> at least a part of the scaling information is received dynamically as feedback information during the generation of the voltage waveform in step <NUM>. This is shown in <FIG> as the occurrence of a "large" deviation from the currently valid target waveform, and it causes the scaling of the target waveform in step <NUM>. What is a large deviation can be defined in the program executed by the controller. As an example, the controller may be programmed to sample the feedback information it receives at a certain sampling frequency, so that the obtained samples constitute a sequence. If a small deviation has been found first, and feedback control has been attempted, but further values in the sequence show that the deviation does not become smaller, this can be interpreted as a "large" deviation. Additionally or alternatively there may be a threshold, defined as an absolute or relative difference to the value of the target waveform at the corresponding moment of time, that is immediately interpreted as a "large" deviation.

Irrespective of whether feedback information is used for feedback control at step <NUM> and/or for deciding about scaling the target waveform at step <NUM>, there exist the possibilities of using voltage feedback from the generation of the voltage waveform and/or current feedback of an output current used to deliver the voltage waveform to the one or more piezoelectric elements. Taken that a voltage converter is typically used to generated the voltage waveform, control signals may be given in the form of switching pulses to a power switch in the voltage converter. The method may then comprise changing at least one of a duty cycle and a switching frequency of said switching pulses to make the output voltage of the voltage converter follow the target waveform as a function of time.

<FIG> shows the optional step of resetting the target waveform to a default form at step <NUM>. This may be done for example if a timeout expires in the wait state <NUM>. Resetting of this kind may be advantageous for example if the scaling at step <NUM> took place because of some environmental conditions, like extreme cold, that can be expected to only occur from time to time so that after a lengthy idle period it is more probable that normal conditions have been resumed.

In all embodiments explained above it should be noted that advance scaling of the target waveform (on the basis of received configuration information) and dynamic scaling of the target waveform (on the basis of feedback information received during the generation of the voltage waveform) are not mutually exclusive, but can be both applied in the same arrangement. In other words, a piezoelectric user interface arrangement may be configured in advance to use a certain scaled target waveform, and additionally apply dynamic control to dynamically re-scale the target waveform if needed.

Scaling the target waveform does not mean that the whole of the target waveform needs to be scaled. The controller may decide to only scale a part of the target waveform. This applies particularly to such more versatile waveforms that have two or more local extremes. If one or some of the extremes would necessitate generating a very high and/or very steeply changing voltage, the generation of which would require more effort than the generation of the more smoothly varying parts of the voltage waveform, the scaling may apply in particular to such extremes of the target waveform.

Same or similar mechanisms that are used to detect deviations from a target waveform can also be used to identify exceptional situations like hardware faults. For example a short circuit somewhere in the load may make it difficult or impossible to get a generated voltage waveform follow a target waveform. An exceptional situation of this kind may be identified by noticing a need for exceptionally large scaling of the target waveform, and/or a difference from the target waveform that refuses to decrease despite scaling the target waveform. The controller may respond to an identified exceptional situation by interrupting any ongoing generation of voltage waveforms and reporting to a host, which may be a controlling computer higher up in device hierarchy. Additionally or alternatively the controller may notify the user, if it has suitable means for that at its disposal, like an error indicator light.

It may be advantageous to make the controller report to the host in all cases that involved scaling a target waveform. This reflects the fact that the user may have received a slightly different haptic perception due to the scaling, which in turn may make the user react in some different way, which the host (or some other system, to which there is some communications connection from the host) may need to take into account appropriately. Additionally or alternatively there may be a notification threshold, so that the controller may report to the host all cases in which the scaling of a target waveform involved scaling one or more dimensions of the target waveform by more than a respective threshold percentage.

The way in which the hardware units are organized into one or more integrated circuits and/or discrete electronics components is of little significance. As one example, at least a large part of a voltage converter and a controller may be implemented as a common, single integrated circuit. As another example, a distributed hardware approach can be taken in which the voltage converted and controller are separate circuits that may be located even at a significant distance from each other if the connections between them can be suitably arranged.

Claim 1:
Piezoelectric user interface arrangement comprising:
- a voltage converter (<NUM>) configured to controllably generate voltage waveforms for driving one or more piezoelectric elements (<NUM>), said voltage converter (<NUM>) having at least one control input (<NUM>, <NUM>), and
- a controller (<NUM>) coupled (<NUM>) to said at least one control input (<NUM>, <NUM>) and configured to control an output voltage of said voltage converter (<NUM>) by applying control signals to said at least one control input (<NUM>, <NUM>), said controller (<NUM>) having one or more scaling inputs (<NUM>, <NUM>, <NUM>);
wherein said controller (<NUM>) is configured to form said control signals to make said output voltage follow a target waveform (<NUM>) as a function of time, and
characterized in that, in case the original target waveform cannot be followed said controller (<NUM>) scales said target waveform on the basis of scaling information received through said one or more scaling inputs (<NUM>, <NUM>, <NUM>, <NUM>) so as to allow said output voltage to deviate from the original target waveform and follow the scaled target waveform.