WO2023178993A1 - 驱动方法、装置、设备及计算机可读存储介质 - Google Patents
驱动方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- WO2023178993A1 WO2023178993A1 PCT/CN2022/124563 CN2022124563W WO2023178993A1 WO 2023178993 A1 WO2023178993 A1 WO 2023178993A1 CN 2022124563 W CN2022124563 W CN 2022124563W WO 2023178993 A1 WO2023178993 A1 WO 2023178993A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- vibration
- unit
- duration
- target
- sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/016—Input arrangements with force or tactile feedback as computer generated output to the user
Definitions
- the present invention relates to the field of circuit control technology, and in particular, to a driving method, device, equipment and computer-readable storage medium.
- vibration devices can provide vibration feedback that matches the operation, giving users a good experience.
- AR/VR and other devices have an increasing demand for tactile feedback.
- the tactile feedback that a single device can provide is extremely limited and cannot meet users' needs for the authenticity of tactile experience. Therefore, vibration is needed. array to achieve a more realistic and rich tactile experience.
- the cost of the drive circuit required for the vibration array can be reduced, and at the same time, the size and weight of the wearable device can be reduced to a certain extent.
- all vibration units share a set of drive circuits, which means that at most one vibration unit can vibrate at the same time.
- the main purpose of the present invention is to provide a driving method, device, equipment and computer-readable storage medium. It aims to propose a time-division multiplexing driving method to solve the problem of obvious vibration when all vibration units share a set of driving circuits. The issue of sequential differences improves user experience.
- the present invention provides a driving method, which is applied to a controller in a vibration array circuit system.
- the vibration array circuit system also includes a power drive circuit and a vibration array.
- the vibration array includes multiple A vibration unit, the driving method includes the following steps:
- the power driving circuit is controlled to sequentially drive the corresponding target vibration unit to vibrate for the corresponding unit duration according to the order of duration of each unit in the vibration sequence.
- the step of interleaving and arranging the unit durations corresponding to each of the target vibration units to obtain a vibration sequence includes:
- unit durations are selected from the unit durations corresponding to each target vibration unit and arranged to obtain a vibrator sequence corresponding to each vibration stage, wherein at least one vibrator sequence is includes the unit duration corresponding to two different target vibration units;
- the vibrator sequences are sequentially combined according to the order of each vibration stage to obtain a vibration sequence.
- each of the unit durations has the same length
- the number of vibration stages is the number of unit durations obtained by dividing the longest vibration duration among each of the vibration durations.
- stage select the unit durations from the unit durations corresponding to each of the target vibration units and arrange them.
- the steps of obtaining the vibrator subsequences corresponding to each of the vibration stages include:
- each vibration stage determine the vibrator sequence for each vibration stage in turn;
- the step of determining the vibrator sequence for any of the vibration stages includes:
- the step further includes:
- the step of selecting one unit duration from the unit duration corresponding to each optional vibration unit and arranging it to obtain the vibrator subsequence corresponding to the vibration stage includes:
- the step further includes:
- the step of interleaving and arranging the unit durations corresponding to each of the target vibration units to obtain a vibration sequence includes:
- the step of determining the interval vibration sequence corresponding to any of the vibration intervals includes:
- micro-durations are selected from the micro-durations corresponding to each target vibration unit and arranged to obtain a vibrator sequence corresponding to each vibration stage, wherein at least one of the vibrator sequences is includes the micro-duration corresponding to two different target vibration units;
- Each vibrator sequence is sequentially combined according to the order of each vibration stage to obtain an interval vibration sequence.
- the step of determining the target vibration unit and the vibration duration corresponding to each target vibration unit from the multiple vibration units of each vibration array includes:
- the target vibration unit and the vibration duration corresponding to each target vibration unit are extracted from the vibration strategy.
- the step of controlling the power drive circuit to sequentially drive the corresponding target vibration unit to vibrate for the corresponding unit duration according to the arrangement order of each unit duration in the vibration sequence includes:
- Each driving waveform data stream is output to the power driving circuit to control the power driving circuit to sequentially use the corresponding driving waveform data stream to drive the corresponding target according to the order of the duration of each unit in the vibration sequence.
- the vibration unit vibrates for the corresponding unit duration.
- the present invention also provides a driving device, which is deployed in a controller in a vibration array circuit system.
- the vibration array circuit system also includes a power drive circuit and a vibration array.
- the vibration array includes Multiple vibration units, the driving device includes:
- a determination module configured to determine the target vibration unit and the vibration duration corresponding to each target vibration unit from each of the vibration units
- a splitting module used to split each of the vibration durations to obtain at least one unit duration corresponding to each of the target vibration units
- An arrangement module used to intersperse and arrange the unit durations corresponding to each of the target vibration units to obtain a vibration sequence
- the driving module is used to control the power driving circuit to sequentially drive the corresponding target vibration unit to vibrate for the corresponding unit duration according to the arrangement order of the duration of each unit in the vibration sequence.
- the present invention also provides a driving device.
- the driving device includes: a memory, a processor, and a driver program stored on the memory and capable of running on the processor.
- the driver program is When the processor is executed, the steps of the driving method as described above are implemented.
- the present invention also proposes a computer-readable storage medium.
- a driver program is stored on the computer-readable storage medium.
- the driver program is executed by a processor, the steps of the above-mentioned driving method are implemented. .
- the controller determines the target vibration unit and the vibration duration corresponding to each target vibration unit from each vibration unit. , split each vibration duration to obtain at least one unit duration corresponding to each target vibration unit; intersperse and arrange the unit durations corresponding to each target vibration unit to obtain a vibration sequence; control the power drive circuit according to the duration of each unit in the vibration sequence
- the arrangement sequence drives the corresponding target vibration unit to vibrate for the corresponding unit duration in turn.
- Figure 1 is a schematic structural diagram of the hardware operating environment involved in the embodiment of the present invention.
- Figure 2 is a schematic flow chart of the first embodiment of the driving method of the present invention.
- Figure 3 is a schematic diagram of a wearable device equipped with a vibration array according to an embodiment of the present invention
- Figure 4 is a schematic diagram of a vibration array circuit system involved in an embodiment of the present invention.
- Figure 5 is a schematic diagram of a driving waveform data flow related to an embodiment of the present invention.
- Figure 6 is a schematic diagram of vibration duration distribution of a vibration array according to an embodiment of the present invention.
- Figure 7 is a schematic diagram of vibration duration distribution of another vibration array according to an embodiment of the present invention.
- Figure 8 is a functional module schematic diagram of a preferred embodiment of the driving device of the present invention.
- Figure 1 is a schematic diagram of the equipment structure of the hardware operating environment involved in the embodiment of the present invention.
- the embodiment of the present invention drives a device.
- the driving device may be a controller in a vibration array circuit system.
- the vibration array circuit system also includes a power drive circuit and a vibration array.
- the vibration array includes multiple Vibration unit, the vibration array circuit system can be installed in electronic devices such as smartphones, personal computers, game consoles, VR/AR equipment, wearable devices, etc., and there is no specific limitation here.
- the driving device may include: a processor 1001, such as a CPU, a network interface 1004, a user interface 1003, a memory 1005, and a communication bus 1002.
- the communication bus 1002 is used to realize connection communication between these components.
- the user interface 1003 may include a display screen (Display) and an input unit such as a keyboard (Keyboard).
- the optional user interface 1003 may also include a standard wired interface and a wireless interface.
- the network interface 1004 may optionally include a standard wired interface or a wireless interface (such as a WI-FI interface).
- the memory 1005 can be a high-speed RAM memory or a stable memory (non-volatile memory), such as a disk memory.
- the memory 1005 may optionally be a storage device independent of the aforementioned processor 1001.
- the device structure shown in Figure 1 does not constitute a limitation on the driving device, and may include more or fewer components than shown, or combine certain components, or arrange different components.
- memory 1005, which is a computer storage medium, may include an operating system, a network communication module, a user interface module and a driver.
- An operating system is a program that manages and controls device hardware and software resources and supports the operation of drivers and other software or programs.
- the user interface 1003 is mainly used for data communication with the client;
- the network interface 1004 is mainly used to establish a communication connection with the server;
- the processor 1001 can be used to call the driver stored in the memory 1005, and do the following:
- the power driving circuit is controlled to sequentially drive the corresponding target vibration unit to vibrate for the corresponding unit duration according to the order of duration of each unit in the vibration sequence.
- the operation of interleaving and arranging the unit durations corresponding to each of the target vibration units to obtain a vibration sequence includes:
- unit durations are selected from the unit durations corresponding to each target vibration unit and arranged to obtain a vibrator sequence corresponding to each vibration stage, wherein at least one vibrator sequence is includes the unit duration corresponding to two different target vibration units;
- the vibrator sequences are sequentially combined according to the order of each vibration stage to obtain a vibration sequence.
- each unit duration is the same, and the number of vibration stages is the number of unit durations divided into the longest vibration duration among each of the vibration durations. For each of the vibration stages, select the unit durations from the unit durations corresponding to each of the target vibration units and arrange them.
- the operation of obtaining the vibrator subsequences corresponding to each of the vibration stages includes:
- each vibration stage determine the vibrator sequence for each vibration stage in turn;
- the operation of determining the vibrator sequence for any of the vibration stages includes:
- the processor 1001 can also be used to call the driver program stored in the memory 1005 to perform the following operate:
- the operation of selecting one unit duration from the unit duration corresponding to each optional vibration unit and arranging it to obtain the vibrator subsequence corresponding to the vibration stage includes:
- the processor 1001 can also be used to call the driver stored in the memory 1005 to execute The following actions:
- the operation of interleaving and arranging the unit durations corresponding to each target vibration unit to obtain a vibration sequence includes:
- the operation of determining the interval vibration sequence corresponding to any of the vibration intervals includes:
- micro-durations are selected from the micro-durations corresponding to each target vibration unit and arranged to obtain a vibrator sequence corresponding to each vibration stage, wherein at least one of the vibrator sequences is includes the micro-duration corresponding to two different target vibration units;
- Each vibrator sequence is sequentially combined according to the order of each vibration stage to obtain an interval vibration sequence.
- the operation of determining the target vibration unit and the vibration duration corresponding to each target vibration unit from the multiple vibration units of each vibration array includes:
- the target vibration unit and the vibration duration corresponding to each target vibration unit are extracted from the vibration strategy.
- the operation of controlling the power drive circuit to sequentially drive the corresponding target vibration unit to vibrate for the corresponding unit duration according to the arrangement order of each unit duration in the vibration sequence includes:
- Each driving waveform data stream is output to the power driving circuit to control the power driving circuit to sequentially use the corresponding driving waveform data stream to drive the corresponding target according to the order of the duration of each unit in the vibration sequence.
- the vibration unit vibrates for the corresponding unit duration.
- Figure 2 is a schematic flow chart of the first embodiment of the driving method of the present invention.
- the embodiment of the present invention provides an embodiment of a driving method. It should be noted that although the logical sequence is shown in the flow chart, in some cases, the shown or described steps may be executed in a sequence different from that here. step.
- the driving method is applied to the controller in the vibration array circuit system.
- the vibration array circuit system also includes a power drive circuit and a vibration array.
- the vibration array includes multiple vibration units.
- the vibration array circuit system can be installed in electronic devices such as smartphones, personal computers, game consoles, VR/AR devices, wearable devices, etc., and is not limited in this embodiment.
- the driving method includes:
- Step S10 determine the target vibration unit and the vibration duration corresponding to each target vibration unit from each of the vibration units;
- the vibration unit may be a device that can generate vibration through driving, such as a linear resonance motor or a rotor eccentric motor, which is not limited in this embodiment.
- the types of each vibration unit in the vibration array can be the same or different.
- the number of vibration units can be determined according to the application scenario of the vibration array circuit system, and is not limited in this embodiment. For example, in one embodiment, as shown in Figure 3, it is a wearable device in the form of a glove, with one vibration unit installed on the center of the palm and on the pad of each finger, totaling 6 units, each numbered M1. , M2, M3, M4, M5 and M6.
- Each vibration unit in the vibration array can be driven independently by a power drive circuit, and the controller controls the power drive circuit to drive the corresponding vibration unit to vibrate at different times.
- the power drive circuit can be implemented using a conventional vibration unit drive circuit, and is not limited in this embodiment.
- the power driving circuit may be composed of a DC power supply and a power amplifier (power amplifier for short). The power amplifier obtains the driving waveform data stream and converts the driving waveform data stream into a voltage with load capacity (also known as a power amplifier). called drive voltage) output.
- the controller can control the power drive circuit by outputting an indication signal to the power drive circuit, or by outputting a signal to a switch that controls whether the power drive circuit is connected to each vibration unit, or by other means. Driving the corresponding vibration unit is not limited in this embodiment.
- the vibration array circuit system may further include a selection switch array.
- each vibration unit is connected to the negative terminal of the power drive circuit.
- the selection switch array includes the same number of switches as each vibration unit in the vibration array, the positive end of each switch is connected to the positive end of the power drive circuit, and the negative end of each switch is connected to the positive end of each vibration unit in the vibration array.
- Each switch connects the corresponding vibration unit to the positive end of the power drive circuit according to the selection signal.
- Each switch in the selection switch array can use a conventional switch that is turned on or off according to a signal. For example, the switch can be turned on when receiving a high level, turned off when receiving a low level, etc., specifically in this embodiment. No restrictions.
- each switch may be composed of a power switch transistor and an anti-parallel diode.
- the selection signal is a signal used to turn on the switch to connect the power drive circuit and the corresponding vibration unit. For example, when the switch is turned on when it is high level, then the selection signal can be a high level.
- the controller gives The switch corresponding to the vibration unit that does not need to vibrate outputs a low-level signal.
- the unit vibrates, thereby realizing multiple vibration units sharing a set of power drive circuits, reducing the cost of the drive circuit.
- Figure 4 a schematic diagram of a vibration array circuit system is given. The figure only shows a vibration array composed of 6 vibration units. In actual application scenarios, the number of vibration units can be increased or decreased as needed. .
- the controller first determines the vibration unit that needs to vibrate from each vibration unit (hereinafter referred to as the target vibration unit to indicate the distinction), and determines the vibration duration corresponding to the target vibration unit, that is, the vibration duration of the required vibration. It should be noted that since the solution of this embodiment is applied to a scenario where multiple vibration units need to vibrate at the same time, the specific description will be given by taking the number of target vibration units as multiple as an example.
- the vibration duration of each target vibration unit may be the same or different, and the specific duration is related to the usage scenario.
- the controller may determine the target vibration unit and the vibration duration corresponding to each target vibration unit according to the current vibration scene. Different vibration scenarios may require different vibration units and vibration durations. For example, in the wearable device as shown in the figure, when the user's index finger touches the corresponding object, the vibration unit installed at the index finger needs to vibrate. When the user When the thumb touches the corresponding object, the vibration unit installed at the thumb needs to vibrate. According to the vibration instructions triggered by the touch operation of each finger, the controller can determine the current vibration scene and then determine the vibration unit that needs to vibrate.
- Step S20 Split each vibration duration to obtain at least one unit duration corresponding to each target vibration unit;
- the controller splits each vibration duration separately, and each vibration duration is split into at least one unit duration.
- one target vibration unit corresponds to one vibration duration
- the unit duration after splitting also corresponds to the target vibration unit, that is, each target vibration unit corresponds to at least one unit duration.
- Splitting means superimposing the unit durations obtained after splitting the vibration duration, and the total duration is the same as the vibration duration. For example, the vibration duration is 3 seconds, split into three 1-second unit durations.
- the rules for splitting each vibration duration are not limited in this embodiment.
- a minimum duration can be set, and the duration of each unit is the same as the minimum duration. Then, the split with a longer vibration duration will result in a larger number of unit durations, and the split with a shorter vibration duration will result in a larger number of unit durations.
- the number of unit durations is small. For example, the vibration duration of vibration unit M1 is 2 seconds, the vibration duration of vibration unit M2 is 4 seconds, and the minimum duration is 1 second. Then the vibration duration of M1 is split into 2 unit durations, and the vibration duration of M2 is split into 4 units. Unit duration.
- the number of unit durations obtained by splitting each vibration duration can be set to be equal, and the vibration duration is divided into equal unit durations according to the number. Then, the unit durations corresponding to different vibration units The lengths are different.
- Step S30 interleave and arrange the unit durations corresponding to each of the target vibration units to obtain a vibration sequence
- the controller After splitting each vibration duration, the controller intersperses and arranges the unit durations corresponding to each target vibration unit to obtain a sequence composed of each unit duration, which is hereinafter referred to as a vibration sequence. It can be understood that since each unit duration has its own corresponding target vibration unit, the vibration sequence obtained by arranging each unit duration also represents the vibration sequence of each target vibration unit.
- the interleaved arrangement refers to an arrangement in which the unit durations corresponding to different target vibration units are arranged alternately. The purpose is to separate the unit durations of different vibration units and not to gather them together. It should be noted that the interleaved arrangement does not mean that the multiple unit durations of each target vibration unit must be separated by the unit durations of other target vibration units, as long as at least two unit durations of at least one target vibration unit are vibrated by other targets. Separating the units can achieve the effect of reducing the difference in vibration sequence when two vibration units share a set of drive circuits, compared to the method of not separating them (vibration duration as a whole). In specific implementations, different interleaving arrangements can be set as needed to achieve different interleaving strengths, so as to achieve different reductions in vibration sequential differences. In this embodiment, there is no restriction on the specific manner of interleaved arrangement.
- the unit durations corresponding to the first target vibration unit can be arranged first, and then the unit durations corresponding to the second target vibration unit can be inserted into the arranged unit durations in sequence. In the middle, during the insertion process, if there is a position, ensure that the duration of each unit corresponding to the second target vibration unit is not adjacent, and insert the duration of the unit corresponding to the nth target vibration unit by analogy.
- Step S40 Control the power drive circuit to sequentially drive the corresponding target vibration unit to vibrate for the corresponding unit duration according to the order of duration of each unit in the vibration sequence.
- the controller can control the power drive circuit to sequentially drive the corresponding target vibration unit to vibrate for the corresponding unit duration according to the order of duration of each unit in the vibration array.
- the specific implementation manner in which the controller controls the power drive circuit to sequentially drive the target vibration unit to vibrate is not limited in this embodiment.
- the controller when using the vibration array circuit system as shown in Figure 4, can follow the order of the duration of each unit in the vibration sequence, starting from the first unit duration, to the selection switch array. Output a selection signal for the target vibration unit corresponding to the first unit duration. The signal lasts for the first unit duration.
- the selection switch array connects the power drive circuit to the target vibration unit according to the selection signal, so that the power drive circuit outputs a drive voltage.
- the target vibration unit is driven to vibrate for the first unit duration; after the first unit duration, the controller outputs a selection signal for the target vibration unit corresponding to the second unit duration to the selection switch array.
- the signal lasts for the second unit duration, and the selection switch According to the selection signal, the vibration connects the power drive circuit to the target vibration unit, so that the power drive circuit outputs the drive voltage to drive the target vibration unit to vibrate for the second unit duration; and so on, until the last unit duration ends, the controller obtains The target vibration unit that needs to vibrate next time and its vibration duration.
- the power drive circuit When the power drive circuit drives the vibration unit, it can output the drive voltage according to the preset or real-time generated drive waveform data stream.
- the drive waveform data stream includes multiple drive voltage values arranged in time sequence, indicating the drive that the power drive circuit needs to output in sequence. Voltage value.
- step S10 includes:
- Step S101 determine the current vibration scene, and obtain the preset vibration strategy corresponding to the current vibration scene;
- Step S102 Extract the target vibration unit and the vibration duration corresponding to each target vibration unit from the vibration strategy.
- vibration strategies can be set for different vibration scenarios.
- the vibration strategy can specify the vibration units required to vibrate in the vibration scenario and the required vibration duration.
- the vibration strategy may also specify other parameters of the vibration scene, for example, it may specify the driving waveform data flow required by the power driving circuit.
- the controller can first determine the current vibration scene, and then obtain the preset vibration strategy corresponding to the vibration scene.
- the specific implementation manner in which the controller determines the vibration scene is not limited in this embodiment.
- the controller may extract the vibration scene from the vibration command according to the triggered vibration command.
- the controller After obtaining the vibration strategy, the controller extracts the target vibration unit and the vibration duration corresponding to the target vibration unit from the vibration strategy.
- step S40 includes:
- Step S401 Extract the vibration effect parameters corresponding to each of the target vibration units from the vibration strategy
- the driving waveform data stream can be generated in real time by the controller according to the target vibration unit and vibration effect to achieve rich vibration effects of the vibration array.
- the vibration strategy can also specify vibration effect parameters corresponding to the target vibration unit.
- the vibration effect parameters can be expected vibration intensity, vibration frequency, etc., which are not limited here.
- the controller extracts the vibration effect parameters corresponding to each target vibration unit from the vibration strategy.
- Step S402 generate a driving waveform data stream corresponding to each target vibration unit according to the vibration effect parameters of each target vibration unit and the corresponding preset hardware parameters;
- the controller For each target vibration unit, the controller generates a driving waveform data stream corresponding to the target vibration unit based on the vibration effect parameters of the target vibration unit and the preset hardware parameters corresponding to the target vibration unit.
- each vibration unit has corresponding hardware parameters set in advance.
- the hardware parameters may include the type of vibration unit and may also include other parameter items.
- the hardware parameters may include other parameter items or may not include Other parameters.
- other hardware parameter items of the linear resonant motor may include resonant frequency.
- the controller can extract the vibration unit type in the hardware parameters. If the vibration unit type indicates that the target vibration unit is a linear resonance motor, then the controller can Calculate the driving voltage amplitude corresponding to the expected vibration intensity.
- the conversion formula between vibration intensity and voltage amplitude can be defined in advance according to needs, and is not limited here.
- the controller can calculate the driving voltage amplitude corresponding to the expected vibration intensity based on the conversion formula. After calculating the driving voltage amplitude, the controller further generates a sine wave whose frequency is the resonant frequency in the hardware parameters and whose amplitude is the driving voltage amplitude, and uses this sine wave as the driving waveform data stream corresponding to the target vibration unit. .
- the target vibration unit is a linear resonant motor (LRA)
- its resonant frequency is f01
- the expected vibration intensity is Am1
- the voltage amplitude required to generate this vibration intensity is Um1
- the generated drive waveform The data stream is a sine wave with frequency f01 and its amplitude is Um1
- the target vibration unit is a linear resonant motor (LRA)
- its resonant frequency is f02
- the expected vibration intensity is Am2
- the voltage amplitude required to generate this vibration intensity is Um2
- the generated driving waveform data stream is a sine wave with frequency f02 and its amplitude is Um2.
- the controller when the vibration effect parameter includes the expected vibration intensity, can extract the vibration unit type in the hardware parameters. If the vibration unit type indicates that the target vibration unit is a rotor eccentric motor, then the control The device can calculate the driving voltage amplitude corresponding to the expected vibration intensity. Among them, the conversion formula between vibration intensity and voltage amplitude can be defined in advance according to needs, and is not limited here. The controller can calculate the driving voltage amplitude corresponding to the expected vibration intensity based on the conversion formula. After calculating the driving voltage amplitude, the controller generates a constant DC signal with the amplitude of the driving voltage, and uses the constant DC signal as the driving waveform data stream corresponding to the target vibration unit.
- the target vibration unit is a rotor eccentric motor (ERM)
- the expected vibration intensity is Am3
- the voltage amplitude required to generate this vibration intensity is Um3
- the generated drive waveform data stream has an amplitude of Um3 constant DC signal.
- the controller calculates the driving voltage amplitude, it calculates the duty cycle (hereinafter referred to as the target duty cycle) based on the driving voltage amplitude and the DC power supply voltage of the vibration array circuit system.
- the controller can divide the driving voltage amplitude by The target duty cycle is obtained by using the DC power supply voltage of the vibration array circuit system.
- the controller After calculating the target duty cycle, the controller generates a high-frequency chopper PWM (Pulse width modulation) signal with the target duty cycle and the amplitude of the DC power supply voltage, and converts the high-frequency
- the chopped PWM signal is used as the driving waveform data stream corresponding to the target vibration unit.
- the target vibration unit is an eccentric rotor motor (ERM)
- the expected vibration intensity is Am3
- the voltage amplitude required to generate this vibration intensity is Um3
- the DC power supply voltage of the vibration array system is Udc
- the target duty cycle d Um3/Udc
- the generated driving waveform data stream is a high-frequency chopped PWM signal with a duty cycle d and an amplitude Udc.
- Step S403 Output each driving waveform data stream to the power driving circuit to control the power driving circuit to drive using the corresponding driving waveform data stream in sequence according to the order of duration of each unit in the vibration sequence.
- the corresponding target vibration unit vibrates for the corresponding unit duration.
- the controller After the controller generates the drive waveform data stream, it can output the drive waveform data stream to the power drive circuit to control the power drive circuit to use the corresponding drive waveform data stream to drive the corresponding target in sequence according to the order of the duration of each unit in the vibration sequence.
- the vibration unit vibrates for the corresponding unit duration.
- the controller can output the driving waveform data stream of each vibration unit to the power drive circuit in order according to the duration of each unit in the vibration array; that is, the first unit duration corresponding to the target vibration unit.
- the drive waveform data stream is output to the power drive circuit. After the first unit duration, the drive waveform data stream of the target vibration unit corresponding to the second unit duration is output to the power drive circuit, and so on.
- the controller determines the target vibration unit and the corresponding parameters of each target vibration unit from each vibration unit.
- Vibration duration split each vibration duration to obtain at least one unit duration corresponding to each target vibration unit; intersperse and arrange the unit durations corresponding to each target vibration unit to obtain a vibration sequence; control the power drive circuit according to each unit in the vibration sequence
- the sequence of durations drives the corresponding target vibration units to vibrate for the corresponding unit durations in turn. This enables when multiple vibration units need to vibrate at the same time.
- the vibration durations of different vibration units can be interspersed to reduce the user's feeling when each vibration unit vibrates. The sense of priority received, thereby improving the user experience.
- the step S30 includes:
- Step S301 determine multiple vibration stages in sequence
- the controller may first determine multiple vibration stages in sequence.
- the number of vibration stages can be set as needed, and is not limited in this embodiment.
- Step S302 For each vibration stage, select unit durations from the unit durations corresponding to each target vibration unit and arrange them to obtain a vibrator sequence corresponding to each vibration stage, wherein at least one of the The vibrator sequence includes different unit durations corresponding to two different target vibration units;
- the controller selects unit durations from the unit durations corresponding to each target vibration unit and arranges them to obtain a sequence (hereinafter referred to as the vibrator sequence).
- This vibrator sequence serves as the vibrator corresponding to the vibration stage. sequence, in this way, a sequence of oscillators corresponding to each vibration stage can be obtained.
- the vibrator subsequence when selecting unit durations from the unit durations corresponding to each target vibration unit to arrange and obtain the vibrator array, it is a selection without replacement, that is, for each unit duration that is taken, there is one less unit duration that can be selected later.
- a vibrator subsequence one can be selected from the unit duration of each target vibration unit to form the vibrator subsequence, or it can be selected from the unit durations of some target vibration units. This is not done in this embodiment.
- Step S303 Sequentially combine the vibrator sequences according to the order of each vibration stage to obtain a vibration sequence.
- the controller can sequentially combine the vibrator sequences according to the order of each vibration stage to obtain the vibration sequence. For example, suppose there are three vibration stages s1, s2, and s3, and the corresponding oscillator sequences are [t1, t2, t3], [t4, t5], [t6, t7], then according to s1, s2, s3, After combining the three vibrator sequences in the order of arrangement, the obtained vibration sequence is [t1, t2, t3, t4, t5, t6, t7].
- step S302 includes:
- Step S3021 determine the vibrator sequence for each vibration stage in sequence according to the order of each vibration stage
- the length of each unit duration can be the same, and when determining the vibration stage, the number of vibration stages can be made to be the longest vibration duration among the various vibration durations. The number of unit durations to be split.
- the controller can determine the vibrator sequence for each vibration stage in sequence according to the order of each vibration stage, that is, first determine the vibrator sequence of the first vibration stage, then determine the vibrator sequence of the second vibration stage, and so on. .
- the step of determining the vibrator sequence for any of the vibration stages includes:
- Step a select one unit duration from the unit duration corresponding to each optional vibration unit and arrange it to obtain the vibrator sub-sequence corresponding to the vibration stage, wherein the optional vibration unit is each of the target vibration units. There are vibration units with unselected unit durations.
- the controller can select a unit duration from the unit duration corresponding to each optional vibration unit to participate in the arrangement, and obtain the vibrator subsequence corresponding to the vibration stage.
- the optional vibration unit refers to the vibration unit of the target vibration unit when there are unselected units. That is, the unit duration of the target vibration unit is selected one less at a time. When the number of vibration stages is greater than that of the target vibration unit, If the number of unit durations is too high, it is possible that in the next few vibration stages, the unit durations of the target vibration unit have been selected, and then the target vibration unit is not an optional vibration unit.
- the vibrator arrays are selected for each vibration stage in sequence according to the arrangement order of the vibration stages, and the unit duration of an optional vibration unit must be selected in the previous vibration stage, so that each vibration unit starts to vibrate almost at the same time. , to avoid that the vibration unit with a long vibration duration starts to vibrate only when the vibration unit with a short vibration duration is about to finish vibrating or has finished vibrating, thereby further reducing the sense of sequence when each vibration unit vibrates and improving the user experience.
- step S10 it also includes:
- Step S50 Sort the target vibration units in order from longest to shortest vibration duration to obtain the priority of each target vibration unit;
- the controller may further sort according to the priority of the target vibration units.
- the controller can first sort each target vibration unit in order from long to short vibration duration to obtain the priority of each target vibration unit. That is, the target vibration duration with a long vibration duration has a higher priority, and the target vibration duration with a shorter vibration duration has a higher priority. The target vibration duration has low priority.
- the step a includes:
- Step b Select a unit duration from the unit durations corresponding to each optional vibration unit, and arrange the selected unit durations according to the priority of each target vibration unit from high to low to obtain the vibration The oscillator sequence corresponding to the stage.
- the controller After the controller selects a unit duration from the unit duration corresponding to each optional vibration unit, it can arrange the selected unit durations in order from high to low priority of the target vibration unit, thereby obtaining the corresponding vibration stage. oscillator sequence. That is, the higher the priority of the target vibration unit corresponding to a unit duration, the higher the order of the unit duration in the vibrator subsequence.
- the target vibration unit with a long vibration duration can be further made to finish vibrating earlier, and it can also ensure that the time interval of each target vibration unit during vibration is more uniform. , thus making it less likely for the user to notice that each target vibration unit is vibrating in a time-sharing manner, thus improving the user's experience.
- the six target vibration units are used as an example for explanation.
- the six target vibration units are represented as M1, M2, M3, M4, M5 and M6 respectively, and the vibration durations are 2, 4, 3, 7, 8 and 6 respectively (the unit is assumed to be seconds).
- the controller splits the vibration duration of each target vibration unit into multiple unit durations (assuming each unit duration is 1 second here), and the total duration after superposition of the split unit durations is consistent with the vibration duration of the target vibration unit.
- vibration unit M1 is split into 2 unit durations
- vibration unit M6 is split into 6 unit durations; the controller divides a complete vibration process according to the number of unit durations contained in the vibration unit with the longest vibration duration.
- vibration unit M5 has the longest vibration duration and contains 8 unit durations. Then the complete vibration process is divided into s1, s2, s3, s4, s5, s6, and s7. and s8; the controller reorders the vibration units in descending order of vibration duration.
- the vibration durations of vibration units M1, M2, M3, M4, M5 and M6 are 2, 4, 3, 7, 8 and 6 unit durations, so the corresponding order of these 6 vibration units is 6, 4, 5, 2, 1, 3, that is, the order of the 6 vibration units is M5, M4, M6, M2, M3 and M1 (that is, indicating the priority of each vibration unit); in each vibration stage, the controller will arrange the vibration unit according to the order in which the vibration units are sorted, and according to the principle of arranging at most one unit duration for each vibration unit in each stage. The unit durations of different vibration units are arranged alternately. If the unit duration of a certain vibration unit has been arranged before the current stage, the vibration unit will be skipped.
- one unit duration is arranged in sequence according to the order of vibration units M5, M4, M6, M2, M3 and M1. That is, in the 6 unit durations in the s1 stage, the selection signal has experienced 6 changes. They are 000010 corresponding to the first unit duration in the s1 stage, 000100 corresponding to the second unit duration, 000001 corresponding to the third unit duration, 010000 corresponding to the fourth unit duration, 001000 corresponding to the fifth unit duration, and The six unit durations correspond to 100000; for another example, in the s3 stage, the two unit durations of the vibration unit M1 have been arranged before this stage, and they are skipped directly.
- one unit duration is arranged in sequence, that is, among the 5 unit durations in the s3 stage, the selection signal has experienced 5 changes, which are 000010 corresponding to the first unit duration in the s3 stage, and 000100 corresponding to the second unit duration in the s3 stage.
- the third unit duration corresponds to 000001
- the fourth unit duration corresponds to 010000
- the fifth unit duration corresponds to 001000; and so on, in the s8 stage, before this stage, the vibration units M4, M6, M2, M3 and All unit durations of M1 have been arranged and can be skipped directly.
- one unit duration is arranged in sequence according to the order of vibration unit sorting M5, that is, in one unit duration in the s8 stage, the selection signal has experienced one change.
- They are 000010 corresponding to the duration of the first unit of the s8 stage; after the end of the s8 stage, it means that the complete vibration process is over, and the selection signal is uniformly set to 000000, waiting for the start of the next complete vibration process.
- a third embodiment of the driving method of the present invention is proposed.
- the step S20 after the step S20, it also includes:
- Step S60 determine multiple vibration intervals, and split each unit duration into multiple micro-durations, where the number of vibration intervals is equal to the number of micro-durations obtained by splitting each unit duration. same;
- Step S70 Divide the plurality of micro-durations corresponding to each unit duration into each of the vibration intervals;
- an interleaved arrangement is proposed to further reduce the sense of sequence when each vibration unit vibrates.
- the controller first determines multiple vibration intervals.
- the number of vibration intervals can be determined as needed and is not limited here.
- the controller further splits each unit duration.
- Each unit duration is split into multiple micro-durations.
- the number of micro-durations obtained by splitting each unit duration is equal to
- the number of vibration drivers is the same, so that the micro-durations obtained by splitting the duration of each unit correspond exactly to each vibration interval.
- the controller divides the multiple micro-durations corresponding to each unit duration into each vibration interval.
- the step S30 includes:
- Step S304 determine the interval vibration sequence corresponding to each vibration interval
- Step S305 sequentially combine each of the interval vibration sequences to obtain a vibration sequence
- a similar method to that in the second embodiment is used to interleave and arrange, to obtain an interval vibration array corresponding to each vibration interval. Then, the vibration arrays of each interval are combined sequentially to obtain the vibration array.
- the step of determining the interval vibration sequence corresponding to any of the vibration intervals includes:
- Step c determine multiple vibration stages in sequence
- Step d for each of the vibration stages, select micro-durations from the micro-durations corresponding to each of the target vibration units and arrange them to obtain a vibrator sequence corresponding to each of the vibration stages, wherein at least one of the The vibrator sequence includes the micro-duration corresponding to two different target vibration units;
- Step e Sequentially combine the vibrator sequences according to the order of each vibration stage to obtain an interval vibration sequence.
- steps c-e in this embodiment can refer to the specific implementation process of steps S301-S303 in the above-mentioned second embodiment, and will not be repeated here.
- the micro-durations corresponding to each target vibration unit are interleaved and arranged in each vibration stage.
- the intensity of the vibration duration of each target vibration unit can be further increased, thereby further reducing the sense of sequence when each vibration unit vibrates and improving the user experience.
- the six target vibration units are used as an example for explanation. Assume that the six target vibration units are represented as M1, M2, M3, M4, M5 and M6 respectively, and the vibration durations are 2, 4, 3, 7, 8 and 6 respectively (the unit is assumed to be seconds).
- the controller splits the vibration duration of each target vibration unit into multiple unit durations. The total duration after superposition of the split unit durations is consistent with the vibration duration of the vibration unit. For example, the vibration unit M1 is split into 2 units.
- the vibration unit M6 is split into 6 unit durations; the controller splits a complete vibration process into multiple vibration intervals on average, in this case into 5 vibration intervals e1, e2, e3, e4 and e5 ; The controller divides the duration of each unit into smaller micro-durations on average, and the number of splits is consistent with the number of vibration intervals. For example, in this example, each unit duration is divided into 5 smaller micro-durations, which are placed in 5 vibration intervals e1, e2, e3, e4 and e5.
- the arrangement rules of the micro-durations in each vibration interval are as mentioned above.
- the arrangement rules of the duration of each complete vibration process unit are consistent; the controller divides a vibration interval into an equal number of multiple vibration stages based on the number of unit durations contained in the vibration unit with the longest vibration duration, for example
- the vibration duration of vibration unit M5 is the longest, including 8 unit durations.
- the vibration interval is divided into 8 stages: s1, s2, s3, s4, s5, s6, s7 and s8; the controller determines the vibration duration according to the vibration duration. Reorder the vibration units from large to small.
- the vibration durations of vibration units M1, M2, M3, M4, M5 and M6 are 2, 4, 3, 7, 8 and 6 unit durations respectively.
- the corresponding order of these six vibration units is 6, 4, 5, 2, 1, 3, that is, the order of the six vibration units is M5, M4, M6, M2, M3 and M1; the controller in each vibration stage, According to the order in which the vibration units are sorted, and based on the principle that each vibration unit can arrange at most one micro-duration in each stage, the micro-durations of different vibration units are interspersed. If a vibration unit has arranged micro-durations before the current stage, If the number is equal to the number of unit durations contained in the vibration unit, the vibration unit will be skipped. For example, in the s1 stage, a micro-duration is arranged in sequence according to the order of vibration units M5, M4, M6, M2, M3 and M1.
- the selection signal has experienced 6 changes. They are 000010 corresponding to the first micro-duration in the s1 stage, 000100 corresponding to the second micro-duration, 000001 corresponding to the third micro-duration, 010000 corresponding to the fourth micro-duration, 001000 corresponding to the fifth micro-duration, and Six micro-durations correspond to 100000; for another example, in the s3 stage, the number of micro-durations arranged by the vibration unit M1 before this stage is equal to the number of unit durations contained in the vibration unit, both of which are 2, so it is skipped directly.
- a micro-duration is arranged in sequence, that is, in the 5 micro-durations of the s3 stage, the selection signal has experienced 5 changes, respectively.
- the first micro duration corresponds to 000010
- the second micro duration corresponds to 000100
- the third micro duration corresponds to 000001
- the fourth micro duration corresponds to 010000
- the fifth micro duration corresponds to 001000; and so on, in the s8 stage , before this stage, the number of micro-durations arranged by the vibration units M4, M6, M2, M3 and M1 is equal to the number of unit durations contained in the vibration unit. If they are skipped directly, the order of the vibration units is sorted M5.
- one micro-duration is arranged in sequence, that is, in one micro-duration of the s8 stage, the selection signal undergoes one change, which is 000010 corresponding to the first micro-duration of the s8 stage; after the end of the s8 stage, it means the end of this vibration interval , repeat the process of allocating the micro-duration of the vibration interval and determining the selection signal until all five vibration intervals end, indicating the end of this complete vibration process. Set the selection signal to 000000 uniformly and wait for the start of the next complete vibration process.
- an embodiment of the present invention also proposes a driving device.
- the driving device is deployed on a controller in a vibration array circuit system.
- the vibration array circuit system also includes a power drive circuit and a vibration array.
- the vibration array includes multiple vibration units, and the driving device includes:
- the determination module 10 is used to determine the target vibration unit and the vibration duration corresponding to each target vibration unit from each of the vibration units;
- the splitting module 20 is used to split each of the vibration durations to obtain at least one unit duration corresponding to each of the target vibration units;
- the arrangement module 30 is used to intersperse and arrange the unit durations corresponding to each of the target vibration units to obtain a vibration sequence
- the driving module 40 is used to control the power driving circuit to sequentially drive the corresponding target vibration unit to vibrate for the corresponding unit duration according to the order of duration of each unit in the vibration sequence.
- arrangement module 30 is also used to:
- unit durations are selected from the unit durations corresponding to each target vibration unit and arranged to obtain a vibrator sequence corresponding to each vibration stage, wherein at least one vibrator sequence is includes the unit duration corresponding to two different target vibration units;
- the vibrator sequences are sequentially combined according to the order of each vibration stage to obtain a vibration sequence.
- each unit duration is the same, and the number of vibration stages is the number of unit durations obtained by dividing the longest vibration duration in each of the vibration durations.
- the arrangement module 30 is also used to :
- each vibration stage determine the vibrator sequence for each vibration stage in turn;
- the operation of determining the vibrator sequence for any of the vibration stages includes:
- the driving device also includes:
- a sorting module used to sort each of the target vibration units in order from longest to shortest vibration duration to obtain the priority of each of the target vibration units;
- the arrangement module 30 is also used to: select a unit duration from the unit durations corresponding to each optional vibration unit, and arrange the selected unit durations in order from high to low according to the priority of each target vibration unit. Arrange to obtain the vibrator sequence corresponding to the vibration stage.
- splitting module 20 is also used to:
- the arrangement module 30 is also used to:
- the operation of determining the interval vibration sequence corresponding to any of the vibration intervals includes:
- micro-durations are selected from the micro-durations corresponding to each target vibration unit and arranged to obtain a vibrator sequence corresponding to each vibration stage, wherein at least one of the vibrator sequences is includes the micro-duration corresponding to two different target vibration units;
- Each vibrator sequence is sequentially combined according to the order of each vibration stage to obtain an interval vibration sequence.
- determination module 10 is also used to:
- the target vibration unit and the vibration duration corresponding to each target vibration unit are extracted from the vibration strategy.
- driving module 40 is also used for:
- Each driving waveform data stream is output to the power driving circuit to control the power driving circuit to sequentially use the corresponding driving waveform data stream to drive the corresponding target according to the order of the duration of each unit in the vibration sequence.
- the vibration unit vibrates for the corresponding unit duration.
- the expanded content of the specific implementation of the driving device of the present invention is basically the same as the above-mentioned embodiments of the driving method, and will not be described again here.
- embodiments of the present invention also provide a computer-readable storage medium.
- a driver program is stored on the storage medium.
- the driver program is executed by a processor, the steps of the driving method described below are implemented.
- the methods of the above embodiments can be implemented by means of software plus the necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases the former is better. implementation.
- the technical solution of the present invention can be embodied in the form of a software product in essence or the part that contributes to the existing technology.
- the computer software product is stored in a storage medium (such as ROM/RAM, disk, CD), including several instructions to cause a terminal device (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in various embodiments of the present invention.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Apparatuses For Generation Of Mechanical Vibrations (AREA)
Abstract
本发明公开了一种驱动方法、装置、设备及计算机可读存储介质,所述驱动方法应用于振动阵列电路系统中的控制器,振动阵列电路系统还包括功率驱动电路和振动阵列,振动阵列中包括多个振动单元,驱动方法包括:从各振动单元中确定目标振动单元和各目标振动单元分别对应的振动时长;对各振动时长进行拆分,得到各目标振动单元分别对应的至少一个单元时长;将各目标振动单元对应的单元时长进行穿插排列得到振动序列;控制功率驱动电路按照振动序列中各单元时长的排列顺序,依次驱动对应的目标振动单元振动相应的单元时长。本发明实现了降低多个振动单元共用一个驱动电路时各个振动单元振动时用户所感受到的先后感,进而提高用户使用体验。
Description
本发明涉及电路控制技术领域,尤其涉及一种驱动方法、装置、设备及计算机可读存储介质。
在消费电子领域,振动器件能够提供与操作相匹配的振动反馈,给用户带来良好的使用体验。随着元宇宙概念的兴起,AR/VR等设备对触觉反馈的需求越来越高,单个器件所能提供的触觉反馈极其有限,已经无法满足用户对触觉体验真实性的需求,因此需要通过振动阵列来实现更真实和丰富的触觉体验。通过将所有振动单元共用一套驱动电路的方式,可以降低振动阵列所需的驱动电路成本,同时在一定程度上减小穿戴设备的体积、重量。然而,所有振动单元共用一套驱动电路就意味着同一时刻至多仅有一个振动单元产生振动,当同时需要多个振动单元产生振动时,只能通过先后振动的方式近似实现。在振动单元较少、振动时长较短时,用户不容易察觉到单元之间的振动先后差异;在振动单元较多、振动时长较长时,用户就能够察觉到单元之间的振动先后差异,这影响了使用体验。
综上,现亟需一种针对分时复用振动阵列的驱动方法,以解决所有振动单元共用一套驱动电路时产生明显的振动先后差异的问题,提升使用体验。
发明内容
本发明的主要目的在于提供一种驱动方法、装置、设备及计算机可读存储介质,旨在提出一种分时复用的驱动方法,以解决所有振动单元共用一套驱动电路时产生明显的振动先后差异的问题,提升用户使用体验。
为实现上述目的,本发明提供一种驱动方法,所述驱动方法应用于振动阵列电路系统中的控制器,所述振动阵列电路系统还包括功率驱动电路和振动阵列,所述振动阵列中包括多个振动单元,所述驱动方法包括以下步骤:
从各所述振动单元中确定目标振动单元和各所述目标振动单元分别对应 的振动时长;
对各所述振动时长进行拆分,得到各所述目标振动单元分别对应的至少一个单元时长;
将各所述目标振动单元对应的所述单元时长进行穿插排列得到振动序列;
控制所述功率驱动电路按照所述振动序列中各所述单元时长的排列顺序,依次驱动对应的目标振动单元振动相应的单元时长。
可选地,所述将各所述目标振动单元对应的所述单元时长进行穿插排列得到振动序列的步骤包括:
确定顺次的多个振动阶段;
对于各所述振动阶段,分别从各所述目标振动单元对应的所述单元时长中选取单元时长进行排列,得到各所述振动阶段分别对应的振动子序列,其中,至少一个所述振动子序列中包括不同的两个所述目标振动单元对应的所述单元时长;
按照各所述振动阶段的顺序将各所述振动子序列顺次组合得到振动序列。
可选地,各所述单元时长的长度相同,所述振动阶段的个数是各所述振动时长中最长的振动时长所拆分得到的单元时长的个数,所述对于各所述振动阶段,分别从各所述目标振动单元对应的所述单元时长中选取单元时长进行排列,得到各所述振动阶段分别对应的振动子序列的步骤包括:
按照各所述振动阶段的顺序,依次为各所述振动阶段确定振动子序列;
其中,为任一所述振动阶段确定振动子序列的步骤包括:
从每个可选振动单元对应的所述单元时长中选取一个单元时长进行排列,得到所述振动阶段对应的振动子序列,其中,所述可选振动单元是各所述目标振动单元中存在未选完的单元时长的振动单元。
可选地,所述从各所述振动单元中确定目标振动单元和各所述目标振动单元分别对应的振动时长的步骤之后,还包括:
按照各所述振动时长从长到短的顺序将各所述目标振动单元进行排序,得到各所述目标振动单元的优先级;
所述从每个可选振动单元对应的所述单元时长中选取一个单元时长进行 排列,得到所述振动阶段对应的振动子序列的步骤包括:
从每个可选振动单元对应的所述单元时长中选取一个单元时长,按照各所述目标振动单元的优先级从高到低的顺序将选取的单元时长进行排列,得到所述振动阶段对应的振动子序列。
可选地,所述对各所述振动时长进行拆分,得到各所述目标振动单元分别对应的至少一个单元时长的步骤之后,还包括:
确定多个振动区间,并将各所述单元时长分别拆分为多个微时长,其中,振动区间的个数与每个所述单元时长拆分得到的所述微时长的个数相同;
将每个所述单元时长对应的多个所述微时长分别划分至各所述振动区间;
所述将各所述目标振动单元对应的所述单元时长进行穿插排列得到振动序列的步骤包括:
确定每个所述振动区间分别对应的区间振动序列;
将各所述区间振动序列进行顺次组合得到振动序列;
其中,确定任一所述振动区间对应的所述区间振动序列的步骤包括:
确定顺次的多个振动阶段;
对于各所述振动阶段,分别从各所述目标振动单元对应的所述微时长中选取微时长进行排列,得到各所述振动阶段分别对应的振动子序列,其中,至少一个所述振动子序列中包括不同的两个所述目标振动单元对应的所述微时长;
按照各所述振动阶段的顺序将各所述振动子序列顺次组合得到区间振动序列。
可选地,所述从各所述振动阵列的多个振动单元中确定目标振动单元和各所述目标振动单元对应的振动时长的步骤包括:
确定当前振动场景,并获取与所述当前振动场景对应预设的振动策略;
从所述振动策略中提取目标振动单元和各所述目标振动单元对应的振动时长。
可选地,所述控制所述功率驱动电路按照所述振动序列中各所述单元时长的排列顺序,依次驱动对应的目标振动单元振动相应的单元时长的步骤包括:
从所述振动策略中提取各所述目标振动单元分别对应的振动效果参数;
根据各所述目标振动单元的所述振动效果参数和对应预设的硬件参数,生成各所述目标振动单元分别对应的驱动波形数据流;
将各所述驱动波形数据流输出给所述功率驱动电路,以控制所述功率驱动电路按照所述振动序列中各所述单元时长的排列顺序,依次采用对应的驱动波形数据流驱动对应的目标振动单元振动相应的单元时长。
为实现上述目的,本发明还提供一种驱动装置,所述驱动装置部署于振动阵列电路系统中的控制器,所述振动阵列电路系统还包括功率驱动电路和振动阵列,所述振动阵列中包括多个振动单元,所述驱动装置包括:
确定模块,用于从各所述振动单元中确定目标振动单元和各所述目标振动单元分别对应的振动时长;
拆分模块,用于对各所述振动时长进行拆分,得到各所述目标振动单元分别对应的至少一个单元时长;
排列模块,用于将各所述目标振动单元对应的所述单元时长进行穿插排列得到振动序列;
驱动模块,用于控制所述功率驱动电路按照所述振动序列中各所述单元时长的排列顺序,依次驱动对应的目标振动单元振动相应的单元时长。
为实现上述目的,本发明还提供一种驱动设备,所述驱动设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的驱动程序,所述驱动程序被所述处理器执行时实现如上所述的驱动方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有驱动程序,所述驱动程序被处理器执行时实现如上所述的驱动方法的步骤。
本发明中,通过在振动阵列电路系统中设置功率驱动电路、包括多个振动单元的振动阵列和控制器,通过控制器从各振动单元中确定目标振动单元和各目标振动单元分别对应的振动时长,对各振动时长进行拆分,得到各目 标振动单元分别对应的至少一个单元时长;将各目标振动单元对应的单元时长进行穿插排列得到振动序列;控制功率驱动电路按照振动序列中各单元时长的排列顺序,依次驱动对应的目标振动单元振动相应的单元时长,实现了当多个振动单元需要同时振动时,可以通过不同振动单元的振动时长的穿插,以降低各个振动单元振动时用户所感受到的先后感,进而提高用户使用体验。
图1为本发明实施例方案涉及的硬件运行环境的结构示意图;
图2为本发明驱动方法第一实施例的流程示意图;
图3为本发明实施例涉及的一种设置振动阵列的可穿戴设备示意图;
图4为本发明实施例涉及的一种振动阵列电路系统示意图;
图5为本发明实施例涉及的一种驱动波形数据流示意图;
图6为本发明实施例涉及的一种振动阵列振动时长分布示意图;
图7为本发明实施例涉及的另一种振动阵列振动时长分布示意图;
图8为本发明驱动装置较佳实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
需要说明的是,本发明实施例驱动设备,所述驱动设备可以是振动阵列电路系统中的控制器,所述振动阵列电路系统还包括功率驱动电路和振动阵列,所述振动阵列中包括多个振动单元,所述振动阵列电路系统可以设置在智能手机、个人计算机、游戏机、VR/AR设备、可穿戴设备等电子设备中,在此不做具体限制。
如图1所示,该驱动设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现 这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对驱动设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及驱动程序。操作系统是管理和控制设备硬件和软件资源的程序,支持驱动程序以及其它软件或程序的运行。在图1所示的设备中,用户接口1003主要用于与客户端进行数据通信;网络接口1004主要用于与服务器建立通信连接;而处理器1001可以用于调用存储器1005中存储的驱动程序,并执行以下操作:
从各所述振动单元中确定目标振动单元和各所述目标振动单元分别对应的振动时长;
对各所述振动时长进行拆分,得到各所述目标振动单元分别对应的至少一个单元时长;
将各所述目标振动单元对应的所述单元时长进行穿插排列得到振动序列;
控制所述功率驱动电路按照所述振动序列中各所述单元时长的排列顺序,依次驱动对应的目标振动单元振动相应的单元时长。
进一步地,所述将各所述目标振动单元对应的所述单元时长进行穿插排列得到振动序列的操作包括:
确定顺次的多个振动阶段;
对于各所述振动阶段,分别从各所述目标振动单元对应的所述单元时长中选取单元时长进行排列,得到各所述振动阶段分别对应的振动子序列,其中,至少一个所述振动子序列中包括不同的两个所述目标振动单元对应的所述单元时长;
按照各所述振动阶段的顺序将各所述振动子序列顺次组合得到振动序列。
进一步地,各所述单元时长的长度相同,所述振动阶段的个数是各所述振动时长中最长的振动时长所拆分得到的单元时长的个数,所述对于各所述振动阶段,分别从各所述目标振动单元对应的所述单元时长中选取单元时长进行排列,得到各所述振动阶段分别对应的振动子序列的操作包括:
按照各所述振动阶段的顺序,依次为各所述振动阶段确定振动子序列;
其中,为任一所述振动阶段确定振动子序列的操作包括:
从每个可选振动单元对应的所述单元时长中选取一个单元时长进行排列,得到所述振动阶段对应的振动子序列,其中,所述可选振动单元是各所述目标振动单元中存在未选完的单元时长的振动单元。
进一步地,所述从各所述振动单元中确定目标振动单元和各所述目标振动单元分别对应的振动时长的操作之后,处理器1001还可以用于调用存储器1005中存储的驱动程序,执行以下操作:
按照各所述振动时长从长到短的顺序将各所述目标振动单元进行排序,得到各所述目标振动单元的优先级;
所述从每个可选振动单元对应的所述单元时长中选取一个单元时长进行排列,得到所述振动阶段对应的振动子序列的操作包括:
从每个可选振动单元对应的所述单元时长中选取一个单元时长,按照各所述目标振动单元的优先级从高到低的顺序将选取的单元时长进行排列,得到所述振动阶段对应的振动子序列。
进一步地,所述对各所述振动时长进行拆分,得到各所述目标振动单元分别对应的至少一个单元时长的操作之后,处理器1001还可以用于调用存储器1005中存储的驱动程序,执行以下操作:
确定多个振动区间,并将各所述单元时长分别拆分为多个微时长,其中,振动区间的个数与每个所述单元时长拆分得到的所述微时长的个数相同;
将每个所述单元时长对应的多个所述微时长分别划分至各所述振动区间;
所述将各所述目标振动单元对应的所述单元时长进行穿插排列得到振动序列的操作包括:
确定每个所述振动区间分别对应的区间振动序列;
将各所述区间振动序列进行顺次组合得到振动序列;
其中,确定任一所述振动区间对应的所述区间振动序列的操作包括:
确定顺次的多个振动阶段;
对于各所述振动阶段,分别从各所述目标振动单元对应的所述微时长中选取微时长进行排列,得到各所述振动阶段分别对应的振动子序列,其中,至少一个所述振动子序列中包括不同的两个所述目标振动单元对应的所述微时长;
按照各所述振动阶段的顺序将各所述振动子序列顺次组合得到区间振动序列。
进一步地,所述从各所述振动阵列的多个振动单元中确定目标振动单元和各所述目标振动单元对应的振动时长的操作包括:
确定当前振动场景,并获取与所述当前振动场景对应预设的振动策略;
从所述振动策略中提取目标振动单元和各所述目标振动单元对应的振动时长。
进一步地,所述控制所述功率驱动电路按照所述振动序列中各所述单元时长的排列顺序,依次驱动对应的目标振动单元振动相应的单元时长的操作包括:
从所述振动策略中提取各所述目标振动单元分别对应的振动效果参数;
根据各所述目标振动单元的所述振动效果参数和对应预设的硬件参数,生成各所述目标振动单元分别对应的驱动波形数据流;
将各所述驱动波形数据流输出给所述功率驱动电路,以控制所述功率驱动电路按照所述振动序列中各所述单元时长的排列顺序,依次采用对应的驱动波形数据流驱动对应的目标振动单元振动相应的单元时长。
基于上述的结构,提出驱动方法的各个实施例。
参照图2,图2为本发明驱动方法第一实施例的流程示意图。
本发明实施例提供了驱动方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。在本实施例中,驱动方法应用于振动阵列电路系统中的控 制器,所述振动阵列电路系统还包括功率驱动电路和振动阵列,所述振动阵列中包括多个振动单元。振动阵列电路系统可以设置在智能手机、个人电脑、游戏机、VR/AR设备、可穿戴设备等电子设备中,在本实施例中并不做限制。在本实施例中,所述驱动方法包括:
步骤S10,从各所述振动单元中确定目标振动单元和各所述目标振动单元分别对应的振动时长;
振动单元可以是能够通过驱动产生振动的器件,例如线性谐振马达或转子偏心马达等,具体在本实施例中并不做限制。振动阵列中的各个振动单元的类型可以相同也可以不同,振动单元的数量可以根据振动阵列电路系统的应用场景来确定,在本实施例中并不做限制。例如,在一实施方式中,如图3所示,为一种手套形态的可穿戴设备,在掌心和每根手指的指腹位置各安装了1个振动单元,合计6个,分别编号为M1、M2、M3、M4、M5和M6。
振动阵列中的各个振动单元可以被功率驱动电路独立驱动,由控制器在不同的时间控制功率驱动电路驱动对应的振动单元振动。功率驱动电路可以采用常规的振动单元驱动电路实现,在本实施例中并不做限制。例如,在一实施方式中,功率驱动电路可以由直流电源和功率放大器(简称功放)组成,该功放获取到驱动波形数据流,并将该驱动波形数据流转化为具备带载能力的电压(也称驱动电压)输出。
其中,控制器可通过向功率驱动电路输出指示信号的方式,或通过向控制功率驱动电路与各个振动单元之间接通与否的开关输出信号的方式,或通过其他方式,来实现控制功率驱动电路驱动对应的振动单元,在本实施例中并不做限制。
例如,在一实施方式中,振动阵列电路系统中还可以包括选择开关阵列。
各振动单元的负端与功率驱动电路的负端相连接。选择开关阵列包括与所振动阵列中各振动单元数目相同的开关,各开关的正端与功率驱动电路的正端相连接,各开关的负端与振动阵列中的各所述振动单元的正端一对一连接,各开关根据选择信号将对应的振动单元接入功率驱动电路的正端。选择开关阵列中的各个开关可以采用常规的根据信号进行导通或关断的开关,例如开关可以是接收到高电平时导通,接收到低电平时关断等,具体在本实施例中并不做限制。例如,在一实施方式中,每个开关可以由一个功率开关管 和一个反向并联二极管组成。选择信号是用于使得开关导通以连接功率驱动电路和对应的振动单元的信号,例如,当开关是高电平时导通时,那么选择信号可以是一个高电平,对应地,控制器给不需要振动的振动单元对应的开关输出低电平信号。通过上述设置的振动阵列电路系统,振动阵列中的各个振动单元可以被功率驱动电路独立驱动,由控制器在不同的时间向选择开关阵列输出不同的选择信号,以控制功率驱动电路驱动对应的振动单元振动,从而实现多个振动单元共用一套功率驱动电路,降低了驱动电路的成本。如图4所示,给出了一种振动阵列电路系统的示意图,图中只示出了6个振动单元组成的振动阵列,在实际应用场景中,振动单元的个数可根据需要进行增减。
控制器先从各个振动单元中确定需要振动的振动单元(以下称为目标振动单元以示区分),以及确定目标振动单元分别对应的振动时长,也即所需要振动的振动时长。需要说明的是,由于本实施例方案应用于多个振动单元需要同时振动的场景,所以以目标振动单元的数量有多个为例来进行具体说明。
各个目标振动单元的振动时长可能相同也可能不同,具体时长与使用场景有关。
在一实施方式中,控制器可以根据当前的振动场景来确定目标振动单元和各目标振动单元对应的振动时长。不同的振动场景可能需要振动的振动单元和振动时长是不同的,例如,在如图所示的可穿戴设备中,当用户食指触摸到对应物体时,需要食指处安装的振动单元振动,当用户拇指触摸到对应物体时,需要拇指处安装的振动单元振动,根据每个指头的触摸操作所触发的振动指令,控制器可以确定当前的振动场景,进而可以确定需要振动的振动单元。
步骤S20,对各所述振动时长进行拆分,得到各所述目标振动单元分别对应的至少一个单元时长;
为实现分时复用的驱动方法,控制器在获取到各个目标振动单元的振动时长后,对各个振动时长分别进行拆分,每一个振动时长至少拆分为一个单元时长。可以理解的是,一个目标振动单元对应一个振动时长,拆分后单元时长也是与该目标振动单元对应的,也即,各个目标振动单元分别对应至少 一个单元时长。拆分的意思是指将振动时长拆分后得到的单元时长进行叠加,其总时长是与该振动时长相同的,例如,振动时长是3秒,拆分为3个1秒的单元时长。对各振动时长进行拆分的规则在本实施例中并不做限制。
例如,在一实施方式中,可以设置一个最短时长,每个单元时长与该最短时长相同,那么,振动时长较长的拆分得到的单元时长个数较多,振动时长较短的拆分得到的单元时长个数较少。例如,振动单元M1的振动时长为2秒,振动单元M2的振动时长为4秒,最短时长为1秒,那么M1的振动时长拆分得到2个单元时长,M2的振动时长拆分得到4个单元时长。
又如,在另一实施方式中,可以设置每个振动时长拆分得到的单元时长个数相等,将振动时长按个数拆分为等分的单元时长,那么,不同振动单元对应的单元时长的长度是不同的。
步骤S30,将各所述目标振动单元对应的所述单元时长进行穿插排列得到振动序列;
控制器在将各个振动时长进行拆分后,将各个目标振动单元对应的单元时长进行穿插排列,得到一个由各个单元时长组成的序列,以下称为振动序列。可以理解的是,由于每个单元时长都有各自对应的目标振动单元,所以由各个单元时长排列得到的振动序列,也表示了各个目标振动单元的振动顺序。
穿插排列是指一种使得不同目标振动单元对应的单元时长交替排列的排列方式,目的是使得不同振动单元的单元时长被分隔开,不要集中在一起。需要说明的是,穿插排列并不表示每个目标振动单元的多个单元时长都得被其他目标振动单元的单元时长隔开,只要有至少一个目标振动单元的至少两个单元时长被其他目标振动单元隔开,相比于不隔开(振动时长作为一个整体)的方式,都能够达到降低两个振动单元共用一套驱动电路时的振动先后差异的效果。在具体实施方式中,可以根据需要设置不同的穿插排列方式,达到不同的穿插力度,以实现对振动先后差异的不同降低力度。在本实施例中,对穿插排列的具体方式并不做限制。
例如,在一实施方式中,可以将第一个目标振动单元对应的单元时长先进行排列,再将第二个目标振动单元对应的单元时长采用插空的方式,依次插入到已排列的单元时长的中间,在插入过程中,在有位置的情况下,保证 第二个目标振动单元对应的各个单元时长不相邻,依次类推地插入第n个目标振动单元对应的单元时长。
步骤S40,控制所述功率驱动电路按照所述振动序列中各所述单元时长的排列顺序,依次驱动对应的目标振动单元振动相应的单元时长。
控制器在得到振动阵列后,可以控制功率驱动电路按照该振动阵列中各个单元时长的排列顺序,依次驱动对应的目标振动单元振动相应的单元时长。控制器控制功率驱动电路按顺序驱动目标振动单元振动的具体实现方式在本实施例中并不做限制。例如,在一实施方式中,当采用如图所示4所示的振动阵列电路系统时,控制器可以按照振动序列中各个单元时长的排列顺序,从第一个单元时长开始,向选择开关阵列输出针对第一个单元时长对应的目标振动单元的选择信号,信号持续第一单元时长,选择开关阵列根据该选择信号,将功率驱动电路与该目标振动单元接通,使得功率驱动电路输出驱动电压驱动该目标振动单元振动第一单元时长;在经过第一单元时长后,控制器向选择开关阵列输出针对第二个单元时长对应的目标振动单元的选择信号,信号持续第二单元时长,选择开关振动根据该选择信号,将功率驱动电路与该目标振动单元接通,使得功率驱动电路输出驱动电压驱动该目标振动单元振动第二单元时长;依次类推,直到最后一个单元时长结束,控制器再获取下一次需要振动的目标振动单元及其振动时长。
功率驱动电路驱动振动单元时,可以根据预设或实时生成的驱动波形数据流来输出驱动电压,驱动波形数据流包括按照时间顺序排列的多个驱动电压值,表示功率驱动电路依次需要输出的驱动电压值。
进一步地,在一实施方式中,所述步骤S10包括:
步骤S101,确定当前振动场景,并获取与所述当前振动场景对应预设的振动策略;
步骤S102,从所述振动策略中提取目标振动单元和各所述目标振动单元对应的振动时长。
在本实施例中,可以预先设置不同的振动场景,并针对不同的振动场景设置振动策略,振动策略中可以规定该振动场景所需要振动的振动单元,所需振动的时长。进一步地,在一些实施方式中,振动策略还可以规定该振动场景的其它参数,例如,可以规定功率驱动电路所需的驱动波形数据流。
控制器可以先确定当前的振动场景,再获取与该振动场景对应预设的振动策略。其中,控制器确定振动场景的具体实现方式在本实施例中并不做限制,例如可以是控制器根据触发的振动指令,从振动指令中提取振动场景。
控制器在获取到振动策略后,即从振动策略中提取出目标振动单元和目标振动单元对应的振动时长。
进一步地,在一实施方式中,所述步骤S40包括:
步骤S401,从所述振动策略中提取各所述目标振动单元分别对应的振动效果参数;
在本实施方式中,驱动波形数据流可以由控制器根据目标振动单元和振动效果来实时生成,以实现振动阵列丰富的振动效果。
具体地,振动策略中还可以规定目标振动单元对应的振动效果参数,振动效果参数可以是预期振动强度、振动频率等,具体在此并不做限制。控制器从振动策略中提取出各个目标振动单元对应的振动效果参数。
步骤S402,根据各所述目标振动单元的所述振动效果参数和对应预设的硬件参数,生成各所述目标振动单元分别对应的驱动波形数据流;
控制器对每一个目标振动单元,根据该目标振动单元的振动效果参数和与该目标振动单元对应预设的硬件参数,生成该目标振动单元对应的驱动波形数据流。其中,每个振动单元预先设置了对应的硬件参数,硬件参数中可以包括振动单元的类型,还可以包括其他参数项,根据振动单元的类型不同,硬件参数可能包括其他参数项,也可能不包括其他参数项。例如,线性谐振马达的其他硬件参数项可以包括谐振频率。
根据振动效果参数和硬件参数生成驱动波形数据流的方法有多种,根据振动效果参数所包括的参数项和硬件参数所包括的参数项不同,生成驱动波形数据流的方法也不同,在本实施方式中并不做限制。
例如,在一实施方式中,当所述振动效果参数包括预期振动强度时,控制器可以提取硬件参数中的振动单元类型,若振动单元类型表征目标振动单元是线性谐振马达,那么,控制器可以计算预期振动强度对应的驱动电压幅值。其中,振动强度与电压幅值的转换公式可以预先根据需要定义,在此并不做限制,控制器可以根据该转换公式计算得到预期振动强度对应的驱动电压幅值。控制器在计算得到驱动电压幅值后,进一步生成频率为该硬件参数 中的谐振频率,以及幅值为该驱动电压幅值的正弦波,将该正弦波作为目标振动单元对应的驱动波形数据流。例如,如图5所示,若目标振动单元为线性谐振马达(LRA),其谐振频率为f01,预期振动强度为Am1,产生该振动强度所需的电压幅值为Um1,则生成的驱动波形数据流为频率为f01的正弦波,其幅值为Um1;若目标振动单元为线性谐振马达(LRA),其谐振频率为f02,预期振动强度为Am2,产生该振动强度所需的电压幅值为Um2,则生成的驱动波形数据流为频率为f02的正弦波,其幅值为Um2。
又如,在另一实施方式中,当所述振动效果参数包括预期振动强度时,控制器可以提取硬件参数中的振动单元类型,若振动单元类型表征目标振动单元是转子偏心马达,那么,控制器可以计算预期振动强度对应的驱动电压幅值。其中,振动强度与电压幅值的转换公式可以预先根据需要定义,在此并不做限制,控制器可以根据该转换公式计算得到预期振动强度对应的驱动电压幅值。控制器在计算得到驱动电压幅值后,生成幅值为该驱动电压幅值的恒定直流信号,将该恒定直流信号作为目标振动单元对应的驱动波形数据流。例如,如图5所示,目标振动单元为转子偏心马达(ERM),预期振动强度为Am3,产生该振动强度所需的电压幅值为Um3,则生成的驱动波形数据流为幅值为Um3的恒定直流信号。或者,控制器在计算得到驱动电压幅值后,根据驱动电压幅值和振动阵列电路系统的直流电源电压计算得到占空比(以下称为目标占空比),具体可以将驱动电压幅值除以振动阵列电路系统的直流电源电压得到该目标占空比。控制器在计算得到目标占空比后,生成占空比为该目标占空比,幅值为该直流电源电压的高频斩波PWM(Pulse width modulation,脉冲宽度调制)信号,将该高频斩波PWM信号作为目标振动单元对应的驱动波形数据流。例如,如图5所示,若目标振动单元为转子偏心马达(ERM),预期振动强度为Am3,产生该振动强度所需的电压幅值为Um3,该振动阵列系统的直流电源电压为Udc,则计算目标占空比d=Um3/Udc,生成的驱动波形数据流为占空比为d、幅值为Udc的高频斩波PWM信号。
步骤S403,将各所述驱动波形数据流输出给所述功率驱动电路,以控制所述功率驱动电路按照所述振动序列中各所述单元时长的排列顺序,依次采用对应的驱动波形数据流驱动对应的目标振动单元振动相应的单元时长。
控制器在生成驱动波形数据流后,可以将驱动波形数据流输出给功率驱 动电路,以控制功率驱动电路按照振动序列中各单元时长的排列顺序,依次采用对应的驱动波形数据流驱动对应的目标振动单元振动相应的单元时长。在具体实施方式中,控制器可以将各个振动单元的驱动波形数据流按照振动阵列中各单元时长的排列顺序依次输出给功率驱动电路;也即,将第一个单元时长对应的目标振动单元的驱动波形数据流输出给功率驱动电路,在经过第一个单元时长后,再将第二个单元时长对应的目标振动单元的驱动波形数据流输出给功率驱动电路,依次类推。
在本实施例中,通过在振动阵列电路系统中设置功率驱动电路、包括多个振动单元的振动阵列和控制器,通过控制器从各振动单元中确定目标振动单元和各目标振动单元分别对应的振动时长,对各振动时长进行拆分,得到各目标振动单元分别对应的至少一个单元时长;将各目标振动单元对应的单元时长进行穿插排列得到振动序列;控制功率驱动电路按照振动序列中各单元时长的排列顺序,依次驱动对应的目标振动单元振动相应的单元时长,实现了当多个振动单元需要同时振动时,可以通过不同振动单元的振动时长的穿插,以降低各个振动单元振动时用户所感受到的先后感,进而提高用户使用体验。
进一步地,基于上述第一实施例,提出本发明驱动方法第二实施例,在本实施例中,所述步骤S30包括:
步骤S301,确定顺次的多个振动阶段;
在本实施例中,提出一种穿插排列的方式。具体地,控制器可以先确定顺次的多个振动阶段。振动阶段的个数可以根据需要进行设置,在本实施例中并不做限制。
步骤S302,对于各所述振动阶段,分别从各所述目标振动单元对应的所述单元时长中选取单元时长进行排列,得到各所述振动阶段分别对应的振动子序列,其中,至少一个所述振动子序列中包括不同的两个所述目标振动单元对应的所述单元时长;
控制器根据对于每个振动阶段,从各个目标振动单元对应的单元时长中选取单元时长进行排列,得到一个序列(以下称为振动子序列),该振动子序列作为该振动阶段所对应的振动子序列,如此,可以得到每个振动阶段分 别对应的一个振动子序列。
其中,从各个目标振动单元对应的单元时长中选取单元时长来进行排列得到振动子阵列时,是无放回的选取,也即,每取一个,后面可选的单元时长就少一个。对于一个振动子序列,可以是从每一个目标振动单元的单元时长中都选取一个来组成该振动子序列,也可以是从部分目标振动单元的单元时长中选取,在本实施例中并不做限制,但,为实现降低不同振动单元振动时的先后感,在选取时,保证有至少一个振动子序列中包括不同的两个目标振动单元对应的单元时长。
在将选取出的单元时长进行排列时,可以随机排列或采取其他方式排列,在本实施例中并不做限制。
步骤S303,按照各所述振动阶段的顺序将各所述振动子序列顺次组合得到振动序列。
控制器在得到各个振动阶段对应的振动子序列后,可以按照各个振动阶段的顺序将各个振动子序列顺次组合,得到振动序列。例如,假设有3个振动阶段s1、s2、s3,分别对应的振动子序列是[t1、t2、t3]、[t4、t5]、[t6、t7],那么按照s1、s2、s3这样的排列顺序对三个振动子序列进行组合后,得到的振动序列为[t1、t2、t3、t4、t5、t6、t7]。
进一步地,在一实施方式中,所述步骤S302包括:
步骤S3021,按照各所述振动阶段的顺序,依次为各所述振动阶段确定振动子序列;
在本实施方式中,在对振动时长进行拆分时,可以使得各个单元时长的长度可以是相同的,在确定振动阶段时,可以使得振动阶段的个数是各个振动时长中最长的振动时长所拆分得到的单元时长的个数。
控制器可以按照各个振动阶段的顺序,依次地为各个振动阶段确定振动子序列,也即,先确定第一个振动阶段的振动子序列,再确定第二个振动阶段的振动子序列,依次类推。
其中,为任一所述振动阶段确定振动子序列的步骤包括:
步骤a,从每个可选振动单元对应的所述单元时长中选取一个单元时长进行排列,得到所述振动阶段对应的振动子序列,其中,所述可选振动单元是各所述目标振动单元中存在未选完的单元时长的振动单元。
为各个振动阶段中任一一个振动阶段确定振动子序列时,控制器可以从每个可选振动单元对应的单元时长中选取一个单元时长来参与排列,得到该振动阶段对应的振动子序列。可选振动单元是指目标振动单元在存在未选完的单元时长的振动单元,也即,目标振动单元的单元时长每次选一个少一个,当振动阶段的个数要大于该目标振动单元的单元时长个数时,就可能在后面几个振动阶段时,该目标振动单元的单元时长已被选完,那么该目标振动单元就不是可选振动单元。
在本实施方式中,通过按照振动阶段的排列顺序来依次为各个振动阶段选取振动子阵列,并且在前的振动阶段必须选取一个可选振动单元的单元时长,以实现各个振动单元几乎同时开始振动,避免振动时长短的振动单元快结束振动或已结束振动时,振动时长长的振动单元才开始振动,从而进一步降低了各个振动单元振动时的先后感,提高用户使用体验。
进一步地,在一实施方式中,所述步骤S10之后,还包括:
步骤S50,按照各所述振动时长从长到短的顺序将各所述目标振动单元进行排序,得到各所述目标振动单元的优先级;
在本实施方式中,控制器可以在对针对振动阶段选取的单元时长进行排列时,进一步地按照目标振动单元的优先级来进行排序。
具体地,控制器可以先按照振动时长从长到短的顺序将各个目标振动单元进行排序,得到各个目标振动单元的优先级,也即,振动时长长的目标振动时长优先级高,振动时长短的目标振动时长优先级低。
所述步骤a包括:
步骤b,从每个可选振动单元对应的所述单元时长中选取一个单元时长,按照各所述目标振动单元的优先级从高到低的顺序将选取的单元时长进行排列,得到所述振动阶段对应的振动子序列。
控制器在从每个可选振动单元对应的单元时长中选取一个单元时长后,可以按照目标振动单元的优先级从高到低的顺序,将选取的单元时长进行排列,从而得到该振动阶段对应的振动子序列。也即,一个单元时长对应的目标振动单元的优先级越高,该单元时长在振动子序列中的顺序越靠前。
通过将各个单元时长按照对应目标振动单元的优先级从高到低来排序,可以进一步地使得振动时长长的目标振动单元早点振动完,也能够保证各个 目标振动单元在振动时的时间间隔更加均匀,进而使得用户更不易察觉出各个目标振动单元是在分时振动,从而提高用户的使用体验。
在一实施方式中,如图6所示,以6个目标振动单元为例进行说明。假设6个目标振动单元分别表示为M1、M2、M3、M4、M5和M6,振动时长分别为2、4、3、7、8和6(单位假设为秒)。控制器将每个目标振动单元的振动时长拆分为多个单元时长(这里假设每个单元时长为1秒),所拆分的单元时长叠加后的总时长与该目标振动单元的振动时长一致,例如振动单元M1被拆分为2个单元时长,振动单元M6被拆分为6个单元时长;控制器根据振动时长最长的振动单元所包含的单元时长个数,将一次完整振动过程划分为同等数目的多个振动阶段,例如本例中振动单元M5的振动时长最长,包含8个单元时长,则将本次完整振动过程划分为s1、s2、s3、s4、s5、s6、s7和s8这8个阶段;控制器按照振动时长由大到小的顺序,给振动单元重新排序,本例中振动单元M1、M2、M3、M4、M5和M6的振动时长分别为2、4、3、7、8和6个单元时长,因此这6个振动单元对应的顺序为6、4、5、2、1、3,即6个振动单元的先后顺序为M5、M4、M6、M2、M3和M1(也即表示各个振动单元的优先级);控制器在每个振动阶段,按照振动单元排序的先后顺序,依据每个振动单元在每个阶段至多安排1个单元时长的原则,将不同振动单元的单元时长穿插排列,若在当前阶段之前某个振动单元的单元时长均已安排完毕,则跳过该振动单元。例如在s1阶段,根据振动单元排序的先后顺序M5、M4、M6、M2、M3和M1,依次排列了一个单元时长,即在s1阶段的6个单元时长中,选择信号经历了6次变化,分别是s1阶段第一个单元时长对应的000010,第二个单元时长对应的000100,第三个单元时长对应的000001,第四个单元时长对应的010000,第五个单元时长对应的001000,第六个单元时长对应的100000;又例如在s3阶段,在该阶段之前振动单元M1的2个单元时长均已安排完毕,直接跳过,则根据振动单元排序的先后顺序M5、M4、M6、M2和M3,依次排列了一个单元时长,即在s3阶段的5个单元时长中,选择信号经历了5次变化,分别是s3阶段第一个单元时长对应的000010,第二个单元时长对应的000100,第三个单元时长对应的000001,第四个单元时长对应的010000,第五个单元时长对应的001000;以此类推,在s8阶段,在该阶段之前振动单元M4、M6、M2、M3和M1的所有单元时长均已安排完毕,直 接跳过,则根据振动单元排序的先后顺序M5,依次排列了一个单元时长,即在s8阶段的1个单元时长中,选择信号经历了1次变化,分别是s8阶段第一个单元时长对应的000010;s8阶段结束后,表示本次完整振动过程结束,选择信号统一设置为000000,等待下一次完整振动过程的开始。
进一步地,基于上述第一和/或第二实施例,提出本发明驱动方法第三实施例,在本实施例中,所述步骤S20之后,还包括:
步骤S60,确定多个振动区间,并将各所述单元时长分别拆分为多个微时长,其中,振动区间的个数与每个所述单元时长拆分得到的所述微时长的个数相同;
步骤S70,将每个所述单元时长对应的多个所述微时长分别划分至各所述振动区间;
在本实施例中,提出一种穿插排列方式,进一步降低各个振动单元振动时的先后感。
具体地,控制器先确定多个振动区间,振动区间的个数可以根据需要确定,在此并不做限制。在拆分得到各个单元时长后,控制器将每个单元时长进一步地进行拆分,每个单元时长均拆分得到多个微时长,每个单元时长所拆分得到的微时长的个数与振动驱动的个数相同,这样,每个单元时长拆分得到的微时长恰好与各个振动区间一一对应,控制器将每个单元时长对应的多个微时长分别划分至各个振动区间。
所述步骤S30包括:
步骤S304,确定每个所述振动区间分别对应的区间振动序列;
步骤S305,将各所述区间振动序列进行顺次组合得到振动序列;
对于每个振动区间中的各个微时长,再采用与上述第二实施例中类似的方式去进行穿插排列,得到每个振动区间分别对应的区间振动阵列。再将各个区间振动阵列进行顺次组合,得到振动阵列。
其中,确定任一所述振动区间对应的所述区间振动序列的步骤包括:
步骤c,确定顺次的多个振动阶段;
步骤d,对于各所述振动阶段,分别从各所述目标振动单元对应的所述微时长中选取微时长进行排列,得到各所述振动阶段分别对应的振动子序列, 其中,至少一个所述振动子序列中包括不同的两个所述目标振动单元对应的所述微时长;
步骤e,按照各所述振动阶段的顺序将各所述振动子序列顺次组合得到区间振动序列。
本实施例中步骤c-e的具体实施过程可参照上述第二实施例中步骤S301-S303的具体实施过程,在此不做重复追溯。
在本实施例中,通过先将整个振动过程划分为多个振动区间,再对每个振动区间划分为多个振动阶段,在每个振动阶段对各个目标振动单元对应的微时长进行穿插排列,可以进一步地加大对各个目标振动单元的振动时长的穿插力度,从而进一步降低各个振动单元振动时的先后感,提高用户使用体验。
在一实施方式中,如图7所示,以6个目标振动单元为例进行说明。假设6个目标振动单元分别表示为M1、M2、M3、M4、M5和M6,振动时长分别为2、4、3、7、8和6(单位假设为秒)。控制器将每个目标振动单元的振动时长拆分为多个单元时长,所拆分的单元时长叠加后的总时长与该振动单元的振动时长一致,例如振动单元M1被拆分为2个单元时长,振动单元M6被拆分为6个单元时长;控制器将一次完整的振动过程平均拆分为多个振动区间,本例中拆分为5个振动区间e1、e2、e3、e4和e5;控制器将每个单元时长平均拆分为更小的微时长,拆分的个数与振动区间的数目一致。例如本例中将每个单元时长拆分为5个更小的微时长,分别放置在5个振动区间e1、e2、e3、e4和e5中,每个振动区间中微时长的排列法则与上述第二实施例中每个完整振动过程单元时长的排列法则一致;控制器根据振动时长最长的振动单元所包含的单元时长个数,将一个振动区间划分为同等数目的多个振动阶段,例如本例中振动单元M5的振动时长最长,包含8个单元时长,则将该振动区间划分为s1、s2、s3、s4、s5、s6、s7和s8这8个阶段;控制器按照振动时长由大到小的顺序,给振动单元重新排序,本例中振动单元M1、M2、M3、M4、M5和M6的振动时长分别为2、4、3、7、8和6个单元时长,因此这6个振动单元对应的顺序为6、4、5、2、1、3,即6个振动单元的先后顺序为M5、M4、M6、M2、M3和M1;控制器在每个振动阶段,按照振动单元排序的先后顺序,依据每个振动单元在每个阶段至多安排1个微时长的原则,将不同振动 单元的微时长穿插排列,若在当前阶段之前某个振动单元已安排的微时长个数与该振动单元所包含的单元时长个数相等,则跳过该振动单元。例如在s1阶段,根据振动单元排序的先后顺序M5、M4、M6、M2、M3和M1,依次排列了一个微时长,即在s1阶段的6个微时长中,选择信号经历了6次变化,分别是s1阶段第一个微时长对应的000010,第二个微时长对应的000100,第三个微时长对应的000001,第四个微时长对应的010000,第五个微时长对应的001000,第六个微时长对应的100000;又例如在s3阶段,在该阶段之前振动单元M1已安排的微时长个数与该振动单元所包含的单元时长个数相等,均为2,因此直接跳过,则根据振动单元排序的先后顺序M5、M4、M6、M2和M3,依次排列了一个微时长,即在s3阶段的5个微时长中,选择信号经历了5次变化,分别是s3阶第一个微时长对应的000010,第二个微时长对应的000100,第三个微时长对应的000001,第四个微时长对应的010000,第五个微时长对应的001000;以此类推,在s8阶段,在该阶段之前,振动单元M4、M6、M2、M3和M1已安排的微时长个数与该振动单元所包含的单元时长个数相等,直接跳过,则根据振动单元排序的先后顺序M5,依次排列了一个微时长,即在s8阶段的1个微时长中,选择信号经历了1次变化,分别是s8阶段第一个微时长对应的000010;s8阶段结束后,表示本振动区间结束,重复该振动区间的微时长的分配和选择信号的确定过程,直至5个振动区间均结束,表示本次完整振动过程结束,将选择信号统一设置为000000,等待下一次完整振动过程的开始。
此外,本发明实施例还提出一种驱动装置,参照图8,所述驱动装置部署于振动阵列电路系统中的控制器,所述振动阵列电路系统还包括功率驱动电路和振动阵列,所述振动阵列中包括多个振动单元,所述驱动装置包括:
确定模块10,用于从各所述振动单元中确定目标振动单元和各所述目标振动单元分别对应的振动时长;
拆分模块20,用于对各所述振动时长进行拆分,得到各所述目标振动单元分别对应的至少一个单元时长;
排列模块30,用于将各所述目标振动单元对应的所述单元时长进行穿插排列得到振动序列;
驱动模块40,用于控制所述功率驱动电路按照所述振动序列中各所述单元时长的排列顺序,依次驱动对应的目标振动单元振动相应的单元时长。
进一步地,所述排列模块30还用于:
确定顺次的多个振动阶段;
对于各所述振动阶段,分别从各所述目标振动单元对应的所述单元时长中选取单元时长进行排列,得到各所述振动阶段分别对应的振动子序列,其中,至少一个所述振动子序列中包括不同的两个所述目标振动单元对应的所述单元时长;
按照各所述振动阶段的顺序将各所述振动子序列顺次组合得到振动序列。
进一步地,各所述单元时长的长度相同,所述振动阶段的个数是各所述振动时长中最长的振动时长所拆分得到的单元时长的个数,所述排列模块30还用于:
按照各所述振动阶段的顺序,依次为各所述振动阶段确定振动子序列;
其中,为任一所述振动阶段确定振动子序列的操作包括:
从每个可选振动单元对应的所述单元时长中选取一个单元时长进行排列,得到所述振动阶段对应的振动子序列,其中,所述可选振动单元是各所述目标振动单元中存在未选完的单元时长的振动单元。
进一步地,驱动装置还包括:
排序模块,用于按照各所述振动时长从长到短的顺序将各所述目标振动单元进行排序,得到各所述目标振动单元的优先级;
所述排列模块30还用于:从每个可选振动单元对应的所述单元时长中选取一个单元时长,按照各所述目标振动单元的优先级从高到低的顺序将选取的单元时长进行排列,得到所述振动阶段对应的振动子序列。
进一步地,所述拆分模块20还用于:
确定多个振动区间,并将各所述单元时长分别拆分为多个微时长,其中,振动区间的个数与每个所述单元时长拆分得到的所述微时长的个数相同;
将每个所述单元时长对应的多个所述微时长分别划分至各所述振动区间;
所述排列模块30还用于:
确定每个所述振动区间分别对应的区间振动序列;
将各所述区间振动序列进行顺次组合得到振动序列;
其中,确定任一所述振动区间对应的所述区间振动序列的操作包括:
确定顺次的多个振动阶段;
对于各所述振动阶段,分别从各所述目标振动单元对应的所述微时长中选取微时长进行排列,得到各所述振动阶段分别对应的振动子序列,其中,至少一个所述振动子序列中包括不同的两个所述目标振动单元对应的所述微时长;
按照各所述振动阶段的顺序将各所述振动子序列顺次组合得到区间振动序列。
进一步地,所述确定模块10还用于:
确定当前振动场景,并获取与所述当前振动场景对应预设的振动策略;
从所述振动策略中提取目标振动单元和各所述目标振动单元对应的振动时长。
进一步地,所述驱动模块40还用于:
从所述振动策略中提取各所述目标振动单元分别对应的振动效果参数;
根据各所述目标振动单元的所述振动效果参数和对应预设的硬件参数,生成各所述目标振动单元分别对应的驱动波形数据流;
将各所述驱动波形数据流输出给所述功率驱动电路,以控制所述功率驱动电路按照所述振动序列中各所述单元时长的排列顺序,依次采用对应的驱动波形数据流驱动对应的目标振动单元振动相应的单元时长。
本发明驱动装置的具体实施方式的拓展内容与上述驱动方法各实施例基本相同,在此不做赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述存储介质上存储有驱动程序,所述驱动程序被处理器执行时实现如下所述的驱动方法的步骤。
本发明驱动设备和计算机可读存储介质各实施例,均可参照本发明驱动方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
- 一种驱动方法,其特征在于,所述驱动方法应用于振动阵列电路系统中的控制器,所述振动阵列电路系统还包括功率驱动电路和振动阵列,所述振动阵列中包括多个振动单元,所述驱动方法包括以下步骤:从各所述振动单元中确定目标振动单元和各所述目标振动单元分别对应的振动时长;对各所述振动时长进行拆分,得到各所述目标振动单元分别对应的至少一个单元时长;将各所述目标振动单元对应的所述单元时长进行穿插排列得到振动序列;控制所述功率驱动电路按照所述振动序列中各所述单元时长的排列顺序,依次驱动对应的目标振动单元振动相应的单元时长。
- 如权利要求1所述的驱动方法,其特征在于,所述将各所述目标振动单元对应的所述单元时长进行穿插排列得到振动序列的步骤包括:确定顺次的多个振动阶段;对于各所述振动阶段,分别从各所述目标振动单元对应的所述单元时长中选取单元时长进行排列,得到各所述振动阶段分别对应的振动子序列,其中,至少一个所述振动子序列中包括不同的两个所述目标振动单元对应的所述单元时长;按照各所述振动阶段的顺序将各所述振动子序列顺次组合得到振动序列。
- 如权利要求2所述的驱动方法,其特征在于,各所述单元时长的长度相同,所述振动阶段的个数是各所述振动时长中最长的振动时长所拆分得到的单元时长的个数,所述对于各所述振动阶段,分别从各所述目标振动单元对应的所述单元时长中选取单元时长进行排列,得到各所述振动阶段分别对应的振动子序列的步骤包括:按照各所述振动阶段的顺序,依次为各所述振动阶段确定振动子序列;其中,为任一所述振动阶段确定振动子序列的步骤包括:从每个可选振动单元对应的所述单元时长中选取一个单元时长进行排列,得到所述振动阶段对应的振动子序列,其中,所述可选振动单元是各所述目标振动单元中存在未选完的单元时长的振动单元。
- 如权利要求3所述的驱动方法,其特征在于,所述从各所述振动单元中确定目标振动单元和各所述目标振动单元分别对应的振动时长的步骤之后,还包括:按照各所述振动时长从长到短的顺序将各所述目标振动单元进行排序,得到各所述目标振动单元的优先级;所述从每个可选振动单元对应的所述单元时长中选取一个单元时长进行排列,得到所述振动阶段对应的振动子序列的步骤包括:从每个可选振动单元对应的所述单元时长中选取一个单元时长,按照各所述目标振动单元的优先级从高到低的顺序将选取的单元时长进行排列,得到所述振动阶段对应的振动子序列。
- 如权利要求1所述的驱动方法,其特征在于,所述对各所述振动时长进行拆分,得到各所述目标振动单元分别对应的至少一个单元时长的步骤之后,还包括:确定多个振动区间,并将各所述单元时长分别拆分为多个微时长,其中,振动区间的个数与每个所述单元时长拆分得到的所述微时长的个数相同;将每个所述单元时长对应的多个所述微时长分别划分至各所述振动区间;所述将各所述目标振动单元对应的所述单元时长进行穿插排列得到振动序列的步骤包括:确定每个所述振动区间分别对应的区间振动序列;将各所述区间振动序列进行顺次组合得到振动序列;其中,确定任一所述振动区间对应的所述区间振动序列的步骤包括:确定顺次的多个振动阶段;对于各所述振动阶段,分别从各所述目标振动单元对应的所述微时长中 选取微时长进行排列,得到各所述振动阶段分别对应的振动子序列,其中,至少一个所述振动子序列中包括不同的两个所述目标振动单元对应的所述微时长;按照各所述振动阶段的顺序将各所述振动子序列顺次组合得到区间振动序列。
- 如权利要求1至5中任一项所述的驱动方法,其特征在于,所述从各所述振动阵列的多个振动单元中确定目标振动单元和各所述目标振动单元对应的振动时长的步骤包括:确定当前振动场景,并获取与所述当前振动场景对应预设的振动策略;从所述振动策略中提取目标振动单元和各所述目标振动单元对应的振动时长。
- 如权利要求6所述的驱动方法,其特征在于,所述控制所述功率驱动电路按照所述振动序列中各所述单元时长的排列顺序,依次驱动对应的目标振动单元振动相应的单元时长的步骤包括:从所述振动策略中提取各所述目标振动单元分别对应的振动效果参数;根据各所述目标振动单元的所述振动效果参数和对应预设的硬件参数,生成各所述目标振动单元分别对应的驱动波形数据流;将各所述驱动波形数据流输出给所述功率驱动电路,以控制所述功率驱动电路按照所述振动序列中各所述单元时长的排列顺序,依次采用对应的驱动波形数据流驱动对应的目标振动单元振动相应的单元时长。
- 一种驱动装置,其特征在于,所述驱动装置部署于振动阵列电路系统中的控制器,所述振动阵列电路系统还包括功率驱动电路和振动阵列,所述振动阵列中包括多个振动单元,所述驱动装置包括:确定模块,用于从各所述振动单元中确定目标振动单元和各所述目标振动单元分别对应的振动时长;拆分模块,用于对各所述振动时长进行拆分,得到各所述目标振动单元分别对应的至少一个单元时长;排列模块,用于将各所述目标振动单元对应的所述单元时长进行穿插排列得到振动序列;驱动模块,用于控制所述功率驱动电路按照所述振动序列中各所述单元时长的排列顺序,依次驱动对应的目标振动单元振动相应的单元时长。
- 一种驱动设备,其特征在于,所述驱动设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的驱动程序,所述驱动程序被所述处理器执行时实现如权利要求1至7中任一项所述的驱动方法的步骤。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有驱动程序,所述驱动程序被处理器执行时实现如权利要求1至7中任一项所述的驱动方法的步骤。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210302909.7 | 2022-03-25 | ||
| CN202210302909.7A CN114706477B (zh) | 2022-03-25 | 2022-03-25 | 驱动方法、装置、设备及计算机可读存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023178993A1 true WO2023178993A1 (zh) | 2023-09-28 |
Family
ID=82171650
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2022/124563 Ceased WO2023178993A1 (zh) | 2022-03-25 | 2022-10-11 | 驱动方法、装置、设备及计算机可读存储介质 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN114706477B (zh) |
| WO (1) | WO2023178993A1 (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114706477B (zh) * | 2022-03-25 | 2024-07-02 | 歌尔股份有限公司 | 驱动方法、装置、设备及计算机可读存储介质 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2667582A1 (en) * | 2012-05-21 | 2013-11-27 | Motorola Mobility LLC | System and method for control of linear and rotary vibrators in an electronic device |
| CN110597393A (zh) * | 2019-09-18 | 2019-12-20 | Oppo(重庆)智能科技有限公司 | 一种马达振动控制方法、装置及计算机可读存储介质 |
| CN111552377A (zh) * | 2020-03-30 | 2020-08-18 | 瑞声科技(新加坡)有限公司 | 振动信号的生成方法、装置、设备及存储介质 |
| CN114706477A (zh) * | 2022-03-25 | 2022-07-05 | 歌尔股份有限公司 | 驱动方法、装置、设备及计算机可读存储介质 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101089850B1 (ko) * | 2009-07-20 | 2011-12-05 | 한 상 이 | 다양한 진동효과를 만들어낼 수 있는 진동 제어 방법과 이를 위한 장치 |
| CN101882023B (zh) * | 2010-06-22 | 2011-12-07 | 友达光电股份有限公司 | 具有振动功能的触控显示装置及振动式触控板 |
| KR20130025759A (ko) * | 2011-09-02 | 2013-03-12 | 엘지전자 주식회사 | 파형 생성기를 이용한 햅틱 장치 및 그 제어 방법 |
| CN102331838B (zh) * | 2011-11-18 | 2014-04-16 | 东南大学 | 基于深度等高线的图像的振动触觉表达方法 |
| CN110413127B (zh) * | 2019-08-07 | 2021-02-19 | 电子科技大学 | 阵列式触觉刺激控制方法 |
| CN111796717B (zh) * | 2020-06-30 | 2025-01-07 | 东南大学 | 柔性触觉反馈电子设备及触觉反馈方法 |
| CN112269895B (zh) * | 2020-11-06 | 2024-11-26 | Oppo广东移动通信有限公司 | 一种振动控制方法、装置及计算机可读存储介质 |
-
2022
- 2022-03-25 CN CN202210302909.7A patent/CN114706477B/zh active Active
- 2022-10-11 WO PCT/CN2022/124563 patent/WO2023178993A1/zh not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2667582A1 (en) * | 2012-05-21 | 2013-11-27 | Motorola Mobility LLC | System and method for control of linear and rotary vibrators in an electronic device |
| CN110597393A (zh) * | 2019-09-18 | 2019-12-20 | Oppo(重庆)智能科技有限公司 | 一种马达振动控制方法、装置及计算机可读存储介质 |
| CN111552377A (zh) * | 2020-03-30 | 2020-08-18 | 瑞声科技(新加坡)有限公司 | 振动信号的生成方法、装置、设备及存储介质 |
| CN114706477A (zh) * | 2022-03-25 | 2022-07-05 | 歌尔股份有限公司 | 驱动方法、装置、设备及计算机可读存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN114706477A (zh) | 2022-07-05 |
| CN114706477B (zh) | 2024-07-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8619051B2 (en) | Haptic feedback system with stored effects | |
| KR100986681B1 (ko) | 촉각 발생을 위한 다중 액튜에이터 구동 제어장치 | |
| JP6704010B2 (ja) | 電子機器、及び制御方法 | |
| CN105549777A (zh) | 一种电子设备及控制方法 | |
| WO2020108102A1 (zh) | 一种振动方法、电子设备及存储介质 | |
| WO2023178993A1 (zh) | 驱动方法、装置、设备及计算机可读存储介质 | |
| US9044632B2 (en) | Information processing apparatus, information processing method and recording medium storing program | |
| CN105224230B (zh) | 一种播放音频文件的方法及移动终端 | |
| WO2011010801A2 (ko) | 다양한 진동효과를 만들어낼 수 있는 진동 제어 방법과 이를 위한 장치 | |
| US12236015B2 (en) | Tactile feedback method, tactile feedback apparatus and touch display apparatus | |
| CN114629396B (zh) | 振动阵列系统、驱动方法、装置、设备及介质 | |
| CN107852100B (zh) | 电力转换装置及其输出电流噪声的降低方法 | |
| CN108039851B (zh) | 一种lra马达驱动芯片的控制方法、装置及系统 | |
| CN114924641B (zh) | 振动阵列系统、驱动方法和存储介质 | |
| KR100588526B1 (ko) | 다채널 진동 유형의 라이브러리를 제작하기 위한 방법 및다채널 진동 제어 장치 | |
| CN113966248A (zh) | 振动设备、信息处理装置和振动控制系统 | |
| CN115944908A (zh) | 一种振动控制装置、系统以及掌机 | |
| CN116015154A (zh) | 马达的振动控制方法、装置、终端设备及计算机介质 | |
| CN114690902A (zh) | 触觉刺激装置、驱动方法、可穿戴设备和存储介质 | |
| JP2005115620A (ja) | タスク管理方法及びタスク管理手段を有する電子機器 | |
| CN114779927A (zh) | 一种振动阵列系统及其控制方法 | |
| CN108181988B (zh) | 一种lra马达驱动芯片的控制方法以及装置 | |
| EP4632534A1 (en) | Haptic rendering system and haptic rendering method | |
| US20240184366A1 (en) | Tactile Sensation Generation Method, Haptic Reproduction Device and Computer Storage Medium | |
| CN116653967A (zh) | 一种短振振动控制方法、装置、设备及存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22933044 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 27.01.2025) |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 22933044 Country of ref document: EP Kind code of ref document: A1 |