CN115378302B - 线性马达的控制方法、装置、设备及可读存储介质 - Google Patents

线性马达的控制方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN115378302B
CN115378302B CN202110668263.XA CN202110668263A CN115378302B CN 115378302 B CN115378302 B CN 115378302B CN 202110668263 A CN202110668263 A CN 202110668263A CN 115378302 B CN115378302 B CN 115378302B
Authority
CN
China
Prior art keywords
vibration
waveform
linear motor
description file
frequency
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
CN202110668263.XA
Other languages
English (en)
Other versions
CN115378302A (zh
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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to PCT/CN2022/073173 priority Critical patent/WO2022242217A1/zh
Priority to EP22743700.1A priority patent/EP4113820A4/en
Publication of CN115378302A publication Critical patent/CN115378302A/zh
Application granted granted Critical
Publication of CN115378302B publication Critical patent/CN115378302B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/006Controlling linear motors
    • 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
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P25/00Arrangements or methods for the control of AC motors characterised by the kind of AC motor or by structural details
    • H02P25/02Arrangements or methods for the control of AC motors characterised by the kind of AC motor or by structural details characterised by the kind of motor
    • H02P25/06Linear motors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M19/00Current supply arrangements for telephone systems
    • H04M19/02Current supply arrangements for telephone systems providing ringing current or supervisory tones, e.g. dialling tone or busy tone
    • H04M19/04Current supply arrangements for telephone systems providing ringing current or supervisory tones, e.g. dialling tone or busy tone the ringing-current being generated at the substations
    • H04M19/047Vibrating means for incoming calls

Abstract

本申请实施例提供了一种线性马达的控制方法、装置、设备及可读存储介质,线性马达的控制方法包括:响应于操作指令,确定所述操作指令的操作对象的振动描述文件;输出符合所述振动描述文件的波形要求的振感,所述振感由处于第一振动状态的线性马达提供,所述第一振动状态与所述线性马达属性相适配。

Description

线性马达的控制方法、装置、设备及可读存储介质
本申请要求于2021年5月20日提交中国专利局、申请号为202110553963.4、发明名称为 “线性马达的控制方法、装置、设备及可读存储介质”,于2021年5月20日提交中国专利局、 申请号为202110552989.7、发明名称为“瞬态驱动波形的调整方法、装置、设备及可读存储介质”,于2021年5月20日提交中国专利局、申请号为202110553942.2、发明名称为“振动波 形处理方法、装置、设备及可读存储介质”,于2021年5月20日提交中国专利局、申请号为 202110553954.5、发明名称为“基于小体积线性马达的振动波形调整方法、装置、设备及可读存储介质”,于2021年5月20日提交中国专利局、申请号为202110552996.7、发明名称为“驱动波形的调整方法、装置、设备及可读存储介质”,于2021年5月20日提交中国专 利局、申请号为202110553961.5、发明名称为“振动描述文件的生成方法、装置、设备及 可读存储介质”中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及数据处理技术领域,尤其涉及一种线性马达的控制方法、装置、设备及可 读存储介质。
背景技术
线性马达,根据行程方向的不同,可基本分为X轴线性马达和Z轴线性马达,不同种类的线性马达,需要采用不同的控制方法。并且,即便是同一种类的线性马达,因其运行 参数的不同,也需要设定不同的控制方法。如此一来,现有的线性马达的控制方案就存有 通用性差的问题。
发明内容
有鉴于此,本发明实施例提供一种线性马达的控制方法、装置、设备及存储介质,以 实现对线性马达的通用性控制。
为实现上述目的,本发明实施例提供如下技术方案:
第一方面,本申请提供了一种线性马达的控制方法,应用于电子设备,电子设备包括 线性马达,包括:响应于操作指令,确定操作指令的操作对象的振动描述文件;输出符合振动描述文件的波形要求的振感,振感由处于第一振动状态的线性马达提供,第一振动状态与线性马达属性相适配。
从第一方面的内容可以看出:第一振动状态与线性马达属性相适配,实现了对线性马 达的通用性控制。
在一种可能的实现方式中,输出符合振动描述文件的波形要求的振感,包括:输出在 启动时间内具有第一变化趋势,在停止时间内具有第二变化趋势的波形对应的振感,第一 变化趋势为:稳态波形的振幅由零平滑变化至线性马达稳定振动状态的振幅,第二变化趋势为:稳态波形的振幅由线性马达稳定振动状态的振幅平滑变化至零。
从上述的内容可以看出:在启动时间内,线性马达的振幅是由零平滑变化至线性马达 稳定振动状态的振幅,并且,在停止时间内,线性马达的振幅是由线性马达稳定振动状态 的振幅平滑变化至零,可以控制线性马达在启动时间和停止时间平缓运行,克服过驱问题。
在一种可能的实现方式中,输出符合振动描述文件的波形要求的振感,振感由处于第 一振动状态的线性马达提供,第一振动状态与线性马达属性相适配,包括:输出频率为目 标频率的稳态波形对应的振感,目标频率由振动描述文件的稳态波形的频率,根据预设的第一映射规则以及线性马达的频率映射得到;和/或,输出波形序列对应的振感,波形序列 的频率与振动描述文件的瞬态波形的频率相同,目标瞬态波形的频率与线性马达适配。
在一种可能的实现方式中,输出符合振动描述文件的波形要求的振感过程中,还包括: 响应中断事件,获取中断事件对应的振动描述文件;振动描述文件用于描述振动参数;调 整振感为中断事件对应的振感,中断事件对应的振感符合中断事件对应的振动描述文件的波形要求。
在一种可能的实现方式中,生成操作对象的振动描述文件的过程包括:响应于在交互 界面对导入控件的操作指令,在交互界面显示操作对象的基础波形;操作对象包括多媒体 文件以及场景振感波形的至少一个;响应在交互界面对基础波形的调整指令,显示调整后波形;响应在交互界面对生成控件的操作指令,生成操作对象的振动描述文件。
在一种可能的实现方式中,响应在交互界面对基础波形的调整指令,显示调整后波形 包括:响应对交互界面中显示的基础波形上预设的调整点的操作指令,在基础波形上显示 调整点;响应在第一振动参数调整模式下对调整点的拖拽指令,显示第一振动参数调整后的波形,第一振动参数包括振幅和/或频率。
在一种可能的实现方式中,基础波形包括稳态波形;第一振动参数还包括:时间参数; 响应在第一振动参数调整模式下对调整点的拖拽指令,显示第一振动参数调整后的波形包 括:响应在时间调整模式下对调整点的在时间轴上拖拽的指令,显示调整时间参数后的波形。
在一种可能的实现方式中,响应在交互界面对基础波形的调整指令,显示调整后波形 包括:响应对交互界面中显示的波形的拖拽指令,显示调整时间参数后的波形。
在一种可能的实现方式中,响应在交互界面对基础波形的调整指令,显示调整后波形 包括:响应在交互界面拖拽多个波形至时间范围重叠的指令,显示多个波形叠加后的波形。
第二方面,本申请提供了一种应用于电子设备的线性马达的控制装置,电子设备包括 线性马达,包括:确定单元,用于响应于操作指令,确定操作指令的操作对象的振动描述 文件;输出单元,用于输出符合振动描述文件的波形要求的振感,振感由处于第一振动状态的线性马达提供,第一振动状态与线性马达属性相适配。
第三方面,本申请提供了一种电子设备,包括:
一个或多个处理器;
存储器,其上存储有程序;
当程序被一个或多个处理器执行时,使得一个或多个处理器实现实现第一方面及其每 一种可能的实现方式中任意一项的线性马达的控制方法,以驱动线性马达运行。
第四方面,本申请提供了一种可读存储介质,其上存储有计算机程序,其中,计算机 程序被处理器执行时实现第一方面及其每一种可能的实现方式中任意一项的线性马达的 控制方法,以驱动线性马达运行。
附图说明
图1a为X轴线性马达的结构以及应用示例图;
图1b为Z轴线性马达的结构以及应用示例图;
图2为本申请实施例公开的一种电子设备的结构示意图;
图3a为本申请实施例提供的线性马达的振动波形调整方法应用的软件架构示例图;
图3b为图3a所示的软件架构的实现功能的流程示例图;
图4a到图4d为本申请实施例提供的四个应用场景展示图;
图5为本申请实施例提供的线性马达的控制方法的流程图;
图6a为本申请实施例提供的用于生成振动描述文件的交互界面的示例图;
图6b为本申请实施例提供的振动描述文件的生成方法的流程图;
图6c为本申请实施例提供的振动描述文件的生成装置的结构示意图;
图7a提供了一种以谐振频率驱动线性马达运行的振动波形的包络线;
图7b提供了一种以非谐振频率驱动线性马达运行的振动波形的包络线;
图8a为本申请实施例提供的振动波形的处理方法的流程图;
图8b为本申请实施例提供的线性马达的振动波形调整展示图;
图9为本申请实施例提供的振动波形处理装置的结构示意图;
图10到图12为本申请实施例提供的驱动波形的调整方法的流程图;
图13为本申请另一实施例提供的驱动波形的调整装置的结构图;
图14为本申请实施例提供的线性马达的振动波形调整方法的流程图;
图15为振动描述文件的稳态波形的示例图;
图16为图15所示的稳态波形进行频率映射后的波形示例图;
图17为振动描述文件的瞬态波形示例图;
图18为图17所示的瞬态波形扩展得到的波形序列的示例图;
图19为本申请实施例提供的线性马达的振动波形调整方法的流程图;
图20为本申请实施例提供的线性马达的振动波形调整装置的结构示意图;
图21为本申请实施例提供的线性马达的控制装置的结构示意图;
图22a为本申请实施例提供的驱动波形调整方法的流程图;
图22b为本申请实施例提供的驱动波形调整方法中调整驱动波形的具体流程图;
图23为本申请实施例提供的驱动波形调整方法中静态描述文件的生成流程图;
图24为本申请实施例提供的驱动波形调整装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地 描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本 发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要 素的过程、方法、物品或者设备中还存在另外的相同要素。
线性马达设置在电子设备中,用于通过振动使得电子设备输出振感。在电子设备的不 同场景下,线性马达被控制发生振动产生不同的振动效果,使得用户感知到振感,以提示 用户或对用户操作进行反馈,具体如下:
1、对应于不同的业务场景(例如:时间提醒,接收信息,来电,闹钟,游戏等),可以对应不同的振动效果。
2、作为对触摸的反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作, 可以对应不同的振动效果。作用于显示屏不同区域的触摸操作,也可对应不同的振动效果。
电子设备中常用的线性马达包括X轴线性马达(又称方形或横向线性马达)以及Z轴 线性马达(又称圆形或纵向线性马达)。图1a为X轴线性马达的结构以及应用示例,图1b为Z轴线性马达的结构以及应用示例。
如图1a所示,X轴线性马达的外观呈长条或方块形,假设X轴为水平轴,Y轴为竖 直轴,Z轴为垂直于X轴和Y轴的垂直轴,则依据摆放方向,X轴线性马达的动子可以在 X轴或Y轴方向运动,可以做到更长的行程。X轴线性马达在电子设备中沿X轴方向安装, 则能够提供X轴方向的振感,若沿Y轴方向安装,则能提供Y轴方向的振感。
如图1b所示,Z轴线性马达的外观呈圆柱形,动子可以在Z轴方向运动。Z轴线性马达设置在电子设备中,能够带来沿电子设备的厚度方向的振感。
本申请实施例公开的线性马达的控制方法,应用在设置线性马达的电子设备,设置线 性马达的电子设备可以是手机、平板电脑、桌面型、膝上型、笔记本电脑、超级移动个人 计算机(Ultra-mobile Personal Computer,UMPC)、手持计算机、上网本、个人数字助理(Personal Digital Assistant,PDA)、可穿戴电子设备、智能手表等设备。
图2所示的电子设备包括:处理器110、外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声 器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达 191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传 感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F, 接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传 感器180L,骨传导传感器180M等。
可以理解的是,本实施例示意的结构并不构成对电子设备的具体限定。在另一些实施 例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部 件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit, GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字 信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110 中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或 数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了 重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S) 接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户 标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus, USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根 串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。 处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄 像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110 与触摸传感器180K通过I2C总线接口通信,实现电子设备的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间 的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频 信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模 块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听 电话的功能。I2S接口和PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被 用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信 模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART 接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现 电子设备的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据 信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194, 无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB 接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备充电,也可以 用于电子设备与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接 口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构 成对电子设备的结构限定。在本申请另一些实施例中,电子设备也可以采用上述实施例中 不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也 可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时, 还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测 电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电 源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充 电管理模块140也可以设置于同一个器件中。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块 160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个 或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决 方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波 进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经 调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动 通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信 号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器 将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输 出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信 模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球 导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM), 近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信 的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无 线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信 号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组 无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access, CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution, LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。GNSS可以包括全球卫星定位 系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system, GLONASS),北斗卫星导航系统(beidou navigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems, SBAS)。
电子设备通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲 染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED), 有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oled,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例 中,电子设备可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备的显示屏194上可以显示一系列图形用户界面(graphical userinterface,GUI), 这些GUI都是该电子设备的主屏幕。一般来说,电子设备的显示屏194的尺寸是固定的,只能在该电子设备的显示屏194中显示有限的控件。控件是一种GUI元素,它是一种软件 组件,包含在应用程序中,控制着该应用程序处理的所有数据以及关于这些数据的交互操 作,用户可以通过直接操作(direct manipulation)来与控件交互,从而对应用程序的有关信息进行读取或者编辑。一般而言,控件可以包括图标、按钮、菜单、选项卡、文本框、 对话框、状态栏、导航栏、Widget等可视的界面元素。例如,在本申请实施例中,显示屏 194可以显示虚拟按键。
电子设备可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以 对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。 感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成 电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP 加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实 施例中,电子设备可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数 字信号。例如,当电子设备在频点选择时,数字信号处理器用于对频点能量进行傅里叶变 换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备可以支持一种或多种视频编解 码器。这样,电子设备可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如 借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备 的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。 例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处 理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。 存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。 此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如 至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
本申请实施例中,内部存储器121存储的是用于执行线性马达的控制方法的指令。处 理器110可以通过执行存储在内部存储器121中的指令,实现对线性马达的通用性控制。
电子设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入 转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中, 音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器 110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电 话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克 风170C。电子设备可以设置至少一个麦克风170C。在另一些实施例中,电子设备可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子 设备还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声 音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂 窝电信工业协会(cellular telecommunications industry association of theUSA,CTIA)标准接 口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例 中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备根据压力传感器180A检测触摸操作强度。电子设备也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作, 可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值 的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备的运动姿态。在一些实施例中,可以通过 陀螺仪传感器180B确定电子设备围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备抖动 的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备的 抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备通过气压传感器180C测 得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备可以利用磁传感器180D检测翻盖皮套的开 合。在一些实施例中,当电子设备是翻盖机时,电子设备可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备在各个方向上(一般为三轴)加速度的大小。当电子 设备静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切 换,计步器等应用。
距离传感器180F,用于测量距离。电子设备可以通过红外或激光测量距离。在一些实 施例中,拍摄场景,电子设备可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发 光二极管可以是红外发光二极管。电子设备通过发光二极管向外发射红外光。电子设备使 用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子 设备附近有物体。当检测到不充分的反射光时,电子设备可以确定电子设备附近没有物体。 电子设备可以利用接近光传感器180G检测用户手持电子设备贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备可以根据感知的环境光亮度自适 应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备可以利用采集的指纹特性实现指纹解锁, 访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备利用温度传感器180J检 测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备对电池142加热,以避免低温导致电子设备 异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备对电池142的输出电 压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由 触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测 作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器, 以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实 施例中,触摸传感器180K也可以设置于电子设备的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压 跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳 机。音频模块170可以基于骨传导传感器180M获取的声部振动骨块的振动信号,解析出 语音信号,实现语音功能。应用处理器可以基于骨传导传感器180M获取的血压跳动信号 解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备可以接收按键输入,产生与电子设备的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动 反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于柔性屏幕194不同区域的触摸操作,马达191也可对应不同的振动反馈 效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振 动反馈效果。触摸振动反馈效果还可以支持自定义。
本申请实施例中,马达191可以采用多种线性马达,处理器110执行线性马达的驱动 程序以驱动线性马达运行。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息, 未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM 卡接口195拔出,实现和电子设备的接触和分离。电子设备可以支持1个或N个SIM卡 接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM 卡等。同一个SIM卡接口195可以同时插入多张卡。多张卡的类型可以相同,也可以不同。 SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。 电子设备通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子 设备采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备中,不能和电子设备分离。
进一步的,图3a为本申请实施例公开的技术方案应用的软件架构的示例,结合图3b 内容可知:
振动描述文件的生成模块(可与第三方应用进行交互),用于生成振动描述文件;解 析模块对振动描述文件进行解析,得到用于描述振动波形的json格式的文件,波形处理模 块针对json格式的文件,进行波形处理操作,具体的:振动波形处理模块先采用合成马达 位移算法运算,依据json格式的文件和马达的属性,生成位移码流形式的振动波形,驱动 波形处理模块再对振动波形以及马达的属性,利用反解马达电压驱动算法进行反解运算,得到驱动波形。
波形处理模块进行波形处理操作后得到的驱动波形经合成模块合成处理,得到脉冲编 码调制(Pulse Code Modulation,PCM)等格式的音频码流,以实时传输协议(Real-time Transport Protocol,RTP)等协议传输至集成电路(Integrated Circuit,IC),并最终作用于线 性马达,控制线性马达运行。
结合以上电子设备的结构,图3a所示的软件架构,可以存储在内部存储器121中,由 处理器110调用实现图3b所述的流程。
下面结合几种应用场景来说明线性马达的工作场景,当然下述提出的应用场景仅是示 例性的,线性马达的工作场景不局限下述几种。
在一种应用场景,用户输入操作指令,解锁电子设备。如图4a所示,用户在电子设备 的显示屏上的指纹识别区域输入触控操作,用户的指纹被验证,在验证通过时电子设备被 解锁。在本应用场景中,用户手指触控显示屏的同时,线性马达被驱动,向用户提供触觉反馈,用户可以通过执行触控操作的手指感受线性马达输出的振感。
在另一种应用场景,用户输入操作指令,启动某应用程序。如图4b所示,电子设备的显示屏上呈现多个应用程序(Application,APP),用户手指触控某个APP,APP被启 动而输出应用界面,同样,在用户手指触控某个APP的同时,线性马达也可以被驱动,向 用户提供触觉反馈。
在另一种应用场景,电子设备输出应用程序的推送消息。如图4c所示,应用程序例如 图中展示的今日头条在运行过程中,会与后台保持连接。在接收到后台推送的消息之后, 会生成操作指令将推送的消息通过显示屏呈现给用户。在显示屏显示推送消息的同时,线 性马达也可以被驱动,向用户提供触觉反馈。
在另一种应用场景,如图4d所示,图中展示了一个游戏场景,用户触控游戏场景中对象,例如图中的枪,为了模拟真实的场景,用户输入操作指令控制枪开火的同时线性马达也被驱动,向用户提供触觉反馈。
由上述的几种应用场景可以看出:用户输入操作指令或者电子设备自身生成的操作指 令之后,线性马达也会被驱动运行,处于振动状态给用户提供振感。
线性马达包括多种类型,不同类型的线性马达属性有差异,即便同一种线性马达,因 生产工艺的差异,也会导致线性马达的属性不同。基于此,需要采用一种通用性的线性马 达的控制方法,能够驱动属性不同的线性马达运行。
本申请实施例提供了一种线性马达的控制方法,应用于电子设备,如图5所示,包括:
S501、响应于操作指令,确定操作指令的操作对象的振动描述文件。
操作指令包括在多种应用场景中,针对某个对象需要输入的操作指令,例如图4a中用 户输入的解锁指令,图4b中用户输入的APP启动指令。当然也可以是电子设备自身生成 的控制指令,例如图4c中APP与后台连接时,电子设备生成的推送消息显示指令,还例如音视频的播放指令等。
操作指令会作用于操作对象,电子设备响应操作指令,操作对象会被触发。
振动描述文件是控制线性马达发生振动的关键要素之一:振动描述文件用于描述线性 马达的振动波形,振动波形指示马达振动过程中的各项振动参数,例如振幅和频率等。可 见,振动描述文件的作用是指示马达如何进行振动。操作对象的触发需要线性马达跟随输出振动,因此,操作对象会配置有振动描述文件。
S502、输出符合振动描述文件的波形要求的振感,振感由处于第一振动状态的线性马 达提供,第一振动状态与线性马达属性相适配。
按照操作对象的振动描述文件驱动线性马达,是要求线性马达振动,由电子设备提供 符合振动描述文件的波形要求的振感。但是由于线性马达的属性差异性,线性马达振动对 应的振动状态要与线性马达属性相适配。
如此,在多应用场景控制线性马达运行时,通过调整线性马达的振动状态,让线性马 达能够按照与自身属性视频的振动状态来提供振感,实现了属性不同的线性马达的通用性 控制。
如前所述,振动描述文件是控制线性马达发生振动的关键要素之一:振动描述文件用 于描述线性马达的振动波形,振动波形指示马达振动过程中的各项振动参数,例如振幅和 频率等。可见,振动描述文件的作用是指示马达如何进行振动,因此用户可以通过振动描述文件配置预期的振动效果。
目前,振动描述文件由技术人员通过手写代码生成,不仅技术门槛高以及效率低,更 重要的是还具有以下问题:
随着终端的发展,存在扩展终端的功能以及提高用户对终端的使用体验的需求。如前 所述场景,振动功能具有较大的扩展空间,且振动功能的扩展有利于提高用户的体验。
因为终端的业务场景的复杂性和多样性,由技术人员预先针对各个业务场景编写振动 描述文件的难度较大。并且,因为编写振动描述文件的技术门槛高,所以终端的用户很难 通过这种方式自定义业务场景所需的振动描述文件。
可见,目前的振动描述文件的获取方式,已成为制约扩展振动功能以及提高用户体验的因素。
因此,本申请实施例提供了一种振动文件的生成方法以及装置,用以降低获取振动描 述文件的技术门槛,提高获取振动描述文件的效率,并且,缓解振动描述文件的获取与扩 展振动功能以及提高用户体验之间的矛盾。
本申请实施例中,使用如图6a示例的用户交互界面为不同操作配置振动描述文件:
图6a中所示的交互界面中,显示有导入控件,包括音符图标51以及文件图标52。图6a中,左侧的Y(竖直)轴表示振幅(Amplitude,又称强度Intensity,简写为Amp)。右 侧的Y(竖直)轴表示频率(frequency,又称锐度Sharpness,简写为Freq)。X(水平) 轴表示时长(简写为Time,单位为毫秒)。其中,左侧的Y轴的范围为0-1,以刻度表示 中间值。右侧的Y轴以灰度或颜色的深浅表示频率的大小,越深则表示频率越低,越浅则 表示频率越高。
音符图标51用于导入音频文件(多媒体文件的一种示例),用户可点击交互界面右上角的音符图标51,导入音频文件,交互界面显示依据导入的音频文件生成的基础波形。
本实施例中,可以基于音频的包络、频率、振幅、音色和节奏等参数,生成基础波形。
文件图标52用于导入场景振感库中的波形,即响应用户的选择操作触发的选择指令, 将用户从场景振感库中选择的波形作为基础波形导入并显示。
预先配置的场景振感波形中包括多种场景下的振感对应的波形,例如,游戏中打枪场 景下的振感对应的波形、以及游戏中爆炸场景下的振感对应的波形……。
场景振感波形可以从应用的后台服务器下载获得,这类波形为该应用的场景下的振感 对应的波形,还可以通过存储在电子设备本地生成的波形获得等,这里不做限定。
进一步的,场景振感波形可以被预先存储在场景振感库中,场景振感库可以为数据库 或者文件夹等具体形式。场景振感库中的波形文件,可以被增加、删除或修改。
文件图标52还用于导入从外源接收的波形,外源可以为应用、设备等提供波形的源 头。即从外源接收的波形存储在终端中,响应用户的选择操作触发的选择指令,将用户选 择的从外源接收的波形作为基础波形导入并显示。
用户可以在交互界面对显示的基础波形进行调整,交互界面中显示调整后波形。
具体的,1、响应对交互界面中显示的基础波形上预设的调整点的操作指令,在波形 上显示调整点。响应在第一振动参数调整模式下对调整点的拖拽指令,显示第一振动参数 调整后的波形,第一振动参数包括振幅和/或频率。
例如,对于显示的稳态波形01或瞬态波形02,用户在波形上长按,弹出对话框或选项框,从对话框或选项框中选择增加调整点(以下简称为点,以圆圈表示)。响应增加点 的指令,在波形上显示增加后的点。可以理解的是,因为瞬态波形02不涉及包络的调整, 所以,瞬态波形02上的点仅为上边缘的顶点。或者,对于瞬态波形02,将上边缘的顶点默认为调整点,而不可增加新的调整点,也不可改变现有的调整点。
用户对稳态波形01调整振幅的过程为:点击左侧Y轴,触发进入振幅调整模式,通过拖拽任意一个点,实现对于稳态波形01的振幅的调整。也就是说,响应用户点击左侧Y 轴的操作,进入振幅调整模式,响应对点的拖拽指令(即拖拽操作触发的指令),显示振 幅调整后的波形。
用户对稳态波形01调整频率的过程为:点击右侧Y轴,触发进入频率调整模式,通过拖拽任意一个点,实现对于稳态波形01的频率的选择。也就是说,响应用户点击右侧Y 轴的操作,进入频率调整模式,响应对点的拖拽指令(即拖拽操作触发的指令),显示频 率调整后的波形。
需要说明的是,在调整振幅的过程中,稳态波形01上的最右侧点,因为当前处于振幅调整模式,不能改变现有的频率,所以只能上下移动。即在振幅调整模型下,不响应对 稳态波形01上的最右侧点的左右拖拽指令。
对于稳态波形01,还可以通过点调整时间参数:选中稳态波形01在X轴上的点触发进入时间调整模式,在时间调整模式下,在X轴上显示至少两个调整点58,通过沿X轴 左右拖动左边的调整点实现对于稳态波形01的开始时间(波形开始的时刻)的调整,通 过沿X轴左右拖动右边的调整点实现对于稳态波形01的持续时间的调整。
也就是说,响应用户点击X轴上的点的操作,进入时间调整模式,响应在时间调整模 式下对调整点的在时间轴上拖拽的指令,显示时间调整后的波形。
用户对瞬态波形02调整振幅的过程为:点击左侧Y轴,触发进入振幅调整模式,通过上下拖拽上边缘的顶点,实现对于瞬态波形02的振幅的调整。也就是说,响应用户点 击左侧Y轴的操作,进入振幅调整模式,响应对点的上下拖拽指令(即上下拖拽操作触发的指令),显示振幅调整后的波形。
用户对瞬态波形02调整频率的过程为:点击右侧Y轴,触发进入频率调整模式,通过左右拖拽上边缘的顶点,实现对于瞬态波形02的频率的调整。也就是说,响应用户点 击右侧Y轴的操作,进入频率调整模式,响应对点的左右拖拽指令(即左右拖拽操作触发的指令),显示频率调整后的波形。
2、响应对交互界面中显示的波形的拖拽指令,显示时间调整后的波形。
用户沿X轴对稳态波形01整体拖拽,以调整开始时间,也就是说,响应对稳态波形01沿X轴的拖拽指令,显示调整开始时间后的波形。
用户沿X轴对瞬态波形02整体拖拽,以调整开始时间,也就是说,响应对瞬态波形02沿X轴的拖拽指令,显示调整开始时间后的波形。
为了增强调整的可视性,在交互界面中显示被调整的参数的数值对应的指示信息。
具体的,在显示的波形中,填充表示当前选中频率的灰度或颜色,并跟随点的移动而 选中的频率实时调整,以直观呈现当前选定的频率。
进一步的,在没有处于频率调整状态的波形(稳态或瞬态)中,也可以填充表示该波 形当前频率的灰度或颜色,以直观呈现没有处于调整状态的波形的当前频率。进一步的, 在频率调整模式下,频率轴附近显示箭头,指向当前选择的频率,以直观呈现的波形的当 前频率。
可以理解的是,瞬态波形02因为只有一种频率,所以只填充一种颜色。
除了对于单个波形的调整外,本实施例中,还支持多个波形的叠加:用户选中多个波 形,并拖拽至时间范围重叠的状态,则触发时间范围重叠的多个波形的叠加。即响应将多 个波形拖拽至时间范围重叠状态的叠加指令,显示多个波形叠加后的波形,例如,将第一 波形拖拽至第二波形的时间范围内,则叠加第一波形与第二波形。多个波形为上述基础波 形的至少一部分波形。
波形叠加的具体的计算方式的一种示例为振幅值相加,这里不再赘述。波形叠加的目 的在于,通过叠加呈现扩展多种振动效果,能够支持多种场景的振动效果的叠加,使得用 户的振动感受更为丰富。可以理解的是,波形叠加的实现并不限定于上述交互界面。
除了上述调整操作之外,图6a所示的交互界面还可以实现以下功能:
在波形上长按弹出的对话框或选项框中,还包括删除调整点的选项,用户可以选择该 选项删除调整点。类似的,在波形上长按弹出的对话框或选项框中,还包括删除该Slice/Event的选项,用户可以选择该选项删除该波形。
在调整过程中,用户可以通过点击返回控件53撤销调整操作,并点击播放控件54播 放调整后的波形触发的振动,以感受调整后的波形的振动效果,辅助调整。还可以点击保 存控件55保存调整后的波形。可选的,交互界面图6a上还可以设置有帮助控件56以及退出控件57。
马达191包括图1a所示的X轴线性马达以及图1b所示的Z轴线性马达的至少一个。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。 处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以及数据处理。例如,在本实施例中,处理器110可以通过执行存储在内部存储器121中的指令、装置或者模块,生成振动描述文件。又例如,处理器110响应于触控屏中交互界面接收的用户操作触发的信号,选择以及调整波形,并基于调整后的波形生成振动描述文件。
内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系 统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备的各种功能应用以及数据处理。
下面将对本申请实施例所述的振动描述文件的生成方法进行详细的说明。图6b为本 申请实施例公开的一种振动描述文件的生成方法,包括以下步骤:
S401、呈现第一界面,第一界面展示获取的波形。
具体的,获取波形包括以下几种方式:
1、依据应用的振动特点生成波形。
应用的振动特点是指,应用中能够使用振动的对象的特点。
例如,应用可以为多媒体播放器,可以使用振动的对象可以为多媒体,则依据多媒体 的特点,例如:包络、频率、振幅、音色和节奏等,生成波形。
可以理解的是,可以预先配置各类应用中可以使用振动的对象的类型,并且这类对象 可以从外部接收,例如接收用户导入的音频文件。
2、从预先配置的场景振感波形中选择。
预先配置的场景振感波形中包括多种场景下的振感对应的波形,例如,游戏中打枪场 景下的振感对应的波形、以及游戏中爆炸场景下的振感对应的波形。
场景振感波形可以从应用的后台服务器下载获得,这类波形为该应用的场景下的振感 对应的波形,还可以通过存储在电子设备本地生成的波形获得等,这里不做限定。
进一步的,场景振感波形可以被预先存储在场景振感库中,场景振感库可以为数据库 或者文件夹等具体形式。场景振感库中的波形文件,可以被增加、删除或修改。
3、从外源接收。外源可以为应用、设备等提供波形的源头。
4、调用预先配置的作为模板的波形。即预先配置至少一种波形作为模板,通过调用 该模板,获取波形。可以理解的是,作为模板的波形可以看作默认波形。
本实施例中,提供了以上多种波形的获取方式,无论是哪种方式,均能够提供已有或 已经配置的波形,所以,对于用户而言,无论要自定义哪种业务场景下的振动描述文件,都不需要从无到有设计波形,而是可以在获取的波形的基础上进行调整,所以,能够极大方便用户,技术门槛被大大降低。
S402、获取对波形的调整指令。
S403、响应对波形的调整指令,生成振动描述文件。
具体的,电子设备显示交互界面,响应在交互界面对波形的调整指令,显示调整后波 形,并生成调整后波形的振动描述文件。第一界面可以为显示界面,交互界面为触屏界面, 可以理解的是,第一界面在触摸显示屏上的显示屏显示,交互界面也在该触摸显示屏上的显示屏显示,并通过该触摸显示屏上的触摸层接收调整指令。
本步骤的详细实现方式将在图5所示的实施例中说明。
S404、响应调整后波形的振动参数不超过预先设置的调整限值,生成振动描述文件。
S404为可选步骤,设置调整限值的目的在于,保护待控制的线性马达不被损坏。即在 用户调整基础波形的某个振动参数的数值超过调整限值的情况下,不响应调整指令。
进一步的,还可以展示提示信息,提示信息用于提示调整超过调整限值。
具体的,调整限值可以包括但不限于:振幅限值、启动时间限值以及停止时间限值。
振幅限值可以依据待控制的线性马达的最大位移确定。启动时间限值以及停止时间限 值可以依据待控制的线性马达的属性确定。
可以看出,本实施例所述的流程,先获取并展示波形,对展示的波形进一步调整,再 生成调整后的波形的振动描述文件。即S401获取并展示的波形可以看作基础波形,可以对基础波形进行调整获得所需的振动波形,再进一步获得所需的振动描述文件,与现有技术相比,无需手写代码形成振动描述文件,能够降低获取振动描述文件的技术门槛,并且提高获取效率。
从用户的角度而言,用户具有更大的自由配置振动波形的空间,使得能够为更多业务 场景设计振动模式,从而能够实现振动功能的扩展以及用户体验的提升。
申请人在研究的过程中发现,在实际产品的使用过程中,原本为了提高用户体验而为 某个或某些业务场景设计的振动,可能对其它业务场景造成干扰。
例如,在音频播放过程中,接收到短信息,则跟随音频播放的振动,可能对短信息业务产生影响,例如振动干扰了提示信息,使得用户没有感知到提示信息,导致没有及时查看短信息,又例如,用户打开短信息界面查看短信息,但线性马达的振动对查看短信息造成干扰,而降低用户体验。
为了解决上述问题,将以上实施例中所述的振动描述文件,划分为静态描述文件以及 动态描述文件。
动态描述文件的作用为:在线性马达振动的过程中,如果发生中断事件,则按照动态 描述文件中的振动参数控制线性马达振动。
中断是指:在实现第一事件(如音频播放)的程序执行的过程中,第二事件(如短信息应用)被触发(如接收到短信息),则实现第一事件的程序被中止,并且实现第二事件 的程序被执行,直到第二事件完成后,继续执行实现第一事件的程序。或者,第一事件与 第二事件同时执行,即实现第一事件的程序与实现第二事件的程序被并行执行。简单而言就是某个事件的执行被打断,或者某个事件的执行过程中新增并行执行的事件。
中断事件是指打断正在执行的事件,或者,在其它事件正在执行时新加入与其它事件 并行执行的事件。
可见,可以为中断事件配置动态描述文件,使得中断事件发生时,能够减弱振感,降 低对于中断事件的干扰。
基于上述基础波形的几种获取方式,本实施例中,从外源接收到的波形,作为生成动 态描述文件的基础波形。可以理解的是,可以使用图6a所示的交互界面导入并显示外源接 收到的波形,通过调整后获得动态描述文件。外源可以为中断事件的执行主体,例如前述短信息应用,也就是说,在电子设备上安装某个应用后,该应用可以被预先配置用于生成动态描述文件的基础波形,以供用户生成动态描述文件,从而降低该应用在使用中被振动干扰的程度提供可能性。
当然,从外源接收到的波形,也可以用作其它用途,而不限于生成动态描述文件。
相应的,依据待应用振动的对象的特点获取的或者从预先配置的场景振感库中选择的 基础波形,生成的振动描述文件,可以被用于在中断事件没有发生的情况下,控制线性马 达振动。在此场景下,为了区别两种振动描述文件,可以将后者称为静态描述文件。
动态描述文件和静态描述文件具体的应用过程,不属于本案的范畴,因此不做详细说 明。可以理解的是,静态描述文件描述的振动参数可以与动态描述文件描述的振动参数相 同,也可以不同。进一步的,动态描述文件描述的振动参数的种类为静态描述文件描述的振动参数的种类的子集。也就是说,因为动态描述文件在中断事件发生的情况下使用,结 合上述应用场景,所以有可能无需对驱动波形的全部参数进行调整,而仅调整与振感相关 性较强的参数即可,因此,动态描述文件可以仅描述与振感相关性较强的参数,所以,动态描述文件描述的参数的种类可能少于静态描述文件描述的参数的种类。例如,静态描述文件仅描述振幅。这种方式能够简化动态描述文件的内容,从而降低动态描述文件的生成代价。
动态描述文件也可以可视化并且被调整,为后续动态调整线性马达的振动,提供了更 大的可能性和灵活性。
图6c为本申请实施例公开的一种振动描述文件的生成装置,应用于电子设备,电子设 备包括线性马达,装置包括:展示单元、接收单元以及生成单元。可选的,还可以包括获 取单元。
获取单元用于根据应用的振动特点,生成波形;或者,将从预先配置的场景振感波形 中选择的波形,作为波形;或者,从外源接收波形;或者,调用预先配置的作为模板的波形。
展示单元用于呈现第一界面,第一界面展示获取单元获取的波形。接收单元用于获取 对波形的调整指令,生成单元用于响应调整指令,生成振动描述文件。
可选的,生成单元用于响应所调整指令,生成振动描述文件的具体实现方式为:响应 对从外源接收的波形的调整指令,生成动态描述文件,动态描述文件用于如果发生中断事 件,按照动态描述文件中的振动参数控制线性马达振动。
可选的,生成单元用于响应调整指令,生成振动描述文件还包括以下步骤:响应依据 应用的振动特点生成的波形;或者,将从预先配置的场景振感波形中选择的波形的调整指 令,生成静态描述文件,静态描述文件用于在没有发生中断事件的情况下,按照静态描述文件中的振动参数控制线性马达振动。
可选的,动态描述文件指示的振动参数的种类为静态描述文件指示的振动参数的种类 的子集。
可选的,生成单元用于响应调整指令,生成振动描述文件的具体实现方式为:响应在 交互界面对波形的调整指令,显示调整后波形;生成调整后波形的振动描述文件。
可选的,生成单元用于响应在交互界面对波形的调整指令,显示调整后波形的具体实 现方式为:响应对交互界面中显示的波形上预设的调整点的操作指令,在波形上显示调整 点;响应在第一振动参数调整模式下对调整点的拖拽指令,显示第一振动参数调整后的波形,第一振动参数包括振幅和/或频率。
可选的,波形包括稳态波形,第一振动参数还包括:时间参数;生成单元用于响应在 第一振动参数调整模式下对调整点的拖拽指令,显示第一振动参数调整后的波形的具体实 现方式为:响应在时间调整模式下对调整点的在时间轴上的拖拽指令,显示调整时间参数后的波形。
可选的,生成单元用于响应在交互界面对波形的调整指令,显示调整后波形的具体实 现方式为:响应对交互界面中显示的波形的拖拽指令,显示调整时间参数后的波形。
可选的,展示单元还用于:在交互界面中显示被调整的参数的数值对应的指示信息。
可选的,生成单元还用于:响应叠加指令,叠加多个波形,并生成叠加后的波形的振 动描述文件;多个波形为波形的至少一部分波形。
可选的,生成单元用于响应于叠加指令,叠加多个波形的具体实现方式为:响应将多 个波形拖拽至时间范围重叠状态的指令,叠加多个波形。
可选的,生成单元用于生成振动描述文件的具体实现方式为:响应调整后波形的振动 参数不超过预先设置的调整限值,生成振动描述文件。
本实施例的振动描述文件的生成装置,无需手写代码形成振动描述文件,能够降低获 取振动描述文件的技术门槛,并且提高获取效率。因为降低了技术门槛,所以用户具有更 大的自定义振动波形的空间,使得能够为更多业务场景设计振动模式,从而能够实现振动 功能的扩展以及用户体验的提升。
本申请实施例还公开了一种可读存储介质,其上存储有计算机程序,其中,计算机程 序被处理器执行时实现上述实施例的振动描述文件的生成方法。
参见前述,振动描述文件是控制线性马达发生振动的关键要素之一:振动描述文件用 于描述线性马达的振动波形,振动波形指示马达振动过程中的各项振动参数,例如振幅和 频率等。
以图4d展示的应用场景为示例进行说明。本示例展示的游戏场景中每一个被操作的 对象,都配置振动描述文件。按照振动描述文件描述的振动波形,控制线性马达在以谐振 频率运行时,可参见图7a,线性马达的启动时间(0到t1)和停止时间(t2到t3)内的振幅平滑过渡,如此,线性马达带来的振感平顺,振动噪音较低,用户能感受到顺畅平稳的振动,听到的线性马达的振动声音也是平稳不尖锐的。
线性马达的谐振频率是线性马达运行的关键参数,谐振频率也称共振频率,是指一物 理系统(指线性马达)在特定频率下,比其他频率以更大的振幅做振动的情形,此特定频率被称之为共振频率。在共振频率下,很小的驱动力便可使线性马达产生很大的振动,因此,一般驱动线性马达以谐振频率运行。
但是,为了满足用户的多振感体验需求,或者不同应用的不同振感需求,需要采用一 定频率范围下任意一个频率点来驱动线性马达运行,如此就意味着线性马达没有以谐振频 率来运行,带来的问题就是:结合图7b,在启动时间(0到t1)和停止时间(t2到t3)内,线性马达的振幅紊乱,这种振幅紊乱就称为马达出现过驱问题,线性马达带来的振感不平稳,不顺畅,振动噪声也较高。
在本示例中,受游戏场景操作对象数量多的影响,对象配置的振动描述文件中的频率 可能是多样化的,如不同类型枪的振感要求不同,如此就带来需要采用一定频率范围下任 意一个频率点来驱动线性马达运行。若一个对象配置的振动描述文件的频率不是线性马达的谐振频率,那线性马达运行提供的振动,是不平稳,不顺畅的,用户感受不好而且振动 声音也可能会刺耳。
因此,有必要对振动描述文件描述的振动波形进行调整,使振动波形由实施振动的线 性马达输出时,在启动时间和停止时间内,线性马达的振幅平滑,振感平稳顺畅,噪声较 低。可以理解的是,电子设备要输出在启动时间内具有第一变化趋势,在停止时间内具有第二变化趋势的波形对应的振感,第一变化趋势为:稳态波形的振幅由零平滑变化至线性 马达稳定振动状态的振幅,第二变化趋势为:稳态波形的振幅由线性马达稳定振动状态的 振幅平滑变化至零。
电子设备输出上述变化趋势的波形对应的振感,所对应的处理器处理流程见下述实施 例。
本申请实施例公开的线性马达的振动波形的处理方法,基于实施振动的线性马达的特 点,对振动描述文件描述的振动波形进行调整,使实施振动的线性马达在启动时间和停止 时间能够输出平滑的振幅,解决过驱问题。
结合图8a,本申请提供了一种振动波形的处理方法,应用于电子设备,电子设备包括 线性马达,振动波形的处理方法包括:
S501、获取振动描述文件。
振动描述文件中包括多种振动参数,通过解析振动描述文件,可得到振动描述文件包 括的每一种振动参数,且利用振动参数可生成线性马达的振动波形。线性马达的振动波形 可以理解为一种位移码流,体现出线性马达在不同时间点下的位移。
如前所述,X轴线性马达的动子可以在X轴或Y轴方向运动,Z轴线性马达的动子可以在Z轴方向运动。因此,无论是哪一种线性马达,线性马达受波形驱动的运行,都是指 线性马达的动子在对应轴(X轴、Y轴或Z轴)上的运行,动子在对应轴上运动的表现形 式就是动子在不同时刻沿对应轴发生位移变化,通过动子沿在不同时刻的位移变化,带来 被用户感受到的振感。
振动描述文件中的振动参数可以包括但不限于:强度、锐度(也称为频率)、波形类型、启动时间以及停止时间。
S502、识别振动描述文件描述的波形类型。
振动描述文件中的振动参数包括波形类型,通过分析波形类型,可以确定出振动描述 文件描述的是稳态波形还是瞬态波形。
可以理解的是:稳态波形为驱动线性马达经历上升阶段、稳定振动阶段和停止阶段的 振动波形。上升阶段、稳定振动阶段和停止阶段为线性马达从开始振动到结束振动经历的 三个阶段。在上升阶段,线性马达的振动形式表现为自由衰减振动伴随强迫振动,在稳定振动阶段线性马达的振动形式表现为等幅的稳态强迫振动,在停止阶段线性马达的振动形 式表现为自由衰减振动。
瞬态波形为驱动线性马达仅经历上升阶段的振动波形。
S503、若振动描述文件描述的波形类型为稳态波形,从振动描述文件中提取启动时间 以及停止时间。
如前所述,在线性马达以非谐振频率运行时,启动时间和停止时间内的振幅紊乱,存 在过驱问题。因此,需要获取振动描述文件中振动参数说明的启动时间和停止时间。
启动时间和停止时间均是时间段,启动时间为线性马达从开始运行时间点到稳定振动 状态时间点之间的时间,停止时间为线性马达从稳定振动状态时间点到停止运行时间点之 间的时间。
S504、将启动时间内的稳态波形的振幅处理为:由零平滑变化至线性马达稳定振动状 态的振幅,并将停止时间内的稳态波形的振幅处理为:由线性马达稳定振动状态的振幅平 滑变化至零。
将线性马达的启动时间内的稳态波形振幅,处理成由零平滑变化至线性马达稳定振动 状态的振幅;并且,将线性马达的停止时间内的稳态波形振幅,处理成由线性马达稳定振 动状态的振幅平滑变化至零,保证线性马达以处理后的稳态波形运行时,在启动时间和停止时间输出的振幅是平滑过渡的,振幅不会紊乱,线性马达带来的振感平稳顺畅,振动噪 声低。
上述内容中提出的平滑变化可以理解成在启动时间内,线性马达的振幅由零平缓的过 渡为稳定振动状态的振幅;在停止时间内,线性马达的振幅由稳定振动状态的振幅平缓的 过渡为零。参见图8b,启动时间(0到t1)的原始振动波形41,经过平滑处理后得到振动波形42。同理,停止时间(t2到t3)的原始振动波形43,经过平滑处理后得到振动波形44。
如前所述,振动描述文件用于生成线性马达的振动波形,振动波形是一种位移码流,体现出线性马达在不同时间点下的位移。并且,线性马达在每个时间点下的位移与线性马 达在每个时间点的振幅是等同概念,所以按照步骤S504的方式调整稳态波形的振幅,就是在调整振动描述文件中启动时间和停止时间内每一个时间点下的位移。
在一种可能的实现方式中,平滑变化的方式由下述两种:
第一种,对线性马达的启动时间和停止时间内的稳态振动波形,叠加余弦波形。
线性马达在启动时间和停止时间内的稳态振动波形叠加余弦波形,利用余弦波形在每 一个时间点的数值,抵消到线性马达在启动时间和停止时间的稳态振动波形中过于尖锐的 值。
余弦波形包括两条,一条余弦波形的时长与启动时间的时长相同,包括与启动时间内 包括的多个时间点的振幅值等同数量的波形数值,余弦波形的波形数值,与启动时间内的 波形的波峰处的振幅值反向,与启动时间内的波形的波谷处的振幅值同向,保证将启动时间内的波形削峰填谷。同理,另一条余弦波形的时长与停止时间的时长相同,余弦波形的 每个时间点的数值,与停止时间内的波形的波峰处的振幅值反向,与停止时间内的波形的 波谷处的振幅值同向,保证将停止时间内的波形削峰填谷。
第二种,利用斜坡算法处理线性马达的启动时间和停止时间内的稳态振动波形。
斜坡算法就是让波形变成斜坡样子的算法。利用斜坡算法处理,可以理解的是将启动 时间内和停止时间内的线性马达的稳态波形的振幅与系数作乘。当然,在启动时间内和停 止时间内,每一个时间点的稳态波形的振幅相乘的系数,也是平缓变化的。
结合图9,本申请实施例提供了一种振动波形处理装置,包括:
获取单元601,用于获取振动描述文件。
识别单元602,用于识别振动描述文件描述的波形类型。
提取单元603,用于若振动描述文件描述的波形类型为稳态波形,从振动描述文件中 提取启动时间以及停止时间。
处理单元604,用于将启动时间内的稳态波形的振幅处理为:由零平滑变化至线性马 达稳定振动状态的振幅,并将停止时间内的稳态波形的振幅处理为:由线性马达稳定振动 状态的振幅平滑变化至零。
需要说明的是,本实施例提供的振动波形处理装置中,在识别单元602识别出振动描 述文件描述的波形为稳态波形时,处理单元604在启动时间内,处理线性马达的振幅由零 平滑变化至线性马达稳定振动状态的振幅,并且,在停止时间内,处理线性马达的振幅由 线性马达稳定振动状态的振幅平滑变化至零,可以控制线性马达在启动时间和停止时间平缓运行,克服过驱问题。
可选地,本申请的另一实施例中,处理单元604执行将启动时间内的稳态波形的振幅 处理为:由零平滑变化至线性马达稳定振动状态的振幅,用于:
对启动时间内的稳态波形叠加余弦波形,得到启动时间内的振幅由零平滑过渡为线性 马达稳定振动状态的振幅的稳态波形;
或者,采用斜坡算法处理启动时间内的稳态波形,得到启动时间内的振幅由零平滑过 渡为线性马达稳定振动状态的振幅的稳态波形。
可选地,本申请的另一实施例中,处理单元604执行将停止时间内的稳态波形的振幅 处理为:由线性马达稳定振动状态的振幅平滑变化至零时,用于:
对停止时间内的稳态波形叠加余弦波形,得到停止时间内的振幅由线性马达稳定振动 状态的振幅平滑过渡为零的稳态波形;
或者,采用斜坡算法处理停止时间内的稳态波形,得到停止时间内的振幅由线性马达 稳定振动状态的振幅平滑过渡为零的稳态波形。
本申请上述几个实施例提供的波形振动处理装置中,获取单元601、识别单元602、提取单元603和处理单元604的具体工作过程,可参见对应方法实施例内容,此处不再赘述。
本申请另一实施例提供了一种可读存储介质,当可读存储介质中的指令由电子设备的 处理器执行时,使得电子设备能够执行如上述任一实施例中的振动波形的处理方法。
可选地,可读存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机 可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据 存储设备等。
参见前述,振动描述文件是控制线性马达发生振动的关键要素之一:振动描述文件用 于描述线性马达的振动波形,振动波形指示马达振动过程中的各项振动参数,例如振幅和 频率等。
可见,振动描述文件的作用是指示马达如何进行振动,因此用户可以通过振动描述文 件配置预期的振动效果。而实际中,线性马达是振动的实施主体,因此,振动效果与线性 马达的属性相关,所以,虽然基于预期的振动效果配置振动描述文件,但振动描述文件控制的线性马达产生的振动,不一定能够实现预期的振动效果。
基于上述不同种类的线性马达的特点,申请人在研究的过程中发现:线性马达不能提 供预期的振动效果主要体现在:
不同种的线性马达或者同种线性马达,其谐振频率是有差异的。不同谐振频率的线性 马达均会应用到电子设备中,因此,同一种振动描述文件描述的瞬态驱动波形的频率,并 不能与实施振动的每一种线性马达的谐振频率相适配。例如:振动描述文件定义频率为 230hz的振动波形,实施振动的线性马达的谐振频率为150hz和230hz。如前所述,线性马 达的谐振频率为150hz,线性马达输出频率为150hz的驱动波形,才能保证在很小的驱动力促使线性马达产生很大的振动。振动描述文件定义的振动波形的频率为230hz,谐振频率为150hz的线性马达输出频率为230hz振动波形,会使得线性马达输出的振感达不到要求。因此,有必要对振动描述文件描述的振动波形进行调整,使振动波形与实施振动的线性马达的每一种谐振频率适配,以保证获得预期的振动效果,并获得预期的振感。
同样以图4d展示的应用场景为示例进行说明。图4d展示的应用场景属于一款游戏, 随着该游戏的普及,安装游戏的电子设备越来越多,安装游戏的电子设备中的线性马达可 能是不同种的,也可能是同一种但是源自于不同厂家或不同生成批次。如此,电子设备中 的线性马达的谐振频率会不同。如此带来的就是,用户在不同电子设备中玩同一款游戏, 由于线性马达的谐振频率的差异性,会感受到不同的振感。甚至线性马达输出的振感与应用场景中对象的振动描述文件的预期差异性很大。如此,需要采用下述实施例公开的线性 马达的振动波形调整方法,基于实施振动的线性马达的特点,对振动描述文件描述的振动波形进行调整,使振动波形与实施振动的线性马达的谐振频率适配,以保证获得预期的振 动效果以及振感。
可以理解的是,下述实施例提供的线性马达的振动波形调整方法,可以完成线性马达 处于第一振动状态。
本申请实施例中,内部存储器121存储的是用于执行驱动波形的调整方法的指令。处 理器110可以通过执行存储在内部存储器121中的指令,对振动描述文件描述的驱动波形进行调整,以保证驱动波形的视频与每一种线性马达的谐振频率相适配,屏蔽掉不同线性 马达不同谐振频率的差异。
本申请实施例中,马达191可以采用多种线性马达,处理器110执行线性马达的驱动 程序以驱动线性马达运行。并且,线性马达的驱动程序驱动线性马达运行时所涉及到的驱 动波形的调整方案,如本申请下述实施例提供的驱动波形的调整方法。
本申请实施例所述的线性马达的驱动波形的调整方法,可以应用在图3a中的波形处理 模块。以下将对线性马达的驱动波形的调整方法进行详细说明。
图10示出了一种驱动波形的调整方法,应用于电子设备,电子设备包括线性马达。该驱动波形的调整方法包括:
S401、获取振动描述文件。
振动描述文件包括多种振动参数,通过解析振动描述文件,可得到振动描述文件包括 的每一种振动参数,且利用振动参数可生成线性马达的振动波形。线性马达的振动波形可 以理解为一种位移码流,体现出线性马达在不同时间点下的位移。
如前所述,X轴线性马达的动子可以在X轴或Y轴方向运动,Z轴线性马达的动子可以在Z轴方向运动。因此,无论是哪一种线性马达,线性马达受波形驱动的运行,都是指 线性马达的动子在对应轴(X轴、Y轴或Z轴)上的运行,动子在对应轴上运动的表现形 式就是动子在不同时刻沿对应轴发生位移变化,通过动子沿在不同时刻的位移变化,带来 被用户感受到的振感。
振动描述文件中的振动参数可以包括但不限于:强度、锐度(也称为频率)、波形类型、启动时间以及停止时间。
S402、识别振动描述文件描述的波形类型。
若振动描述文件描述的波形类型为瞬态波形,则执行步骤S203。
振动描述文件的振动参数包括波形类型,通过分析波形类型,可以确定出振动描述文 件描述的是稳态波形还是瞬态波形。
可以理解的是:稳态波形为驱动线性马达经历上升阶段、稳定振动阶段和停止阶段的 振动波形。上升阶段、稳定振动阶段和停止阶段为线性马达从开始振动到结束振动经历的 三个阶段。在上升阶段,线性马达的振动形式表现为自由衰减振动伴随强迫振动,在稳定振动阶段线性马达的振动形式表现为等幅的稳态强迫振动,在停止阶段线性马达的振动形 式表现为自由衰减振动。
瞬态波形为驱动线性马达仅经历上升阶段的振动波形。
S403、按照与线性马达的谐振频率相适配的波形数组的参数,生成多个半周期波形, 并组合生成的多个半周期波形,得到振动描述文件描述的瞬态波形。
振动描述文件包括的振动参数,定义出要需要生成的振动波形。因此,基于振动描述 文件描述的瞬态波形的振动参数,可以生成满足振动参数需求的振动波形。例如:振动描 述文件定义的振动参数包括:频率为230hz,基于该振动参数,可以生成频率为230hz的振动波形。
但是,如前所述,由于不同的线性马达,其适配的频率(也称谐振频率)是有差异性的。振动描述文件描述的瞬态波形的频率,在与线性马达的谐振频率不匹配时,会带来线性马达振感达不到振动描述文件描述的瞬态波形振感要求。因此,需要处理振动描述文件描述的瞬态波形的振动参数,生成与线性马达的适配的每一种谐振频率相匹配的驱动波形。也可以理解成:需要屏蔽掉线性马达的谐振频率的差异,控制多个不同谐振频率的线性马达,均能输出同种振动描述文件描述的瞬态波形。例如:针对振动描述文件定义频率为230hz的振动波形,需要由谐振频率为230hz的线性马达以及150hz的线性马达来输出。
为了保证振动描述文件描述的瞬态波形,可以由不同谐振频率的线性马达来输出,预 先定义出线性马达的每一种谐振频率对应的波形数组,并存储在电子设备的内部存储器。 波形数组包括:多个半周期波形,每个半周期波形是以瞬态波形的半个周期为拆分单位,对线性马达谐振频率适配的瞬态波形进行拆分得到。当然,在电子设备的内部存储器存储 波形数组,是存储用于生成每半个周期的波形的频率和振幅。
另外,振动描述文件描述的瞬态波形周期是固定的,例如,一个瞬态波形包括3个周 期的波形,每种谐振频率的线性马达的波形数组则会包括:6个半周期波形对应的频率和 振幅。
在振动描述文件描述的波形类型为瞬态波形的情况下,从预先存储的每一种谐振频率 对应的波形数组中,筛选出电子设备中线性马达的谐振频率对应的波形数组,按照波形数 组中指示的多个半周期波形的频率和振幅,生成每一个半周期波形,再组合生成的每一个半周期波形,得到瞬态波形。
图11示出了另一种驱动波形的调整方法,也应用于电子设备,电子设备包括线性马 达。该驱动波形的调整方法包括:
S501、获取振动描述文件。
S502、识别振动描述文件描述的波形类型。
若振动描述文件描述的波形类型为瞬态波形,则执行步骤S503。
步骤S501和步骤S502的具体内容,可参见图4对应实施例中步骤S501和步骤S502的内容。
S503、按照振动描述文件描述的瞬态波形的振动参数,从预先存储的多个驱动波形中, 选择与线性马达的谐振频率相匹配的驱动波形。
可以理解的是:从预先存储的多个驱动波形中,选择与线性马达的谐振频率相匹配的 驱动波形,也需要符合振动描述文件描述的瞬态波形的振动参数要求。这种预先存储多个 驱动波形,按照振动描述文件描述的瞬态波形的振动参数和线性马达的谐振频率的要求,选择出一个驱动波形来驱动线性马达的方式,也可以实现屏蔽掉线性马达的谐振频率的差 异性,当然,由于是直接选择,能够做到得到驱动波形的效率更高。
由于线性马达的谐振频率需求是有限的,不同的线性马达需要不同谐振频率的驱动波 形。因此,可以预先生成适应不同谐振频率的线性马达的驱动波形,存储至电子设备的内 部存储器,这些预先生成的驱动波形,就称之为原子驱动波形。
原子驱动波形的生成方式,由下述三种:
第一种,将线性马达所涉的每一种谐振频率的驱动波形,均作为原子驱动波形。如此, 可以保证线性马达的每一种谐振频率,均能从存储的原子驱动波形中,找到相适配的原子 驱动波动。但是本生成方式需要占用较大的存储空间。
第二种,将线性马达所涉的频率范围内中的一段频率范围中的每一个频率的驱动波 形,作为原子驱动波形,例如:线性马达所涉的所有频率的频率范围为70hz到185hz,将本频率范围内的每一个频率的驱动波形,作为原子驱动波形;或者将70hz到185hz中的165hz到175hz中的每一个频率的驱动波形,作为原子驱动波形。当然,线性马达所涉的 频率范围内中的一段频率范围的选定标准也可以是:命中率较高的频率范围,命中率较高 同样指代被多数线性马达所采用的频率组成的范围。本生成方式生成的原子驱动波形数量相对第一种较少,不需要占用较大的存储空间,随之带来的是有可能存在无法找到线性马 达的一种谐振频率对应的原子驱动波形。
第三种,将命中率较高的线性马达的谐振频率的驱动波形,作为原子驱动波形。命中 率较高的谐振频率是指:在一系列的线性马达的谐振频率中,属于被多数线性马达所采用 的谐振频率。例如:频率范围由70hz到185hz中,70、80、90、100、120、130、150和 170这几个频率属于被多数线性马达所设定的谐振频率,会被设定为命中率较高的谐振频率。本生成方式在第二种的基础上,又进一步降低了存储空间的要求,同样无法找到线性 马达的一种谐振频率对应的原子驱动波形的概率也增加了。
振动描述文件描述的瞬态波形频率是多样化的,即可以要求线性马达按照不同频率的 波形来运行。基于此,在每一种原子驱动波形要包含的驱动波形的数量为多个,每一个驱 动波形适配振动描述文件描述的瞬态波形的一种频率需求。例如:谐振频率为165hz的线 性马达的原子驱动波形包括:频率为80hz的瞬态波形对应的驱动波形,频率为81hz的瞬 态波形对应的驱动波形,频率为82hz的瞬态波形对应的驱动波形……
由上述内容可以看出:预先存储了适配线性马达不同谐振频率的原子驱动波形,因此, 针对线性马达的每一种谐振频率,均能从存储的原子驱动波形中筛选出适配的原子驱动波 形,并且,由于每一种原子驱动波形包括适配振动描述文件描述的瞬态波形的多种频率需求的驱动波形,因此,从筛选出适配的原子驱动波形中还可以进一步筛选出符合振动描述 文件描述的瞬态波形的频率的驱动波形,如此,可以保证多种谐振频率的线性马达,可以 输出同一个振动描述文件描述的瞬态波形,实现了对线性马达的谐振频率差异性的屏蔽。
基于上述内容可知:预先存储的多个驱动波形是以成组的方式进行保存的,一组驱动 波形(也就是上述内容的一种原子驱动波形)对应线性马达的一种谐振频率;每一组驱动波形中包含至少一个驱动波形,每一个驱动波形适应于振动描述文件描述的瞬态波形的一 种频率需求。
因此,步骤S503的一种实施方式为:
从多组驱动波形中,选择出频率与线性马达的谐振频率相匹配的一组驱动波形。
在一个示例中:振动描述文件的振动参数包括:振动频率为82hz;线性马达的谐振频 率为165hz,按照本步骤的方式从多组驱动波形中,筛选出频率为165hz的一组驱动波形。
从选择出的一组驱动波形中,按照振动描述文件描述的瞬态波形的振动参数选择驱动 波形。
续接上述示例:165hz的一组驱动波形包括多个驱动波形,每一个驱动波形是对应振 动波形的一个频率,基于此,从165hz的一组驱动波形,筛选出频率为82hz的驱动波形。
在一个可能的实施方式中,采用上述提出的第二种和第三种原子驱动波形的生成方式 生成原子驱动波形并存储,若在预先存储的多种原子驱动波形中,无法筛选出与线性马达 的谐振频率相匹配的原子驱动波形,先从存储的多种原子驱动波形中,选择出与线性马达的谐振频率最接近的原子驱动波形,再从选择出的原子驱动波形中,按照振动描述文件描 述的瞬态波形的振动参数选择驱动波形之后,按照线性马达的谐振频率,对选择出的驱动 波形进行插值运算,得到与线性马达的谐振频率相匹配的驱动波形。与线性马达的谐振频 率最接近,可以理解成频率与线性马达的谐振频率相同或者差值最小。
可选地,按照线性马达的谐振频率,对选择出的驱动波形进行插值运算,可以是采用 重采样算法,对驱动波形进行采样,得到多个采样点的数值,再将多个采样点的数值插入 到驱动波形,完成对驱动波形的调整,得到与线性马达的谐振频率相匹配的驱动波形。
图12示出了另一种驱动波形的调整方法,也应用于电子设备,电子设备包括线性马 达。该驱动波形的调整方法包括:
S601、获取振动描述文件。
S602、识别振动描述文件描述的波形类型。
若振动描述文件描述的波形类型为瞬态波形,则执行步骤S603。
步骤S601和步骤S602的具体内容,可参见图4对应实施例中步骤S401和步骤S402的内容。
S603、从预先存储的多个振动波形中,选择出符合振动描述文件描述的瞬态波形的振 动参数要求的振动波形。
针对驱动线性马达按照不同频率下的振动波形进行输出的需求,预先存储多个频率的 振动波形(为瞬态振动波形),若振动描述文件描述的波形类型是瞬态波形,则按照振动描述文件描述的瞬态波形的振动参数,从预先存储的多个振动波形进行筛选,选择出与振 动描述文件描述的瞬态波形的振动参数相匹配的振动波形。
S604、处理选择出的振动波形,得到与线性马达的谐振频率相匹配的驱动波形。
在选择出符合振动描述文件描述的瞬态波形的振动参数要求的振动波形后,利用反解 马达电压驱动算法对振动波形进行反解运算,得到与线性马达的谐振频率相匹配的驱动波 形。
在利用反解马达电压驱动算法对振动波形进行反解运算过程中,会按照线性马达的谐 振频率对振动波形进行调整,以得到与线性马达的谐振频率相匹配的驱动波形。
反解马达电压驱动算法本身具有将振动波形反解成适配线性马达的谐振频率的功能, 本实施例中,利用该算法的此种功能,实现了屏蔽掉线性马达的谐振频率差异性的目的。
还需要说明的是,若预先存储的多个频率的振动波形,不足以覆盖驱动线性马达按 照所有频率的波形进行输出的需求,那在预先存储的多个振动波形中,无法选择出符合振 动描述文件描述的瞬态波形的振动参数的振动波形,例如:预先存储了100hz到130hz的振动波形,振动描述文件描述的瞬态波形的频率为135hz,针对振动描述文件描述的瞬态波形的135hz频率需求,在100hz到130hz的振动波形中不能找对等同频率的振动波形。
在此种情况下,需要从预先存储的多个振动波形中,选择出与振动描述文件描述的瞬 态波形的振动参数最接近的振动波形,当然,这种最接近就是指代频率与振动描述文件描 述的瞬态波形的振动参数差值最小。按照振动描述文件描述的瞬态波形的振动参数,对选择出的振动波形进行插值运算,以得到与振动描述文件描述的瞬态波形的振动参数相匹配 的振动波形。
在一个可能的实施方式中,按照振动描述文件描述的瞬态波形的振动参数,对选择出 的振动波形进行插值运算,可以是采用重采样算法,对振动波形进行采样,得到多个采样 点的数值,再将多个采样点的数值插入到振动波形,完成对振动波形的调整,得到与振动描述文件描述的瞬态波形的振动参数相匹配的振动波形。
还需要说明的是,振动波形处理模块和驱动波形处理模块采用图2、图3或者图4对应的三个实施例内容,生成驱动波形,其实现原理可以理解成:依据振动描述文件描述的振动参数以及线性马达的谐振频率,生成线性马达的驱动波形。如此可以看出:在振动描述文件描述的波形类型为瞬态波形的情况下,依据振动描述文件描述的振动参数以及线性马达的谐振频率,生成线性马达的驱动波形,保证了生成的线性马达的驱动波形能够适配该线性马达的谐振频率,实现了生成屏蔽马达差异性的瞬态波形来驱动线性马达。
本申请实施例提供了一种驱动波形的调整装置,如图13所示,包括:
获取单元701,用于获取振动描述文件。
识别单元702,用于识别振动描述文件描述的波形类型。
生成单元703,用于若振动描述文件描述的波形类型为瞬态波形,依据振动描述文件 描述的振动参数以及线性马达的谐振频率,生成线性马达的驱动波形。
可选地,本申请的另一实施例中,生成单元703执行依据振动描述文件描述的振动参 数以及线性马达的谐振频率,生成线性马达的驱动波形时,用于:按照与线性马达的谐振 频率相适配的波形数组的参数,生成多个半周期波形;再组合生成的多个半周期波形,得 到振动描述文件描述的瞬态波形。
可选地,本申请的另一实施例中,生成单元703执行依据振动描述文件描述的振动参 数以及线性马达的谐振频率,生成线性马达的驱动波形时,用于:从预先存储的多个驱动 波形中,选择与线性马达的谐振频率相匹配的驱动波形,与线性马达的谐振频率相匹配的 驱动波形,符合振动描述文件描述的瞬态波形的振动参数要求。
可选地,本申请的另一实施例中,多个驱动波形以成组方式保存,一组驱动波形对应 线性马达的一种谐振频率;每一组驱动波形中包含至少一个驱动波形,每一个驱动波形适 应于线性马达的振动波形的一种频率需求;
生成单元703执行从预先存储的多个驱动波形中,选择与线性马达的谐振频率相匹配 的驱动波形,与线性马达的谐振频率相匹配的驱动波形,符合振动描述文件描述的瞬态波 形的振动参数要求时,用于:从多组驱动波形中,选择出与线性马达的谐振频率相匹配的一组驱动波形;从选择出的一组驱动波形中,确定出符合振动描述文件描述的瞬态波形的 振动参数要求的驱动波形。
可选地,本申请的另一实施例中,生成单元703执行依据振动描述文件描述的振动参 数以及线性马达的谐振频率,生成线性马达的驱动波形时,用于:
从预先存储的多个振动波形中,选择出符合振动描述文件描述的瞬态波形的振动参数 要求的振动波形;处理选择出的振动波形,得到与线性马达的谐振频率相匹配的驱动波形。
本申请上述几个实施例提供的驱动波形的调整装置中,获取单元701、识别单元702 和生成单元703的具体工作过程,可参见对应方法实施例内容,此处不再赘述。
本申请另一实施例提供了一种可读存储介质,当可读存储介质中的指令由电子设备的 处理器执行时,使得电子设备能够执行如上述任一实施例中的驱动波形的调整方法。
可选地,可读存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机 可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据 存储设备等。
振动描述文件是控制线性马达发生振动的关键要素之一:振动描述文件用于描述线性 马达的振动波形,振动波形指示马达振动过程中的各项振动参数,例如振幅和频率等。在 以下实施例中,振动描述文件的振动波形(包括稳态波形以及瞬态波形)是指,解析振动 描述文件得到振动参数,以振动参数参数振动而产生的波形。因此可以称为振动描述文件 描述的振动波形。
可见,振动描述文件的作用是指示马达如何进行振动,因此用户可以通过振动描述文 件配置预期的振动效果。在产品实现中,电子设备的振动效果是通过线性马达实现的,因 此,振动效果与线性马达的属性相关,所以,虽然电子设备的振动效果是通过配置振动描述文件实现,但由于不同线性马达的参数不同,即使使用相应的振动描述文件进行配置, 不同的线性马达产生的振动也不一定能够实现预期的振动效果。
基于上述不同种类的线性马达的特点,申请人在研究的过程中发现:线性马达不能提 供预期的振动效果的原因主要体现在以下两方面:
一方面,线性马达提供的振感弱,而不能被用户感知或者用户感知的振感与场景不匹 配。例如,在游戏场景下,本该被用户强烈感知到的爆炸场景下的振感,无法被用户感知。 导致该问题的原因为振动描述文件的稳态波形的频率与实施振动的线性马达不适配。例如,振动描述文件的稳态波形是对X轴线性马达的调试生成,即在给出预期振感的情况下, 基于对X轴线性马达的调试,使得X轴线性马达能够提供预期的振感,得到振动描述文件。 但振动描述文件要驱动的线性马达为Z轴线性马达,如前所述,与X轴线性马达相比,Z轴线性马达的体积更小,所以振幅更小,因此同等参数控制下实现的振感,比X轴线性马达的振感弱。又因为Z轴线性马达的谐振频率比X轴线性马达的谐振频率高,所以,在频 率低于某个阈值后,Z轴线性马达的振动不能被感知。
另一方面虚拟按键的触感反馈效果不好:,在实体按键被虚拟按键替代的情况下,在 用户按压虚拟按键后,使用不同的振动效果使得用户获得不同的振感,以向用户提供“软” 或“硬”的按压触感,但因为振动描述文件的瞬态波形与实施振动的线性马达不匹配而无 法实现。例如,X轴线性马达使用频率相对较低,时长较长,振幅可大可小的瞬态波形模 拟“软”触感(使用频率相对较高,时长较短,振幅可大可小的瞬态波形模拟“硬”触感。因为Z轴线性马达的谐振频率比X轴线性马达的谐振频率低,所以导致低频振感降低,因此,如果模拟“软”振感的瞬态波形由振动描述文件依据X轴线性马达的特性描述,并由 Z轴线性马达实施,则可能导致用户感知不到,而可能无法实现“软”和“硬”触感的区 分。
因此,有必要对振动描述文件的振动波形进行调整,使振动波形与实施振动的线性马 达适配,以保证获得预期的振动效果,并获得预期的振感。
本申请实施例公开的线性马达的振动波形调整方法,基于实施振动的线性马达的特 点,对振动描述文件描述的振动波形进行调整,使振动波形与实施振动的线性马达适配, 以保证获得预期的振动效果以及振感。
马达191包括至少一个图1b所示的Z轴线性马达,因为Z轴线性马达的体积更小,所以能够节省电子设备内部的空间,有利于电子设备的轻薄化。在此情况下,可能振动描述文件描述的振动波形不能通过Z轴线性马达实现预期的振动效果,所以,有必要对振动描述文件描述的振动波形进行调整。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。 处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以及数据处理。例如,在本实施例中,处理器110可以通过执行存储在内部存储器121中的指令、装置或者模块,对振动描述文件描述的振动波形进行调整。又例如,处理器110响 应于触控屏中的虚拟按键输入的信号,使用调整后的振动波形驱动线性马达振动,以对用户按压虚拟按键的操作做出振动反馈。
内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系 统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备的各种功能应用以及数据处理。
本申请实施例所述的线性马达的振动波形调整方法,可以应用在图3a中的振动波形处 理模块。以下将对线性马达的振动波形调整方法进行详细说明。
图14为本申请实施例公开的一种线性马达的振动波形调整方法,包括以下步骤:
S401、将振动描述文件描述的稳态波形的频率,映射至目标频率。
稳态波形为驱动线性马达经历上升阶段、稳定振动阶段和停止阶段的振动波形。上升 阶段、稳定振动阶段和停止阶段为线性马达从开始振动到结束振动经历的三个阶段。在上 升阶段,线性马达的振动形式表现为自由衰减振动伴随强迫振动,在稳定振动阶段线性马达的振动形式表现为等幅的稳态强迫振动,在停止阶段线性马达的振动形式表现为自由衰 减振动。
本步骤中,目标频率依据下限频率、上限频率以及预设的第一映射规则获取。
下限频率满足:线性马达在下限频率的振幅大于预设阈值。设置预设阈值的目的在于, 保证振动强度能够被用户感知,所以,预设阈值可以按照线性马达的实际振动效果预先配 置。因为振幅不大于预设阈值的情况下,可能线性马达的振感较弱,而降低了用户对振动的感受度,所以下限频率的振幅大于预设阈值,能够不降低用户对振动的感受度。
上限频率属于线性马达的谐振频率范围,即可以是谐振频率范围中的任意一个数值。 因为线性马达的谐振频率范围内的频率,对应较大的振幅,所以上限频率设置在谐振频率 范围内,也是为了保证线性马达具有较大的振动强度,从而保证用户能够感知到振感。
第一映射规则指示:从下限频率以及上限频率映射为目标频率的规则。第一映射规则 可以被预先配置,具体内容将在以下实施例详细说明。
以图15为例,振动描述文件描述的稳态波形的频率为170Hz,即X轴线性马达的谐振频率。而假设实施振动的线性马达为Z轴线性马达,Z轴线性马达的谐振频率通常为235Hz,因此,直接使用振动描述文件描述的振动波形控制Z轴线性马达振动,可能不能 获得预期的振感。因此,按照S201,能够将图15示例的稳态波形映射为图16示例的稳态 波形,可以看出,频率从170Hz映射为目标频率235Hz。
可以看出,经过频率映射后,目标频率与振动描述文件描述的稳态波形的频率无关, 而仅与实施振动的线性马达相关。因此,使得振动波形与实施振动的线性马达更为适配, 即使实施振动的线性马达的体积较小,也能保证在同等控制参数下,与较大体积的线性马达具有相当的振动效果以及振感,即S401能够解决以上第一方面的问题。
S402、将振动描述文件描述的瞬态波形,扩展为波形序列。
瞬态波形为驱动线性马达仅经历上升阶段的振动波形。
如前另一方面所述,“软”触感需要频率较低的瞬态波形实现,但Z轴线性马达的谐振频谱高于X轴线性马达,所以,有可能振动描述文件描述的瞬态波形,控制Z轴线性马 达产生的振动,并无法被感知到振感,所以,本步骤中,将振动描述文件描述的瞬态波形 扩展为多个瞬态波形组成的波形序列,波形序列与瞬态波形相比,增加了振动次数,即振 感从“振一下”变成“振多下”,所以有利于用户感知到振感。
本步骤中,波形序列由多个目标瞬态波形组成,波形序列的频率与振动描述文件描述 的瞬态波形的频率相同,目标瞬态波形的频率与线性马达适配。
目标瞬态波形的频率与线性马达适配是指,目标瞬态波形的频率在线性马达的谐振频 率范围内。例如,目标瞬态波形的频率为线性马达的谐振频率,保证线性马达具有较大的 振动强度,从而用户能够感知到振感,为用户进一步感受到“软”或“硬”奠定基础。图17为振动描述文件描述的瞬态波形的示例,图18为基于图17的瞬态波形扩展得到的波形序列。图18中的波形序列的频率与图17所示的瞬态波形的频率相等。
如前所述,振动时长是“软”和“硬”的区别特征,并且,波形序列的频率与振动描述文件描述的瞬态波形的频率相同,所以,通过将描述文件描述的瞬态波形,扩展为波形序列,能够通过波形序列中的瞬态波形的数量的不同,使得波形序列能够沿袭振动描述文件描述的瞬态波形的预期的触感,实现对“软”和“硬”的区分。
综上所述,即使实施振动的线性马达的体积较小,也能够实现对“软”或“硬”的模拟,即S402能够解决以上第二方面的问题。
综上所述,本实施例提供的线性马达的振动波形调整方法,能够改善线性马达的振动 效果,从而使得线性马达实现(用户)所需振感。
需要说明的是,因为振动描述文件可以包括多个振动事件,也就是说,既可以包括瞬 态振动事件,也可以包括稳态振动事件,所以,S402与S402可以至少执行一步,或者都执行。
图19为本申请实施例公开的又一种线性马达的振动波形调整方法,与上述实施例相 比,主要区别在于,进一步限定了频率的映射规则以及振幅的确定规则。
如图19中包括以下步骤:
S901、识别振动描述文件的波形为稳态波形和瞬态波形中的至少一个。
可以理解的是,振动描述文件中可以包括指示稳态波形或瞬态波形的标识。通过该标 识识别波形的类型。
S902、将振动描述文件的稳态波形的频率,映射至目标频率。
其中,目标频率依据下限频率、上限频率以及预设的第一映射规则获取。
可选的,第一映射规则为目标频率范围内的频率分布满足的指数规则,其中,目标频 率范围由下限频率与上限频率限定。也就是说,分布在目标频率范围中的频率满足指数规 则:假设目标频率范围为[a,b],则[a,b]中的其它频率值与a以及b满足指数关系。
需要说明的是,本实施例中采用指数规则,通过以下实验过程得到:获得在各种规则 (包括指数规则、线性规则等)下映射得到的频率,测算各个频率对应的用户的振感参数, 并通过比较得到最优的振感参数,最优的振感参数对应的频率为最优频率。实验证明,指 数规则映射得到最优频率。可以理解的是,振感参数可以依据需求设置,这里不做限定。
可见,从用户振感的角度选择指数关系,能够使得用户获得更好的振感,以获取更好 的用户使用感受。
S903、将振动描述文件描述的稳态波形的振幅,以第二映射规则,映射至目标振幅。
第二映射规则为,第一目标振幅范围内的振幅分布满足的类sin函数规则,第一目标 振幅范围由线性马达的下限振幅与线性马达的上限振幅限定。也就是说,分布在第一目标 振幅范围中的振幅满足类sin函数规则:假设第一目标振幅范围为[c,d],则[c,d]中的其它振 幅值与c以及d满足类sin函数关系。
具体的,线性马达的下限振幅通常为能够感受到的最小振幅例如0,上限振幅为指定 频率下的振幅,例如谐振频率对应的振幅。振幅从这个范围中选择,能够保证振动被感知。 进一步的,类sin函数规则与上述指数规则选取的过程类似,即以振感为依据从多种规则 中选取,因此,对于振幅的限定,不仅从振幅这一维度保证用户感知到振感,进一步的,使用类sin函数规则,能够使得用户获得更好的振感。
S902-S903的应用场景的示例为:用户依据预期的振感,基于对X线性马达的调试生 成稳态波形,再进一步生成稳态波形的振动描述文件。
而电子设备上配置的线性马达为Z轴线性马达,即振动描述文件要驱动的线性马达为 Z轴线性马达,与X轴线性马达相比,Z轴线性马达的体积更小,并且,谐振频率也有较大差异,因此同等参数控制下实现的振感,比X轴线性马达的振感弱,所以,振动描述文 件在电子设备上驱动Z轴线性马达产生的振动,并不能实现预期的振感。现有技术中,用 户需要针对Z轴线性马达重新配置振动描述文件,而本实施例中,S902-S903通过频率以 及振幅的映射,重新定义与Z轴线性马达适配的频率以及振幅,以对适配X轴线性马达的 振动波形进行调整,得到适配Z轴线性马达的振动波形,从而对Z轴线性马达实现与X轴 线性马达类似的振感提供了可能。因此,用户无需重新配置振动描述文件,即实现使用相 同的振动描述文件,在不同类型的线性马达上均可实现预期的振感。
S904、将振动描述文件描述的瞬态波形,扩展为波形序列。
其中,波形序列由多个目标瞬态波形组成。波形序列的频率与振动描述文件描述的瞬 态波形的频率相同。
可选的,目标瞬态波形的振幅与线性马达适配,例如目标瞬态波形的振幅为线性马达 的谐振频率的振幅。
进一步的,波形序列的振幅依据第三映射规则,从振动描述文件描述的瞬态波形的振 幅映射获取。具体的,第三映射规则包括:第二目标振幅范围内的振幅分布满足的类sin 函数规则,第二目标振幅范围由线性马达的下限振幅与线性马达的上限振幅限定。对于振幅的限定,能够进一步提高振动效果。并且,使用类sin函数规则,能够使得用户获得更好的振感,以获取更好的用户使用感受。
可以理解的是,本实施例中,以第二映射规则与第三映射规则相同为例,实际中,第 二映射规则与第三映射规则也可以相同,这里不做限定。
S904应用场景的示例为:用户依据预期的“软”和“硬”触感,基于对X线性马达 的调试生成稳态波形,再进一步生成稳态波形的振动描述文件。而电子设备上配置的线性 马达为Z轴线性马达,即振动描述文件要驱动的线性马达为Z轴线性马达,与X轴线性马 达相比,Z轴线性马达的体积更小,并且,谐振频率也有较大差异,同等参数控制下实现 的振感,比X轴线性马达的振感弱,甚至X轴线性马达的振动波形的低频部分,在Z轴 线性马达上的振幅不能被感知,所以,在配置Z轴线性马达的电子设备上,用户无法获得虚拟按键按压后的“软”或“硬”的触感。而S904中,通过增加瞬态波形的数量,能够 模拟“软”触感,进一步因为波形序列的频率与振动描述文件描述的瞬态波形的频率相同, 所以能够实现“软”和“硬”触感的区分。所以,用户无需重新配置振动描述文件,即实 现使用相同的振动描述文件,在不同类型的线性马达上均可实现“软”和“硬”触感的区分。
S905、在调整后的振动波形的振动参数不超过安全限值的情况下,将调整后的稳态波 形或波形序列,作为对振动描述文件描述的波形的调整结果。
具体的,安全限值可以包括振幅限值。振幅限值依据线性马达的最大电压以及最大行 程确定。设置安全限值的目的在于,降低因调整振动波形而导致的线性马达损坏的可能性。
综上所述,本实施例公开的线性马达的振动波形调整方法,具有以下有益效果:
1、在振动描述文件与线性马达不适配的情况下,能够改善小体积的线性马达的振感, 使得小体积的线性马达能够实现更丰富的振感体验。
2、提高了振动描述文件的通用性,即使振动描述文件与线性马达不适配,也无需为 了适配线性马达而修改振动描述文件,而是通过振动波形的调整,得到与线性马达适配的 振动波形。
3、在调整振动波形的前提下,保障线性马达的安全。
需要说明的是,以上实施例虽然以小体积的线性马达举例,并不限于小体积的线性马 达,而是适用于所有线性马达。
图20为本申请实施例公开的一种线性马达的振动波形调整装置,包括:映射单元以 及扩展单元。可选的,所述装置还可以包括安全检测单元。
其中,映射单元用于将振动描述文件描述的稳态波形的频率,映射至目标频率,所述 目标频率依据下限频率、上限频率以及预设的第一映射规则获取,所述下限频率满足:所 述线性马达在所述下限频率的振幅大于预设阈值,所述上限频率属于所述线性马达的谐振频率范围。
扩展单元用于将所述振动描述文件描述的瞬态波形,扩展为波形序列,所述波形序列 由多个目标瞬态波形组成,所述波形序列的频率与所述振动描述文件描述的瞬态波形的频 率相同,所述目标瞬态波形的频率与所述线性马达适配。
安全检测单元用于在调整后的振动波形的振动参数不超过安全限值的情况下,将调整 后的稳态波形或波形序列,作为对所述振动描述文件描述的波形的调整结果。
可选的,第一映射规则可以为:目标频率范围内的频率分布满足的指数规则,所述目 标频率范围由所述下限频率与所述上限频率限定。
可选的,映射单元还可以用于:在所述将振动描述文件描述的稳态波形的频率,映射 至目标频率之后,将所述振动描述文件描述的所述稳态波形的振幅,以第二映射规则,映 射至目标振幅,所述第二映射规则包括:第一目标振幅范围内的振幅分布满足的类sin函 数规则,所述第一目标振幅范围由所述线性马达的下限振幅与所述线性马达的上限振幅限 定。
可选的,所述波形序列中的所述目标瞬态波形的振幅与所述线性马达适配。
以上各个单元的功能的具体实现方式,可以参见上述实施例,这里不再赘述。
图20所示的线性马达的振动波形调整装置,能够实现预期的振动效果,尤其在振动 描述文件描述的振动波形基于较大体积的线性马达实现,而实施振动的线性马达的体积较 小的情况下,使得体积较小的线性马达实现与体积较大的线性马达相当的振动效果。
本申请实施例还提供了一种可读存储介质,其上存储有计算机程序,其中,所述计算 机程序被处理器执行时实现上述实施例所述的线性马达的振动波形调整方法,以改善线性 马达振动效果。
本申请实施例提供的一种线性马达的控制装置,应用于电子设备,所述电子设备包括 线性马达,包括:
确定单元,用于响应于操作指令,确定操作指令的操作对象的振动描述文件;
输出单元,用于输出符合振动描述文件的波形要求的振感,振感由处于第一振动状态 的线性马达提供,第一振动状态与所述线性马达属性相适配。
为支持上述实施例中确定单元和输出单元的工作,线性马达的控制装置中的执行单元 包括如下:
图21为本申请实施例提供的一种线性马达的控制装置,包括:获取单元801、第一生 成单元802、第二生成单元803以及控制单元804。
其中,获取单元801用于获取振动描述文件。第一生成单元802用于依据所述振动描 述文件描述的振动参数以及线性马达的属性,生成振动波形。第二生成单元803用于依据 所述线性马达的属性以及所述振动波形,生成驱动波形。控制单元804用于使用所述驱动 波形控制所述线性马达。
获取单元、第一生成单元、第二生成单元可以理解成图3a中波形处理模块中的执行单 元,第一生成单元属于振动波形处理模块,第二生成单元属于驱动波形处理模块。控制单 元指代图3a中合成模块和驱动IC。
可选的,获取单元801用于获取振动描述文件,用于:呈现第一界面,第一界面展示获取的波形;获取对所述波形的调整指令;响应调整指令,生成振动描述文件。
可选的,获取单元801执行响应所述调整指令,生成振动描述文件,用于:响应在交互界面对所述波形的调整指令,显示调整后波形;生成所述调整后波形的振动描述文件。
可选的,获取单元801执行响应在交互界面对所述波形的调整指令,生成调整后波形 用于:响应对交互界面中显示的波形上预设的调整点的操作指令,在所述波形上显示调整 点;响应在第一振动参数调整模式下对所述调整点的拖拽指令,显示所述第一振动参数调整后的波形,所述第一振动参数包括振幅和/或频率。
可选的,波形包括稳态波形;第一振动参数还包括:时间参数;获取单元801执行响应在第一振动参数调整模式下对所述调整点的拖拽指令,显示所述第一振动参数调整后的波形用于:响应在所述时间调整模式下对所述调整点的在时间轴上拖拽的指令,显示调整所述时间参数后的波形。
可选的,获取单元801执行响应在交互界面对所述波形的调整指令,显示调整后波形 包括:响应对所述交互界面中显示的波形的拖拽指令,显示调整时间参数后的波形。
可选的,获取单元801还用于:在交互界面中显示被调整的参数的数值对应的指示信 息。
可选的,获取单元801执行响应所述调整指令,生成振动描述文件,用于:响应叠加指令,叠加多个波形,并生成叠加后的波形的振动描述文件;所述多个波形为所述波形的至少一部分波形。
可选的,第一生成单元802用于依据所述振动描述文件描述的振动参数以及所述线性 马达的属性,生成振动波形时,用于获取所述振动描述文件的稳态波形的频率,并根据预 设的第一映射规则以及所述线性马达的频率,映射至目标频率;和/或,获取所述振动描述 文件的瞬态波形,扩展为波形序列,所述波形序列由多个目标瞬态波形组成,所述波形序 列的频率与所述振动描述文件的瞬态波形的频率相同,所述目标瞬态波形的频率与所述线性马达适配。
可选的,所述目标频率依据下限频率、上限频率以及预设的第一映射规则获取,所述 下限频率满足:所述线性马达在所述下限频率的振幅大于预设阈值,所述上限频率属于所 述线性马达的谐振频率范围。
可选的,在所述映射至目标频率之后,第一生成单元802还用于:
将所述稳态波形的振幅,以第二映射规则,映射至目标振幅,所述第二映射规则包括: 第一目标振幅范围内的振幅分布满足的类sin函数规则,所述第一目标振幅范围由所述线 性马达的下限振幅与所述线性马达的上限振幅限定。
可选的,所述波形序列的振幅依据第三映射规则,从所述振动描述文件的瞬态波形的 振幅映射获取;所述第三映射规则包括:第二目标振幅范围内的振幅分布满足的类sin函 数规则,所述第二目标振幅范围由所述线性马达的下限振幅与所述线性马达的上限振幅限定。
可选的,第一生成单元802用于依据所述振动描述文件描述的振动参数以及所述线性 马达的属性,生成振动波形时,用于:若所述振动描述文件描述的波形类型为稳态波形, 从所述振动描述文件中提取启动时间以及停止时间;将所述启动时间内的所述稳态波形的振幅处理为满足:由零平滑变化至所述线性马达稳定振动状态的振幅,并将所述停止时间 内的所述稳态波形的振幅处理为满足:由所述线性马达稳定振动状态的振幅平滑变化至 零。
可选的,第一生成单元802将启动时间内的稳态波形的振幅处理为:由零平滑变化至 线性马达稳定振动状态的振幅,用于:
对所述启动时间内的稳态波形叠加余弦波形,得到所述启动时间内的振幅由零平滑过 渡为所述线性马达稳定振动状态的振幅的稳态波形;
或者,采用斜坡算法处理所述启动时间内的稳态波形,得到所述启动时间内的振幅由 零平滑过渡为所述线性马达稳定振动状态的振幅的稳态波形。
可选的,第一生成单元802将停止时间内的稳态波形的振幅处理为:由线性马达稳定 振动状态的振幅平滑变化至零,用于:
对所述停止时间内的稳态波形叠加余弦波形,得到所述停止时间内的振幅由所述线性 马达稳定振动状态的振幅平滑过渡为零的稳态波形;
或者,采用斜坡算法处理所述停止时间内的稳态波形,得到所述停止时间内的振幅由 所述线性马达稳定振动状态的振幅平滑过渡为零的稳态波形。
可选的,第一生成单元802以及第二生成单元803工作时,用于:
若所述振动描述文件描述的波形类型为瞬态波形,依据所述振动描述文件描述的振动 参数以及线性马达的谐振频率,生成所述线性马达的驱动波形。
可选的,第一生成单元802以及第二生成单元803依据振动描述文件描述的振动参数 以及线性马达的谐振频率,生成所述线性马达的驱动波形,包括:
按照与所述线性马达的谐振频率相适配的波形数组的参数,生成多个半周期波形;
组合生成的多个半周期波形,得到所述振动描述文件描述的瞬态波形。
可选的,第一生成单元802以及第二生成单元803执行依据振动描述文件描述的振动 参数以及线性马达的谐振频率,生成所述线性马达的驱动波形,用于:
从预先存储的多个驱动波形中,选择与线性马达的谐振频率相匹配的驱动波形,所述 与所述线性马达的谐振频率相匹配的驱动波形,符合所述振动描述文件描述的瞬态波形的 振动参数要求。
可选的,所述预先存储的多个驱动波形以成组方式保存,一组驱动波形对应线性马达 的一种谐振频率;每一组驱动波形中包含至少一个驱动波形,每一个驱动波形适应于线性 马达的振动波形的一种频率需求;
第一生成单元802以及第二生成单元803执行从预先存储的多个驱动波形中,选择与 所述线性马达的谐振频率相匹配的驱动波形,所述与所述线性马达的谐振频率相匹配的驱 动波形,符合所述振动描述文件描述的瞬态波形的振动参数要求,用于:
从多组驱动波形中,选择出与所述线性马达的谐振频率相匹配的一组驱动波形;从选 择出的一组驱动波形中,确定出符合所述振动描述文件描述的瞬态波形的振动参数要求的 驱动波形。
可选的,第一生成单元802以及第二生成单元803执行依据振动描述文件描述的振动 参数以及线性马达的谐振频率,生成所述线性马达的驱动波形,用于:从预先存储的多个振动波形中,选择出符合所述振动描述文件描述的瞬态波形的振动参数要求的振动波形;处理选择出的振动波形,得到与所述线性马达的谐振频率相匹配的驱动波形。
为了实现更强的功能以及更优的用户体验,可以针对电子设备的不同业务场景设计线 性马达的振动,例如,在手机播放音乐的过程中,线性马达随着音乐的节奏振动。但电子 设备的不同业务有重合的可能性,例如,在手机播放音乐的过程中接收到信息,即音乐播放业务与信息业务重合。在电子设备的不同业务有重合的情况下,某个业务场景下的线性 马达的振动,可能对其它业务造成干扰,接上例,用户查看信息的情况下,手机仍然播放音乐,线性马达仍被控制跟随音乐振动,则振动会对用户查看信息造成干扰。
具体的,假设电子设备在执行实现第一事件(如音频播放)的程序的过程中,第二事 件(如短信息应用)被触发(如接收到短信息),则实现第一事件的程序被中止,并且实现第二事件的程序被执行,直到第二事件完成后,继续执行实现第一事件的程序。或者, 第一事件与第二事件同时执行,即实现第一事件的程序与实现第二事件的程序被并行执 行。
简单而言,中断就是某个事件的执行被打断,或者某个事件的执行过程中新增并行执 行的事件。
中断事件是指打断正在执行的事件,或者,在其它事件正在执行时新加入与其它事件 并行执行的事件。
可见,原本为了实现更优的用户体验而针对业务场景设计的振动,在一定情况下,反 而可能会降低用户体验,可见,电子设备的振动功能有待进一步完善,为了完善电子设备 的振动功能以及避免降低用户体验的可能性,本申请实施例提供了驱动波形的调整方法以及装置。
马达191包括图1a以及图1b所示的线性马达的至少一个。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。 处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以及数据处理。例如,在本实施例中,处理器110可以通过执行存储在内部存储器121中的指令、装置或者模块,对驱动波形进行调整。
内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系 统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区 可存储电子设备使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备的各种功能应用以及数据处理。
本申请实施例所述的驱动波形的调整方法,可以应用在图3a中的驱动波形处理模块, 进一步的,还需振动描述文件的生成模块的配合。
下面将对本申请实施例所述的驱动波形的调整方法进行详细的说明。
图22a为本申请实施例公开的一种驱动波形的调整方法,包括以下步骤:
S401、监测到中断事件。
需要被监测的中断事件的信息,例如标识,可以预先按照需求配置,在监测到中断事 件的信息后,确定监测到中断事件。
S402、响应中断事件,获取中断事件对应的动态描述文件。
振动描述文件用于描述振动波形的振动参数,例如振动波形的频率和振幅等。动态描 述文件是指描述在中断事件发生的过程中控制线性马达振动的振动参数的振动描述文件。
与动态描述文件对应的是静态描述文件,静态描述文件是指描述在中断事件没有发生 的情况下,控制线性马达振动的振动参数的振动描述文件。
也就是说,在中断事件没有发生的情况下,使用静态描述文件控制线性马达的振动, 而在中断事件发生的过程中,使用动态描述文件控制线性马达的振动,以实现减轻线性马 达的振动对于中断事件的干扰。
本实施例中,中断事件以短信息应用接收到短信息为例,被中断的事件以播放音乐为 例。
中断事件与动态描述文件之间的对应关系,可以预先配置,例如,在动态描述文件中 写入对应的中断事件的标识。
可选的,动态描述文件可以被预先配置,本步骤从存储空间中获取,也可以,响应中 断事件,生成中断事件对应的动态描述文件。动态描述文件的生成方法将在以下实施例中 说明。
S403、使用中断事件对应的动态描述文件,调整驱动波形。
如前所述,动态描述文件和静态描述文件均描述振动参数,例如振幅和频率。并且, 动态描述文件的作用为减轻线性马达的振动对于中断事件的干扰。所以,可以理解的是, 动态描述文件描述的振动参数中,至少有一项振动参数的数值小于静态描述文件中该振动参数的数值。
例如,静态描述文件描述的瞬态波形01的振幅为0.9,而动态描述文件描述的瞬态波 形02的振幅为0.3,静态描述文件描述的瞬态波形01与动态描述文件描述的瞬态波形02的频率相同。
因此,如图22b,S403的具体实现步骤为:
S4031、对比静态描述文件描述的振动参数与动态描述文件描述的振动参数的数值的 差异。
例如,依次对比静态描述文件描述的振幅值与动态描述文件描述的振幅值之差。可以 理解的是,可以预先配置需对比的参数,仅对比对于振感影响较大的参数,例如振幅,以 降低计算量。
静态描述文件的具体获取过程,将在以下实施例中说明。
可以理解的是,静态描述文件描述的振动参数可以与动态描述文件描述的振动参数相 同,也可以不同。
进一步的,动态描述文件描述的振动参数的种类为静态描述文件描述的振动参数的种 类的子集。也就是说,因为动态描述文件在中断事件发生的情况下使用,结合上述应用场 景,所以有可能无需对驱动波形的全部参数进行调整,而仅调整与振感相关性较强的参数即可,因此,动态描述文件可以仅描述与振感相关性较强的参数,所以,动态描述文件描 述的参数的种类可能少于静态描述文件描述的参数的种类。
例如,控制线性马达跟随播放的音乐振动的静态描述文件中包括振幅、频率、振动时 间等参数,而在短信息应用的进程被执行的过程中,控制线性马达振动的静态描述文件中 仅包括振幅。在对比两份文件时,只需对比振幅的数值即可,以降低对比的代价(包括用户可感受到的时延等)。
可以理解的是,差异是指同类的参数之间数值的差异。
S4032、依据差异,生成调整系数。
例如依据静态描述文件描述的振幅与动态描述文件描述的振幅的数值差异,生成振幅 调整系数。
S4033、使用调整系数,调整静态描述文件转换的驱动波形。
例如,使用振幅调整系数,调整调整静态描述文件转换的驱动波形的振幅。进一步的, 例如振幅调整系数为0.3,则将驱动波形的振幅乘以0.3,得到调整后的振幅。
还以在手机播放音乐的过程中接收到信息这种场景举例:在信息应用接收到短信息 后,电子设备调整驱动波形,例如,将驱动波形的振幅乘以调整系数0.3,使得驱动波形跟随音乐的振动的强度减弱,从而减轻对于用户查看短信息的干扰。
可以理解的是,可选的,在中断事件的持续期间,使用动态描述文件调整驱动波形, 在中断事件结束后,停止依据动态描述文件对驱动波形的调整,而还使用静态描述文件描 述的振动波形转换为驱动波形,再使用驱动波形驱动线性马达。
综上所述并结合以上场景举例,在播放音乐而没有接收到信息的过程中,使用静态描 述文件描述的振动波形转换为驱动波形,再使用驱动波形控制线性马达振动,实现线性马 达伴随音乐振动,在接收到信息后,使用动态描述文件描述的振动波形,调整驱动波形,从而降低驱动波形的振幅,在用户查看信息的情况下,线性马达的振幅会变小,所以,能够降低对于用户的干扰。
可见,本实施例所述的驱动波形的调整方法,响应中断事件,使用动态描述文件对调 整驱动波形,使得线性马达的振动适应于中断事件,跟随场景的变换调整振感,从而为用 户提供更优的振感体验。并且,还扩展了振动功能。
如前所述,静态描述文件以及动态描述文件均可以被预先配置在存储空间,可供图3a 所示的驱动波形处理模块可从存储空间读取并使用,或者由图3a所示的驱动波形处理模块 生成。
图23为静态描述文件的生成方法的流程,包括以下步骤:
S501、展示第一基础波形。
可以呈现第一界面,第一界面展示第一基础波形。
其中,第一基础波形为依据待应用振动的对象的特点获取的波形,或者,从预先配置 的场景振感库中选择的波形。
具体的,待应用振动的对象可以为音频,依据音频的音效特点,例如:包络、频率、振幅、音色和节奏等,生成基础波形。可以理解的是,待应用振动的对象可以从外部接收,例如接收用户导入的音频文件。如图6a所示的交互界面,用户可点击交互界面右上角的音符图标51,导入音频文件,交互界面展示依据导入的音频文件生成的基础波形。
具体的,预先配置的场景振感库中包括多种场景下的振感对应的波形,例如,(游戏 中)打枪场景下的振感对应的波形、以及(游戏中)爆炸场景下的振感对应的波形。场景振感库中的波形文件,可以被增加、删除或修改。
可以理解的是,可以展示交互界面,用户可以基于交互界面,从场景振感库中选定至 少一种场景下的振感对应的波形,如图6a所示的交互界面用户可点击交互界面右上角的文 件图标52,导入场景振感库中的波形,响应用户的选择操作触发的选择指令,将用户从场 景振感库中选择的波形作为基础波形。
S502、响应对第一基础波形的调整指令,生成静态描述文件。
本步骤中所述的调整指令可以指示:波形的参数的调整,例如对第一基础波形的频率、 开始时间、持续时间以及振幅等振动参数进行调整,还可以指示叠加波形,如叠加不同振 动事件的第一基础波形。
进行叠加的多个波形,不限于事件。波形叠加的具体的计算方式,可以参见现有技术, 例如,幅值相加,这里不再赘述。波形叠加的目的在于,通过叠加呈现扩展多种振动效果, 能够支持多种场景的振动效果的叠加,使得用户的振动感受更为丰富。
响应调整指令,对基础波形进行调整,并响应保存控件55发出的指令,生成振动描述文件。可选的,响应保存控件55发出的指令,还可以在交互界面显示调整后的波形, 即振动描述文件描述的波形。
S503、在调整后的波形的参数的数值超过调整限值的情况下,展示提示信息。
提示信息用于提示调整超过调整限值。
可选的,在调整后的波形的参数的数值超过调整限值的情况下,不响应调整指令。
具体的,调整限值可以包括但不限于:振幅限值、启动时间限值以及停止时间限值。
其中,振幅限值可以依据待控制的线性马达的最大位移确定。启动时间限值以及停止 时间限值可以依据待控制的线性马达的属性确定。
设置调整限值的目的在于,保护待控制的线性马达不被损坏。
与现有技术中技术人员手写代码形成振动描述文件的方式相比,能够提高振动描述文 件的获取效率,并且,能够降低用户获取振动描述文件的技术门槛。因为先提供基础波形, 所以使得用户可以基于基础波形获取所需的振动描述文件,从而进一步提高效率以及降低用户获取振动描述文件的技术门槛。
动态描述文件的生成流程,与图6b所示的流程的区别在于:基础波形,为了与静态描述文件相区分,这里称为第二基础波形,从外源接收,具体的,外源可以为应用、设备 等波形的提供源头设备。其它步骤与图6b所示的流程相同,这里不再赘述。动态描述文件也可以可视化并且被调整,为后续动态调整线性马达的振动,提供了更大的可能性和灵 活性。
需要说明的是,以上实施例中,交互界面仅为一种实现方式,具有更高的便利性和更 好的用户体验,但对基础波形的调整方式,并不限于基于交互界面实现。
图24为本申请实施例公开的一种驱动波形的调整装置,包括:获取单元以及调整单 元。可选的,所述装置还可以包括提示单元。
获取单元用于响应中断事件,获取所述中断事件对应的振动描述文件;所述振动描述 文件用于描述振动参数。调整单元用于使用所述振动参数,调整驱动波形。提示单元用于 在调整后的波形的所述参数的数值超过调整限值的情况下,展示提示信息,所述提示信息用于提示调整超过所述调整限值。
可选的,所述调整单元用于使用所述振动参数,调整驱动波形的具体实现方式为:对 比静态描述文件描述的振动参数与动态描述文件描述的振动参数的数值的差异;所述静态 描述文件用于在所述中断事件没有发生的情况下,控制所述线性马达振动;所述动态描述文件为所述中断事件对应的振动描述文件;依据所述差异,生成调整系数;使用所述调整 系数,调整所述静态描述文件转换的驱动波形,使得调整的准确性高且便于操作。
可选的,所述动态描述文件描述的振动参数的种类为所述静态描述文件描述的振动参 数的种类的子集,以降低对比的代价。
可选的,所述获取单元还用于:依据应用的振动特点获取波形,或者,从预先配置的 场景振感波形中选择波形,展示第一基础波形;响应对所述第一基础波形的调整指令,生 成所述静态描述文件,能够提高效率以及降低用户获取振动描述文件的技术门槛。
可选的,所述获取单元用于获取所述中断事件对应的振动描述文件的具体实现方式 为:从外源接收并展示第二基础波形;响应对所述第二基础波形的调整指令,生成所述中 断事件对应的振动描述文件。动态描述文件也可以可视化并且被调整,为后续动态调整线性马达的振动,提供了更大的可能性和灵活性。
可选的,所述调整指令指示调整波形的参数以及叠加多个波形的至少一项。
图24所示的驱动波形的调整装置,不仅能够扩展振动功能,即响应中断事件调整驱 动波形,以使得马达的振动适应于中断事件,还能够提升用户的体验。
本申请实施例还提供了一种可读存储介质,其上存储有计算机程序,其中,所述计算 机程序被处理器执行时实现上述实施例所述的线性马达的振动波形调整方法,以改善线性 马达振动效果。
可选的,如图21所示,线性马达的控制装置还包括:
调整单元805,用于在控制单元804使用所述驱动波形控制所述线性马达过程中,响 应中断事件,获取所述中断事件对应的振动描述文件;振动描述文件用于描述振动参数; 使用所述振动参数,调整驱动波形。
调整单元可以理解成是图3a中波形处理模块中的执行单元。
可选的,调整单元805执行使用所述振动参数,调整驱动波形,用于:对比静态描述文件描述的振动参数与动态描述文件描述的振动参数的数值的差异;所述静态描述文件用于在所述中断事件没有发生的情况下,控制所述线性马达振动;所述动态描述文件为所述中断事件对应的振动描述文件;依据所述差异,生成调整系数;使用所述调整系数,调整 所述静态描述文件转换的驱动波形。
可选的,动态描述文件描述的振动参数的种类为静态描述文件描述的振动参数的种类 的子集。
可选的,静态描述文件的获取过程包括:依据应用的振动特点获取波形,或者,从预 先配置的场景振感波形中选择波形,展示第一基础波形;响应对所述第一基础波形的调整 指令,生成所述静态描述文件。
可选的,调整单元805执行获取中断事件对应的振动描述文件包括:从外源接收并展 示第二基础波形;响应对所述第二基础波形的调整指令,生成所述中断事件对应的振动描 述文件。
本实施例所述的线性马达的控制装置,能够控制各种线性马达振动,具有较高的通用 性。

Claims (10)

1.一种线性马达的控制方法,应用于电子设备,所述电子设备包括线性马达,其特征在于,包括:
响应于操作指令,确定所述操作指令的操作对象的振动描述文件;
输出符合所述振动描述文件的波形要求的振动,所述振动由处于第一振动状态的线性马达提供,所述第一振动状态与所述线性马达属性相适配;
其中,所述振动描述文件由以下过程生成:
响应于在交互界面对导入控件的操作指令,在所述交互界面显示导入的基础波形;所述基础波形包括基于多媒体文件生成的波形以及场景振感波形的至少一个;
响应于在所述交互界面对所述基础波形的调整指令,显示调整后的波形;所述响应在所述交互界面对所述基础波形的调整指令,显示调整后波形包括:响应对所述交互界面中显示的所述基础波形上预设的调整点的操作指令,在所述基础波形上显示调整点;响应在第一振动参数调整模式下对所述调整点的拖拽指令,显示所述第一振动参数调整后的波形,所述第一振动参数包括振幅和/或频率;
响应于在所述交互界面对生成控件的操作指令,生成所述操作对象的振动描述文件。
2.根据权利要求1所述的线性马达的控制方法,其特征在于,所述输出符合所述振动描述文件的波形要求的振动,包括:
输出在启动时间内具有第一变化趋势,在停止时间内具有第二变化趋势的波形对应的振动,所述第一变化趋势为:稳态波形的振幅由零平滑变化至线性马达稳定振动状态的振幅,所述第二变化趋势为:稳态波形的振幅由所述线性马达稳定振动状态的振幅平滑变化至零。
3.根据权利要求1所述的线性马达的控制方法,其特征在于,所述输出符合所述振动描述文件的波形要求的振动,所述振动由处于第一振动状态的线性马达提供,所述第一振动状态与所述线性马达属性相适配,包括:
输出频率为目标频率的稳态波形对应的振动,所述目标频率由所述振动描述文件的稳态波形的频率,根据预设的第一映射规则以及所述线性马达的频率映射得到;
和/或,输出波形序列对应的振动,所述波形序列的频率与所述振动描述文件的瞬态波形的频率相同,所述目标瞬态波形的频率与所述线性马达适配。
4.根据权利要求1所述的线性马达的控制方法,其特征在于,所述输出符合所述振动描述文件的波形要求的振动的过程中,还包括:
响应中断事件,获取所述中断事件对应的振动描述文件;所述振动描述文件用于描述振动参数;
调整所述振动为所述中断事件对应的振动,所述中断事件对应的振动符合所述中断事件对应的振动描述文件的波形要求。
5.根据权利要求1所述的线性马达的控制方法,其特征在于,所述基础波形包括稳态波形;所述第一振动参数还包括:时间参数;
所述响应在第一振动参数调整模式下对所述调整点的拖拽指令,显示所述第一振动参数调整后的波形包括:
响应在所述时间调整模式下对所述调整点的在时间轴上拖拽的指令,显示调整所述时间参数后的波形。
6.根据权利要求1所述的线性马达的控制方法,其特征在于,所述响应在所述交互界面对所述基础波形的调整指令,显示调整后波形包括:
响应对所述交互界面中显示的波形的拖拽指令,显示调整时间参数后的波形。
7.根据权利要求1所述的线性马达的控制方法,其特征在于,所述响应在所述交互界面对所述基础波形的调整指令,显示调整后波形包括:
响应在所述交互界面拖拽多个波形至时间范围重叠的指令,显示所述多个波形叠加后的波形。
8.一种线性马达的控制装置,应用于电子设备,所述电子设备包括线性马达,其特征在于,包括:
确定单元,用于响应于操作指令,确定所述操作指令的操作对象的振动描述文件;
输出单元,用于输出符合所述振动描述文件的波形要求的振动,所述振动由处于第一振动状态的线性马达提供,所述第一振动状态与所述线性马达属性相适配;
其中,所述振动描述文件由以下过程生成:
响应于在交互界面对导入控件的操作,在所述交互界面显示导入的基础波形;所述基础波形包括基于多媒体文件生成的波形以及场景振感波形的至少一个;
响应于在所述交互界面对所述基础波形的调整指令,显示调整后的波形;所述响应在所述交互界面对所述基础波形的调整指令,显示调整后波形包括:响应对所述交互界面中显示的所述基础波形上预设的调整点的操作指令,在所述基础波形上显示调整点;响应在第一振动参数调整模式下对所述调整点的拖拽指令,显示所述第一振动参数调整后的波形,所述第一振动参数包括振幅和/或频率;
响应于在所述交互界面对生成控件的操作指令,生成所述操作对象的振动描述文件。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,其上存储有程序;
当所述程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至7中任意一项所述的线性马达的控制方法。
10.一种可读存储介质,其特征在于,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的线性马达的控制方法。
CN202110668263.XA 2021-05-20 2021-06-16 线性马达的控制方法、装置、设备及可读存储介质 Active CN115378302B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2022/073173 WO2022242217A1 (zh) 2021-05-20 2022-01-21 线性马达的控制方法、装置、设备及可读存储介质
EP22743700.1A EP4113820A4 (en) 2021-05-20 2022-01-21 METHOD AND DEVICE FOR CONTROLLING A LINEAR MOTOR, DEVICE AND READABLE STORAGE MEDIUM

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
CN202110553961 2021-05-20
CN202110552989 2021-05-20
CN202110553942 2021-05-20
CN2021105529967 2021-05-20
CN2021105529897 2021-05-20
CN202110553963 2021-05-20
CN2021105539422 2021-05-20
CN202110553954 2021-05-20
CN2021105539545 2021-05-20
CN202110552996 2021-05-20
CN2021105539615 2021-05-20
CN2021105539634 2021-05-20

Publications (2)

Publication Number Publication Date
CN115378302A CN115378302A (zh) 2022-11-22
CN115378302B true CN115378302B (zh) 2023-12-12

Family

ID=84059021

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110668263.XA Active CN115378302B (zh) 2021-05-20 2021-06-16 线性马达的控制方法、装置、设备及可读存储介质

Country Status (3)

Country Link
EP (1) EP4113820A4 (zh)
CN (1) CN115378302B (zh)
WO (1) WO2022242217A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116345984B (zh) * 2023-05-29 2023-11-07 荣耀终端有限公司 一种线性马达的控制方法及电子设备
CN116418270B (zh) * 2023-05-29 2023-11-03 荣耀终端有限公司 一种线性马达的控制方法及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105322842A (zh) * 2014-08-01 2016-02-10 昆山广兴电子有限公司 马达的驱动控制方法及驱动控制系统
CN106059440A (zh) * 2016-05-31 2016-10-26 维沃移动通信有限公司 一种移动终端的振动马达的控制方法及移动终端
CN106133650A (zh) * 2014-03-31 2016-11-16 索尼公司 触觉再现设备,信号生成装置,触觉再现系统和触觉再现方法
WO2018223535A1 (zh) * 2017-06-07 2018-12-13 华为技术有限公司 一种移动终端的振动提醒方法和移动终端
CN109887528A (zh) * 2019-02-15 2019-06-14 上海艾为电子技术股份有限公司 马达随音频振动的方法及装置、存储介质及电子设备
CN111552377A (zh) * 2020-03-30 2020-08-18 瑞声科技(新加坡)有限公司 振动信号的生成方法、装置、设备及存储介质
CN112269895A (zh) * 2020-11-06 2021-01-26 Oppo广东移动通信有限公司 一种振动控制方法、装置及计算机可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7646155B2 (en) * 2003-04-30 2010-01-12 Balck & Decker Inc. Generic motor control system
KR20140077125A (ko) * 2012-12-13 2014-06-23 임머숀 코퍼레이션 증가된 lra 대역폭을 구비한 햅틱 시스템
US9245429B2 (en) * 2013-09-06 2016-01-26 Immersion Corporation Haptic warping system
WO2021074107A1 (en) * 2019-10-14 2021-04-22 Lofelt Gmbh Systems and methods for authoring an audio signal and for transforming the authored audio signal into a haptic data file
CN111030412B (zh) * 2019-12-04 2022-04-29 瑞声科技(新加坡)有限公司 一种振动波形的设计方法及振动马达
CN112506341B (zh) * 2020-12-01 2022-05-03 瑞声新能源发展(常州)有限公司科教城分公司 一种振动效果的生成方法、装置、终端设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106133650A (zh) * 2014-03-31 2016-11-16 索尼公司 触觉再现设备,信号生成装置,触觉再现系统和触觉再现方法
CN105322842A (zh) * 2014-08-01 2016-02-10 昆山广兴电子有限公司 马达的驱动控制方法及驱动控制系统
CN106059440A (zh) * 2016-05-31 2016-10-26 维沃移动通信有限公司 一种移动终端的振动马达的控制方法及移动终端
WO2018223535A1 (zh) * 2017-06-07 2018-12-13 华为技术有限公司 一种移动终端的振动提醒方法和移动终端
CN109887528A (zh) * 2019-02-15 2019-06-14 上海艾为电子技术股份有限公司 马达随音频振动的方法及装置、存储介质及电子设备
CN111552377A (zh) * 2020-03-30 2020-08-18 瑞声科技(新加坡)有限公司 振动信号的生成方法、装置、设备及存储介质
CN112269895A (zh) * 2020-11-06 2021-01-26 Oppo广东移动通信有限公司 一种振动控制方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
WO2022242217A1 (zh) 2022-11-24
EP4113820A1 (en) 2023-01-04
CN115378302A (zh) 2022-11-22
EP4113820A4 (en) 2024-02-28

Similar Documents

Publication Publication Date Title
CN112231025B (zh) Ui组件显示的方法及电子设备
WO2020211701A1 (zh) 模型训练方法、情绪识别方法及相关装置和设备
CN115866121B (zh) 应用界面交互方法、电子设备和计算机可读存储介质
CN113630572B (zh) 帧率切换方法和相关装置
CN111078091A (zh) 分屏显示的处理方法、装置及电子设备
US20230421900A1 (en) Target User Focus Tracking Photographing Method, Electronic Device, and Storage Medium
CN110633043A (zh) 一种分屏处理方法及终端设备
CN115378302B (zh) 线性马达的控制方法、装置、设备及可读存储介质
WO2021052139A1 (zh) 手势输入方法及电子设备
CN113805487B (zh) 控制指令的生成方法、装置、终端设备及可读存储介质
CN113986070B (zh) 一种应用卡片的快速查看方法及电子设备
CN110471604A (zh) 一种多应用切换方法和相关装置
EP4170440A1 (en) Home device control method, terminal device, and computer-readable storage medium
CN110058729B (zh) 调节触摸检测的灵敏度的方法和电子设备
CN111399659A (zh) 界面显示方法及相关装置
WO2022078116A1 (zh) 笔刷效果图生成方法、图像编辑方法、设备和存储介质
CN114115617B (zh) 一种应用于电子设备的显示方法及电子设备
CN115459643A (zh) 线性马达的振动波形调整方法及装置
WO2022242301A1 (zh) 振动描述文件的生成方法、装置、设备及可读存储介质
WO2022242300A1 (zh) 线性马达的振动波形调整方法及装置
WO2022242218A1 (zh) 驱动波形的调整方法、装置、设备及可读存储介质
WO2022242299A1 (zh) 驱动波形的调整方法及装置、电子设备、可读存储介质
CN115359156B (zh) 音频播放方法、装置、设备和存储介质
WO2022242216A1 (zh) 振动波形的处理方法、装置、设备及可读存储介质
EP3982658A1 (en) Wireless access point deployment method and apparatus

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40079821

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant