CN113110748B - Haptic effect control method and device and electronic equipment - Google Patents

Haptic effect control method and device and electronic equipment Download PDF

Info

Publication number
CN113110748B
CN113110748B CN202110647057.0A CN202110647057A CN113110748B CN 113110748 B CN113110748 B CN 113110748B CN 202110647057 A CN202110647057 A CN 202110647057A CN 113110748 B CN113110748 B CN 113110748B
Authority
CN
China
Prior art keywords
haptic
trigger message
signal waveform
priority
haptic effect
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.)
Active
Application number
CN202110647057.0A
Other languages
Chinese (zh)
Other versions
CN113110748A (en
Inventor
董舒
柯毅
刘德珩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Silicon Integrated Co Ltd
Original Assignee
Wuhan Silicon Integrated Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Silicon Integrated Co Ltd filed Critical Wuhan Silicon Integrated Co Ltd
Priority to CN202110647057.0A priority Critical patent/CN113110748B/en
Publication of CN113110748A publication Critical patent/CN113110748A/en
Priority to PCT/CN2022/094245 priority patent/WO2022257737A1/en
Application granted granted Critical
Publication of CN113110748B publication Critical patent/CN113110748B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user

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)
  • User Interface Of Digital Computer (AREA)

Abstract

The invention relates to a method and a device for controlling a haptic effect and an electronic device. According to an embodiment, a haptic effect control method may include: receiving a haptic trigger message, the haptic trigger message including at least a haptic pattern code, the haptic pattern code indicating one of a plurality of predetermined haptic patterns; decoding the haptic trigger message to determine a haptic mode indicated by the haptic mode encoding; determining a haptic effect corresponding to the haptic pattern; and driving a haptic output device to output the haptic effect. The invention can adopt a simple hardware structure and realize various tactile effects aiming at various events, thereby improving the user experience.

Description

Haptic effect control method and device and electronic equipment
Technical Field
The present invention relates to a method and apparatus for flexibly controlling a haptic effect, and an electronic device including the apparatus.
Background
Touch screens have been applied to various electronic devices instead of conventional keys. For example, in the case of portable electronic devices such as smart phones, full-screen designs have become popular, and no physical keys other than the volume and power buttons are provided on the phone. Alternatively, virtual keys are provided on the touch screen to receive user input. To enable the user to determine whether the input was successful, haptic effects such as vibration feedback are also typically provided in response to the user input. In addition, a vibration effect may also be provided in case of receiving a short message or a voice call, and an alarm being timed out, etc.
The vibration effect may be provided by a motor, such as a rotor motor or a linear motor, which is controlled by a driver chip. The driver chip typically includes hardware trigger pins. When the operating system detects a user input or other event, a hardware trigger pulse may be generated and provided to a hardware trigger pin of the motor driver chip. In response to detecting the trigger pulse on the hardware trigger pin, the driver chip may drive the motor to operate to provide a vibration effect. To provide different vibration effects for different events or event types to improve the user experience, the motor driver chip may include a plurality of hardware trigger pins. For example, when the operating system detects a different event or event type, a trigger pulse may be provided to the corresponding hardware trigger pin. When the motor driving chip detects trigger pulses on different hardware trigger pins, the driving signal corresponding to the pins can be used for driving the motor to run, so that different vibration effects are provided.
As electronic device hardware and software have evolved, their functionality has increased, and so have the expectations of providing haptic effects. For example, when a user watches movies, listens to music, and plays games with a portable electronic device, it may be desirable to experience vibratory feedback; for another example, it is also desirable for an electronic device to provide vibration feedback when a user performs an opening or closing operation on a smart case of the electronic device. The haptic effect that the user desires to experience may also be different for different triggering scenarios and is not limited to the vibration effect provided by a single motor, but may also include a variety of different effects provided by multiple motors of different types or other hardware, such as ultrasonic transducers and the like. Still further, even for the same triggering scenario, such as virtual key triggered haptic feedback of an operating system, it may be desirable to implement different haptic effects for different virtual keys.
However, conventional motor drive or control chips typically include only one to four hardware trigger pins, which correspond to one to four haptic trigger scenarios and corresponding haptic effects. Clearly, this trigger pulse based hardware pin trigger scheme has not been able to meet the increasing abundance of haptic trigger scenarios and haptic effect needs.
Disclosure of Invention
The present invention has been made in view of the above problems. The present invention provides a haptic effect control method and apparatus in which a plurality of different haptic modes can be indicated using a predefined code, and a corresponding haptic effect is determined according to the haptic modes. By using coded triggering, only a small number of pins are required to trigger any of a number of predefined haptic modes, thus saving pin count compared to traditional hardware pin-triggered modes. In addition, the same haptic mode may be given different priorities, which facilitates flexible control of output of various haptic effects according to the priorities. Priority may also be indicated by the encoding and may be sent in a predetermined format along with the haptic mode encoding without requiring additional hardware pins. The pins (or interfaces) used to receive the haptic mode encoding and priority encoding can also be used to receive drive signal waveforms that achieve the desired haptic effect, which enables pin multiplexing, further saving pin count.
One aspect of the present invention provides a haptic effect control method, including: receiving a haptic trigger message, the haptic trigger message including at least a haptic pattern code, the haptic pattern code indicating one of a plurality of predetermined haptic patterns; decoding the haptic trigger message to determine a haptic mode indicated by the haptic mode encoding; determining a haptic effect corresponding to the haptic pattern; and driving a haptic output device to output the haptic effect.
In some embodiments, the haptic trigger message further includes a priority encoding associated with the haptic mode encoding, the priority encoding indicating a priority of the haptic mode indicated by the haptic mode encoding.
In some embodiments, decoding the haptic trigger message further comprises determining a priority of the priority encoding indication, and the method further comprises determining whether to output the haptic effect based on the priority.
In some embodiments, the haptic trigger message is received on a plurality of pins including a control pin and one or more data pins, the haptic trigger message being received on the one or more data pins when the control pin is activated.
In some embodiments, the haptic trigger message is received on an I2C or I2S interface, and the I2C or I2S interface is further to receive a signal waveform representing a haptic effect to which the haptic pattern corresponds.
Another aspect of the present invention provides a haptic effect control apparatus including: an input unit configured to receive a haptic trigger message, the haptic trigger message including at least a haptic mode code indicating one of a plurality of predetermined haptic modes; a decoding unit configured to decode the haptic trigger message to determine a haptic mode indicated by the haptic mode encoding; a haptic effect determination unit configured to determine a haptic effect corresponding to the haptic mode; and a driving unit configured to drive the haptic output device to output the haptic effect.
In some embodiments, the haptic trigger message further includes a priority encoding associated with the haptic mode encoding, the priority encoding indicating a priority of the haptic mode indicated by the haptic mode encoding.
In some embodiments, the decoding unit further determines a priority of the priority encoding indication when decoding the haptic trigger message, and the haptic effect determination unit is further configured to determine whether to output the haptic effect based on the priority.
In some embodiments, the input unit receives the haptic trigger message from a plurality of pins including a control pin and one or more data pins on which the haptic trigger message is received when the control pin is activated.
In some embodiments, the input unit includes an I2C or I2S interface, and the I2C or I2S interface is configured to receive a signal waveform representing a haptic effect corresponding to the haptic pattern in addition to receiving the haptic trigger message.
Another aspect of the invention provides a mobile electronic device comprising: at least one haptic output device; and the above-described haptic effect control means for controlling the at least one haptic output device to output a corresponding haptic effect in response to the received haptic trigger message.
Drawings
FIG. 1 shows a schematic block diagram of an electronic device including a haptic effect control apparatus.
FIG. 2 illustrates a flow diagram of a haptic effect control method according to an embodiment of the present invention.
FIG. 3 shows a haptic trigger message encoding scheme in accordance with an embodiment of the present invention.
FIG. 4 shows a schematic diagram of receiving a haptic trigger message through a single pin, according to an embodiment of the invention.
FIG. 5 shows a schematic diagram of receiving haptic trigger messages through a plurality of pins according to another embodiment of the present invention.
Fig. 6 shows a schematic diagram of receiving a haptic trigger message under control of a control signal according to another embodiment of the present invention.
FIG. 7 shows a schematic diagram of receiving a haptic trigger message over an I2C interface, according to another embodiment of the invention.
FIG. 8 shows a schematic diagram of receiving a haptic trigger message over an I2S interface, according to another embodiment of the invention.
Fig. 9 shows a haptic trigger message encoding scheme according to another embodiment of the present invention.
FIG. 10 shows a schematic block diagram of a haptic effect control apparatus according to an embodiment of the present invention.
Detailed Description
Some exemplary embodiments of the present invention will be described below with reference to the accompanying drawings. The following description provides some specific details for a clear and complete description of these exemplary embodiments. It should be understood, however, that the invention is not limited to the specific details of these exemplary embodiments. Rather, embodiments of the invention may be practiced without these specific details or with other alternatives without departing from the spirit and principles of the invention as defined by the claims.
Fig. 1 shows a schematic block diagram of an electronic device 100 comprising a haptic effect control apparatus. The electronic device 100 may be a portable mobile electronic device such as a smartphone, personal digital assistant, personal terminal device, tablet computer, handheld game player, wearable electronic device, automotive electronic device, and the like.
Referring to fig. 1, an electronic device 100 may include one or more processors 101. The processor 101 may be a general-purpose processor or a special-purpose processor, examples of which include, for example, a Central Processing Unit (CPU), an ARM processor, an apple series a and M processor, a Micro Control Unit (MCU), a Field Programmable Gate Array (FPGA), an audio processor, a Graphics Processor (GPU), a coprocessor, and the like. It is understood that processor 101 may be a single core or multi-core processor.
The electronic device 100 may also include a touch screen 102 that has both display output and touch input capabilities. The touch screen 102 may be a Liquid Crystal Display (LCD), an Active Matrix Organic Light Emitting Diode (AMOLED) display, or the like, and is integrated with a capacitive or resistive touch sensing function.
The electronic device 100 may have one or more memories 103, which may include non-volatile and volatile memories. Examples of non-volatile memory include flash memory, SD cards, ROM, EEPROM, etc., which may be used to store program instructions, user data, etc. that may be executed by processor 101. Examples of volatile memory include RAM, SRAM, DRAM, etc., also referred to as memory, for storing instruction data for execution by processor 101 or for serving as a data cache, etc., when electronic device 100 is operating.
The electronic device 100 may also include a speaker 104 for playing audio and one or more sensors 105. Examples of sensors 105 include, for example, light sensors, distance sensors, speed sensors, gravity sensors, magnetic sensors, gyroscopes, and the like.
The electronic device 100 may also include a haptic effect control 106 and a haptic output device 107 to provide haptic feedback. In this context, haptic effects include, but are not limited to, vibrations, but also, for example, touch texture simulation, deformation, pressure, and the like. For example, touch texture simulation can simulate surfaces of different roughness in response to drive signals, ultrasound can simulate radiation pressure, and so forth. Accordingly, the haptic output device 107 may be various devices capable of providing the associated haptic effect, examples of which may include a rotary eccentric motor (ERM), a linear resonant motor (LRA), a piezoelectric motor, an electrostatic actuator, an ultrasonic transducer, a memory alloy, and the like. Haptic effect control device 106 may be, for example, one or more chips mounted on a printed circuit board for controlling and driving haptic output device 107 to output corresponding haptic effects, which will be described in further detail below.
The above-mentioned devices may be connected to the bus system 108 to communicate with each other. When the electronic device 100 is running, the processor 101 may execute programs stored in the memory 103, such as operating system programs, Applets (APPs), video programs, audio programs, and the like, and control the operation of the various devices. For example, the processor 101 may control the touch screen 102 to play video, the speaker 104 to play audio, and detect input from the touch screen 102 and the sensor 105. In response to various predefined events, processor 101 may instruct haptic effect control device 106 to drive haptic output device 107 to output a corresponding haptic effect. For example, when the processor 101 detects that the user presses a virtual key or performs other gesture operations via the touch screen 102, the haptic effect control device 106 may be instructed to generate various corresponding haptic effects based on various user operations. As another example, when processor 101 detects a sensed input from sensor 105, such as by a magnetic sensor detecting a user opening a device housing (e.g., a cell phone housing) of electronic device 100, haptic effect control 106 may be instructed to generate various corresponding haptic effects. Also for example, when processor 101 detects various other events, such as playing audio and/or video, receiving a phone call, an alarm, etc., the haptic effect control device 106 may also be instructed to generate various corresponding haptic effects. For example, with a drumbeat or heavy bass in the audio, a vibration effect of a corresponding rhythm and amplitude may be produced; alternatively or in addition, when vibration effect data associated with a particular scene, such as an explosion, a bump, a jolt, etc., is included in the movie or game video, processor 101 may also instruct haptic effect control device 106 to generate a corresponding haptic effect based on the data. An exemplary embodiment of controlling and driving the haptic output device 107 to generate various haptic effects by the haptic effect control apparatus 106 will be described in detail below, and vibration is taken as an example of the haptic effects for simplicity and convenience of description, but it is understood that the principles of the present invention can be applied to trigger various haptic effects in various scenarios or situations, and are not limited to the embodiments described herein.
FIG. 2 illustrates a flowchart of a haptic effect control method 200 according to one embodiment of the present invention, which may be performed by the haptic effect control device 106 in the electronic device 100 shown in FIG. 1, for example.
Referring to fig. 2, the method 200 may include a step S210 of receiving a haptic trigger message. In some embodiments, as previously described, a haptic trigger message may be sent to haptic effect control device 106 when processor 101 detects a predetermined event. It will be appreciated that the processor 101 may trigger a haptic effect upon detection of various predetermined events, and that the various events may correspond to different or the same haptic effects. Accordingly, in step S210, the received haptic trigger message may include a haptic mode code, which may indicate one of a plurality of predetermined haptic modes.
Fig. 3 shows a schematic diagram of haptic pattern encoding in a haptic trigger message according to an embodiment of the present invention. As shown in fig. 3, the haptic pattern code may be N bits of data, where N is an integer greater than 1. Thus, the haptic pattern code may have a 2NSeed value, which may also indicate 2 if a zero value is considered as no haptic effect N1 haptic mode. For example, a 3-bit haptic pattern code may indicate 7 haptic patterns. Thus, a variety of different haptic patterns can be flexibly defined for various events; when the processor 101 detects a particular event, its corresponding haptic mode may be encoded into a haptic trigger message and sent to the haptic effect control device 106. For example, taking a 3-bit haptic pattern code as an example, when the processor 101 detects that a user presses a key on a virtual keyboard to perform an input, a haptic trigger message with a haptic pattern code of 001 may be generated; when a user presses three virtual keys representing a menu, a back or a home (home), a haptic trigger message with a haptic pattern code of 010 can be generated; when the set alarm clock reaches the time, a haptic trigger message with a haptic mode code of 011 can be generated; when haptic feedback is triggered while playing a game or watching a movie, a haptic trigger message with a haptic pattern code of 100 may be generated; when haptic feedback is triggered while listening to music, a haptic trigger message with haptic pattern encoding 101 may be generated; haptic sensations can be generated when a short message is receivedA haptic trigger message with a pattern code of 110; when a voice call is received, a haptic trigger message with haptic pattern coding 111 may be generated; and so on. It should be understood that the encoding described herein is merely an example, and that more haptic modes may be defined with more bits of encoding depending on the desired haptic feedback application scenario. Although not shown, the haptic trigger message may further include a header (header) portion before the haptic pattern encoding in order to identify the message.
FIG. 4 shows a schematic diagram of receiving a haptic trigger message according to an embodiment of the invention. In the example of FIG. 4, a haptic trigger message including a haptic pattern code may be received on one of the data PINs PIN1 of the haptic effect control device 106, e.g., a chip. For example, based on system clock signal SCL, haptic effect control device 106 may sample data PIN1 to read the data thereon. It will be appreciated that the signal received on the data PIN PIN1 may be a digital signal or may be an analog signal. When an analog signal, haptic effect control device 106 may include an analog-to-digital converter (ADC) to convert the received analog signal to a digital signal. In the embodiment of fig. 4, valid sample data may be identified and extracted by a header. The haptic trigger message received on PIN1 may be immediately processed, e.g., decoded, or may also be stored, e.g., in a register.
Fig. 5 shows a schematic diagram of receiving a haptic trigger message according to another embodiment of the present invention. In the example of FIG. 5, a haptic trigger message including haptic pattern encoding may be received on multiple data PINs of a haptic effect control device 106, e.g., a chip, FIG. 5 shows two data receiving PINs PIN1 and PIN 2. For example, the data receiving PINs PIN1 and PIN2 may be sampled based on the system clock signal SCL to read data thereon. It will be appreciated that these pins may be sampled a single time or multiple times. For example, when a haptic pattern code with a length of 3 bits is received on three pins, only one sampling is performed; when a haptic pattern code of length 8 bits is received on three pins, three samples are required. The data sampled at the respective pins may be spliced according to a predefined rule, for example, the data at the respective pins are spliced sequentially in order, or interleaved. The present invention saves the number of pins used to trigger haptic effects over conventional hardware pin-triggered modes, because the codes are used to indicate different haptic modes, whether the haptic trigger message is received on a single pin or multiple pins.
Fig. 6 shows a schematic diagram of receiving a haptic trigger message according to another embodiment of the present invention. In the embodiment of fig. 6, the sampling of the data receive PIN1 may also be controlled using the control PIN Ctrl. That is, only when the control pin Ctrl is activated, a single or a plurality of data receiving pins are sampled, which can avoid a large number of invalid samples and ensure validity of the sampled data. For example, as shown in fig. 6, the control pin Ctrl may be activated with a high level, sampling may be started at the rising edge of the second system clock signal after the rising edge signal on the pin Ctrl is detected, and sampling may be stopped when the level on the pin Ctrl changes to a low level. The activation duration of the control PIN Ctrl may be equal to or greater than the duration of a valid data transfer on the data PIN 1. At this time, the data from the most significant bit MSB to the least significant bit 1 in the sampled data may be regarded as valid data, and the remaining data may be discarded as invalid data. It should be understood that the control pin Ctrl may be activated in other ways, such as low level activation, pulse activation, etc.
Fig. 7 shows a schematic diagram of receiving a haptic trigger message according to another embodiment of the present invention. In the embodiment of fig. 7, the haptic trigger message may be received on an I2C (inter-integrated circuit) interface. The I2C interface is a conventional bi-directional interface and fig. 7 shows a timing diagram of signals with which haptic trigger messages are received. Referring to fig. 7, when the system clock signal SCL is at a high level, the level on the data pin SDA changes, for example, from a high level to a low level, and data transmission starts. The data pulse width on the data pin SDA should be larger than the pulse width of the system clock signal during data transmission, i.e. the level change on the data pin SDA only occurs during low levels of the system clock signal. As shown in fig. 7, the 8-bit data including the slave device address, i.e., the address of the haptic effect control apparatus 106 such as a driver chip, may be first transmitted on the data pin SDA, followed by a read/write flag, here a write flag represented as a low level, indicating that the data transmission is a write operation from a master device (master device) such as the processor 101 to a slave device such as the haptic effect control apparatus 106. In the next bit, the slave may assert an ACK signal to acknowledge correct receipt of the transmitted data, and then the master may continue to send the 8-bit register address and the slave asserts an ACK to acknowledge correct receipt of the register address. Following the transfer of the 8-bit data written to the register address, the slave device may also assert an ACK to indicate that the data was received correctly. Here, 8 bits of data may be sent multiple times, which will continue to be written to the next address of the previous register address. Finally, the level on the data pin SDA changes during the high level of the system clock signal, indicating the end of the data transmission. In the operation shown in fig. 7, the received haptic trigger message is stored in a designated register address.
In some embodiments, the I2C interface may be reused, in addition to receiving haptic trigger messages, to receive drive signal waveforms for driving a haptic effect output device, which will be described in detail later. In this way, the pin count of the haptic effect control device 106 may be further saved, facilitating packaging and installation thereof.
In some embodiments, the haptic trigger message may also be received on an I2S (inter-IC sound) interface, such an embodiment being illustrated in FIG. 8. The I2S interface is an existing interface that was originally used to transmit audio data. As shown in FIG. 8, the interface includes a channel control pin LRCK on which a channel clock signal may be received, and FIG. 8 shows a high level indicating the left channel and a low level indicating the right channel. Based on the channel control signal, data acquisition may be performed on the data pin SDA. For example, the left channel data, including data from the most significant bit MSB to the least significant bit 1, is collected starting at the second system clock signal rising edge after the channel control signal rising edge; and the left channel data, including data from the most significant bit MSB to the least significant bit 1, is collected starting at the second system clock signal rising edge after the channel control signal falling edge. It will be appreciated that the I2S interface may be extended to more channels, e.g., 4 channels, 8 channels, etc. In an embodiment of the present invention, depending on the length and transmission scheme of the haptic trigger message, it may be transmitted using only the left channel, only the right channel, both the left and right channels, or more channels.
In some embodiments, the I2S interface may be reused, in addition to receiving haptic trigger messages, to receive drive signal waveforms for driving a haptic effect output device, which will be described in detail later. In this way, the pin count of haptic effect control device 106 may be further saved, its compactness improved, and ease of packaging and installation.
Various embodiments of receiving haptic trigger messages are described above in connection with fig. 4-8. It can be understood that the invention can flexibly indicate various tactile modes by adopting tactile mode coding and utilizing a small number of pins, thereby expanding the flexibility of applying various tactile effects under the condition of basically not increasing the complexity of hardware design. For example, various different haptic patterns may be defined and applied for various events, thereby improving the user experience.
Referring back to fig. 2, in step S220, the received haptic trigger message may be decoded to determine the haptic mode indicated by the haptic mode code. For example, decoding may include extracting a predetermined location and number of bits in the haptic trigger message as the haptic pattern code. Further in step S230, a haptic effect corresponding to the haptic pattern may be determined. The haptic effect may be represented by a drive signal waveform, such as a triangular wave, a sawtooth wave, a sine wave, a square wave, an irregular wave, or a combination of arbitrary waveforms, for driving a haptic output device, such as a linear motor. With these waveforms, different haptic effects can be achieved with appropriate amplitude and duration. Several haptic patterns and corresponding haptic effects may be predefined and a mapping between the two established, which may be stored, for example, in a look-up table. For example, the drive signal waveforms may be stored in predetermined register addresses, and a mapping between the haptic pattern codes described above and their corresponding register addresses of the drive signal waveforms stored in the memory in the form of a look-up table is established. As another example, some haptic effects may correspond to a drive signal waveform received in real time from the outside world, at which point a mapping between the haptic pattern and an address of an interface, port, or first-in-first-out (FIFO) register that receives the real-time drive signal waveform may be established or predefined. Thus, when the haptic mode code is decoded in step S220, the haptic mode code can be used to search the lookup table to determine the register location of its corresponding driving signal waveform, thereby determining the haptic effect corresponding to the haptic mode.
Next in step S240, the haptic output device 107 may be driven to output the determined haptic effect. For example, for some haptic patterns, the drive signal waveforms thereof have been stored in one or more register locations, at which point in step S240 the drive signal data in these register locations may be used directly to drive the haptic output device 107 to output the desired haptic effect. For some modes, it may be desirable to generate haptic effects for external immediate input. For example, some video games, applications, or audiovisual works may include customized haptic effect data, which may be provided to haptic effect control 106 at this time, which haptic effect control 106 may use to drive haptic output device 107 to output a desired haptic effect instantaneously (real time). For example, the haptic effect data may be continuously written into a first-in-first-out (FIFO) register through the I2C interface, and a signal output from the FIFO register is used as a driving signal to drive the haptic output device 107, thereby achieving real-time output of the haptic effect. As another example, in some modes, such as when playing music, where it is desirable to generate a corresponding haptic effect, such as a vibration, with the melody and/or amplitude of the music, an audio signal may be provided to the haptic effect control device 106 through the I2S interface. The haptic effect control device 106 may drive the haptic output device 107 with the audio signal to generate a haptic effect corresponding to the audio, or alternatively, the haptic effect control device 106 may process the audio data with an algorithm to extract a specific audio component therein, such as a drum signal, according to frequency, amplitude, etc., and then drive the haptic output device 107 with the extracted signal to generate a haptic effect corresponding to the specific audio component, such as a drum. Here, the I2C interface and/or the I2S interface for receiving real-time haptic effect data may reuse the I2C interface and/or the I2S interface for receiving haptic trigger messages described with respect to fig. 7 and 8 without a separate interface, so that the haptic effect control apparatus 106 may be further saved in pin count, simplified in hardware structure, and convenient to package and install.
The above describes a process of triggering and outputting haptic effects using encoding. It can be understood that with the scheme of the present invention, a plurality of tactile modes and effects defined for a plurality of events can be realized with a small number of pins, and the user experience is improved. The present inventors have also recognized that as the number of haptic modes dramatically increases, overlaps and conflicts between the various modes may arise. For example, the electronic device 100 may trigger a plurality of haptic patterns at the same time, and therefore, how to correctly and orderly output haptic effects corresponding to the haptic patterns becomes a problem. To address this problem, an embodiment of the present invention further proposes a scheme, as shown in fig. 9, the haptic trigger message received in step S210 may include, in addition to the haptic pattern code, a priority code associated with the haptic pattern, which is shown as P-bit data in fig. 9, where P may be a positive integer greater than or equal to 1. The priority code may be located after its corresponding haptic mode code. The processor of the electronic device 100, upon detecting a predetermined event, may determine a corresponding haptic pattern and flexibly assign the pattern a corresponding priority, which may reflect the urgency and/or importance of the event. For example, for different virtual keys, they may correspond to the same haptic pattern and haptic effect, but may be assigned different priorities depending on the importance of the key. The transmission of the haptic trigger message including the haptic pattern coding and the priority coding may be as described above with reference to fig. 4 to 8, and a description thereof will not be repeated.
It will be appreciated that the priority may be decoded accordingly in step S220 shown in fig. 2. Further, before step S240, the method 200 may further include determining whether and how to output the haptic effect associated with the priority based on the priority. For example, when a haptic effect having a low priority temporally overlaps a haptic effect having a high priority, only the haptic effect having the high priority may be output ignoring the haptic effect having the low priority, or the haptic effects may be output in order of priority from high to low. Therefore, the present invention can more flexibly control the output of various haptic effects by assigning priorities to the respective haptic modes, avoiding their mutual collision and interference.
FIG. 10 shows a schematic block diagram of a haptic effect control apparatus 300 according to an embodiment of the present invention. It is to be appreciated that the haptic effect control apparatus 300 is usable as the haptic effect control apparatus 106 in the electronic device 100 described above, and the functions and operations thereof have been described in detail above with reference to fig. 1-9, and thus will be described only briefly below.
Referring to fig. 10, the haptic effect control apparatus 300 may include an input unit 301, a memory 302, a decoding unit 303, a haptic effect determination unit 304, and a driving unit 305.
The input unit 301 may comprise pins or interfaces for receiving haptic trigger messages, such as I2C and/or I2S interfaces. As previously described, the haptic trigger message it receives may include a haptic pattern code indicating one of a plurality of predetermined haptic patterns and optionally a priority code indicating the priority of the haptic pattern.
The memory 302 may be used to store haptic pattern codes and priority codes in received haptic trigger messages, and may also be used to store other data including, but not limited to, data being output relating to haptic effects to be output, such as haptic pattern codes, priority codes, drive signal data, and mapping relationships between haptic patterns and haptic effects. The memory 302 may also be used to store any other data related to haptic feedback.
The decoding unit 303 may decode the received haptic trigger message to determine the haptic pattern encoded therein and its corresponding priority.
The haptic effect determination unit 304 may determine a haptic effect corresponding to the haptic mode determined by the decoding. In some embodiments, when multiple haptic patterns overlap or conflict in time, the haptic effect determination unit 304 may also determine whether to output a haptic effect of the haptic pattern based on the priority of each haptic pattern. For example, the haptic effect determination unit 304 may determine to output a haptic pattern of high priority while ignoring a haptic pattern of low priority.
The driving unit 305 may drive the haptic output device according to the determined haptic effect. The haptic effect is represented by a corresponding driving signal waveform, which may be a driving signal waveform pre-stored in a memory or a driving signal waveform received in real time from the outside. The drive signal waveform is used to drive one or more haptic output devices to achieve a desired haptic effect. In some embodiments, a pin or interface of the receiving unit 301 for receiving the haptic trigger message, for example, an I2C and/or an I2S interface, may be reused to receive the driving signal waveform representing the haptic effect.
The foregoing describes the general principles of the present application in conjunction with specific embodiments, however, it is noted that the advantages, effects, etc. mentioned in the present application are merely examples and are not limiting, and they should not be considered essential to the various embodiments of the present application. Furthermore, the foregoing disclosure of specific details is for the purpose of illustration and description and is not intended to be limiting, since the foregoing disclosure is not intended to be exhaustive or to limit the disclosure to the precise details disclosed.
The block diagrams of devices, apparatuses, systems referred to in this application are only given as illustrative examples and are not intended to require or imply that the connections, arrangements, configurations, etc. must be made in the manner shown in the block diagrams. These devices, apparatuses, devices, systems may be connected, arranged, configured in any manner, as will be appreciated by those skilled in the art. Words such as "including," "comprising," "having," and the like are open-ended words that mean "including, but not limited to," and are used interchangeably therewith. The words "or" and "as used herein mean, and are used interchangeably with, the word" and/or, "unless the context clearly dictates otherwise. The word "such as" is used herein to mean, and is used interchangeably with, the phrase "such as but not limited to".
It should also be noted that in the devices, apparatuses, and methods of the present application, the components or steps may be decomposed and/or recombined. These decompositions and/or recombinations are to be considered as equivalents of the present application.
The previous description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present application. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects without departing from the scope of the application. Thus, the present application is not intended to be limited to the aspects shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
The foregoing description has been presented for purposes of illustration and description. Furthermore, the description is not intended to limit embodiments of the application to the form disclosed herein. While a number of example aspects and embodiments have been discussed above, those of skill in the art will recognize certain variations, modifications, alterations, additions and sub-combinations thereof.

Claims (9)

1. A haptic effect control method performed in a haptic effect control chip, comprising:
receiving a haptic trigger message, the haptic trigger message including at least a header identifying the haptic trigger message and a haptic pattern code indicating one of a plurality of predetermined haptic patterns, wherein the plurality of predetermined haptic patterns correspond to a plurality of haptic effects, the haptic effects being represented by a drive signal waveform for driving a haptic output device;
decoding the haptic trigger message to determine a haptic mode indicated by the haptic mode encoding;
determining a register address of a driving signal waveform corresponding to a haptic mode code according to a mapping relation between the haptic mode code and the register address of the corresponding driving signal waveform, thereby determining a haptic effect corresponding to the haptic mode; and
driving the haptic output device using the driving signal waveform stored in the register address to output the haptic effect,
wherein the haptic trigger message is received on an I2C or I2S interface, the drive signal waveforms including a real-time drive signal waveform received on the I2C or I2S interface, the real-time drive signal waveform received through the I2C or I2S interface being written to a first-in-first-out register, whereby when a haptic mode code obtained by decoding the haptic trigger message is mapped to a register address of the real-time drive signal waveform in the first-in-first-out register, the real-time drive signal waveform in the register address of the first-in-first-out register is used to drive the haptic output device to achieve real-time output of the haptic effect.
2. The method of claim 1, wherein the haptic trigger message further comprises a priority encoding associated with the haptic mode encoding, the priority encoding indicating a priority of the haptic mode indicated by the haptic mode encoding.
3. The method of claim 2, wherein decoding the haptic trigger message further comprises determining a priority of the priority encoding indication, and the method further comprises determining whether to output the haptic effect based on the priority.
4. The method of claim 1, wherein the haptic trigger message is received on a plurality of pins, the plurality of pins including a control pin and one or more data pins, the haptic trigger message being received on the one or more data pins when the control pin is activated.
5. A haptic effect control chip comprising:
an input unit configured to receive a haptic trigger message including at least a header for identifying the haptic trigger message and a haptic pattern code indicating one of a plurality of predetermined haptic patterns corresponding to a plurality of haptic effects represented by a driving signal waveform for driving a haptic output device;
a decoding unit configured to decode the haptic trigger message to determine a haptic mode indicated by the haptic mode encoding;
a haptic effect determination unit configured to determine a register address of a driving signal waveform corresponding to a haptic mode code according to a mapping relationship between the haptic mode code and the register address of the corresponding driving signal waveform, thereby determining a haptic effect corresponding to the haptic mode; and
a driving unit configured to drive the haptic output device using the driving signal waveform stored in the register address to output the haptic effect,
wherein the haptic trigger message is received on an I2C or I2S interface, the driving signal waveform includes a real-time driving signal waveform received on the I2C or I2S interface, the real-time driving signal waveform received through the I2C or I2S interface is written to a first-in-first-out register, so that when a haptic mode code obtained by decoding the haptic trigger message is mapped to a register address of the real-time driving signal waveform in the first-in-first-out register, the real-time driving signal waveform in the register address of the first-in-first-out register is used to drive the haptic output device to achieve real-time output of the haptic effect.
6. The chip of claim 5, wherein the haptic trigger message further comprises a priority encoding associated with the haptic mode encoding, the priority encoding indicating a priority of a haptic mode indicated by the haptic mode encoding.
7. The chip of claim 6, wherein the decoding unit further determines a priority of the priority encoding indication when decoding the haptic trigger message, and the haptic effect determination unit is further configured to determine whether to output the haptic effect based on the priority.
8. The chip of claim 5, wherein the input unit receives the haptic trigger message from a plurality of pins, the plurality of pins including a control pin and one or more data pins, the haptic trigger message received on the one or more data pins when the control pin is activated.
9. A mobile electronic device, comprising:
at least one haptic output device; and
the haptic effect control chip of any one of claims 5-8, configured to control the at least one haptic output device to output a corresponding haptic effect in response to a received haptic trigger message.
CN202110647057.0A 2021-06-10 2021-06-10 Haptic effect control method and device and electronic equipment Active CN113110748B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110647057.0A CN113110748B (en) 2021-06-10 2021-06-10 Haptic effect control method and device and electronic equipment
PCT/CN2022/094245 WO2022257737A1 (en) 2021-06-10 2022-05-20 Haptic effect control method and apparatus, and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110647057.0A CN113110748B (en) 2021-06-10 2021-06-10 Haptic effect control method and device and electronic equipment

Publications (2)

Publication Number Publication Date
CN113110748A CN113110748A (en) 2021-07-13
CN113110748B true CN113110748B (en) 2022-06-07

Family

ID=76723491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110647057.0A Active CN113110748B (en) 2021-06-10 2021-06-10 Haptic effect control method and device and electronic equipment

Country Status (1)

Country Link
CN (1) CN113110748B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022257737A1 (en) * 2021-06-10 2022-12-15 武汉市聚芯微电子有限责任公司 Haptic effect control method and apparatus, and electronic device
CN115047971B (en) * 2022-06-16 2023-02-14 腾讯科技(深圳)有限公司 Vibration encoding processing method, device, computer equipment and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8098234B2 (en) * 2007-02-20 2012-01-17 Immersion Corporation Haptic feedback system with stored effects
US8570296B2 (en) * 2012-05-16 2013-10-29 Immersion Corporation System and method for display of multiple data channels on a single haptic display
JP6093659B2 (en) * 2013-06-24 2017-03-08 シャープ株式会社 Information processing apparatus and information processing program
JP6445921B2 (en) * 2015-04-21 2018-12-26 任天堂株式会社 Vibration signal generation program, vibration signal generation system, vibration signal generation device, vibration signal generation method, and data output program
CN210583606U (en) * 2019-05-14 2020-05-22 广州小鸡快跑网络科技有限公司 Game controller based on linear motor

Also Published As

Publication number Publication date
CN113110748A (en) 2021-07-13

Similar Documents

Publication Publication Date Title
CN113110748B (en) Haptic effect control method and device and electronic equipment
US8619051B2 (en) Haptic feedback system with stored effects
US20150102918A1 (en) Encoding dynamic haptic effects
US20070079015A1 (en) Methods and arrangements to interface a data storage device
CN112765082B (en) Multi-host arbitration method, device and readable storage medium
CN103885594A (en) Method and device for operating mobile terminal by detecting vibration and vibration detection equipment
US20100153622A1 (en) Data Access Controller and Data Accessing Method
CN113253848A (en) Method and device for controlling tactile feedback and electronic equipment comprising device
US20050080950A1 (en) Method and device for handling SMBus messages
WO2023103913A1 (en) Function implementation method and apparatus for electronic device, and electronic device
WO2022257737A1 (en) Haptic effect control method and apparatus, and electronic device
CN108181988B (en) Control method and device for LRA motor driving chip
CN113296638A (en) Method and device for controlling tactile feedback and electronic equipment comprising device
CN113973226B (en) Screen recording method, device, equipment and storage medium
CN112083827A (en) Touch control assembly control method and device, touch control assembly and terminal
JP2004302563A (en) Image data reduction device, microcomputer and electronic device
US20160054801A1 (en) Portable electronic device and message processing method therefor
CN109992051B (en) Information processing method and electronic equipment
KR100809965B1 (en) Apparatus for remote resource access and remote interface
CN110750471A (en) Method and terminal for realizing I2S slave computer function based on GPIO
CN107066116B (en) Character string generation method, character analysis method and device
JPH11237837A (en) Storage device provided with generating function for genus of random number
KR20230111090A (en) User terminal and control method thereof
CN114967989A (en) Touch feedback method and device and electronic equipment
CN116013052A (en) Electronic device, control method thereof, and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant