CN117707341A - 触觉反馈方法、装置、芯片和电子设备 - Google Patents
触觉反馈方法、装置、芯片和电子设备 Download PDFInfo
- Publication number
- CN117707341A CN117707341A CN202311792300.3A CN202311792300A CN117707341A CN 117707341 A CN117707341 A CN 117707341A CN 202311792300 A CN202311792300 A CN 202311792300A CN 117707341 A CN117707341 A CN 117707341A
- Authority
- CN
- China
- Prior art keywords
- vibration
- instruction
- time period
- motor
- audio data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000000694 effects Effects 0.000 claims description 162
- 230000015654 memory Effects 0.000 claims description 21
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 20
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 101100129500 Caenorhabditis elegans max-2 gene Proteins 0.000 description 2
- 101100083446 Danio rerio plekhh1 gene Proteins 0.000 description 2
- 230000035807 sensation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/16—Sound input; Sound output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请涉及电通信技术领域,特别涉及一种触觉反馈方法、装置、芯片和电子设备。方法包括,获取音频数据对应的第一时间段的第一振动指令;基于第一振动指令控制马达在第一时间段产生第一形式的振动;在第一时间段的结束时刻,获取音频数据对应的第二时间段的第二振动指令;基于第二振动指令控制马达在第二时间段产生第二形式的振动。基于此,使得电子设备能够在满足振感的丰富度的同时又减少I2C资源的占用。
Description
技术领域
本申请涉及电通信技术领域,特别涉及一种触觉反馈方法、装置、芯片和电子设备。
背景技术
触觉反馈技术是一种通过硬件与软件结合、辅以作用力或振动等动作的触觉反馈机制,能通过作用力、振动等一系列动作为使用者再现触感。
目前,越来越多的手机、手柄、平板电脑、智能手表等电子设备都支持更加丰富的振动,以实现更沉浸的效果,比如说电子设备在运行游戏时提供的开枪以及开车振感,在播放铃声、音乐时的提供的随铃振感等。
目前的振动方式一般为各电子设备中的主控芯片(Integrated Circuit,IC)通过集成电路总线(Inter-Integrated Circuit,IIC/I2C)向马达驱动芯片传输数据,以控制马达驱动芯片来驱动马达振动。如何实现驱动时能够在满足振感的丰富度的同时又减少I2C资源的占用为业界需要研究的方向。
发明内容
为解决上述问题,本申请提供一种触觉反馈方法、装置、芯片和电子设备,使得电子设备能够在满足振感的丰富度的同时又减少I2C资源的占用。
第一方面,本申请提供一种触觉反馈方法,应用电子设备,包括,
获取音频数据对应的第一时间段的第一振动指令;
基于第一振动指令控制马达在第一时间段产生第一形式的振动;
在第一时间段的结束时刻,获取音频数据对应的第二时间段的第二振动指令;
基于第二振动指令控制所述马达在第二时间段产生第二形式的振动。
可以理解的,电子设备只需通过描述各时间段(即预设间隔时间)的振动效果指令即可控制马达在各时间段产生不同的振动效果,以使用较少的传输资源达到更丰富的振感。
可以理解的,第一时间段的结束时刻即为第二时间段的开始时刻。
在上述第一方面的一种可能实现中,获取音频数据对应的第一时间段的第一振动指令,包括,
从预置的与音频数据所对应的振动效果文件中读取第一时间段的第一振动指令,振动效果文件包括各时间段对应的振动指令;
获取音频数据对应的第二时间段的第二振动指令,包括,
从预置的与音频数据所对应的振动效果文件中读取第二时间段的第二振动指令。
在上述第一方面的一种可能实现中,获取音频数据对应的第一时间段的第一振动指令,包括,
获取第一时间段的前一时间段的音频数据,解析前一时间段的音频数据得到第一时间段的第一振动指令;
获取音频数据对应的第二时间段的第二振动指令,包括,
获取第一时间段的音频数据,解析第一时间段的音频数据得到第二时间段的第二振动指令。
在上述第一方面的一种可能实现中,第一振动指令,包括,
振动频率指令、振动强度指令以及振动循环次数指令,并且振动循环次数指令对应为无限循环次数。
在上述第一方面的一种可能实现中,第二振动指令,包括,振动频率指令、振动强度指令。
在上述第一方面的一种可能实现中,基于第一振动指令控制马达在第一时间段产生第一形式的振动包括,
根据第一振动指令确定出所对应的第一振动效果波形数据,控制马达在第一时间段产生与第一振动效果波形数据所对应的第一形式的振动。
在上述第一方面的一种可能实现中,基于第二振动指令控制马达在第二时间段产生第二形式的振动包括,
根据第二振动指令确定出所对应的第二振动效果波形数据,控制马达在第二时间段产生与第二振动效果波形数据所对应的第二形式的振动。
第二方面,本申请提供一种触觉反馈装置,包括主控芯片、马达驱动芯片和马达,包括,
主控芯片,用于获取音频数据对应的第一时间段的第一振动指令,并且将第一振动指令发送给马达驱动芯片;
马达驱动芯片,用于接收主控芯片发送的第一振动指令,并且基于第一振动指令控制所述马达在第一时间段产生第一形式的振动;
主控芯片,用于在第一时间段的结束时刻,获取音频数据对应的第二时间段的第二振动指令,并且将第二振动指令发送给马达驱动芯片;
马达驱动芯片,用于接收主控芯片发送的第二振动指令,并且基于第二振动指令控制马达在第二时间段产生第二形式的振动。
可以理解的,主控芯片只将用于描述各时间段(即预设间隔时间)的振动效果指令(例如描述每20ms的不同振动效果的振动效果指令)通过I2C发送给马达驱动芯片,占用传输资源少,并且由于每个时间段对应的振动效果不同,使得马达每个时间段产生不同的振动效果,以使用较少的传输资源达到更丰富的振感。
第三方面,本申请提供一种电子设备,包括,
一个或多个主控芯片;
一个或多个存储器;一个或多个存储器存储有一个或多个程序,当一个或者多个程序被一个或多个主控芯片执行时,使得电子设备执行上述第一方面以及第一方面的各种可能实现方式中任一项的触觉反馈方法。
第四方面,本申请提供一种计算机存储介质,存储介质上存储有指令,指令在计算机上执行时使计算机执行上述第一方面以及第一方面的各种可能实现方式中任一项的触觉反馈方法。
第五方面,本申请提供一种芯片,包括控制电路,以执行上述第一方面以及第一方面的各种可能实现方式中任一项的触觉反馈方法。
附图说明
图1根据本申请的一些实施例,示出了一种平板100随铃振动的场景;
图2根据本申请的一些实施例,示出了一种主控芯片与马达驱动芯片连接示意图;
图3A根据本申请的一些实施例,示出了一种波形id与不同频率的初始波形数据的映射关系示意图;
图3B根据本申请的一些实施例,示出了一种在RTP模式下,对应于FIFO存储区中的波形数据输入与输出的过程示意图;
图4根据本申请的一些实施例,示出了一种触觉反馈方法的过程示意图;
图5根据本申请的一些实施例,示出了一种主控模块与马达驱动模块的连接示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或端没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或端固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请的说明性实施例包括但不限于一种触觉反馈方法、装置、芯片和电子设备。
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
图1根据本申请的一些实施例,示出了平板100随铃振动的场景示意图。如图所示,平板100在播放铃音,并且随音乐振动,比如说,音乐比较高昂、欢快,则振动强度较大、频率较高,音乐比较平缓、低沉,则振动强度较小、频率较低。
图2根据本申请的一些实施例,示出了一种平板100中所包括的芯片组,该芯片组包括主控芯片、以及马达驱动芯片。其中,主控芯片与马达驱动芯片通过I2C总线(图中数据信号线SDA(Serial Data)和I2C总线的时钟线SCL(Serial Clock))传输数据。
在一些实施例中,通过RAM(Random Access Memory,随机存储器)模式实现振动。平板100中的主控芯片可通过I2C向马达驱动芯片传输振动指令,控制马达驱动芯片驱动马达振动,进而使得用户体验单个短振或同一效果长振的触觉反馈效果。
可以理解的,马达驱动芯片的RAM中会预先存储有多个频率不同的初始波形数据(即存在初始波形数据库),如图3A中所示的波形id与初始波形数据所对应的波形频率映射表,N个频率不同的初始波形数据会被预先存储在马达驱动芯片中,每个初始波形数据对应有一个波形id以便于使用。当平板100中主控芯片在操作系统的控制下接收指示振动的消息时,主控芯片获取到用于指示产生所需振动效果的振动效果指令后,通过I2C将振动效果指令传输给马达驱动芯片。马达驱动芯片接收振动效果指令,然后根据振动频率指令从RAM存储的不同频率的初始波形数据库中匹配,得到振动频率指令所对应的初始波形数据,然后该频率的初始波形数据与其他效果指令(例如振动强度指令)结合得到所需的振动效果波形数据,再输出得到的振动效果波形数据驱动马达振动。例如,图3A中①②波形数据为单个短振效果所对应的振动效果波形数据,③波形数据为同一效果长振(一直持续不间断振动、初始波形数据循环无限次)所对应的振动效果波形数据。
但是,由于马达驱动芯片存储空间有限,预置的不同频率的初始波形数据有限,使得在长振情况下,用户体验的振感丰富度不够,所以RAM模式一般用于简单提示功能,如触摸提示、按键提示等。
在另一些实施例中,通过RTP模式实现振动。可以理解的,平板100中的主控芯片在操作系统的控制下可以实时根据铃声内容制作振动效果波形数据,控制I2C实时将与铃声相符合的振动效果波形数据写入马达驱动芯片的存储区,例如先入先出(First InputFirst Output,FIFO)存储区,马达驱动芯片再根据对应的振动效果波形数据驱动马达。例如,图3B示出了平板100中的马达驱动芯片接收I2C实时传输的振动效果波形数据,以及输出驱动马达的振动效果波形数据的控制逻辑。但是,在RTP模式下,需要根据FIFO存储区的状态,实时控制I2C写入大量波形数据的速度,控制较为复杂。如图3B所示,在铃声播放的过程中,需要保证驱动芯片中的FIFO存储区中一直有数据,否则会停止播放,并且FIFO存储区里的数据不能超过全满(Full),否则会丢失数据。所以,为了保证FIFO存储区中一直有数据,平板100中的主控芯片在检测到数据快空(Almost empty)时,控制马达驱动芯片立即写入数据;并且为了防止FIFO存储区里的数据丢失,当检测到驱动芯片写入的数据超过快满(Almost full)时,控制马达驱动芯片停止写入数据。
可以理解的,虽然RTP模式可以传输较为丰富的波形数据,使得振感与铃声内容相契合,效果较好;但是,控制较为复杂,并且占用大量的I2C资源。
为了解决使用RAM模式时振感不丰富或者使用RTP模式占用I2C资源且控制复杂的问题,本申请提出了一种触觉反馈方法,该方法包括:电子设备在持续播放音频数据的过程中,并且电子设备需要长时间振动,例如超过设定时间阈值的情况下,主控芯片根据播放的铃声按照预设间隔时间配置不同的振动效果指令,并且在每隔预设间隔时间将所对应的振动效果指令下发给马达驱动芯片,马达驱动芯片根据每隔预设间隔时间接收到的振动效果指令控制马达在不同的时间段产生不同的振动效果,从而使得电子设备在持续播放音频的过程中,产生丰富的振感,以提升用户体验。例如,在电子设备需要一直持续振动的情况下,预设间隔时间为20ms,主控芯片根则可以为播放铃声配置每20ms对应不同振动效果的振动效果指令,例如,在0-20ms马达产生第一种振动,在第20ms时,主控芯片获得描述20-40ms振动的振动效果指令,将其发送给马达驱动芯片,使得马达驱动芯片输出20-40ms的振动效果波形数据,继而控制马达在20-40ms产生区别于0-20ms不同的振动,从而在长振的情况下达到丰富的振动效果,提升用户体验。
可以理解的,主控芯片只将用于描述各与间隔时间时长相等时间段的的振动效果指令(例如描述每20ms的不同振动效果的振动效果指令)通过I2C发送给马达驱动芯片,占用传输资源少,并且由于每个时间段对应的振动效果不同,使得马达每个与间隔时间时长相等时间段产生不同的振动效果,以使用较少的传输资源达到更丰富的振感。
可以理解的,对于上述方案中,电子设备需要预先存储所需的不同频率的初始波形数据,比如,将所需数量的不同频率的初始波形数据预先存储在马达驱动芯片的RAM存储空间中。由于RAM存储空间限制,可根据马达频宽,以固定步进值设计不同频率的初始波形数据。例如,对于50-500Hz马达,以5Hz为步进,预置91个初始波形,以12K采样率计算,大约只需要6k左右的RAM空间。可以理解的,步进值越小,所能实现的振感调节就越细腻。例如,对于图3A所示的波形id与初始波形数据的映射关系示意图,如果N为91,则1-91号所对应的初始波形数据,即代表50-500Hz的波形数据。
可以理解的,对于上述方案中,在播放音频数据的过程中,主控芯片需要配置与所播的音频数据相符的各时间所对应的振动效果指令。
在一些实施例中,主控芯片可以通过音频转振动算法的方式实时解析与预设间隔时间时长相等时间段的音频数据得到对应于各时间段的振动效果指令。具体的,在播放音频数据的同时,获取播放的音频数据,通过音频转振动算法实时解析声音特征(频率、幅值等),生成振动效果指令,例如,振动效果指令包括振动频率指令、振动强度指令。例如,预设间隔时间为20ms,主控芯片获取到当前播放的20ms音频数据,然后将播放的20ms音频数据转化为描述20ms振动效果的振动效果指令,以用于控制马达在下一个20ms音频数据播放时振动,例如,主控芯片获取播放的0-20ms的音频数据,并且转化为描述20ms振动效果的振动效果指令,将该20ms振动效果指令用于控制马达在20-40ms的振动,即在第20ms时,将其发送给马达驱动芯片,使得马达驱动芯片输出20-40ms的振动效果波形数据,虽然振动效果指令会与音频数据产生一个20ms的延时,由于预设间隔时间20ms较短,用户是无法感知的。
在另一些实施例中,主控芯片可以通过读取提前预置的振动效果文件中的与预设间隔时间时长相等时间段的音频数据所对应的振动效果指令。具体的,提前预置与各振动场景所对应的振动效果文件。其中,各振动效果文件包括对应于各时间段振动效果的振动效果指令。例如,振动效果指令包括振动频率指令、振动强度指令等。当某个振动场景发生时,主控芯片可以从与发生的场景所对应的振动效果文件中按照间隔时间读取对应于各时间段的振动效果指令。
例如,预设间隔时间为20ms,与发生的场景所对应的振动效果文件中存有对应1000帧音频数据的振动效果指令,主控芯片每20ms读取一帧音频数据所对应的振动效果指令,每次振动效果指令共描述20ms的振动效果。
可以理解的,当主控芯片将获取到各间隔时间所对应的振动效果指令发送给马达驱动芯片,使得马达驱动芯片根据接收的振动效果指令得到所对应的振动效果波形数据,从而控制马达在对应间隔时间内产生对应的振动效果。
可以理解的,当间隔时间设置的越小,则振动效果更加丰富。例如,间隔时间设置为10ms比间隔时间20ms所产生的振动效果更加丰富。
可以理解的,涉及本申请的触觉反馈方案的电子设备不仅包括上述平板100,还可以包括头戴耳机、真正无线立体声(True Wireless Stereo,TWS)耳机、智能手环、智能眼镜、智能运动手表等可穿戴设备,以及适用于智能手机、平板电脑、笔记本电脑或者台式电脑等终端设备,只要能够通过马达实现触觉反馈功能的电子设备都在本申请的保护范围内。
可以理解的,本申请所对应的场景不限于上述图1所示的随铃振动,还包括打枪、爆炸等游戏场景,使用乐器类应用程序,物体碰撞、尖叫声或发动机轰鸣声等沉浸式体验场景等等。
图4根据本申请的一些实施例,示出了一种触觉反馈方法过程示意图。在电子设备需要长时间振动的情况下,主控芯片按照各间隔时间获取对应于各时间段的振动指令,马达驱动芯片根据对应于各时间段的振动指令驱动马达振动,从而实现触觉反馈。具体过程如下:
S401,在时间段t1的开始时刻,主控芯片获取到初始振动效果指令,以及振动开始指令,其中,初始振动效果指令用于指示时间段t1的音频数据所对应的振动效果。
可以理解的,为了使得电子设备产生丰富的振感,在音频数据长时间播放的过程中,需要长时间的产生振动,所以可以间隔时间配置各时间段的振动效果指令。不同的振动效果指令对应不同的振动效果波形数据,即马达产生不同的振感。
在一些实施例中,以间隔时间为20ms为例,即每个时间段的时长为20ms,当电子设备检测到播放的音频数据后,在时间段t1的开始时刻,主控芯片获取配置好的初始振动效果指令,以及振动开始指令,其中,初始振动效果指令用于指示时间段t1的音频数据所对应的振动效果。
在一些实施例中,可以通过上述音频转振动算法配置所需的振动效果指令。由于电子设备需要获取播放的音频数据,所以主控芯片会获取时间段t0播放的音频数据,再将时间段t0的音频数据转化为对应于时间段t1的振动效果指令,虽然振动效果指令会与音频数据产生一个预设间隔时间的延时,由于预设间隔时间较短,用户是无法感知的。
在另一些实施例中,预先设置好与各场景对应的振动效果文件。从预设的当前场景所对应的振动效果文件中获取时间段t1的音频数据所对应的振动效果指令。由于振动效果文件是预先根据设置好的,所以只需从振动效果文件中按照顺序读取时间段t1所对应的振动效果指令即可。
可以理解的,由于在音频数据开始播放时,马达还没有开始振动,此时需要配置振动开始指令,从而才能使得马达开始振动。
可以理解的,其中,初始振动效果指令包括振动频率指令、振动强度指令以及振动循环次数指令。其中振动频率指令用于指示某个频率的初始波形数据,例如为对应于图3A中的某个频率的初始波形数据的波形id,振动强度指令对应于调整某个频率的初始波形数据的幅值,振动循环次数指令为初始波形循环的次数,循环无限次为长振或者循环较少次数为短振。
例如,初始振动效果指令中振动频率指令为波形id=19、振动强度指令为gain=10以及振动循环次数指令为loop=15(长振)。
又例如,初始振动效果指令中振动频率指令为波形id=19、振动强度指令为gain=10以及振动循环次数指令为loop=0(短振,并且振动循环一次)。
S402,主控芯片发送初始振动效果指令以及振动开始指令给马达驱动芯片。
在一些实施例中,主控芯片将初始振动效果指令以及振动开始指令通过I2C发送给马达驱动芯片。
S403,马达驱动芯片接收初始振动效果指令以及振动开始指令,根据初始振动效果指令得到时间段t1的音频数据所对应的振动效果波形数据,驱动马达在时间段t1按照振动效果波形数据振动。
例如,从波形频率映射表中根据波形id得到初始波形数据,通过振动强度指令调整初始波形数据,确定振动效果波形数据的幅值,振动循环次数指令可以确定出初始波形数据的循环次数,从而得到时间段t1的音频数据所对应的振动效果波形数据,驱动马达在时间段t1按照振动效果波形数据振动。
可以理解的,如果振动循环次数指令所对应的循环次数是无限的,则表明马达需要持续振动很久,则需要丰富的振动效果,进入S404。可以理解的,如果振动循环次数指令所对应的循环次数是较少次数(即短振)的,则表明马达很快振动就结束了,不会继续振动。
S404,在时间段t2的开始时刻,主控芯片判断是否获取到振动停止指令。如果没有获取到振动停止指令,进入S405,否则,进入S408。
可以理解的,主控芯片开始计算时间,在时间段t1的结束时刻,即下一时间段的开始时刻,如果在初始振动效果指令中的振动循环次数指令对应短振的情况下,此时就不会获得在获取到振动指令了,该流程就结束了。
可以理解的,在初始振动效果指令中的振动循环次数指令对应长振的情况下,即马达如果没有收到振动停止指令,则会一直持续振动。所以主控芯片开始计算时间,在时间段t1的结束时刻,即时间段t2的开始时刻,如果获取到振动指令后,需要判断获取到的振动指令是否是振动停止指令,如果获取到振动停止指令,则表明希望控制马达停止振动,进入S408;如果没有获取到振动停止指令,则表明获取到的振动指令是更新的振动效果指令,希望控制马达产生丰富的振感,进入S405。
例如,主控芯片开始计算时间,在当前时间段t1结束,时间段t2的开始时刻,获取到指令,并且判断该指令不是振动停止指令,进入S405。
又例如,主控芯片开始计算时间,在当前时间段t1结束,时间段t2的开始时刻,获取到指令,并且判断该指令是振动停止指令,进入S408。
S405,主控芯片获取到更新的振动效果指令,更新的振动效果指令用于指示时间段t2的音频数据所对应的振动效果。
可以理解的,由于振动模式为长振,为了丰富振动效果,使得马达在每个与间隔时间时长相等时间段都产生不同的振动,需要更新每个时间段的振动效果指令,从而使得马达驱动芯片在接收不同的振动效果指令后,得到不同效果的振动效果波形数据,使得马达根据输出的振动效果波形数据振动,进而使得用户体验不同的振感。
在一些实施例中,获取到配置的时间段t2的音频数据所对应的振动效果指令。具体的,获取到的时间段t2(下一间隔时间)的音频数据所对应的振动效果指令,可以通过如上述S401中所阐述的音频转振动算法配置得到的,或者从当前场景所对应的振动效果文件中读取到的,从而得到更新的振动效果指令。
可以理解的,由于此时仅仅是在循环次数为无限循环次数的情况下(即长振),所以更新的振动效果指令包括振动频率指令、振动强度指令。
S406,主控芯片将更新的振动效果指令发送给马达驱动芯片。
在一些实施例中,主控芯片通过I2C将更新的振动效果指令发送给马达驱动芯片,使得马达驱动芯片根据接收到的振动指令控制马达在产生不一样的振动。
例如,主控芯片通过I2C将对应于时间段t2的振动效果指令发送给马达驱动芯片。
可以理解的,主控芯片此时将时间段t2时马达振动所需的振动效果指令发送给马达驱动芯片后,在时间段t3需要继续更新振动效果指令,例如,获取时间段t3的振动效果指令,所以需要重新进入S404,持续上述更新振动效果指令步骤。
S407,马达驱动芯片接收更新的振动效果指令,并且根据更新的振动效果指令得到所对应的振动效果波形数据,驱动马达按照所对应的振动效果波形数据振动。
例如,马达驱动芯片接收更新的振动效果指令为对应于时间段t2的振动效果指令,从而驱动马达振动按照所对应的振动效果波形数据在时间段t2产生所对应的振感。
S408,主控芯片获取到振动停止指令,将振动停止指令发送给马达驱动芯片。
在一些实施例中,主控芯片通过I2C发送振动停止指令发送给马达驱动芯片。
例如,主控芯片通过I2C发送振动停止指令发送给马达驱动芯片。
S409马达驱动芯片接收振动停止指令,控制马达结束振动。
在一些实施例中,马达驱动芯片接收振动停止指令,控制马达停止振动。
可以理解的,上述S401至S409的执行顺序只是一种示例,在另一些实施例中,也可以采用其他执行顺序,还可以拆分或合并部分步骤,在此不做限定。
可以理解,该过程以上述提及的RAM模式为基础,具有I2C传输的数据少、马达驱动芯片响应快的特点、控制较为简单的特点,另外结合RTP模式实时传输的特点,使得主控芯片在固定的间隔时间通过I2C向马达驱动芯片传输对应于不同振动效果的振动效果指令,以占用较少的I2C资源,达到振感丰富的效果。
图5根据本申请的一些实施例,示出了一种主控模块501,马达驱动模块502的连接关系图。
其中,主控模块501用于按照间隔时间获取各时间段所对应的配置的振动效果指令或者振动触控指令(振动开始指令或者振动停止指令),并且在各间隔时间将获取的振动效果指令或振动触控指令发送给马达驱动模块502。
马达驱动模块502用于接收主控模块501发送的振动效果指令或者振动触控指令,驱动马达在与间隔时间时长相等的时间段产生对应于振动效果指令的振动。
主控模块501包括音频转振动子模块501a、振动效果文件子模块501b。马达驱动模块502包括波形存储子模块502a、增益子模块502b、循环振动子模块502c。
具体的,音频转振动子模块501a用于实时解析声音特征(频率、幅值等),生成振动效果指令,例如,振动效果指令包括振动频率指令、振动强度指令以及振动循环次数指令。
振动效果文件子模块501b用于存储各场景所对应的振动效果文件,并且在音频播放时根据间隔时间提供各时间段的音频数据所对应的振动效果指令。
波形存储子模块502a用于存储各种频率的初始波形数据,使得根据接收到的振动频率指令可以确定出对应频率的初始波形数据。可以理解的,在将初始波形数据事先存储到马达驱动芯片时设置的幅值可以是任意的。例如,可以将初始波形数据的幅值设置为最大幅值。
增益子模块502b用于根据接收的振动强度指令调整对应各初始波形数据的幅值,得到输出的波形数据的幅值。可以理解的,由于初始波形数据的幅值在存储进马达驱动芯片时已经被预先确定了,此时可以通过振动强度指令所对应的增益来调整初始波形数据的幅值,得到幅值变化后的波形数据。
例如,下述公式一示出了根据得到的振动强度指令所对应的增益gain来调节初始波形数据的幅值,得到幅值变化后的波形数据,即输出的波形数据的幅值,并且在马达驱动芯片的供电电压下,得到输出的波形数据的幅值所对应的电压。
Vout=(mod/max1)(gain/max2)*Vbat(公式一)
其中,max1为在设置马达驱动芯片的初始波形数据的幅值时所能设置的最大幅值,mod为当前马达驱动芯片内的初始波形数据所被设置的幅值;gain是振动强度指令所对应的增益,max2是gain所对应范围的最大值,Vbat是指马达驱动芯片的供电电压,Vout则为输出的波形数据的幅值所对应的电压。
由于,公式一中的mod预先确定,此时根据振动强度指令所对应的增益gain就可以得到输出的波形数据的幅值所对应的电压。例如,在将初始波形数据的幅值设置为最大幅值时,即mod已确定为max1,当获得振动强度指令所对应的增益gain后,就可以确定出输出的波形数据的幅值所对应的电压。
循环振动子模块502c用于根据接收的振动循环次数指令确定出对应频率的初始波形数据的循环次数。
本申请提供一种芯片,包括控制电路,以执行上述提及的触觉反馈方法。
本申请提供一种电子设备,包括:一个或多个主控芯片;一个或多个存储器;一个或多个存储器存储有一个或多个程序,当一个或者多个程序被一个或多个主控芯片执行时,使得电子设备执行上述提及的触觉反馈方法。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (11)
1.一种触觉反馈方法,应用电子设备,其特征在于,包括,
获取音频数据对应的第一时间段的第一振动指令;
基于所述第一振动指令控制马达在所述第一时间段产生第一形式的振动;
在所述第一时间段的结束时刻,获取所述音频数据对应的第二时间段的第二振动指令;
基于所述第二振动指令控制所述马达在所述第二时间段产生第二形式的振动。
2.根据权利要求1所述的方法,其特征在于,所述获取音频数据对应的第一时间段的第一振动指令,包括,
从预置的与所述音频数据所对应的振动效果文件中读取所述第一时间段的第一振动指令,所述振动效果文件包括各时间段对应的振动指令;
所述获取所述音频数据对应的第二时间段的第二振动指令,包括,
从所述预置的与所述音频数据所对应的振动效果文件中读取所述第二时间段的第二振动指令。
3.根据权利要求1所述的方法,其特征在于,所述获取音频数据对应的第一时间段的第一振动指令,包括,
获取第一时间段的前一时间段的音频数据,解析所述前一时间段的音频数据得到第一时间段的第一振动指令;
所述获取所述音频数据对应的第二时间段的第二振动指令,包括,
获取第一时间段的音频数据,解析所述第一时间段的音频数据得到所述第二时间段的第二振动指令。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述第一振动指令,包括,
振动频率指令、振动强度指令以及振动循环次数指令,并且所述振动循环次数指令对应为无限循环次数。
5.根据权利要求1-3中任一项所述的方法,其特征在于,所述第二振动指令,包括,振动频率指令、振动强度指令。
6.根据权利要求1所述的方法,所述基于所述第一振动指令控制马达在所述第一时间段产生第一形式的振动包括,
根据所述第一振动指令确定出所对应的第一振动效果波形数据,控制所述马达在所述第一时间段产生与所述第一振动效果波形数据所对应的第一形式的振动。
7.根据权利要求1所述的方法,所述基于所述第二振动指令控制所述马达在所述第二时间段产生第二形式的振动包括,
根据所述第二振动指令确定出所对应的第二振动效果波形数据,控制所述马达在所述第二时间段产生与所述第二振动效果波形数据所对应的第二形式的振动。
8.一种触觉反馈装置,包括主控芯片、马达驱动芯片和马达,其特征在于,包括,
所述主控芯片,用于获取音频数据对应的第一时间段的第一振动指令,并且将所述第一振动指令发送给所述马达驱动芯片;
所述马达驱动芯片,用于接收所述主控芯片发送的所述第一振动指令,并且基于所述第一振动指令控制所述马达在所述第一时间段产生第一形式的振动;
所述主控芯片,用于在所述第一时间段的结束时刻,获取所述音频数据对应的第二时间段的第二振动指令,并且将所述第二振动指令发送给所述马达驱动芯片;
所述马达驱动芯片,用于接收所述主控芯片发送的所述第二振动指令,并且基于所述第二振动指令控制所述马达在所述第二时间段产生第二形式的振动。
9.一种电子设备,其特征在于,包括,
一个或多个主控芯片;
一个或多个存储器;所述一个或多个存储器存储有一个或多个程序,当所述一个或者多个程序被所述一个或多个主控芯片执行时,使得所述电子设备执行权利要求1-7中任一项所述的触觉反馈方法。
10.一种计算机存储介质,其特征在于,所述存储介质上存储有指令,所述指令在计算机上执行时使所述计算机执行权利要求1-7中任一项所述的触觉反馈方法。
11.一种芯片,其特征在于,包括控制电路,以执行权利要求1-7中任一项所述的触觉反馈方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311792300.3A CN117707341A (zh) | 2023-12-22 | 2023-12-22 | 触觉反馈方法、装置、芯片和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311792300.3A CN117707341A (zh) | 2023-12-22 | 2023-12-22 | 触觉反馈方法、装置、芯片和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117707341A true CN117707341A (zh) | 2024-03-15 |
Family
ID=90144246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311792300.3A Pending CN117707341A (zh) | 2023-12-22 | 2023-12-22 | 触觉反馈方法、装置、芯片和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117707341A (zh) |
-
2023
- 2023-12-22 CN CN202311792300.3A patent/CN117707341A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10992821B2 (en) | Vibration method, mobile terminal, and computer-readable storage medium | |
CN112269895A (zh) | 一种振动控制方法、装置及计算机可读存储介质 | |
US9507421B2 (en) | Synchronizing haptic effects to multimedia | |
CN109348274B (zh) | 一种直播互动方法、装置及存储介质 | |
CN104123938A (zh) | 语音控制系统、电子装置及语音控制方法 | |
CN108919953A (zh) | 一种音乐调整方法、装置及存储介质 | |
US10468004B2 (en) | Information processing method, terminal device and computer storage medium | |
CN104464743B (zh) | 一种在语音聊天室中播放背景音乐的方法及移动终端 | |
CN109195090A (zh) | 用于产品内麦克风电声参数的测试方法及系统 | |
EP1217604B1 (en) | Musical sound generator | |
CN113726600B (zh) | 传输时延确定方法、装置、终端及存储介质 | |
Goyal | Pro Java ME MMAPI: mobile media API for java micro edition | |
CN108495177A (zh) | 一种音频变速处理方法及装置 | |
CN117707341A (zh) | 触觉反馈方法、装置、芯片和电子设备 | |
CN105005612A (zh) | 一种音乐文件的获取方法及移动终端 | |
CN112086080A (zh) | 音乐节奏反馈方法、装置、电子设备及系统 | |
US20050120130A1 (en) | Data output device, data transmitting device, data processing system, data output method, data transmitting method, data processing method, their programs and recording media storing these programs | |
CN110164481A (zh) | 一种歌曲录制方法、装置、设备及存储介质 | |
CN108769799A (zh) | 一种信息处理方法及电子设备 | |
CN111627412B (zh) | 音频变速方法、装置、电子设备和计算机可读存储介质 | |
CN112133269B (zh) | 一种音频处理方法、装置、设备及介质 | |
CN117043848A (zh) | 声音编辑装置、声音编辑方法以及声音编辑程序 | |
CN114979349A (zh) | 参数调整方法、装置、计算机可读存储介质及电子设备 | |
US8914475B2 (en) | Method, device and terminal for editing and playing music according to data download speed | |
CN103780612A (zh) | 数据处理方法和电子设备 |
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 |