CN109324684A - 用于提供升压保护逻辑的装置和方法 - Google Patents
用于提供升压保护逻辑的装置和方法 Download PDFInfo
- Publication number
- CN109324684A CN109324684A CN201810844890.2A CN201810844890A CN109324684A CN 109324684 A CN109324684 A CN 109324684A CN 201810844890 A CN201810844890 A CN 201810844890A CN 109324684 A CN109324684 A CN 109324684A
- Authority
- CN
- China
- Prior art keywords
- driving signal
- time
- zero driving
- zero
- accumulation
- 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
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B6/00—Tactile signalling systems, e.g. personal calling systems
-
- 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
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/01—Indexing scheme relating to G06F3/01
- G06F2203/013—Force feedback applied to a game
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Apparatuses For Generation Of Mechanical Vibrations (AREA)
Abstract
本公开涉及用于提供升压保护逻辑的装置和方法。给出了用于提供升压保护逻辑的装置(诸如支持触觉的设备)和方法。所述方法包括由装置的控制电路接收要由触觉致动器使用以产生触觉效果的非零驱动信号。所述控制电路使非零驱动信号的第一部分以升压模式被施加到触觉致动器。所述控制电路检测升压持续时间超过第一限定时间阈值(诸如升压超时阈值),或者检测累积升压时间超过第一限定时间阈值。作为响应,所述控制电路使非零驱动信号的第二部分以限幅模式被施加到触觉致动器。
Description
相关申请的交叉引用
本申请要求2017年7月30日提交的美国临时专利申请第62/538, 768号和2017年9月6日提交的美国临时专利申请第62/554,708号的优先权,其全部内容通过引用结合于此。
技术领域
本发明涉及用于提供用于保护触觉致动器的升压保护逻辑的装置和方法,所述触觉致动器例如是移动设备、用户接口设备、可穿戴设备或其他消费电子设备中的触觉致动器。
背景技术
随着电子用户接口系统变得越来越普遍,人类与这些系统交互的接口的质量变得越来越重要。触觉反馈,或者更一般地说触觉效果,可以通过向用户提供提示、提供特定事件的提醒或者提供逼真的反馈以在虚拟环境中产生更强的沉浸感,来提高接口的质量。触觉效果的例子包括动觉触觉效果(例如主动力反馈和阻力反馈)、振动触感触觉效果和静电摩擦触觉效果。
发明内容
下面的详细描述本质上仅仅是示例性的,并不旨在限制本发明或本发明的应用和使用。此外,也没有意图被前面的技术领域、背景技术、摘要或下列详细描述中存在的任何明示或默示的理论约束。
这里的实施例的一个方面涉及一种用于向触觉致动器施加一个或多个非零驱动信号的方法和装置。该方法包括由该装置的控制电路接收非零驱动信号,该非零驱动信号将由触觉致动器使用以产生触觉效果,其中触觉致动器具有限定的额定最大电压或限定的最大额定电流。该方法还包括由控制电路使非零驱动信号的第一部分以升压模式施加到触觉致动器,其中非零驱动信号的第一部分被缩放到升压电压范围或升压电流范围,其中升压电压范围或升压电流范围的最小值或最大值的绝对值超过触觉致动器的限定额定最大电压或限定额定最大电流。控制电路检测升压持续时间超过第一限定时间阈值,其中升压持续时间是自升压模式的开始时间起的持续时间。响应于检测到升压持续时间超过第一限定时间阈值,控制电路使得非零驱动信号的第二部分以限幅模式被施加到触觉致动器,其中非零驱动信号的第二部分被缩放到限幅电压范围或限幅电流范围,其中限幅电压范围或限幅电流范围的最小值或最大值的绝对值不超过触觉致动器的限定额定最大电压或限定额定最大电流。
这里的实施例的一个方面涉及一种用于向触觉致动器施加一个或多个非零驱动信号的方法和装置,该方法包括:由装置的控制电路接收要施加到触觉致动器的非零驱动信号,其中触觉致动器具有限定的额定最大电压或限定的额定最大电流。控制电路还使得非零驱动信号以升压模式被施加到触觉致动器,其中非零驱动信号被缩放到升压电压范围或升压电流范围,其中升压电压范围或升压电流范围的最小值或最大值的绝对值超过触觉致动器的限定的额定最大电压或限定的额定最大电流。该方法还包括:在非零驱动信号结束之后,检测升压持续时间超过第一限定时间阈值,其中升压持续时间是自升压模式的开始时间起的持续时间;以及在非零驱动信号结束之后,检测将被施加到触觉致动器的后续非零驱动信号,其中非零驱动信号和后续非零驱动信号是连续的非零驱动信号。控制电路还使得后续非零驱动信号以限幅模式被施加,其中非零驱动信号的第二部分被缩放到限幅电压范围或限幅电流范围,其中限幅电压范围或限幅电流范围的最小值或最大值的绝对值不超过触觉致动器的限定额定最大电压或限定额定最大电流。
这里的实施例的一个方面涉及一种用于向触觉致动器施加一个或多个非零驱动信号的方法和装置,该方法包括:由装置的控制电路接收要施加到触觉致动器的非零驱动信号,其中触觉致动器具有限定的额定最大电压或限定的额定最大电流。控制电路使非零驱动信号以升压模式被施加,其中非零驱动信号的信号值被缩放到升压电压范围或升压电流范围,其中升压电压范围或升压电流范围的最小值或最大值的绝对值超过触觉致动器的限定的额定最大电压或限定的额定最大电流,并且其中非零驱动信号是以升压模式施加的一个或多个非零驱动信号之一。该方法还包括跟踪累积的升压时间,其中,该累积升压时间是控制电路在升压模式下施加所述一个或多个非零驱动信号所花费的累积时间量,其中,累积升压时间是从累积升压时间的最近重置起或在其最近重置之后计量的。该方法还包括跟踪累积的发热时间,其中该累积发热时间是:i)累积时间量,在该累积时间量中,升压模式下的一个或多个非零驱动信号已经以绝对值超过限定的额定最大电压或限定的额定最大电流的电压或电流被施加到触觉致动器,或者ii) 通过缩放累积时间量确定的第二时间量,在该累积时间量中,升压模式下的一个或多个驱动信号已经以绝对值超过限定的额定最大电压或限定的额定最大电流的电压或电流被施加。当非零驱动信号的第一部分在升压模式下被施加时,控制电路还检测累积升压时间超过第一限定时间阈值。响应于检测到累积升压时间超过第一限定时间阈值,控制电路使非零驱动信号的第二部分以限幅模式被施加,其中非零驱动信号的第二部分被缩放到限幅电压范围或限幅电流范围,其中限幅电压范围或限幅电流范围的最小值或最大值的绝对值不超过触觉致动器的限定额定最大电压或限定额定最大电流。
这里的实施例的一个方面涉及一种用于向触觉致动器施加一个或多个非零驱动信号的方法和装置,该方法包括:由装置的控制电路接收要施加到触觉致动器的非零驱动信号,其中触觉致动器具有限定的额定最大电压或电流。控制电路使非零驱动信号以升压模式被施加,其中非零驱动信号的信号值被缩放到升压电压范围或升压电流范围,其中升压电压范围或升压电流范围的最小值或最大值的绝对值超过触觉致动器的限定的额定最大电压或电流,并且其中非零驱动信号是以升压模式施加的一个或多个非零驱动信号之一。该方法还包括跟踪累积升压时间,其中,该累积升压时间是控制电路在升压模式下施加所述一个或多个非零驱动信号所花费的累积时间量,其中,累积升压时间是从累积升压时间的最近重置起或在其最近重置之后计量的。该方法还包括跟踪累积发热时间,其中累积发热时间是:i)累积时间量,在该累积时间量中,升压模式下的一个或多个非零驱动信号已经以绝对值超过限定的额定最大电压或电流的电压或电流被施加到触觉致动器,或者ii)通过缩放累积时间量确定的第二时间量,在该累积时间量中,升压模式下的一个或多个驱动信号已经以绝对值超过限定的额定最大电压或电流的电压或电流被施加。当非零驱动信号在升压模式下被施加时,控制电路检测累积升压时间超过第一限定时间阈值。控制电路还在非零驱动信号结束后接收后续非零驱动信号。该方法还包括使得后续非零驱动信号以限幅模式被施加,其中后续非零驱动信号被缩放到限幅电压范围或限幅电流范围,其中限幅电压范围或限幅电流范围的最小值或最大值的绝对值不超过触觉传动器的限定的额定最大电压或电流,其中没有非零驱动信号在限幅模式下被施加。
通过阅读下面参考附图的详细描述,本领域技术人员将清楚本发明实施例的特征、目标和优点。
附图说明
本发明的前述和其他特征和优点将从下面对附图所示的实施例的描述中变得显而易见。并入本文并形成说明书一部分的附图进一步用于解释本发明的原理,并使相关领域的技术人员能够实施和使用本发明。各图不是按比例绘制的。
图1、1A和1B示出了根据本发明实施例的用于提供升压保护逻辑的控制电路的框图。
图1C示出了根据本发明实施例的支持触觉的设备的实例。
图2A示出了根据本发明实施例的各种非零驱动信号。
图2B示出了根据本发明实施例的非零驱动信号的波形。
图3和4示出了根据本发明实施例的可由升压保护逻辑实现的状态机。
图5-7示出了根据本发明实施例的在升压模式或限幅模式下施加各种非零驱动信号。
图8示出了根据本发明实施例的可由升压保护逻辑实现的状态机。
图9和图10示出了根据本发明实施例的在升压模式或限幅模式下施加各种非零驱动信号。
图11示出了根据本发明实施例的可由升压保护逻辑实现的状态机。
图12A、图12B、图13、图14、图15A、图15B和图16示出了根据本发明实施例的由升压保护逻辑实现的各种方法。
图17示出了根据本发明实施例的在升压模式下施加的非零驱动信号的累积升压时间和累积发热时间。
图18-20示出了根据本发明实施例的用于基于累积升压时间、累积发热时间和/或累积冷却时间来施加各种非零驱动信号的方法。
图21A-21C示出了根据本发明实施例的在升压模式或限幅模式下施加各种非零驱动信号。
图22A和22B示出了根据本发明实施例的施加非零驱动信号,直到达到过零点或者直到达到限定的延长的总升压时间阈值。
图23示出了根据本发明实施例的用于在升压模式下施加非零驱动信号的方法。
图24A示出了根据本发明实施例的在升压模式下施加的非零驱动信号。
图24B示出了根据本发明实施例的在升压模式或限幅模式下施加的非零驱动信号。
图25和图26示出了根据本发明实施例的在升压模式或限幅模式下施加的非零驱动信号。
图27A和27B示出了根据本发明实施例的用于基于累积升压时间、累积发热时间和/或累积冷却时间来施加非零驱动信号的方法。
图28A和28B示出了根据本发明实施例的具有斜坡上升部分和/ 或斜坡下降部分的非零驱动信号。
具体实施方式
下面的详细描述本质上仅仅是示例性的,并不旨在限制本发明或本发明的应用和使用。此外,也没有意图被前面的技术领域、背景技术、摘要或下列详细描述中存在的任何明示或默示的理论约束。
这里的实施例涉及当触觉致动器被过驱动时保护触觉致动器免受损坏的升压保护逻辑。过驱动触觉致动器可以指例如用超过触觉致动器的额定最大参数值(例如,额定最大电压或额定最大电流)的驱动信号(例如,电压信号或电流信号)来驱动触觉致动器。当过驱动触觉致动器时,施加到触觉致动器的驱动信号可以是例如增强的驱动信号。例如,振幅修改电路或模块(诸如升压电路)可能会放大驱动信号以超过触觉致动器的额定最大电压。更一般而言,振幅修改电路可将驱动信号映射到超过触觉致动器的额定最大电压或额定最大电流的升压范围,诸如升压电压范围或升压电流范围,以便产生升压驱动信号,该升压驱动信号也可称为缩放驱动信号或映射驱动信号。增强的驱动信号可以理想地产生清晰(crisp)而强烈的触觉效果,例如用于模拟显示在移动设备的触摸屏上的虚拟主页按钮的机械点击的触觉效果。然而,驱动信号的这种增强增大了致动器因例如过热而损坏的风险。因此,这里的实施例涉及以硬件或软件实现的升压保护逻辑,其可以在采取措施保护触觉致动器免受损坏的同时增强驱动信号。
这里的升压保护逻辑的实施例的一个方面涉及如果振幅修改电路或模块或者更一般地控制电路已经在升压模式下操作太长时间,则退出升压模式。升压模式(boostmode)可以指其中驱动信号被缩放或以其他方式映射到升压电压范围或升压电流范围的模式。更一般地说,升压模式可以是允许被施加到触觉致动器的电压信号或电流信号的信号值超过触觉致动器的额定最大电压或额定最大电流的模式。缩放可以通过例如乘以第一驱动信号的信号值以产生增强的驱动信号来完成。第一驱动信号可以已经是电压信号或电流信号,或者可以是其信号值无量纲的信号。在后一种情况下,控制电路可以将无量纲信号值映射到电压值或电流值。在升压模式下,第一驱动信号的信号值映射到的一些电压值或电流值可能会超过触觉致动器的限定的额定最大电压或限定的额定最大电流。在一种情况下,如果在升压模式下花费的持续时间(可称为升压持续时间)超过升压超时阈值,则升压保护逻辑可使控制电路退出升压模式。如果在驱动信号仍然被施加到触觉致动器时发生这种情况,则驱动信号的剩余部分可以以限幅模式 (amplitude-limited mode)被施加。在限幅模式下,驱动信号可被缩放或以别的方式映射到不超过触觉致动器的额定最大电压或额定最大电流的限幅电压范围或限幅电流范围。例如,允许以振幅限制模式施加到触觉致动器的最大电压或电流值可以被限制到触觉致动器的额定最大电压或额定最大电流的100%、80%、75%或某种其他百分比。
在一个实施例中,如果升压持续时间达到或超过升压超时阈值,则控制电路可以转换到限幅模式,在该模式下,控制电路限制施加到触觉致动器的信号振幅,或者更一般地信号值。可以限制信号值,使得其不超过触觉致动器的额定最大电压或额定最大电流。通过限制在限幅模式下施加到触觉致动器的信号值,触觉致动器可以在温度上冷却,或者至少抑制温度升高。在驱动信号结束后,控制电路可以从限幅模式转换到冷却模式。在一些情况下,如下所述,通过从升压冷却模式进入冷却模式,控制电路可以在不进入限幅模式的情况下转换到冷却模式。冷却模式可以是触觉致动器休息或更一般地说不被驱动的模式。在冷却模式下,控制电路可以等待后续驱动信号。冷却模式可以迫使所有后续驱动信号以限幅模式施加,直到在冷却模式下花费足够的时间。例如,在控制电路可以重新进入升压模式之前,在冷却模式下花费的持续时间可能必须达到或超过冷却时间阈值,例如90ms。在一些情况下,升压超时阈值可能必须由在冷却模式下花费的连续持续时间来满足,该持续时间可以是在时间段内不受任何驱动信号中断的该时间段的持续时间。因此,以这种方式在冷却模式下等待可以防止触觉致动器过热,在一些情况下可以允许触觉致动器在温度上冷却。
在一个实施例中,升压模式、限幅模式和冷却模式可以形成状态机的一部分,该状态机由控制电路实现以确定如何驱动触觉致动器。如上所述,升压模式和限幅模式可以规定驱动触觉致动器的电压范围或电流范围。控制电路可以从升压模式转换到限幅模式,并且从限幅模式转换到冷却模式。冷却模式可以控制控制电路是否返回到限幅模式或者控制电路是否改为返回到升压模式。在实施例中,状态机可以具有其他模式(也称为状态),诸如扩展升压模式或升压冷却模式,这将在下面更详细地讨论。
在一个实施例中,各种模式(例如,升压模式、限幅模式、冷却模式)之间的转换可以由在一些模式下花费的持续时间来控制。例如,可以基于控制电路在升压模式下花费的持续时间(即,升压持续时间) 以及该持续时间是否已经达到或超过升压超时阈值来触发从升压模式到限幅模式的转换。在一些情况下,升压持续时间可以跨越多个驱动信号,并且可以对分离多个驱动信号的、其中触觉致动器未被驱动的时间段进行计数。
在一个实施例中,从冷却模式到升压模式的转换可以部分地基于触觉致动器已经在温度上冷却的持续时间或者更一般地触觉致动器已经休息的持续时间来触发。在一些情况下,该持续时间可以是自最近的驱动信号结束起的持续时间。该持续时间可以对应于控制电路已在冷却时间段中花费的持续时间,该持续时间可以覆盖在冷却模式和升压冷却模式下花费的时间段(升压冷却模式将在下面更详细地讨论)。在一些情况下,该持续时间可以指冷却时间段中的连续时间段(也称为连续持续时间)。因此,这样的情况可能需要冷却时间阈值被连续冷却时间段的持续时间超过,使得触觉致动器已经连续休息至少冷却时间阈值,之后才可以再次以升压模式被驱动。
在一个实施例中,各种模式之间的转换可以基于累积升压时间,该累积升压时间可以是控制电路在施加一个或多个驱动信号时在升压模式下花费的累积时间量。转换也可以基于累积发热时间和累积冷却时间。累积发热时间可以是信号值已经被缩放到超过触觉致动器的额定最大电压或额定最大电流的值的累积时间量。累积冷却时间可以是触觉致动器已经休息或以其他方式未被驱动的累积时间量。在一些情况下,这些累积时间可以通过定时器来跟踪,并且可以跨越多个驱动信号或者跨越多个冷却时间段(也称为休息时间段)。
在一个实施例中,当累积的升压时间达到或超过诸如升压超时阈值之类的时间阈值时,控制电路可以开始从在升压模式下施加驱动信号转变为在限幅模式下施加驱动信号。在一个实施例中,累积发热时间可用于跟踪当在升压模式下施加时,一个或多个驱动信号在超过限定的额定最大电压或电流的水平上实际被施加到触觉致动器的时间长度。在一个实施例中,累积发热时间可以用于设置冷却时间阈值,该阈值可以是例如在可在升压模式下再次施加更多驱动信号之前,触觉致动器必须冷却或以其他方式保持被未驱动的最小累积时间量。控制电路可以在限幅模式下继续施加驱动信号,直到累积冷却时间达到或超过冷却时间阈值。当累积冷却时间确实超过冷却时间阈值时,控制电路可以将累积冷却时间、累积发热时间和累积升压时间重置,例如重置为零。因为累积升压时间被重置为零或重置为小于升压超时阈值的另一重置值,所以控制电路可以在升压模式下继续施加驱动信号,直到累积升压时间再次达到升压超时阈值。
附图中更详细地示出了本公开的各种实施例。图1示出了包括控制电路16和触觉致动器18的支持触觉(haptic-enabled)的设备10。在一个实施例中,支持触觉的设备10可以是用户接口设备,诸如移动电话、平板计算机、膝上型计算机、游戏控制台控制器、可穿戴设备 (例如,虚拟现实头戴式设备或智能手表)或任何其他用户接口设备。控制电路16可以是微处理器、现场可编程门阵列(FPGA)芯片、可编程逻辑阵列(PLA)芯片、数字信号处理器或任何其他控制电路。控制电路16可以是通用控制电路,例如用于支持触觉的设备10的通用处理器,或者可以是专用于产生触觉效果的控制电路。
在一个实施例中,控制电路16可被配置成驱动触觉致动器18或使触觉致动器18被驱动。更具体地说,控制电路16可使触觉致动器 18以升压模式或以限幅模式被驱动。在一个实施例中,控制电路16 可以被配置为从存储器或其他源检测或以其他方式接收用于触觉效果的驱动信号,并且将驱动信号缩放或以其他方式映射到升压电压范围或升压电流范围,或者限幅电压范围或限幅电流范围。接着,控制电路16可以用缩放后的驱动信号来驱动触觉致动器18,或者使另一电路用缩放后的驱动信号来驱动触觉致动器18。
在一个实例中,驱动信号可以是控制电路16被配置为从存储器检索或以别的方式接收的波形。波形可以是例如之前由作者创建的,并存储在存储器中。在一些情况下,检索到的驱动信号可以包括多个信号值,其也可以被称为信号样本。每个信号值都可以是例如在0到 255范围内的8位数字值。在这种情况下,检索到的信号值可以是无量纲值。控制电路16可以将信号值缩放或以别的方式映射到电压值或电流值。例如,通过将检索到的信号值乘以5/255V或大约0.0196V,可以将8位数字值的0-255范围线性缩放到0-5V的电压范围。在一些情况下,电压范围可以包括负电压,例如从-5V到5V的范围。在这种情况下,由控制电路16检索到的信号值可以减去127,然后乘以5/127 V。在另一个实例中,控制电路16可以检索或以其他方式接收已经具有电压或电流单位的信号值。例如,控制电路16可以接收具有在0-5V 范围内的信号值的正弦驱动信号。在此实例中,控制电路16可通过将其信号值乘以乘法因子(例如、0.5、1、2、3或某种其他数字)来缩放驱动信号。在一个实施例中,升压电压范围的最大值可以是例如触觉致动器18的额定最大电压或额定最大电流的2或3倍。
如上所述,将驱动信号缩放到的电压范围或电流范围可以是升压电压范围或升压电流范围,或者可以是限幅电压范围或电流范围。升压电压范围或升压电流范围可以是其最小值或最大值的绝对值超过触觉致动器的限定额定最大电压或限定额定最大电流的范围。在一些情况下,限定的额定最大电压或电流可以是触觉致动器可持续操作而不会过热的最大电压或电流。该量可以在例如由触觉致动器的制造商提供的数据表中定义。例如,如果触觉致动器具有5V的限定额定最大电压,则升压电压范围可以是例如-8V至8V的范围、-10V至0V 的范围或0V至10V的范围。限幅电压范围或电流范围可以是其中范围的最小值或最大值的绝对值不超过触觉致动器的限定额定最大电压或电流的范围。在上述实例中,限幅范围可以是例如0-5V的范围、 -2.5V至2.5V的范围或0-2.5V的范围。
在一个实施例中,在这里的实施例中缩放或施加的驱动信号可以是非零驱动信号。如下面更详细讨论的,非零驱动信号可以指具有非零信号值并且排除零值的有限持续时间的驱动信号(或者更一般地说,具有超过限定噪声阈值的信号值并且排除仅噪声的有限持续时间的驱动信号)。换句话说,零值或仅噪声的有限持续时间可以被认为是两个非零驱动信号之间的冷却时间段(也称为休息时间段)。
图1A示出了作为支持触觉的设备10的实施例的支持触觉的设备 100。支持触觉的设备100可以是包括信号发生器102、控制电路106 和触觉致动器108的装置。控制电路106可以是振幅修改电路106的一部分,并且可以控制振幅修改电路106的操作。在一个实施例中,控制电路106和触觉致动器108可以与图1的控制电路16和触觉致动器18相同或相似。
在一个实施例中,信号发生器102可以是被配置为生成非零驱动信号的硬件组件,该非零驱动信号用于为支持触觉的设备100产生触觉效果。在图1A中,信号发生器102可以用硬件(例如专用信号发生器芯片)来实现。在图1A的上下文中,信号发生器102也可以称为信号生成电路。在一个实施例中,信号发生器102可以通过检索存储的波形来生成非零驱动信号。例如,信号发生器102可以具有已经加载了由支持触觉的设备100的用户或触觉效果的任何其他作者定义的波形的存储器。在一个实施例中,信号发生器102可以具有专用电路,该专用电路被配置为基于波形标识符(例如波形名称或其他ID) 来生成驱动信号的波形。波形标识符可以对应于例如驱动信号的波形的特定形状、频率和/或振幅。信号发生器102可以被配置为基于波形标识符来生成相应的波形。在一个实施例中,信号发生器102可以实现为现场可编程门阵列(FPGA)芯片、可编程逻辑阵列(PLA)芯片、模拟电路或任何其他专用信号发生器芯片。信号发生器102的输出可以是模拟的,例如电压信号v(t),或者可以是数字的,例如数字样本流,其中每个数字样本都可以包括编码信号值的一个或多个字节。
在一个实施例中,振幅修改电路104(例如,升压电路)可以提供信号发生器102和触觉致动器108之间的接口。该接口可以将来自信号发生器102的非零驱动信号映射到适合于特定致动器或特定类型的致动器(例如,适合于特定致动器的额定最大电压,致动器诸如线性谐振致动器(LRA)、压电偏心旋转块(ERM)致动器或静电摩擦 (ESF)致动器)或者适合于特定情况(例如,适合于是否期望清晰的触觉效果)的电压信号或电流信号。因此,振幅修改电路104的存在可允许信号发生器102独立于可用于产生触觉效果的特定触觉致动器而设计,并且可允许信号发生器102适于信号发生器102可能最初未针对其设计的新触觉效果(例如,用于模拟按钮按压的新型清晰触觉效果)。
在一个实施例中,振幅修改电路104可以包括控制电路106,其从信号发生器102实时接收非零驱动信号。例如,信号发生器102可以及时顺序地输出非零驱动信号的信号值。当信号发生器102顺序地产生非零驱动信号的新信号值时,控制电路104可以在新信号值产生后立即顺序地检测(或更一般地,接收)新信号值。因此,在信号发生器102输出驱动信号的新值的特定时刻,新值可以立即输出到振幅修改电路104的控制电路106,并且控制电路106可以以基本实时的方式将信号值映射到电压范围或电流范围。
在一个实施例中,振幅修改电路104可以是升压电路或升压/衰减电路。在一个实施例中,振幅修改电路104可以包括硬件组件,其被配置为使由控制电路106接收到的非零驱动信号增大。当振幅修改电路104充当升压电路时,其可被配置为将非零驱动信号乘以大于1 的乘法因子(例如,增益)。例如,这样的硬件组件可以由控制电路 106控制,以将非零驱动信号乘以2到3之间的乘法因子。当振幅修改电路104充当衰减电路时,其可被配置为将非零驱动信号乘以小于 1的乘法因子(即,在0与1之间)。在一个实施例中,控制电路106 可以被配置为通过控制振幅修改电路104在乘以非零驱动信号时使用的乘法因子来实现用于支持触觉的设备100的升压保护逻辑。在一个实施例中,振幅修改电路104可以包括由控制电路106控制的附加组件,例如运算放大器,用于将来自信号发生器102的输出转换成确定的电压或电流值。在一个实施例中,控制电路106可以被配置为计算表示要施加到触觉致动器108的电压或电流的数字电压值或电流,振幅修改电路104可以包括将数字电压值或数字电流值转换成模拟格式的数模转换器(DAC)。
在一实施例中,振幅修改电路104可实时提升来自信号发生器 102的非零驱动信号。更具体地,振幅修改电路104可以在振幅修改电路104接收到新的信号值时立即提升来自信号发生器102的非零驱动信号的新(例如,最近的)信号值,而不是在执行非零驱动信号的提升之前等待缓冲非零驱动信号的所有信号值。
在一个实施例中,振幅修改电路104可以包括一个或多个专用定时器电路,例如升压定时器电路(也称为升压定时器)和冷却定时器电路(也称为冷却定时器)。一个或多个定时器电路可用于跟踪升压超时阈值、冷却时间阈值或扩展升压模式超时是否已经过去,这些将在下面更详细地讨论。例如,一个或多个定时器电路可以是递增或递减以跟踪已经过去的时间量的计数器。
在一个实施例中,触觉致动器108可以是被配置为致动触觉输出设备的组件的触觉输出设备。例如,触觉致动器108可以是线性谐振致动器(LRA),诸如配置成致动磁体的音圈,或者诸如配置成致动压电层的压电致动器。在另一实例中,触觉致动器108可以包括电机。例如,致动器108可以是偏心旋转块(ERM)致动器,其被配置成致动附接到电机的块。在一个实施例中,当驱动信号被施加到触觉致动器时,触觉致动器108可以变热。虽然这里的实施例讨论了触觉致动器,但是本公开可以应用于更通用的触觉输出设备(例如,静电摩擦(ESF)设备),该设备被配置为当由驱动信号驱动时发热。
图1B示出了可以是支持触觉的设备10的实施例的支持触觉的设备200。支持触觉的设备200具有以软件实现的信号发生器202和振幅修改模块204。更具体地,支持触觉的设备200可以包括控制电路 206(例如微处理器)、诸如存储器201之类的非瞬态计算机可读介质、数模转换器(DAC)207和触觉致动器208。在一个实施例中,控制电路206可以是通用微处理器或专用处理器,例如专用于产生触觉效果的微控制器。在一个实施例中,存储器201(例如,固态存储器) 可以是非瞬态计算机可读介质,其存储可由控制电路206执行的用于实现信号发生器202和放大模块204的指令。在图1B的上下文中,信号发生器202也可以被称为信号发生模块。在一个实施例中,信号发生器202和振幅修改模块204可以作为两个单独的功能存储在存储器201中,或者可以作为相同功能的两个单独的代码块存储在存储器 201中,并且可以由控制电路206执行。
在一个实施例中,信号发生器202可以被配置为输出非零驱动信号。振幅修改模块204可以接收非零驱动信号作为输入,并且可以将非零驱动信号映射到特定电压范围或电流范围。在一个实施例中,非零驱动信号可能已经作为一系列信号值存储在存储器中。例如,图1B 示出了存储器201将一个或多个非零驱动信号存储在驱动信号文件 205中,驱动信号文件可能先前由触觉效果作者创建。在一个实例中,文件205中的一个或多个非零驱动信号可以存储为一系列信号值,其中每个信号值都可以是在0-255范围内的8位数字值。文件205可以识别所存储的非零驱动信号的定时信息。例如,它可以指示特定的非零驱动信号具有8kHz的采样率,这可以意味着非零驱动信号的每个信号值都表示1/8kHz或0.125msec的持续时间。信号发生器202可以被配置为从文件205中检索存储的非零驱动信号,并将检索到的非零驱动信号输出到振幅修改模块204。在一些情况下,响应于输出触觉效果的命令或触发事件,可以从信号发生器202检索非零驱动信号,并将其输出到振幅修改模块204。例如,如果应用程序确定将生成触觉效果,则信号发生器202可以从文件205中检索与触觉效果相关联的非零驱动信号,信号修改模块204可以接着将检索到的非零驱动信号映射到升压电压范围或电流范围,或者映射到限幅电压范围或电流范围。
在另一实例中,可以省略驱动信号文件205,并且信号发生器202 可以更动态地生成非零驱动信号。例如,信号发生器202可以动态地计算非零驱动信号的40个信号值,并将所计算出的信号值输出到模块 204。在另一实例中,信号发生器202可以被省略,振幅修改模块204 可以直接从驱动信号文件205中检索非零驱动信号。
在一个实施例中,振幅修改模块204可以将非零驱动信号缩放(或以其他方式)到升压电压范围或电流范围,或者缩放(或以其他方式) 到限幅的电压范围或电流范围。例如,振幅修改模块204可以实时提升来自信号发生器202的非零驱动信号。在这种情况下,振幅修改模块204可以周期性地检查(例如,以8kHz、16kHz、32kHz或任何其他速率)信号发生器202的输出以寻找新产生的信号样本,并将新产生的信号样本乘以乘法因子。在一个实施例中,控制电路206可能必须在执行信号发生器202的指令、执行振幅修改模块204的指令和执行支持触觉的设备200的任何其他模块的指令之间切换。切换可以以比非零驱动信号的样本的刷新率快得多的速率发生,并且比非零驱动信号的采样速率快得多,使得振幅修改模块204仍然被认为是实时或接近实时地操作。
在一个实施例中,由振幅修改模块204作为映射结果确定的电压值或电流值可以以数字形式表示。DAC 207可将电压值或电流值从数字形式转换成模拟形式,之后将电压值或电流值施加到触觉致动器 208。
如上所述,支持触觉的设备100、200可以是各种用户接口设备中的任何一种。例如,图1C示出了作为移动电话的支持触觉的设备 300和作为游戏控制台控制器的支持触觉的设备400。本文实施例的触觉致动器(例如108)可用于产生触觉效果,该触觉效果是例如振动触感触觉效果。在一个实例中,可以生成振动触感触觉效果以模拟显示在支持触觉的设备300的触摸屏上的虚拟主页按钮的点击。
图2A示出了非零驱动信号的实例,非零驱动信号例如存储在驱动信号文件205中,并且在执行振幅修改模块204时由控制电路202 接收。更具体地,图2A描绘了软件界面,其中作者可以选择或以其他方式生成非零驱动信号501-505,用于生成一个触觉效果或多个触觉效果。如果例如非零驱动信号501-505是响应于同一触发条件(例如,用户输入或游戏中的事件)而产生的,则非零驱动信号501-505 可以被认为是产生单个触觉效果。类似地,如果例如非零驱动信号 501-505是响应于分别的相应触发条件而产生的,则非零驱动信号501-505可以被认为是产生不同的相应触觉效果。
在一个实施例中,作者可以将一个或多个触觉效果设计成包括非零驱动信号501、503、504,每个非零驱动信号都可以是具有限定的持续时间、峰-峰振幅(也称为峰-峰幅度)、周期或频率的正弦或其他周期性信号。图2A中的非零驱动信号501、503、504可以具有相同的信号定义。在一个实施例中,非零驱动信号502和505可以由作者绘制或以别的方式定制。例如,图2B示出了作者可能绘制的波形。波形可以作为多个信号值存储在存储器201中,其中每个信号值可以表示限定的持续时间(例如,0.25ms)。波形可以形成信号定义,信号502和505中的每一个都可以具有由图2B的波形表示的信号定义。
在一个实施例中,非零驱动信号可以定义波形,该波形最多在特定的一个时刻或特定的多个时刻经过零值,但在其他情况下具有非零信号值。例如,如图2A和2B所示,非零驱动信号502可以在零值的有限持续时间511之后,并且可以认为在检测到非零信号值时开始。非零驱动信号502之后可以跟随零值的有限持续时间513,并且可以认为当检测到零值的有限持续时间513时结束。尽管非零驱动信号502 可以在特定时刻过零,也称为过零点,但是过零点可以被认为没有有限的持续时间,因此仍然可以是非零驱动信号502的一部分。在一个实施例中,如果信号发生器102/202的输出是模拟输出,那么接近零的模拟输出的值,例如小于背景噪声阈值的值,也可以被认为是零值。在一个实施例中,如果非零驱动信号被配置成使得触觉致动器(例如, 108)产生力,则非零驱动信号的信号值可以被称为力值。
图3示出了可以由状态机表示的升压保护逻辑。状态机可以在振幅修改电路(例如104)或模块(例如204)中执行或以其他方式实现。例如,振幅修改电路104或模块204的控制电路16/106/206可以跟踪电路/模块104/204当前处于什么状态,并且基于当前状态来控制如何修改或以其他方式映射非零驱动信号。在一个实施例中,状态的转换可以反映在寄存器中或者反映在存储控制电路16/106/206相对于驱动触觉致动器18/108/208的当前状态的指示符的存储器中的变量中,该指示符也可以是振幅修改电路/模块104/204的当前状态。
在图3中,状态机可以在启动/空闲模式(也称为启动状态)602、升压模式604、限幅模式606和冷却模式608(其可以对应于冷却时间段)之间转换。在启动/空闲模式602下,控制电路102/202可以处于尚未检测到来自信号发生器102/202的非零驱动信号的状态,并且等待检测到来自信号发生器102/202的非零驱动信号的开始。例如,控制电路16/106/206可以监视信号发生器102/202的输出,以确定是否已经从信号发生器102/202接收到非零驱动信号。如果控制电路检测到非零驱动信号的开始,或者以其他方式开始接收非零驱动信号,则控制电路16/106/206可以转换到升压模式604。
在升压模式604下,控制电路16/106/206可以将非零驱动信号缩放或以别的方式映射到升压电压范围或升压电流范围,其中该范围的最小值或最大值的绝对值超过触觉致动器18/108/208的限定额定最大电压。因此,升压模式604允许非零驱动信号的振幅被升压到超过触觉致动器18/108/208的限定额定最大电压。例如,如果触觉致动器 18/108/208具有限定的额定最大电压8V,则升压模式下的控制电路16/106/206可以接收存储在存储器中的正弦驱动信号,并且通过缩放正弦驱动信号以使其具有10Vpp或15Vpp的峰-峰振幅,并且将缩放的正弦驱动信号施加到触觉致动器,来将正弦驱动信号施加到触觉致动器。如上所述,可以通过将驱动信号的信号值乘以乘法因子(例如, 10/255V或15/255V)或以某种其他方式来执行缩放。
在一个实施例中,图3的状态机用于第一非零驱动信号(例如,分别是图5或6中的701或801)持续长于第一限定时间阈值(诸如升压超时阈值(例如,9ms或12ms))的情况。在这样的实施例中,可以在第一非零驱动信号结束之前超过升压超时阈值。图8和11中的状态机可以参考第一非零驱动信号可以长于或短于升压超时阈值的更一般的情况。返回参考图3,如果控制电路16/106/206检测到在升压模式下花费的持续时间(自升压模式的开始时间起)超过第一限定的时间阈值,则控制电路106/206可以转换到限幅模式606。在一个实施例中,当控制电路16/106/206从启动/空闲模式602转换到升压模式 604时,施加第一非零驱动信号(例如,701)的升压模式604的开始时间可以被定义为第一非零驱动信号的开始。此外,开始时间可以指升压模式604的最近开始时间。如果控制电路退出升压模式604,然后稍后重新进入升压模式604,则升压模式604的最近开始时间可以被更新为等于控制电路重新进入升压模式604的时间。
在一个实施例中,当存在从启动/空闲模式602到升压模式604 的转换时,控制电路106/206可以启动升压定时器。升压定时器可以反映在升压模式下花费的持续时间(即,升压持续时间),或者可以更一般地反映自第一非零驱动信号701或801的升压模式604的开始时间起的持续时间。该持续时间可称为升压持续时间。升压定时器可用于确定升压模式的持续时间是否超过第一限定时间阈值,例如升压超时阈值。在一些情况下,升压定时器可以跟踪从升压模式的开始时间起经过的时间量。当该时间量超过升压超时阈值时,升压定时器可以停止跟踪该时间量。例如,它可能停止增加值。在一些情况下,升压定时器可以在控制电路16/106/206重新进入启动/空闲模式602之后重置。在一个实施例中,控制电路16/106/206可以周期性地(例如,每隔1ms或每隔50μs)检查定时器,以确定从升压模式的开始时间起的持续时间(也可以称为从升压模式的开始时间起已经过去的时间量)是否超过在检查定时器时的第一限定时间阈值。
在一个实施例中,这里的限定时间阈值(例如,第一限定的时间阈值、第二限定的时间阈值、第三限定的时间阈值、第四限定的时间阈值)可以由用户来定义,用户诸如支持触觉的设备10的用户、振幅修改电路104的设计者、振幅修改模块204的程序员、触觉效果的作者或某个其他用户。在振幅修改电路104或振幅修改模块204开始操作之前,用户可能已经在存储器201中设置了时间阈值的值。在一个实施例中,可以在运行时动态地确定限定的时间阈值,例如通过振幅修改模块204的由控制电路206执行的指令。在这样的实施例中,限定的时间阈值可以被称为确定的时间阈值(例如,确定的第二时间阈值)。
在一个实施例中,在控制电路16/106/206已经在升压模式604下施加了第一非零驱动信号(例如,701)的第一部分之后,升压超时阈值可能被超过。在一个实施例中,控制电路16/106/206可以监视升压持续时间,以便检测超过升压超时阈值的升压持续时间,其中升压持续时间是自升压模式604的开始时间起的持续时间。响应于升压持续时间超过升压超时阈值,控制电路16/106/206可以从升压模式604 转换到限幅模式606。在一个实施例中,控制电路16/106/206可以在限幅模式606下施加非零驱动信号的第二部分(例如,剩余部分)。在这种模式下,非零驱动信号的第二部分可以以不超过触觉致动器 18/108/208的限定额定最大电压或电流的方式施加。在一些情况下,限幅模式606下的控制电路16/106/206可将非零驱动信号的第二部分缩放到限幅电压范围或电流范围。限幅电压范围或电流范围可以具有两者都不超过限定额定最大电压或电流的最小值和最大值。例如,如果触觉致动器18/108/208具有8V的限定额定最大电压,则在限幅模式下的控制电路16/106/206可以缩放正弦驱动信号,例如以具有8Vpp 的峰-峰振幅。
在一个实施例中,如图3所示,在控制电路16/106/206检测到第一非零驱动信号的结束(例如,非零驱动信号701的结束)之后,振幅修改电路/模块104/204可以转换到冷却模式608。换句话说,控制电路16/106/206可以在第一非零驱动信号已经完成在限幅模式606下的施加之后转换到冷却模式608。冷却模式608可以是控制电路 16/106/206不接收任何非零驱动信号的模式,或者更一般地是触觉致动器18/108/208不被驱动的模式。冷却模式608可限制在升压模式604 下施加后续非零驱动信号的能力。例如,冷却模式608可以迫使在限幅模式606下施加任何后续的非零驱动信号,直到控制电路16/106/206 在冷却模式608下已经花费了至少第二限定时间阈值,例如冷却时间阈值。
在一个实施例中,当控制电路16/106/206进入冷却模式时,它可以启动冷却定时器。更一般地说,当检测到第一非零驱动信号(例如 701)的结束时,控制电路16/106/206可以启动冷却定时器。在一个实施例中,非零驱动信号的结束可以定义或以其他方式表示冷却时间段的开始时间。因此,冷却定时器可用于测量在冷却模式下花费的持续时间,或者更一般地测量自冷却时间段的开始时间起的持续时间。在冷却模式608下,控制电路16/106/206可等待接收或以其他方式接收下一非零驱动信号,或更一般地接收后续非零驱动信号16/106/206。在一个实施例中,控制电路16/106/206可以保持在冷却模式608,只要它仅检测到零的数字信号值或低于限定噪声阈值的模拟信号值,并且因此可以使触觉致动器18/108/208在冷却模式608下不被驱动。因此,可以允许触觉致动器18/108/208在冷却模式下冷却温度。如上所述,冷却时间段可以指在冷却模式608下花费的时间段。因此,在一些情况下,冷却时间段可以在冷却模式608的开始时开始。在其他情况下,如下面参考图8和11所讨论的,冷却时间段可以在升压冷却模式的开始时开始。
在一个实施例中,控制电路106/206可以跟踪或以其他方式监视冷却时间段持续了多长时间(即,已处于冷却时间段多长时间)。在控制电路16/106/206可以重新进入升压模式604之前,冷却时间段可能必须足够长,以便在升压模式604下致动器18/108/208再次发热之前,给触觉致动器18/108/208足够的时间冷却。例如,在允许控制电路16/106/206转换到升压模式604之前,自冷却时间段的开始时间起的持续时间可能必须超过第二限定时间阈值(例如,90ms)。如果在冷却模式608下花费的时间量尚未等于或尚未超过第二限定时间阈值,则可能必须在限幅模式606下施加下一非零驱动信号。在一个实施例中,当冷却定时器的值达到或超过第二限定的时间阈值时,用于跟踪在冷却时间段中花费的持续时间的冷却定时器可以被重置。在一个实施例中,当控制电路16/106/206从冷却模式608退出到限幅模式606 或启动/空闲模式602时,冷却定时器可被重置。当控制电路16/106/206 返回到冷却模式608时,冷却定时器可以从重置值开始计数。因为当接收到非零驱动信号时冷却定时器重置,所以在这样的实施例中,冷却定时器可以指示两个连续非零驱动信号之间的连续冷却时间段的持续时间,并且在控制电路16/106/206可以从冷却模式608退出到启动/空闲模式602和升压模式604之前,可能需要连续冷却时间段达到或超过第二限定阈值。在另一实施例中,控制电路16/106/206可以在彼此不连续的几个冷却时间段的累积持续时间达到或超过第二限定时间阈值时能够返回到启动/空闲模式602和升压模式604,而不是要求第二限定时间阈值被连续的冷却时间段的持续时间超过。这样的实施例可以用例如当控制电路16/106/206从冷却模式608退出到限幅模式 606时不重置的冷却定时器来实现。相反,当控制电路16/106/206再次进入冷却模式608时,冷却定时器可从其先前的保留值开始计数。在该实施例中,当冷却定时器的值达到或超过第二限定时间阈值时,冷却定时器可以最终重置。
在一个实施例中,图3的状态机可以与各种触觉致动器和驱动信号一起使用。例如,状态机可以与具有全部具有相同极性的直流(DC) 信号值的非零驱动信号一起使用,或者与具有在两个不同极性之间变化的信号值的非零驱动信号一起使用。这种非零驱动信号包括在正值和负值之间交替的周期性信号,例如正弦信号。这种非零驱动信号可以具有过零点(信号的值过零的点)。对于以具有过零点的非零驱动信号操作的触觉致动器(例如,LRA),在达到升压超时阈值之后,控制电路16/106/206可以延长具有升压电压范围或升压电流范围的驱动信号的施加,直到达到过零点或者直到达到附加时间阈值。这个选项可以通过在升压模式604和限幅模式606之间的被称为扩展升压模式的附加模式(或状态)来反映。
例如,图4示出了包括扩展升压模式(也称为后升压模式)605 的状态机,该扩展升压模式可以将非零驱动信号的升压延长到过零模式,然后才转换到限幅模式。扩展升压模式605可以是升压模式604 的扩展。更具体地,如图4所示,当非零驱动信号从在升压模式604 下施加转变为在限幅模式606下施加时,非零驱动信号可以从缩放到升压电压范围转换为缩放到限幅电压范围。在一个实例中,转换可以包括从非零驱动信号被缩放到-7V到7V的升压电压范围(其中限定的额定最大电压可以是5V)变为-4V到4V的限幅范围。如果在特定时间点执行这种转换,则该转换可能涉及从一个信号值到另一个信号值的突然变化。例如,转换可以包括在升压模式下将7V的电压值施加到触觉致动器18/108/208,随后在达到升压超时阈值时在限幅模式下立即施加4V的电压值。这种突然转换可以产生声音或其他可听噪声(例如,咔嗒声),特别是在高清晰度(HD)触觉致动器或具有高带宽的其他触觉致动器中,这可能是不希望的。为了避免这种突然转换,可以将从使用升压电压范围或电流范围到使用限幅电压范围或电流范围的转换定时为在过零点处发生。这种转换避免了突然转换,因为在升压的电压/电流范围和限幅电压/电流范围这两者内,零的信号值可以缩放到相同的电压值或电流值,即零伏特或安培。更具体地说,如果缩放涉及将信号值乘以乘法因子,那么以零的信号值这样做将在升压电压/电流范围和限幅电压/电流范围内产生相同的缩放值。因此,在转换到限幅模式606之前等待直到过零点可以避免信号值的突然转换,这可以避免在转换期间产生咔嗒声或其他声音。
再次参考图4,控制电路16/106/206可以在升压模式604下施加非零驱动信号的第一部分。当升压持续时间(其可以是自升压模式604 的开始时间起的持续时间)超过诸如升压超时阈值之类的第一限定时间阈值时,控制电路16/106/206可以从升压模式604转换到扩展升压模式605,在扩展升压模式605中非零驱动信号继续被缩放到升压电压范围或电流范围,直到达到过零点或者直到达到另一时间阈值,以时间上最先出现的为准。如果升压模式604涉及将非零驱动信号604 乘以因子3,则扩展升压模式可以涉及继续将非零驱动信号604乘以因子3。因为非零驱动信号具有一个或多个过零点,所以在扩展升压模式605下的控制电路16/106/206可以等待过零点转换到限幅状态 606。在一个实施例中,在扩展升压模式下,控制电路16/106/206可以被限制到第三限定的时间阈值,其可以被称为扩展升压超时阈值。因此,即使控制电路16/106/206还没有遇到过零阈值,如果自扩展升压模式的开始时间起(即,自升压超时阈值达到或超过升压超时阈值起) 的持续时间达到或超过第三限定时间阈值,则控制电路16/106/206仍然可以转换到限幅模式606。
图5示出了根据例如图3的状态机作为电压驱动信号701-705施加到触觉致动器18/108/208的多个非零驱动信号。电压信号701-705 是可以施加到例如ERM致动器的每个DC信号。在时间t0和t1之间,控制电路16/106/206可以处于启动/空闲模式602,在该模式中,控制电路16/106/206尚未检测到或以其他方式接收到用于触觉效果的非零驱动信号。可以例如从存储器接收非零驱动信号。
在一个实施例中,在时间t1,控制电路16/106/206可以检测用于触觉效果的第一非零驱动信号的开始,例如具有8比特值255的方形脉冲,或者具有值3.5V的方形脉冲。方形脉冲可以具有等于t3-t1的持续时间。结果,控制电路16/106/206可以进入升压模式604。在升压模式604下,可以施加第一非零驱动信号的第一部分,作为电压信号701的第一部分701a。例如,控制电路16/106/206可以通过将信号值乘以7/255V的乘法因子(即,255×7/255V=7V)或乘以2的乘法因子(即,3.5V×2=7V),将第一非零驱动信号的255或3.5V 的信号值缩放到7V。
在时间t2,控制电路16/106/206可以检测自升压模式604的开始时间起的持续时间已经达到或超过升压超时阈值(例如,9ms)。在一个实施例中,升压模式604的开始时间可以是时间t1。控制电路 16/106/206可以例如周期性地检查当前时间t减去t1是否等于或大于升压超时阈值,其中执行检查的频率可以是例如10KHz(每0.1ms 一次)或某种其他频率。在该实例中,升压超时阈值可以比第一非零驱动信号的持续时间短。响应于检测到自升压模式604的开始时间起的持续时间达到或超过升压超时阈值,控制电路16/106/206可以转换到限幅模式,其中第一非零驱动信号的第二部分被缩放到限幅电压范围或电流范围。在一个实例中,如果第一非零驱动信号是持续例如30 ms的方形脉冲,则第一非零驱动信号的第一部分可以是方形脉冲的最早9ms部分,而第二部分可以是紧接在第一部分之后的剩余21ms 部分。在限幅模式下,控制电路16/106/206可以将非零驱动信号的第二部分缩放到限幅电压范围,例如0V到4V的范围(在该实例中,触觉致动器18/108/208可以具有4V的限定额定最大电压)。缩放可以包括例如将方形脉冲的8位值255或值3.5V乘以4/255V的乘法因子(即255×4/255=4V)或乘以4/3.5的乘法因子(即3.5V×4/3.5= 4V)。第一非零驱动信号的第二部分可以被缩放为电压信号701的第二部分701b。
在时间t3,控制电路16/106/206可以检测第一非零驱动信号的结束,并且从限幅模式606转换到冷却模式608。在冷却模式608下,可以允许ERM致动器冷却温度,控制电路16/106/206等待后续非零驱动信号。在一个实施例中,时间t3可以定义第一冷却时间段的开始。
在时间t4,可以检测或以其他方式接收第二非零驱动信号的开始,并且可以将其作为电压信号702施加。更具体而言,控制电路106/206 可在t4确定在冷却模式608下花费的持续时间,或更一般地,第一冷却时间段的长度(也称为冷却持续时间)尚未达到或尚未超过冷却时间阈值,例如90ms。在图5中,该持续时间以及更一般地第一冷却时间段的长度(也称为冷却持续时间)可以等于t3和t4之间的间隔,该间隔可以是第一非零驱动信号的结束和第二非零驱动信号的开始之间的时间长度。第一非零驱动信号和第二非零驱动信号可以被称为连续的非零驱动信号,因为在它们之间没有其他非零驱动信号(即,在它们之间没有居间的非零驱动信号)。响应于确定第一冷却时间段的长度没有达到或没有超过冷却时间阈值,控制电路106/206可以在限幅模式606下施加第二非零驱动信号。例如,第二非零驱动信号也可以是具有8位数字值255和等于t5-t4的持续时间的方形脉冲,并且控制电路16/106/206可以通过将非零驱动信号乘以因子4/255V并将缩放后的非零驱动信号作为电压信号702施加来将第二非零驱动信号缩放到4V的电压值。
类似地,在时间t5,控制电路16/106/206可以检测第二非零驱动信号的结束并转换到冷却模式608。在一个实施例中,t5可以限定第二冷却时间段的开始时间。在时间t6,控制电路16/106/206可以检测或以其他方式接收第三非零驱动信号,并且可以确定第二冷却时间段的长度(也称为冷却持续时间)是否超过冷却时间阈值。第二冷却时间段的长度可以是紧在第三非零驱动信号之前的、触觉致动器 18/108/208没有被驱动的连续时间段的持续时间。更一般地,控制电路16/106/206可以确定第三非零驱动信号的开始(即t6)和先前连续非零驱动信号的结束(即t5)之间的持续时间是否已经达到或超过冷却时间阈值。在图3中,该持续时间尚未达到冷却时间阈值。结果,控制电路106/206也可以在限幅模式606下施加第三非零驱动信号,在该限幅模式下,第三非零驱动信号被缩放到电压驱动信号703。
在时间t7,控制电路106/206可以检测第三非零驱动信号的结束,并且再次进入冷却模式608。时间t7可以限定第三冷却时间段的开始时间。控制电路16/106/206可以保持该状态直到时刻t7.5。在图5的实例中,t7.5-t7可以等于冷却时间阈值,使得在时间t7.5之后冷却时间阈值被超过。因此,控制电路16/106/206可以在时间t5处或之后检测到已经达到或已经超过冷却时间阈值,并且可以从冷却模式608转换回启动/空闲模式602。这种转换可以通过例如更新存储器中的变量来实现,该变量标识控制电路16/106/206处于状态机的哪种模式。在一个实施例中,可以不显式地执行该转换。相反,当在时间t8检测到第四非零驱动信号时,控制电路16/106/206可确定第四非零驱动信号的开始(即t8)与前一连续非零驱动信号的结束(t7)之间的持续时间是否等于或大于冷却时间阈值。该持续时间可以被确定为第三冷却时间段的长度(也称为冷却持续时间)。在图5的实例中,控制电路 16/106/206确定该持续时间确实等于或超过冷却时间阈值,并且第四非零驱动信号的第一部分在升压模式604下,在该升压模式下,第一部分被缩放到电压信号704的部分704a。
在时间t9,控制电路16/106/206可以检测自升压模式604的开始时间起的持续时间已经达到或超过升压超时阈值。更具体而言,控制电路16/106/206可以检测自升压模式604的最近开始时间起的持续时间已经达到或超过升压超时阈值。例如,升压模式604的开始时间可以是t1,但是可以被更新到时间t8,使得时间t8是升压模式604的最近开始时间。在这种情况下,最近的开始时间也可以称为更新的开始时间。更新可以在时间t8处或之后不久执行。
在时间t9和t10,基于上述过程,控制电路106/206分别转换到限幅模式606和冷却模式608。在限幅模式606下,可以作为电压信号 704的部分704b,来施加第四非零驱动信号的第二部分。第四非零驱动信号可以在时间t10结束,时间t10可以是第四冷却时间段的开始时间。
在时间t11,控制电路16/106/206可以检测第五非零驱动信号。此时,控制电路可能已经从冷却模式608转换到启动/空闲模式602,因为此时之前第四冷却时间段的时间长度(也称为冷却持续时间)可能大于冷却时间阈值,其中该时间长度可以等于时间t10和t11之间的间隔的长度。结果,控制电路16/106/206可以在升压模式604下施加第五非零驱动信号的至少一部分。
图6类似地示出了根据图3的状态机作为电压信号801-805施加的多个非零驱动信号。在图6中,非零驱动信号是正弦信号,触觉致动器可以是例如LRA。
在时间t0,控制电路可以处于启动/空闲模式602,并且可以等待检测或以其他方式接收非零驱动信号。在时间t1,控制电路106/206 可检测或以其他方式接收第一非零驱动信号的开始,并因此进入升压模式604。在一个实例中,第一非零驱动信号可以是正弦信号,该正弦信号具有表示不同时刻的触觉效果强度的多个信号值,其中每个信号值都是在-128和127范围内的8位数字值(2的补码格式)。第一非零数字值可以具有等于t3-t1的持续时间。在另一实例中,第一非零驱动信号可以是具有4.66Vpp的峰-峰振幅的正弦信号,信号值在 -2.33V到2.33V的范围内。在时间t1,可以在升压模式604下施加第一非零驱动信号的第一部分。该步骤可以包括将第一非零驱动信号的第一部分缩放到电压信号801的部分801a。例如,升压模式604可以将第一非零驱动信号缩放到从-7V到7V的升压电压范围。缩放可涉及将第一非零驱动信号的信号值乘以7/128V(即,127×7/128V,约为7V)或乘以7/2.33或约3(即,2.33V×7/2.33=7V)。在另一实例中,第一非零信号的信号值可以按比例缩放,或者更一般地映射到以某种其他方式施加到触觉致动器18/108/208的电压值。
在时间t2,升压超时阈值(例如,9ms)可能已经过去,并且控制电路16/106/206可以转换到限幅模式606,在该模式中,将第一非零驱动信号的第二部分(例如,剩余部分)缩放到限幅电压范围,该限幅电压范围可以是从-3.5V到3.5V的范围。触觉致动器18/108/208可具有例如3.5V的限定额定最大电压。这种缩放可以包括将非零驱动信号的第二部分的信号值乘以3.5/128V的乘法因子(例如,127× 3.5/128V,大约为3.5V)或3.5/2.33的乘法因子(即,2.33V×3.5/2.33 =3.5V)。缩放的非零驱动信号可以作为电压信号801的部分801b来施加。
在时间t3,控制电路16/106/206可以检测第一非零驱动信号的结束,并且转换到冷却模式608。在时间t4和t5,控制电路16/106/206 可以分别检测或以其他方式接收第二非零驱动信号和第三非零驱动信号,并且以类似于图5中描述的方式,在限幅模式606下分别作为电压信号802和803来施加第二非零驱动信号和第三非零驱动信号。同样以类似于图5的方式,控制电路16/106/206可以在时间t7.5或之后从冷却模式608转换到启动/空闲模式602。在时间t8,控制电路 16/106/206可以在升压模式604下,作为电压信号804的部分804a来施加第四非零驱动信号的第一部分。在时间t9,可以作为电压信号804 的部分804b,以限幅模式606来施加第四非零驱动信号的剩余部分。在时间t11,控制电路16/106/206可以以类似于图5的方式在升压模式 604下施加第五非零驱动信号。
图7示出了根据图4的状态机的触觉致动器施加的非零驱动信号,其包括扩展升压模式605。更具体地,在时间t1,控制电路16/106/206 可以接收非零驱动信号的开始,并且在升压模式604下施加非零驱动信号的第一部分。该步骤可以包括将非零驱动信号的第一部分缩放或以其他方式映射到升压电压范围,其中缩放的非零驱动信号被作为电压信号801的部分801X来施加。在时间t2,可能达到或超过升压超时阈值,但是非零驱动信号不在过零点。因此,控制电路16/106/206 可以从升压模式604转换到扩展升压模式605,在扩展升压模式605 下,非零驱动信号继续被缩放到升压电压范围。在扩展升压模式605 下,可以作为电压信号801的部分801Y来施加非零驱动信号的另一部分。扩展升压模式605可以持续到时间t3,时间t3可以是达到过零点801zero或者自扩展升压模式的开始时间(即t2)起的持续时间达到或超过扩展升压超时阈值(或者更一般地,第三定义时间阈值)这两种情况中较早出现的那一个。在时间t3,控制电路16/106/206可以在限幅模式606下作为电压信号801的部分801Z来施加非零驱动信号的剩余部分。在一些情况下,非零驱动信号的在升压模式604下施加的那一部分可以被称为非零驱动信号的第一部分,而在限幅模式606 下施加的那一部分可以被称为非零驱动信号的第二部分,在扩展升压模式下施加的那一部分可以被称为非零驱动信号的第三部分。
如上所述,图3和4的状态机可以涉及这样一种情况,其中第一非零驱动信号持续时间长于升压超时阈值,使得在第一非零驱动信号被施加到触觉致动器18/108/208的同时发生到限幅模式606的转换。图8涉及用于更一般情况的状态机,在该情况下,第一非零驱动信号的持续时间也可以比第一限定的时间阈值(例如,升压超时阈值)短。更具体地,除了启动/空闲模式602、升压模式604、限幅模式606和冷却模式608之外,图8还示出了升压冷却模式607。在一个实施例中,控制电路16/106/206可以类似于图3和4的方式,从启动/空闲模式602转换到升压模式604,然后转换到限幅模式606,然后转换到冷却模式608。
如图8所示,控制电路16/106/206也可以从升压模式604转换到升压冷却模式607。如果一个或多个非零驱动信号在在升压模式604 下花费的持续时间达到或超过升压超时阈值之前结束,则这可能发生。
在一个实施例中,升压冷却模式607可以是这样模式:控制电路 16/106/206正在等待后续非零驱动信号,其中后续非零驱动信号可以在升压模式604下施加。更具体而言,当振幅控制电路16/106/206检测到后续非零驱动信号的开始时,其可转换回到升压模式604,并在该模式下施加后续非零驱动信号。
在一个实施例中,即使当控制电路16/106/206处于升压冷却模式 607时,自升压模式604的开始时间起的持续时间也可以继续递增。因此,当控制电路16/106/206处于升压冷却模式607时,升压超时阈值可以被超过,此时控制电路16/106/206可以从升压冷却模式607转换到冷却模式608。如果发生这种情况,则在升压冷却模式607中花费的时间可以被包括在冷却时间段中。换句话说,冷却时间段可以在控制电路16/106/206进入升压冷却模式607的时间开始。
在一个实施例中,当控制电路16/106/206从升压模式604转换到升压冷却模式607时,它可以启动冷却定时器来跟踪在冷却时间段中花费的时间长度(也称为冷却持续时间)。在一个实施例中,当控制电路16/106/206从升压冷却模式607转换回到升压模式604时(或者在该情况下),可以重置冷却定时器。在一个实施例中,控制电路 16/106/206可以在升压模式604和升压冷却模式607之间来回转换,直到从其中施加一个或多个非零驱动信号的升压模式604的开始时间起的持续时间等于或超过第一限定时间阈值(例如,升压超时阈值)。在一个实施例中,当控制电路16/106/206从冷却模式608转换到限幅模式606时,控制电路16/106/206可以重置冷却定时器。
图9示出了根据图8的状态机施加到触觉致动器18/108/208的多个非零驱动信号。在t0,控制电路16/106/206可以处于启动/空闲模式 602。在t1,控制电路16/106/206可以检测第一非零驱动信号的开始,并且可以转换到升压模式604。检测到第一非零驱动信号的时间t1可以被指定为用于第一非零驱动信号的升压模式604的开始时间,并且当前也可以是升压模式604的最近开始时间。在一个实施例中,控制电路16/106/206可以在t1启动升压定时器。在升压模式604下,通过缩放到升压电压范围,可以允许以超过触觉致动器的额定最大电压的振幅施加第一非零驱动信号。缩放后的非零驱动信号可以成为施加到触觉致动器18/108/208的电压信号811。
在时间t2,可以检测到第一非零驱动信号的结束。虽然控制电路 16/106/206可以在从t1到t2的间隔中监视自升压模式604的开始时间起的持续时间是否超过升压超时阈值,但是第一非零驱动信号可以在达到升压超时阈值之前结束。在时间t2,控制电路16/106/206可以从升压模式604转换到升压冷却模式607。时间t2可以被认为是第一冷却时间段的开始时间。在一个实施例中,冷却定时器可以在时间t2启动,而升压定时器可以继续运行(例如,继续顺计数)。
在时间t3,可以检测到第二非零驱动信号的开始。结果,控制电路16/106/206可以从升压冷却模式607转换回到升压模式604,在升压模式下,第二非零驱动信号被缩放成电压信号813。控制电路 16/106/206可能能够转换回到升压模式604,因为升压超时阈值尚未达到。因此,控制电路16/106/206可以继续在在时间t1开始的升压模式下操作(即,升压模式604的最近开始时间仍然是时间t1)。在一个实施例中,返回到升压模式604的转换可以导致冷却定时器重置,而升压定时器可以继续运行。
在时间t4,可以检测到第二非零驱动信号的结束。第二非零驱动信号的结束也可以在达到升压超时阈值之前到来。因此,控制电路 16/106/206可以转换回到升压冷却模式607。在一个实施例中,时间 t4可以是第二冷却时间段的开始时间。在一个实施例中,冷却定时器可以从时间t4开始递增或以其他方式计数。此外,升压定时器可以继续运行。
在时间t5,控制电路16/106/206可以检测到自升压模式604的最近开始时间(即t1)起的持续时间等于或超过第一限定的时间阈值,例如升压超时阈值。作为持续时间超过第一限定时间阈值的结果,控制电路16/106/206可以转换到冷却模式608。而在冷却模式608下,控制电路16/106/206可以监视第二冷却时间段的持续时间是否已经达到或超过冷却时间阈值。
在时间t6,可以检测到第三非零驱动信号的开始。此时,控制电路16/106/206可以从冷却模式608转换到限幅模式606,而不是转换到启动/空闲模式,因为等于第二冷却时间段(t6-t4)的长度的冷却定时器的值小于冷却时间阈值。更一般地,转换到限幅模式606,因为从前一连续非零驱动信号的结束到第三非零驱动信号的开始的时间长度小于冷却时间阈值。在限幅模式606下,第三非零驱动信号可以被缩放到限幅电压范围,成为电压信号815。在一个实施例中,冷却定时器可以在t6或在t6之后重置。
在时间t7,可以检测到第三非零驱动信号的结束,并且控制电路 16/106/206可以再次转换到冷却模式608。第三非零驱动信号的结束可以对应于第三冷却时间段的开始时间。在一个实施例中,可以在t7再次启动冷却定时器。
在时间t8,控制电路16/106/206可以检测到自第三冷却时间段的开始时间起的持续时间(即t8-t7)超过冷却时间阈值,并且可以转换到启动/空闲模式602。如上所述,在一个实施例中,可以不显式地执行该转换。在时间t9,当振幅控制电路16/106/206检测到第四非零驱动信号的开始时,可以确定第四非零驱动信号可以在升压模式下施加。该确定可以基于控制电路16/106/206当前处于启动/空闲模式,或者更一般地可以基于第四非零驱动信号的开始和前一连续非零驱动信号的结束之间的持续时间超过冷却时间阈值。该持续时间可以是第三冷却时间段的长度,其可以反映在冷却定时器的值中,或者作为t9-t7。此外,升压模式604的最近开始时间可以从t1更新为t9。在升压模式604 下,第四非零驱动信号可以被缩放为电压信号817。
图10示出了根据图10的状态机也施加到触觉致动器18/108/208 的多个非零驱动信号。在时间t0,控制电路16/106/206可以处于启动/ 空闲模式602。在时间t1,控制电路16/106/206可以检测第一非零驱动信号的开始,并且在升压模式604下作为电压信号821来施加第一非零驱动信号。第一非零驱动信号821的开始可以被指定为升压模式 604的开始时间。
在时间t2,检测到第一非零驱动信号的结束。这可以发生在自升压模式604的开始时间超过第一限定时间阈值(例如,升压超时阈值) 起的持续时间之前。结果,可以存在从升压模式604到升压冷却模式 607的转变。时间t2可以限定第一冷却时间段的开始时间。
在时间t3,可以检测到第二非零驱动信号的开始。结果,控制电路16/106/206可以转换回升压模式604。结果,在升压模式604下作为电压信号823的部分823来施加第二非零驱动信号的第一部分。注意,在时间t3,控制电路16/106/206没有转换到限幅模式606,因为在时间t3还没有达到升压超时阈值。此时,升压模式604的最近开始时间仍然可以是时间t1。
在时间t4,当处于升压模式604时,控制电路16/106/206可检测到自升压模式604的开始时间起的持续时间(即,自t1起的持续时间) 超过第一限定时间阈值(例如,升压超时阈值)。结果,控制电路16/106/206可以在限幅模式606下作为电压信号823的部分823b来施加第二非零驱动信号的第二部分。
在时间t5,可以检测到第二非零驱动信号823的结束。结果,可以存在从限幅模式606到冷却模式608的转变。在一个实施例中,第二非零驱动信号823的结束可以对应于(例如,指定为)第二冷却时间段的开始时间。
在时间t6,控制电路16/106/206可以检测自第二冷却时间段的开始时间起的持续时间(即t6-t5)等于或超过第二限定时间阈值(例如,冷却时间阈值)。一旦检测到该事件,控制电路16/106/206就可以从冷却模式608转换到启动/空闲模式602。当在时间t7检测到第三非零驱动信号时,控制电路16/106/206可以在升压模式604下作为电压信号825来施加第三非零驱动信号,并且升压模式的最近开始时间可以从t1更新为t7。控制电路16/106/206可以确定在升压模式604下施加第三非零驱动信号,因为当控制电路16/106/206在启动/空闲模式602 下时检测到第三非零驱动信号,或者更一般地因为第三非零驱动信号的开始和前一连续非零驱动信号的结束之间的持续时间超过了第二限定的时间阈值。该持续时间可以等于第二冷却时间段的持续时间,其可以等于冷却定时器的值,或者更一般地等于t7-t5。
图11示出了与图8的状态机相似的状态机,但还包括扩展升压模式605。如上所述,扩展升压模式可用于在正极性和负极性之间交替的非零驱动信号。更具体地,当自升压模式的开始时间起的持续时间超过第一限定时间阈值(例如,升压超时阈值)时,控制电路16/106/206可以从升压模式604转换到扩展升压模式605,而不是直接转换到限幅模式606。扩展升压模式605可以允许非零驱动信号继续缩放到升压电压范围或升压电流范围,直到过零点,直到在扩展升压模式605下花费的持续时间超过另一个限定的时间阈值(例如,扩展升压超时阈值),以较早发生的为准。
图12A示出了根据本文实施例的将一个或多个非零驱动信号施加到触觉致动器的实例方法900。方法900可由诸如控制电路16、106 或206之类的控制电路执行。在一个实施例中,该方法开始于步骤901,在该步骤,控制电路16/106/206接收非零驱动信号,该非零驱动信号将由触觉致动器18/108/208用以产生触觉效果,其中触觉致动器 18/108/208可以具有限定额定最大电压或电流。非零驱动信号可以是例如图5中的第一非零驱动信号或图10中的第二非零驱动信号。可以从例如信号发生器102/202接收非零驱动信号,信号发生器102/202 可能已经从存储器检索了非零驱动信号。
在步骤903中,控制电路16/106/206使得非零驱动信号的第一部分在升压模式604下被施加(例如,通过信号修改电路/模块104/204),在该升压模式下,非零驱动信号的第一部分被缩放到升压电压范围或升压电流范围,其中升压电压范围或升压电流范围的最小值或最大值的绝对值超过触觉致动器的限定额定最大电压或限定额定最大电流。例如,步骤903可以包括在升压模式604下施加图5中的第一非零驱动信号的第一部分,或者在升压模式604下施加图10中的第二非零驱动信号的第一部分(图10中的第一非零驱动信号也可以在升压模式 604下施加)。
在一个实施例中,非零驱动信号是在升压模式604下施加的一个或多个连续非零驱动信号之一。在一个实施例中,非零驱动信号可以是多个连续非零驱动信号中的最新一个(即,时间上的最新),其中控制电路可以在施加这多个连续非零驱动信号之前处于启动/空闲模式602或冷却模式608。在一个实施例中,一个或多个连续非零驱动信号中的最早非零驱动信号可以限定升压模式604的开始时间,其中在最早非零驱动信号之前并与其连续的任何非零驱动信号在升压模式下不被施加,或者与最早的非零驱动信号分离至少一个冷却时间阈值。
在步骤904中,控制电路检测升压持续时间超过第一限定时间阈值,其中升压持续时间是自升压模式的开始时间起的持续时间。控制电路16/106/206可以监视升压持续时间,以便检测升压持续时间超过第一限定时间阈值。在一个实施例中,非零驱动信号可以是图5的第一非零驱动信号,升压模式604的开始时间可以是第一非零驱动信号的开始(即,图5中的时间t1)。在一个实施例中,非零驱动信号是在升压模式604下施加的多个连续非零驱动信号中的最新一个。例如,非零驱动信号可以是图10中的第二非零驱动信号,其中第一非零驱动信号和第二非零驱动信号是在升压模式下施加的连续非零驱动信号。在该实施例中,升压模式604的开始时间可以是多个连续非零驱动信号中最早的一个的开始(即,图10中的时间t1)。连续的非零驱动信号中的每一个可以仅响应于确定自升压模式的开始时间起到相应的非零驱动信号的开始的持续时间没有超过第一限定时间阈值,而在升压模式下施加。在一个实施例中,可以在例如图5中的时间t2或图10 中的时间t4超过第一限定时间阈值。
在步骤905中,响应于检测到升压持续时间超过第一限定时间阈值,控制电路使非零驱动信号的第二部分以限幅模式606施加(由信号修改电路/模块104/204),在该限幅模式下,非零驱动信号的第二部分被缩放到限幅电压范围或限幅电流范围,其中限幅电压范围或限幅电流范围的最小值或最大值的绝对值不超过触觉致动器18/108/208 的限定的额定最大电压或限定的额定最大值。第二部分可以是例如图 5中第一非零驱动信号的第二部分,或者图10中第二非零驱动信号的第二部分。
图12B示出了方法900A,其是方法900的更具体的版本。方法 900A还可以包括步骤901,然后进行到步骤902。在步骤902中,控制电路16/106/206启动升压定时器。例如,非零驱动信号可以是图5 的第一非零驱动信号或其他第一非零驱动信号,升压定时器可以在时间t1启动,并从重置值(例如,t=0秒的重置值)开始计数(例如,递增)。图10的实例还可以包括在时间t1启动升压定时器。升压定时器可以在启动/空闲模式602下检测到非零驱动信号的开始时启动,如果升压定时器处于重置值则可以是这种情况。在这种情况下,非零驱动信号的开始构成非零驱动信号的升压模式604的开始时间。升压定时器可以从重置值顺计数或者可以从第一限定时间阈值倒计数。
与在方法900中一样,方法900A可以包括步骤903,在该步骤,控制电路使得非零驱动信号的第一部分以升压模式604施加。在可以是步骤904的实施例的步骤904A中,控制电路16/106/206可以确定升压定时器的电流值是否大于第一限定时间阈值。例如,控制电路16/106/206可以周期性地(例如,每1ms或每50μs)执行步骤904A。步骤904A可以应用于升压定时器顺计数的情况。在替代实施例中,升压定时器可以倒计时,并且控制电路16/106/206可以改为确定升压定时器是否已经从第一限定时间阈值倒计时到零值。
在一个实施例中,如果升压定时器的值还没有超过第一限定时间阈值,则控制电路16/106/206可以返回步骤903,以在升压模式604 下继续施加非零驱动信号。升压定时器的值可以在例如图5中的时间 t2或图10中的时间t4处超过第一限定时间阈值。此时,控制电路 16/106/206可前进到步骤905,在步骤905中,非零驱动信号的第二部分以限幅模式606施加。
图13示出了包括图12B的步骤的方法1000,并且还包括步骤 1002-1010,步骤1002-1010描述了在步骤905中进入限幅模式606之后控制电路16/106/206的操作。在步骤1002中,控制电路16/106/206 检测非零驱动信号的结束,例如图5中第一非零驱动信号在时间t3的结束,或者图10中第二非零驱动信号在时间t5的结束。非零驱动信号的结束可以限定冷却时间段的开始时间。在一个实施例中,当检测到非零驱动信号的结束时,可以启动冷却定时器。
在步骤1004中,控制电路检测后续非零驱动信号,例如图5中的第二非零驱动信号或图10中的第三非零驱动信号。
在步骤1006中,控制电路确定冷却持续时间是否超过第二限定时间阈值(例如,冷却时间阈值)。控制电路可以监视冷却持续时间以便作出该确定。冷却持续时间可以是紧在后续非零驱动信号之前的冷却时间段的长度,并且可以反映在冷却定时器的值中。更一般地说,冷却持续时间可以是在后续非零驱动信号的开始与前一非零连续非零驱动信号的结束之间的持续时间。例如,如果后续非零驱动信号是图 5中的第二非零驱动信号,则冷却持续时间可以等于t4-t3。如果后续非零驱动信号是图5中的第三非零驱动信号,则冷却持续时间可以等于t7-t5。在一个实施例中,如果冷却定时器倒计数,则步骤1006可以包括控制电路16/106/206确定冷却定时器的电流值是否已经达到零。
回到图13,响应于确定冷却持续时间超过第二限定时间阈值,控制电路在步骤1008中使得后续非零驱动信号(例如,图10中的第三非零驱动信号)的至少第一部分在升压模式604下被施加(由信号修改电路/模块104/204)。响应于确定冷却持续时间没有超过第二限定时间阈值,控制电路在步骤1010中使得所有后续非零驱动信号(例如,图5中的第二非零驱动信号)在限幅模式606下被施加。
图14示出了说明图4和11的扩展升压模式605的方法1100。该方法包括图12B的步骤,并且还包括步骤1102,在该步骤中,控制电路16/106/206确定非零信号(例如图7中的第一非零驱动信号)是否处于过零点,过零点可以是非零驱动信号跨过零值的点。如果是,则控制电路16/106/206转换到限幅模式(步骤905)。然而,如果控制电路确定非零驱动信号不在过零点,则控制电路在步骤1104使非零驱动信号以扩展升压模式605施加,在扩展升压模式下,非零驱动信号继续被缩放到升压电压范围或升压电流范围。例如,图7中的电压信号801的部分801Y可以在扩展升压模式605下施加。
在步骤1106中,当处于扩展升压模式时,控制电路16/106/206 确定非零驱动信号是否已经达到过零点。如果是,则控制电路 16/106/206转换到限幅模式。否则,在步骤1108中,控制电路在扩展升压模式下确定非零驱动信号是否已经在扩展升压模式中施加了大于第三限定时间阈值(例如,扩展升压超时阈值)的第三持续时间。如果第三持续时间大于第三限定时间阈值,则控制电路16/106/206可以转换到限幅模式606。因此,扩展升压模式605可以在以下较早的时刻结束:i)非零驱动信号处于扩展升压模式时的过零点,或者ii)自扩展升压模式开始起的持续时间超过第三限定时间阈值,例如扩展升压超时阈值。
图15A和15B示出了根据图8的状态机的用于向触觉致动器施加一个或多个非零驱动信号的方法1200。在一个实施例中,方法1200 包括步骤1201,在步骤1201中,控制电路16/106/206检测或以其他方式接收第一非零驱动信号(例如,图9中的第一非零驱动信号)的开始,以由触觉致动器用来产生触觉效果。
在步骤1203中,控制电路使当前非零驱动信号在升压模式604 下施加。方法1200中的步骤,包括步骤1203,可以是循环的一部分,循环可以循环多次迭代。换句话说,可以多次执行步骤1203。当第一次执行步骤1203时(这在检测到第一非零驱动信号时发生),第一非零驱动信号是当前非零驱动信号。当第一非零驱动信号已经结束并且对后续非零驱动信号执行步骤1203时,后续非零驱动信号可以是当前非零驱动信号。在一个实施例中,第一非零驱动信号的开始可以限定升压模式604的开始时间。
在步骤1205中,确定升压持续时间是否超过第一限定时间阈值,其中升压持续时间是自升压模式604的开始时间起的持续时间。例如,参考图9,升压模式604的开始时间可以是t1。当在时间t执行步骤 1205时,升压持续时间可以是t-t1。步骤1205可以是监视是否已经超过第一限定时间阈值的步骤的一部分,其可以连续地或周期性地进行。
在步骤1207中,响应于确定升压持续时间超过第一限定时间阈值,控制电路可以在限幅模式606下施加当前非零驱动信号的任何剩余部分。
在步骤1209中,在当前非零驱动信号结束之后,控制电路1207 可以在冷却模式608下等待任何后续非零驱动信号。冷却模式的开始可以是冷却时间段的开始时间。
在步骤1211中,响应于确定升压持续时间尚未超过第一限定时间阈值,控制电路可以在升压模式604下继续施加当前非零驱动信号,直到在步骤1211中检测到当前非零驱动信号的结束。
在步骤1213中,控制电路可在升压冷却模式607下等待任何后续非零驱动信号。升压冷却模式607的开始可以限定冷却时间段的开始时间。在升压冷却模式607下,控制电路可在步骤1215中确定升压持续时间(自t1起的持续时间)是否超过第一限定时间阈值。
在步骤1217中,响应于确定升压持续时间超过第一限定时间阈值,控制电路可退出升压冷却模式607,并进入冷却模式608。例如,图9示出了控制电路在时间t5确定升压持续时间超过第一限定时间阈值并且从升压冷却模式607转换到冷却模式608的情况。在冷却模式 608下,控制电路可在步骤1217中等待任何后续非零驱动信号。在一个实施例中,控制电路16/106/206在升压冷却模式下花费的最近时间段的开始可以限定最近冷却时间段的开始时间。
在图15B所示的步骤1218中的冷却模式608下,控制电路可以确定冷却持续时间是否已经达到或超过第二限定时间阈值。冷却持续时间可以是自最近冷却时间段的开始时间起的持续时间。例如,参考图9,控制电路可以在t5和t6之间的时间段以及t7和t8之间的间隔中处于冷却模式608。t5和t6之间的时间段可以是当控制电路16/106/206 仍处于从t4开始的升压冷却模式607时开始的冷却时间段的一部分。因此,在该时间段期间,控制电路16/106/206可在步骤1218中确定自时间t4起的持续时间(即,t-t4)(其可为冷却持续时间)是否已超过第二限定时间阈值。t7至t8的稍后时间段可以是从t7开始的冷却时间段的一部分。因此,在该时间段期间,控制电路16/106/206也可以通过确定自时间t7起的持续时间(即,t-t7)(其可以是冷却持续时间) 是否已经超过第二限定时间阈值来执行步骤1218。
在步骤1221中,响应于确定冷却持续时间尚未达到或超过第二限定时间阈值,控制电路16/106/206可以在冷却模式608下继续等待,直到在步骤1221中检测到另一非零驱动信号。例如,在图9中的t5和t6之间的时间段中,冷却持续时间不超过第二限定时间阈值。因此,控制电路16/106/206在冷却模式608下等待。当检测到另一非零驱动信号时,控制电路16/106/206可以接着返回到步骤1207,以在限幅模式606下施加检测到的非零驱动信号。如果在步骤1221中,冷却持续时间确实超过了第二限定时间阈值,则控制电路可以返回到启动/空闲模式602,之后在升压模式604下再次施加后续非零驱动信号(例如,815)。例如,在从时间t7开始的冷却时间段中,控制电路16/106/206 可以在时间t8确定冷却持续时间已经超过第二限定时间阈值,然后转换到启动/空闲模式602,之后在升压模式下施加图9中的第四非零驱动信号。
返回图15A,在步骤1219中,响应于确定第一持续时间没有超过第一限定时间阈值,控制电路可以在升压冷却模式607下继续等待任何后续非零驱动信号,直到在步骤1219中检测到另一非零驱动信号 (例如,813)。因为第一持续时间尚未超过第一限定时间阈值,所以后续驱动信号813的至少一部分也可以在升压模式604下施加。
图16示出了一种方法1400,其中在两个非零驱动信号之间的冷却时间段期间,而不是当非零驱动信号被施加到触觉致动器时,升压持续时间超过第一限定时间阈值,例如升压超时阈值。在一个实施例中,该方法开始于步骤1401,其中控制电路16/106/206接收要施加到触觉致动器18/108/208的非零驱动信号,其中触觉致动器具有限定的额定最大电压或电流。例如,步骤1401可包括控制电路接收图9中的第一非零驱动信号或第二非零驱动信号。在一个实施例中,可以从信号发生器的输出接收非零驱动信号。在一个实施例中,步骤1401可以包括检测非零驱动信号的开始。
在步骤1403中,控制电路16/106/206使得非零驱动信号在升压模式604下被施加到触觉致动器18/108/208,在该升压模式下,非零驱动信号被缩放到升压电压范围或升压电流范围,其中升压电压范围或升压电流范围的最小值或最大值的绝对值超过触觉致动器18/108/208的限定额定最大电压或限定额定最大电流。例如,步骤1403 可以包括控制电路16/106/206在升压模式604下施加图9的第一非零驱动信号和第二非零驱动信号。因此,与步骤903类似,非零驱动信号可以是在升压模式下施加的一个或多个连续非零驱动信号之一。控制电路16/106/206可以同时监视升压持续时间,该升压持续时间可以是自升压模式604的开始时间起的持续时间,以检测升压持续时间是否超过第一限定时间阈值,例如升压超时阈值。在一个实施例中,升压模式的开始时间可以指升压模式604的最近开始时间。在图9的上下文中,当在升压模式604下施加第一非零驱动信号和第二非零驱动信号时,升压模式的最近开始时间可以是t1。当稍后在升压模式604 下施加第四非零驱动信号时,升压模式的最近开始时间可以是t9。
在步骤1405中,控制电路16/106/206在非零驱动信号结束后检测升压持续时间超过第一限定时间阈值。例如,在图9的上下文中,尽管控制电路16/106/206当在升压模式604下施加第一非零驱动信号和第二非零驱动信号的同时监视升压持续时间,但是升压持续时间未超过升压超时阈值,直到第一非零驱动信号和第二非零驱动信号结束。在图9中,第二非零驱动信号在t4结束。在时间t4之后,控制电路 16/106/206在时间t5检测升压持续时间超过升压超时阈值。
在步骤1407中,控制电路16/106/206在非零驱动信号结束后,检测要施加到触觉致动器18/108/208的后续非零驱动信号,其中非零驱动信号和后续非零驱动信号是连续非零驱动信号。例如,后续非零驱动信号可以是图9中的第三非零驱动信号,并且在第二非零驱动信号结束之后被检测到,其中第二非零驱动信号和第三非零驱动信号是连续的非零驱动信号。
在步骤1409中,控制电路16/106/206使后续非零驱动信号以限幅模式施加,在限幅模式下,非零驱动信号的第二部分被缩放到限幅电压范围或限幅电流范围,其中限幅电压范围或限幅电流范围的最小值或最大值的绝对值不超过触觉致动器18/108/208的限定额定最大电压或限定额定最大电流。例如,一经检测到图9中的第三非零驱动信号,控制电路16/106/206就使得振幅修改电路/模块104/204在限幅模式下施加第三非零驱动信号。
在一个实施例中,仅响应于确定冷却持续时间小于第二限定时间阈值,在限幅模式下施加后续非零驱动信号,冷却持续时间是非零驱动信号的结束和后续非零驱动信号的开始之间的持续时间。例如,图 9中的第三非零驱动信号仅响应于t4和t6之间的持续时间小于(或更一般地不超过)第二限定时间阈值(例如冷却时间阈值)的确定而以限幅模式施加。如果超过冷却时间阈值,则控制电路16/106/206可能已经转换到启动/空闲模式602,这将允许在升压模式604下施加第三非零驱动信号。在一个实施例中,方法1400可以结合以上关于方法 900、900A、1000、1100或1200讨论的特征。例如,方法1400可以包括在限幅模式606和冷却模式608之间转换以及从冷却模式608转换到启动/空闲模式602中涉及的步骤。
如上所述,这里的一些实施例涉及基于跟踪累积升压时间、累积发热时间和累积冷却时间(也分别称为累积的升压时间、累积的发热时间和累积的冷却时间)来确定是在升压模式还是在限幅模式(或者更一般地,限幅模式)下施加非零驱动信号。非零驱动信号可以由诸如模拟信号之类的连续信号定义,或者可以由多个离散信号值定义,这些离散信号值也称为离散样本或离散信号样本。
在一个实施例中,累积的升压时间可以跟踪例如自升压模式的开始时间起,已经在升压模式中施加一个或多个非零驱动信号多长时间。更具体地说,累积升压时间可以是控制电路在升压模式下施加一个或多个非零驱动信号所花费的累积时间量,并且可以从累积升压时间的最近重置或者在其最近重置之后测量。在上面讨论的状态机中,例如关于图8和11,即使在非零驱动信号结束之后,升压持续时间也可以继续递增或以其他方式继续计数。例如,在控制电路16/106/206从升压模式604转换到升压冷却模式607之后,升压持续时间可以继续增加。因此,如图9所示,升压持续时间可以能够在t4和t6之间的冷却时间段期间超过第一限定时间阈值。另一方面,累积升压时间可以仅在正在施加非零驱动信号时改变值。因此,当非零驱动信号结束且升压超时阈值未被累积升压时间超过时,累积升压时间可在其当前值暂停,直到接收到后续非零驱动信号。在一个实施例中,下面讨论的方法可以用升压持续时间的使用来代替累积升压时间的使用。
在一个实施例中,当累积升压时间达到或超过第一限定时间阈值时,控制电路16/106/206可以从在升压模式604下施加非零驱动信号切换到在限幅模式下施加非零驱动信号。更具体而言,累积发热时间可以是以下中的任一者:i)累积时间量,在该累积时间量中,升压模式下的一个或多个非零驱动信号已经以绝对值超过限定的额定最大电压或电流的电压或电流被施加到触觉致动器,或者ii)通过缩放其中升压模式下的一个或多个驱动信号已经以绝对值超过限定的额定最大电压或电流的电压或电流被施加的累积时间量确定的第二时间量。
在一个实施例中,累积的发热时间可用于在以升压模式再次施加任何非零驱动信号之前设定触觉致动器必须冷却的最小时间量。换句话说,累积发热时间可用于确定或以其他方式定义冷却时间阈值(其也可称为第二时间阈值)。因此,冷却时间阈值可以是以动态方式定义的确定的冷却时间阈值(或更一般地,确定的第二时间阈值)。控制电路可使非零驱动信号以限幅模式施加,直到累积冷却时间超过冷却时间阈值。当累积冷却时间确实超过冷却时间阈值时,控制电路可以将累积冷却时间、累积发热时间和累积升压时间重置,例如重置为零。
图17一般性地示出了在升压模式下施加的正弦非零驱动信号的累积升压时间和累积发热时间。更具体地,图17描绘了在升压模式下升压后的正弦非零驱动信号。如上所述,升压模式可以指其中非零驱动信号的信号值被缩放或以其他方式映射到升压电压范围的模式,其中升压电压范围的最大值或最小值的绝对值超过触觉致动器 18/108/208的限定额定最大电压。在图3中,非零驱动信号可以具有例如在-128到127(2的补码格式)范围内的8位数字值的信号值,其中数字值是无量纲值。在一个实例中,触觉致动器18/108/208可以具有例如5V的限定额定最大电压。在一个实例中,升压模式可以将非零驱动信号的数字值范围(从-128到127)映射到大约-10V到10V 的升压电压范围。映射可以通过例如将数字值乘以10/128V来执行。在该实例中,数字值63可以映射到5V,数字值-63可以映射到-5V。
图17进一步描绘了从t0到t11在升压模式下驱动的非零驱动信号。在一个实施例中,累积升压时间可以跟踪在升压模式下非零驱动信号 (或多个非零驱动信号)被施加了多长时间。在图17的实例中,累积升压时间可以从零开始,并且可以增加到t11=10.28ms。
在一个实施例中,当累积升压时间达到第一限定时间阈值(例如, 9ms的升压超时阈值)时,控制电路16/106/206可以开始监视退出升压模式的最早机会。最早的机会可以是到达过零点的非零驱动信号,或者累积升压时间达到限定的延长的总升压时间阈值,以较早发生的为准。例如,在时间t9,控制电路可以开始监视上述两种情况之一。在一个实施例中,限定延长的总升压时间阈值更一般地可以是第四限定时间阈值,其可以等于第一限定时间阈值(例如升压超时阈值)加上第三限定时间阈值(例如扩展升压超时阈值)。在一些情况下,限定的延长的总升压时间阈值更一般地可以是第一限定的时间阈值加上限定的延长持续时间(例如,9ms+3ms延长持续时间=12ms)。因此,限定的延长的总升压时间阈值可以等于升压超时阈值加上限定的延长持续时间。在图17的实例中,当非零驱动信号在t11到达过零点时,退出升压模式的最早机会出现。在另一实施例中,当累积升压时间在t9处达到第一限定阈值或者达到限定的延长的总升压时间阈值时,退出升压模式,而不管其是否达到过零点。
在一个实施例中,在t11处的过零点之后或在累积升压时间达到限定的延长的总升压时间阈值之后,可以以限幅模式施加非零驱动信号的剩余部分,在限幅模式下,信号值映射到限幅电压范围,其中该范围的最小值的绝对值和该范围的最大值的绝对值不超过限定的额定最大电压。例如,限幅模式可以将非零驱动信号的数字值范围(从-128 到127)映射到-5V到5V或者-4V到4V的限幅电压范围。
在一个实施例中,累积发热时间可以跟踪非零驱动信号(或多个非零驱动信号)的升压信号值具有超过限定的额定最大电压的相应绝对值的总时间量。升压的信号值也可称为缩放的信号值或映射的信号值。例如,在图17中,从t1到t2,然后从t3到t4,然后从t6到t7,然后从t8到t10,非零驱动信号可以被缩放为绝对值超过5V的电压值。因此,在该实例中,累积发热时间可以基于(t2–t1)+(t4–t3)+(t7- t6)+(t10-t8)的和。累积发热时间可以等于该总和,或者可以是调整该总和的值。例如,累积发热时间可以是该总和的缩放版本(例如,相乘版本)。在更具体的实例中,累积发热时间可以等于该总和乘以90° /(90°–arcsin(Vrated/Vmax))。Vrated可以是触觉致动器18/108/208的限定额定最大电压,Vmax可以是升压电压范围的最大值或最小值的绝对值,以较大者为准。在本例中,Vrated为5V,Vmax为10V。在图17 的实例中,该倍数等于90°/(90°–30°)=1.5。图17中的累积发热时间可能小于累积升压时间,即使比例为1.5。这可以是因为当升压模式将可以由2的补码格式的8位值表示的最大值127映射到升压电压范围的最大10V时,图17中非零驱动信号的信号值实际上并未达到127 (相反,信号值的最大值约为105)。在另一个实例中,如果非零驱动信号的信号值确实达到127,或者更一般地跨越-128到127的整个范围,则上述缩放可能导致累积发热时间等于累积升压时间。
在本文的任何实施例中,累积发热时间可以用更一般的测量值代替或补充,其可以被称为累积发热测量值。累积的发热测量值可以表示触觉致动器的发热量。累积发热测量值包括上面讨论的累积发热时间,或者包括其他可测量的量,例如在升压非零驱动信号的升压信号值超过限定额定最大电压的持续时间内升压非零驱动信号下方的面积 (例如,积分)。例如,累积发热测量值可以是图17中从t1到t2,然后从t3到t4,然后从t6到t7,然后从t8到t9的非零驱动信号的积分。
图18示出了用于施加一个或多个非零驱动信号的实例方法1500 的流程图。该方法可以由例如控制电路16/106/206来执行。在实例性方法1500中,累积升压时间、累积发热时间和累积冷却时间在重置值 0处开始。在另一个实施例中,累积升压时间、累积发热时间和累积冷却时间可以具有不同于零的相应的重置值(相应的重置值可以相同,也可以不同)。
在一个实施例中,方法1500可以从步骤1503开始,在该步骤中,控制电路16/106/206接收要施加到触觉致动器18/108/208的非零驱动信号,其中触觉致动器具有限定的额定最大电压或限定的额定最大电流。在一个实施例中,可以从信号发生器102/202接收非零驱动信号。在一个实例中,在步骤1503中接收到的非零驱动信号可以是图21A 的第一非零驱动信号1801,其中非零驱动信号1801是作为电压信号 1811来施加的。在另一实例中,在步骤1503中接收到的非零驱动信号可以是图21B中的第一非零驱动信号1901,其中第一非零驱动信号 1901是作为电压信号1911来施加的。
在步骤1505中,控制电路16/106/206可以使非零驱动信号的第一部分以升压模式施加,其中非零驱动信号的信号值被缩放到升压电压范围或升压电流范围,其中升压电压范围或升压电流范围的最小值或最大值的绝对值超过触觉致动器的限定额定最大电压或电流,并且其中非零驱动信号是在升压模式下施加的一个或多个非零驱动信号之一。例如,控制电路可以控制信号修改电路/模块104/204的放大器以在升压模式下施加非零驱动信号。在一个实例中,步骤1505可以包括在升压模式下作为电压信号1801的部分1811a来施加非零驱动信号 1801的第一部分,或者在升压模式下作为电压信号1911的部分1911a 来施加非零驱动信号1901的第一部分1901a。在一个实施例中,非零驱动信号可以是在升压模式下已经或将要施加的多个连续非零驱动信号中的最新一个(即,时间上的最新)。例如,较早的非零驱动信号可以在非零驱动信号1801之前,并且也可以在升压模式下被施加。多个连续非零驱动信号可以是在累积升压时间的最近重置之后在升压模式下已经施加或将要施加的所有非零驱动信号。
在步骤1507中,控制电路16/106/206可以跟踪累积升压时间,其中,累积升压时间是控制电路在升压模式下施加一个或多个非零驱动信号所花费的累积时间量,其中累积升压时间是从累积升压时间的最近重置起或在其最近重置之后测量的。跟踪可以连续或接近连续地进行。例如,步骤1507可以包括每当在升压模式下施加一个信号值或一组信号值时更新累积升压时间。参考图21A和21B的实例,在升压模式结束时,累积升压时间可以增大Δtb。累积升压时间的最近重置可能已经在非零驱动信号1801或1901的开始处或之前发生。例如,关于图17,累积升压时间可能已经在例如t0之前20ms重置。因此,累积升压时间可以从最近的重置起测量,或者在该重置之后测量。如果在该20ms期间没有更早的居间的非零驱动信号,则在该20ms期间累积升压时间保持在其重置值。然后,当在t0处接收到非零驱动信号时,累积升压时间可以开始增加。或者,如果在该20ms时间段期间存在较早的居间非零驱动信号,则在较早的居间非零驱动信号在升压模式下施加时,累积的升压时间可以已经开始增加,。
在步骤1509中,控制电路16/106/206可以跟踪累积发热时间,其中累积发热时间是:i)累积时间量,在该累积时间量内,升压模式下的一个或多个非零驱动信号已经以绝对值超过限定额定最大电压或电流的电压或电流被施加到触觉致动器,或者ii)通过缩放其中升压模式下的一个或多个驱动信号已经以绝对值超过限定的额定最大电压或电流的电压或电流被施加的累积时间量而确定的第二时间量。累积发热时间也可以连续或接近连续地执行。例如,每当在升压模式下作为升压或缩放的信号值来施加信号值或一组信号值时,步骤1509可以检查升压或缩放的信号值的绝对值是否超过限定的额定最大电压。如果升压后的信号值在绝对值上确实超过限定的额定最大电压,则控制电路16/106/206可以将累积发热时间增加由信号值或一组信号值表示的时间段。
在步骤1511中,控制电路16/106/206检测累积升压时间达到或超过第一限定时间阈值。控制电路可监视累积升压时间,以确定其是否达到或超过第一限定时间阈值。在实例方法1500中,可以在第一非零驱动信号结束之前达到第一限定时间阈值。关于图21A和21B中所描绘的实例,累积升压时间可在tb处或tb之前不久达到第一限定时间阈值(例如,9ms)。例如,如果非零驱动信号1801/1901在第一限定时间阈值处处于过零点,则tb等于第一限定时间阈值。如果在第一限定时间阈值处,非零驱动信号1801/1901不在过零点处,则tb可以对应于非零驱动信号1801/1901到达过零点,或者可以等于限定的延长的总升压时间阈值(例如,12ms)。
在步骤1513中,响应于检测到累积升压时间达到或超过第一限定时间阈值,控制电路16/106/206使得非零驱动信号的第二部分以限幅模式施加,其中非零驱动信号的第二部分被缩放到限幅电压范围或限幅电流范围,其中限幅电压范围或限幅电流范围的最小值或最大值的绝对值不超过触觉致动器的限定额定最大电压或电流。例如,在图 21A中,非零驱动信号1801的第二部分可以作为电压信号1801的部分1801b来施加。在图21B中,可以作为电压信号1901的部分1901b 来施加非零驱动信号1901的第二部分。
在一个实施例中,非零驱动信号可以在施加非零驱动信号的第二部分之后结束。更具体地,第二部分的结束可以是非零驱动信号的结束。在非零驱动信号结束后,控制电路16/106/206可能经历一时间段,在此期间,它不从信号发生器102/202检测或以其他方式接收任何非零驱动信号。在一些情况下,该时间段可以被称为冷却时间段(或降温时间段),或者称为空闲时间段。在此期间,信号发生器102/202 的输出可以被认为是未定义的(例如,信号发生器102/202可以设置指示其当前没有输出任何有效信号值的标志),或者可以是零,或者可以是绝对值小于限定的噪声阈值的值。
图19示出了涉及跟踪触觉致动器(例如,18/108/208)冷却的时间量的步骤。更具体地,在步骤1601中,控制电路16/106/206可以基于累积发热时间来确定第二时间阈值,例如冷却时间阈值。冷却时间阈值稍后可用于确定触觉致动器18/108/208是否已被允许充分冷却以能够再次使用升压模式。在一个实施例中,冷却时间阈值可以被计算或以其他方式确定为当前累积发热时间的倍数(例如7×当前累积发热时间)。如果累积发热时间随时间变化,休息时间阈值也可以变化。
在一个实施例中,每当累积发热时间被更新时,或者在累积发热时间的最近更新之后,可以计算冷却时间阈值。例如,参考图17,可以在时间t10处或其之后计算冷却时间阈值。在更具体的实例中,可以在非零驱动信号的结束时计算冷却时间阈值,因为累积发热时间在非零驱动信号的结束之前(或在非零驱动信号的结束时)更新。参考图 21A和21B,可以在非零驱动信号1801结束时(或之前)或非零驱动信号1901结束时(或之前)计算冷却时间阈值。
在一个实施例中,可以基于当累积升压时间达到第一限定阈值时 (或之后)的累积发热时间来计算冷却时间阈值。再次参考图3,可以在t9处或之后计算该实施例中的冷却时间阈值。尽管当控制电路 16/106/206等待过零点时,用于进行此计算的累积发热时间仍可从t9增加到t10,但计算t9处的冷却时间阈值与t10处的冷却时间阈值之间的差可足够小以不影响触觉致动器18/108/208的升压保护。
在步骤1603中,控制电路16/106/206可以跟踪累积冷却时间,其中累积冷却时间是控制电路没有接收到要施加到触觉致动器的非零驱动信号的累积时间量,并且是从累积冷却时间的最近重置或者在其最近重置之后计量的。参考图21A,在步骤1603中,累积冷却时间可以从零(其重置值)增加到Δtc。参考图21B,在步骤1603中,累积冷却时间可以从零增加到Δt1。在图21B中,累积冷却时间随后可以增加为加上Δt2、Δt3等,直到重置为止。在一个实施例中,在特定非零驱动信号结束之后,仅在后续连续非零驱动信号的开始处更新累积冷却时间。在一个实施例中,以固定间隔周期性地更新累积冷却时间 (例如,每隔1ms,控制电路16/106/206确定是否接收到非零驱动信号,并且如果没有接收到非零驱动信号,则将累积冷却时间递增1ms)。
在一个实施例中,除非累积发热时间大于其重置值(例如,大于零),否则不执行步骤1603。例如,仅在累积发热时间从其重置值(可称为重置发热值)增大到更高值之后,才开始跟踪累积冷却时间,使得如果累积发热时间保持在重置发热值(例如零)时,则不跟踪累积冷却时间。例如,参考图21C,非零驱动信号1911、1913、1915可以作为电压信号1921、1923、1925以升压模式施加。然而,非零驱动信号1911-1915的信号值可以足够小,使得即使在升压模式下被缩放到电压信号1921-1925之后,仍然小于触觉致动器18/108/208的限定额定最大电压。因此,即使在升压模式下施加非零驱动信号1911、1913、 1915,在非零驱动信号1915结束时累积发热时间仍保持为零。在该实例中,在每个非零驱动信号1911、1913、1915之后,累积冷却时间仍保持不变。因此,在非零驱动信号1917(其作为电压信号1927施加) 的开始处,累积冷却时间仍然为零。在这种情况下,冷却时间阈值的确定仍然可以在步骤1601中执行,或者可以省略。如果省略步骤1601,则在非零驱动信号1911、1913、1915和1917中的每一个的开始处,可以将累积升压时间设置为等于累积发热时间。这种调整可能导致在这种情况下累积升压时间重置为零。下面更一般地讨论基于累积发热时间来对累积升压时间的调节。
在步骤1605中,控制电路16/106/206在非零驱动信号结束后接收后续非零驱动信号。例如,步骤1605可以包括接收图21A或21B 中的非零驱动信号1803或非零驱动信号1903。
在步骤1606中,控制电路16/106/206在接收到后续非零驱动信号时,确定累积冷却时间是否已经达到或超过冷却时间阈值。
在步骤1607中,控制电路16/106/206基于累积冷却时间是否已经达到或超过冷却时间阈值来施加后续非零驱动信号。控制电路可监视累积冷却时间,以确定其是否达到或超过冷却时间阈值。在一个实施例中,该确定可以还基于或替代地基于累积升压时间是否已经被重置为重置值(或者更一般地,累积升压时间是否小于第一限定阈值)。步骤1607可以基于累积升压时间已经达到第一限定阈值(在步骤1513 中检测到)的上下文。因此,步骤1607可以确定累积升压时间是否已经重置为零,而不是累积升压时间是否小于第一限定阈值的更一般情况。稍后的实施例讨论当接收到第二非零驱动信号时累积升压时间尚未达到第一限定阈值的上下文。在该上下文下,控制电路16/106/206 更一般地确定累积升压时间是否小于第一限定阈值。
在一个实施例中,当接收到后续非零驱动信号时,在步骤1607 中确定累积冷却时间尚未达到第二时间阈值,并且其中后续非零驱动信号以限幅模式施加。
在一个实施例中,当接收到后续非零驱动信号时,确定累积冷却时间已经达到或超过第二时间阈值,并且其中在升压模式下施加后续非零驱动信号的至少一部分。累积增压时间、累积发热时间和累积冷却时间可以响应于累积冷却时间已经达到或超过第二时间阈值而被重置。例如,图20示出了用于执行图19的步骤1607的实例子步骤 1607a-1607c。更具体地,在步骤1607a中,控制电路16/106/206确定累积冷却时间是否等于或大于冷却时间阈值。可替换地或附加地,控制电路16/106/206可以直接确定累积升压时间是否已经重置为零。
在步骤1607b中,响应于确定累积冷却时间等于或大于冷却时间阈值或者确定累积升压时间已经被重置为零,控制电路16/106/206在升压模式下施加后续非零驱动信号的至少一部分。参照图21A,累积冷却时间可达到Δtc(例如,114ms),其大于冷却时间阈值(例如, 84ms),并可导致累积冷却时间重置。重置可以例如在接收到后续非零驱动信号803时发生,或者可替换地一旦累积冷却时间达到冷却时间阈值(如果以固定的时间间隔更新累积冷却时间)就发生。在步骤 1607b中,后续非零驱动信号1803的一部分1803a随后可以在升压模式下作为电压信号1813的部分1813a施加。
在步骤1607c中,响应于确定累积冷却时间小于冷却时间阈值或者确定累积升压时间已经超过第一限定时间阈值但尚未被重置,控制电路16/106/206以限幅模式施加所有后续非零驱动信号。参考图21B,如果后续非零驱动信号是非零驱动信号1903,则当接收到后续非零驱动信号时,累积冷却时间可以是Δt1(例如,24.55ms)。此值小于冷却时间阈值(例如,84ms)。因此,后续非零驱动信号以限幅模式施加。
图20示出了可由控制电路16/106/206执行的附加步骤。在步骤 1701中,控制电路16/106/206在后续非零驱动信号结束后更新累积冷却时间。参考图21B,这可以例如在第三非零驱动信号1905的开始、第四非零驱动信号1907的开始和第五非零驱动信号1909的开始处完成。在第五非零驱动信号1909的开始处,累积冷却时间可以是Δt1+ Δt2+Δt3+Δt4。
在步骤1703中,控制电路16/106/206可在第二非零驱动信号结束后检测累积冷却时间达到或超过冷却时间阈值。参考图21B,例如当接收到非零驱动信号1909的开始时,可以进行这种检测。在此实例中,控制电路16/106/206可在非零驱动信号1905的开始处确定累积冷却时间Δt1+Δt2尚未达到冷却时间阈值。还可以在非零驱动信号 1907的开始处确定累积冷却时间Δt1+Δt2+Δt3尚未达到冷却时间阈值。因此,非零驱动信号1905和1907可以作为电压信号1915和 1917以限幅模式施加。
在步骤1705中,响应于检测到累积冷却时间达到或超过冷却时间阈值,控制电路16/106/206可以将累积升压时间、累积发热时间和累积冷却时间重置为零或某个其他重置值。例如,参考图21B,当累积冷却时间Δt1+Δt2+Δt3+Δt4已经达到或超过冷却时间阈值时,当控制电路16/106/206已经接收到非零驱动信号1909的开始时,这可能发生。重置在非零驱动信号1909被施加到触觉致动器之前执行。
在步骤1707中,控制电路16/106/206在后续非零驱动信号之后接收附加的非零驱动信号。参考图21B,附加的非零驱动信号可以是非零驱动信号1909。
在步骤1709中,控制电路16/106/206可以响应于确定累积升压时间已经被重置为零(或者更一般地,累积升压时间小于第一限定时间阈值)而在升压模式下施加附加非零驱动信号的至少一部分。参考图21B,非零驱动信号1909的第一部分可以在升压模式下作为电压信号1919的部分1919a施加。在一个实施例中,非零驱动信号1909的另一部分1909b可以作为电压信号1919的部分1919b(例如,在累积升压时间达到第一限定时间阈值之后)以限幅模式施加。
在图18至21B中,在信号1801/1901期间在累积的升压时间达到或超过第一限定时间阈值之后,没有后续非零驱动信号在升压模式下被施加,直到累积的冷却时间达到或超过冷却时间阈值。在另一个实施例中,累积升压时间可以被设置为(例如在每个非零驱动信号的结束,或者在每个后续非零驱动信号的开始)等于累积发热时间,或者等于累积发热时间减去累积冷却时间的一部分(例如,1/7)。例如,该步骤可以在步骤1513之后和步骤1607之前的任何时间进行。在一些情况下,累积发热时间可以小于第一限定阈值,或者累积发热时间减去累积冷却时间的一部分可以小于第一限定阈值。结果,将累积升压时间设置为等于累积发热时间,或者等于累积发热时间减去累积冷却时间的一部分,可以使累积升压时间再次低于第一限定阈值。结果,即使累积的冷却时间尚未达到冷却时间阈值,也可以在升压模式下(对于相应非零驱动信号的至少一部分)施加一个或多个后续非零驱动信号。在一个实施例中,在以上述方式设置了累积升压时间之后,累积发热时间和/或累积冷却时间可以被重置为零。在一个实施例中,在以上述方式设置了累积升压时间之后,累积发热时间和/或累积冷却时间不被重置。
图22A和22B示出了非零驱动信号的升压模式的退出。图22A 描绘了累积升压时间在时间t1达到第一限定时间阈值的情况。在达到第一限定时间阈值之后,控制电路16/106/206可等待过零点或等待达到限定的延长的总升压时间阈值,以较早者为准。在图22A中,在达到过零点之前,在时间t2,累积升压时间达到限定的延长总升压时间阈值。非零驱动信号1919随后从时间t2向前以限幅模式施加。在这种情况下,在升压模式下施加非零驱动信号的第一部分,该部分是非零驱动信号在其开始和t=t1之间的部分。非零驱动信号的第二部分以限幅模式施加,其中第二部分是从t2到非零驱动信号结束的部分。如果t1不在过零点,则非零驱动信号可具有继续以升压电压范围施加的第三部分。第三部分是t1和t2之间的部分。
在图22B中,非零驱动信号1921可以类似于图22A中的非零驱动信号,除了它可以首先到达过零点之外。非零驱动信号的第一部分可以在升压模式下作为电压信号1921的第一部分施加,而第二部分在限幅模式下作为电压信号1921的第二部分施加。在施加非零驱动信号的第一部分之后,非零驱动信号的第三部分可以在转换到以限幅模式施加第二部分之前施加。在这种情况下,非零驱动信号的第三部分可以是从t1到跟随t1的最早过零点的部分,并且可以以升压电压范围施加。
图23示出了一种方法2000,该方法覆盖了这样的情况,其中在升压模式下施加第一非零驱动信号的全部(所有),并且没有任何部分在限幅模式下被施加,即使在累积升压时间达到第一限定阈值时。方法2000涵盖图24A中描绘的情形,其中非零驱动信号在时间t1达到第一限定阈值,但此后不久结束。因此,没有剩余部分要在限幅模式下施加。方法2000还包括图18中的步骤1503、1507和1509。该方法还包括步骤2001和2003。
在步骤2001中,控制电路16/106/206在升压模式下施加非零驱动信号的至少第一部分。在步骤2003中,当非零驱动信号在升压模式下被施加时,累积升压时间达到或超过第一限定时间阈值,其中第一非零驱动信号在累积升压时间达到限定的延长的总升压时间阈值之前结束。
图24B示出可每60.65ms重复的非零驱动信号2101。换句话说,非零驱动信号2101可以被用作模板以创建非零驱动信号,然后这些非零驱动信号作为电压信号2103、2105、2107、2109、2111和2113来施加。在一个实施例中,电压信号2103是以升压模式施加的非零驱动信号。当电压信号2103以升压模式施加时,累积升压时间可达到第一限定时间阈值。在一个实施例中,非零驱动信号可以类似于图24A中的驱动信号,其中第一限定时间阈值可以是9ms,并且限定的延长的总升压时间阈值可以是12ms。因为图24A中的非零驱动信号在t=12 ms之前结束,所以非零驱动信号的全部都在升压模式下施加,并且没有非零驱动信号在限幅模式下施加。
在一个实施例中,在图24B中的第一非零电压信号在升压模式下作为电压信号2103来施加之后,可以计算冷却时间阈值(例如,63ms)。当接收到第二非零驱动信号的开始时,累积冷却时间(例如,60.65ms) 小于冷却时间阈值。因此,不执行累积升压时间、累积发热时间和累积冷却时间的重置。因此,在第二非零驱动信号开始时,确定累积升压时间仍处于或高于第一限定时间阈值。基于这样的确定,所有的第二非零驱动信号作为电压信号2105以限幅模式施加。在一个实施例中,在第二非零驱动信号结束之后,冷却时间阈值不被更新,因为自第一非零驱动信号结束以来累积发热时间没有改变。
在一个实施例中,当接收到图24B中的第三非零驱动信号的开始时,累积冷却时间可以是121.3ms,这超过了冷却时间阈值。结果,累积冷却时间、累积发热时间和累积升压时间被重置为零。因为累积的升压时间现在为零(因此小于第一限定时间阈值),所以第三非零驱动信号可以在升压模式下作为电压信号2107施加。上述步骤可以对第四、第五和第六非零驱动信号重复,以便将它们分别作为电压信号 2109、2111和2113施加。
在一个实施例中,如上所述,非零驱动信号可在累积升压时间可达到第一限定时间阈值之前结束。在这样的实施例中,可以在升压模式下施加多个非零驱动信号,并且可以跨多个非零驱动信号来跟踪累积升压模式。在一些情况下,其可以基于累积的发热时间来调整。例如,参考图25,非零驱动信号2301可以在升压模式下作为电压信号 2311来施加。当非零驱动信号2301结束时,累积升压时间可以是Δ t1(例如,5ms),其可以小于第一限定时间阈值(例如,9ms)。因此,非零电压信号2303的至少一部分可以在升压模式下作为电压信号2313来施加。非零驱动信号2303可以在升压模式下施加Δt3或4ms 的持续时间,直到达到9ms的阈值。此时,累积升压时间为Δt1+Δ t3。然后可以在最早的过零点退出升压模式,或者直到累积的升压时间达到限定的延长的总升压时间阈值。
如上所述,可以在非零驱动信号开始时调整累积升压时间。例如,可以将累积升压时间设置为等于累积发热,之后以升压模式施加非零驱动信号。在一个实施例中,累积升压时间被设置为等于累积发热时间减去累积冷却时间的一部分(例如,1/7)。
在一个实施例中,非零驱动信号的至少一部分可以在升压模式下施加,因为累积的冷却时间已经达到或超过第二限定时间阈值。例如,图16示出了第一非零驱动信号2501作为电压信号2511以升压模式施加,随后是Δt1的冷却时间段。在开始接收第二非零驱动信号2503时,Δt1可以是例如40ms,其超过冷却时间阈值(例如,7×5ms的累积发热时间=35ms)。因此,第二非零驱动信号2503在升压模式下作为电压信号2513来施加。类似地,在第三非零驱动信号2505的开始处,累积冷却时间是Δt2,其也大于冷却时间阈值(其也可以等于35ms),从而触发累积时间的另一重置,允许非零驱动信号2505以升压模式作为电压信号2515来施加。
图27A和27B提供了说明以迭代方式施加非零驱动信号的方法 2600的流程图。在步骤2601中,控制电路16/106/206接收当前非零驱动信号的开始。参考例如图21A或图21B,当前非零驱动信号是特定时刻的非零驱动信号1803或1903。
在步骤2603中,控制电路用在当前非零驱动信号之前的最近非零驱动信号(也称为最近在前非零驱动信号)的结束时间和当前非零驱动信号的开始之间的时间量来更新累积冷却时间。参考图21A,该步骤可以包括将Δtc与累积冷却时间相加。参考图21B,该步骤可以包括将Δt1与累积冷却时间相加。
在步骤2605中,在更新累积冷却时间之后,控制电路16/106/206 确定累积冷却时间是否已经达到或超过冷却时间阈值。在步骤2609 中,响应于确定累积冷却时间已经达到或超过冷却时间阈值,控制电路16/106/206重置累积冷却时间、累积升压时间和累积发热时间。
在步骤2611中,控制电路16/106/206判断累积升压时间是否达到或超过第一限定时间阈值。
在步骤2613中,响应于确定累积升压时间已经达到或确实超过第一限定时间阈值,控制电路16/106/206以限幅模式施加当前非零驱动信号。参考图21B,由于累积升压时间等于或大于第一限定时间阈值,所以当前非零驱动信号1903以限幅模式施加。
在步骤2615中,响应于确定累积升压时间小于第一限定时间阈值,控制电路16/106/206在升压模式下施加当前非零驱动信号的至少一部分。参考图21A,在升压模式下施加当前非零驱动信号1803,因为累积的升压时间已经被重置为零,并且因此小于第一限定时间阈值。
在步骤2617中,控制电路16/106/206在升压模式下施加当前非零驱动信号的同时或之后更新累积升压时间和累积发热时间。
在步骤2619中,在累积发热时间被更新之后,控制电路 16/106/206基于累积发热时间来更新冷却时间阈值。在一个实施例中,累积升压时间也可以设置为等于累积发热时间(或累积发热时间减去累积冷却时间的一部分)。这可以在步骤2619中进行,或者在步骤2619之后进行。在一些情况下,如果累积升压时间被设置为等于累积发热时间(或累积发热时间减去累积冷却时间的一部分),则累积发热时间和/或累积冷却时间随后可以被重置为零(或某种其他重置值)。如上所述,在升压模式下施加非零驱动信号(例如,当前非零驱动信号)之后,在一些情况下,累积发热时间可能小于累积升压时间。在这种情况下,如果累积升压时间已经达到(或超过)第一限定时间阈值,则将累积升压时间设置为等于累积发热时间(或累积发热时间减去累积冷却时间的一部分)可以使累积升压时间再次低于第一限定阈值。这可允许下一非零驱动信号的至少一部分以升压模式施加(例如,直到达到最早的过零点)。
在步骤2619之后,该方法可以返回到步骤2601,并且当前非零驱动信号(例如,1803或1903)现在可以被指定为最近的前一非零驱动信号。当稍后接收到下一个连续的非零驱动信号(例如,图21B中的1905)时,可以在该时间将其指定为当前非零驱动信号。
在一个实施例中,累积升压时间和累积发热时间是从最早的非零驱动信号(例如,1801或1901)计量的,该最早的非零驱动信号是i) 在累积升压时间和累积发热时间的最近重置之后,以及ii)是在升压模式施加的。在一个实施例中,累积冷却时间是从最早非零驱动信号 (例如,1801或1901)的结束开始测量的,该最早非零驱动信号接在累积升压时间和累积发热时间的最近重置之后。
图28A示出了非零驱动信号的斜坡上升部分。在一个实施例中,如果累积升压时间小于第一限定阈值,则斜坡上升部分也被升压。图 28B示出了非零驱动信号的斜坡下降部分。在一个实施例中,如果累积升压时间小于第一限定阈值,则可以斜坡下降部分可以被升压。
在一个实施例中,可以省略跟踪累积升压时间的步骤。这样的实施例可以跟踪累积发热时间,并且检测累积发热时间是否超过第一限定时间阈值。如果累积发热时间没有超过第一限定时间阈值,则控制电路16/106/206可以在升压模式下施加非零驱动信号。如果累积发热时间已经超过或达到第一限定时间阈值,则控制电路16/106/206可以在限幅模式下施加非零驱动信号。这样的实施例仍然可以使用累积发热时间来确定第二时间阈值(例如,冷却时间阈值),或者可以将第二时间阈值定义为总是第一限定时间阈值的倍数(例如,第一限定时间阈值的7倍)。
下面提供对本公开的各种实施例的附加讨论。
实施例1涉及一种向触觉致动器施加一个或多个非零驱动信号的方法。所述方法包括由控制电路接收要由触觉致动器使用以产生触觉效果的非零驱动信号,其中所述触觉致动器具有限定的额定最大电压或限定的额定最大电流。所述方法还包括由所述控制电路使得所述非零驱动信号的第一部分以升压模式被施加到所述触觉致动器,其中所述非零驱动信号的所述第一部分被缩放到升压电压范围或升压电流范围,其中所述升压电压范围或升压电流范围的最小值或最大值的绝对值超过所述触觉致动器的限定额定最大电压或限定额定最大电流。所述控制电路检测升压持续时间超过第一限定时间阈值,其中所述升压持续时间是自所述升压模式的开始时间起的持续时间。响应于检测到所述升压持续时间超过所述第一限定时间阈值,所述控制电路使得所述非零驱动信号的第二部分以限幅模式被施加到所述触觉致动器,其中所述非零驱动信号的所述第二部分被缩放到限幅电压范围或限幅电流范围,其中所述限幅电压范围或所述限幅电流范围的最小值或最大值的绝对值不超过所述触觉致动器的所述限定额定最大电压或所述限定额定最大电流。
实施例2包括实施例1的方法,其中检测所述非零驱动信号包括检测所述非零驱动信号的开始,并且其中所述升压模式的所述开始时间是所述非零驱动信号的所述开始。
实施例3包括实施例1或2的方法,还包括确定冷却持续时间超过第二限定时间阈值,所述冷却持续时间是从前一非零驱动信号的结束到所述非零驱动信号的所述开始的持续时间,其中所述前一非零驱动信号和所述非零驱动信号是连续的非零驱动信号。
实施例4包括实施例1的方法,其中所述非零驱动信号是以所述升压模式施加的多个连续非零驱动信号中的最近一个,其中所述升压模式的所述开始时间是所述多个连续非零驱动信号中的最早一个的开始,并且其中所述多个连续非零驱动信号中的每个非零驱动信号仅响应于确定从所述升压模式的所述开始时间到相应的非零驱动信号的开始的持续时间还没有超过所述第一限定时间阈值而以所述升压模式施加。
实施例5包括实施例1-4中的任一项的方法,其中从与所述控制电路通信的信号发生器的输出检测所述非零驱动信号。
实施例6包括实施例1-5中任一项的方法,还包括:在所述非零驱动信号的结束之后,检测要施加到所述触觉致动器的后续非零驱动信号;确定冷却持续时间不超过第二限定时间阈值,所述冷却持续时间是所述后续非零驱动信号的开始与前一连续非零驱动信号的结束之间的持续时间,其中所述前一非零驱动信号和所述后续非零驱动信号是连续的非零驱动信号;以及响应于确定所述冷却持续时间没有超过第二限定时间阈值,使得所有后续非零驱动信号以所述限幅模式被施加。
实施例7包括实施例1-5中任一项的方法,还包括:在所述非零驱动信号的结束之后,检测要施加到所述触觉致动器的后续非零驱动信号;确定冷却持续时间超过第二限定时间阈值,所述冷却持续时间是所述后续非零驱动信号的开始与前一连续非零驱动信号的结束之间的持续时间,其中所述前一非零驱动信号和所述后续非零驱动信号是连续的非零驱动信号;以及响应于确定所述冷却持续时间超过所述第二限定时间阈值,使得所述后续非零驱动信号的至少一部分以所述升压模式被施加。
实施例8包括实施例7的方法,还包括将所述升压模式的所述开始时间更新为所述后续非零驱动信号的所述开始,使得所述开始时间是所述升压模式的更新的开始时间,其中所述后续非零驱动信号以所述升压模式被施加,直到所述后续非零驱动信号的结束或者直到第二升压持续时间超过所述第一限定时间阈值,所述第二升压持续时间是自所述升压模式的所述更新开始时间起的持续时间。
实施例9包括实施例1-7中任一项的方法,其中所述非零驱动信号是在正极性和负极性之间交替的周期性信号,所述方法还包括:当所述升压持续时间超过所述第一限定时间阈值时,确定所述非零驱动信号当前不在过零点处;响应于确定所述非零驱动信号不在过零点处,以扩展升压模式施加所述非零驱动信号,在所述扩展升压模式下,所述非零驱动信号继续被缩放到所述升压电压范围或升压电流范围;当所述非零驱动信号以所述扩展升压模式被施加时,检测以下中的至少一项:i)所述非零驱动信号到达过零点,或者ii)扩展升压模式持续时间超过第三限定时间阈值,其中所述扩展升压模式持续时间是自检测到所述升压持续时间超过所述第一限定时间阈值起的持续时间,其中,响应于检测到所述非零驱动信号到达过零点或所述扩展升压模式持续时间超过所述第三限定时间阈值中的至少一项,所述非零驱动信号的所述第二部分开始以所述限幅模式被施加。
实施例10涉及一种向触觉致动器施加一个或多个非零驱动信号的方法,该方法包括:由控制电路接收要施加到触觉致动器的非零驱动信号,其中触觉致动器具有限定的额定最大电压或限定的额定最大电流。控制电路还使得非零驱动信号以升压模式被施加到触觉致动器,其中非零驱动信号被缩放到升压电压范围或升压电流范围,其中升压电压范围或升压电流范围的最小值或最大值的绝对值超过触觉致动器的限定的额定最大电压或限定的额定最大电流。该方法还包括:在非零驱动信号结束之后,检测升压持续时间超过第一限定时间阈值,其中升压持续时间是自升压模式的开始时间起的持续时间;以及在非零驱动信号结束后,检测将被施加到触觉致动器的后续非零驱动信号,其中非零驱动信号和后续非零驱动信号是连续非零驱动信号。控制电路还使得后续非零驱动信号以限幅模式被施加,其中非零驱动信号的第二部分被缩放到限幅电压范围或限幅电流范围,其中限幅电压范围或限幅电流范围的最小值或最大值的绝对值不超过触觉致动器的限定额定最大电压或限定额定最大电流。
此外,实施例10可以与实施例2-5和9中所述的任何一个特征组合。
实施例11包括实施例10的方法,其中仅响应于确定冷却持续时间小于第二限定时间阈值,在限幅模式下施加后续非零驱动信号,冷却持续时间是非零驱动信号的结束和后续非零驱动信号的开始之间的持续时间。
实施例12涉及一种向触觉致动器施加一个或多个非零驱动信号的方法,所述方法包括由控制电路接收要被施加到触觉致动器的非零驱动信号,其中所述触觉致动器具有限定的额定最大电压或限定的额定最大电流。所述控制电路使得所述非零驱动信号以升压模式被施加,其中所述非零驱动信号的信号值被缩放到升压电压范围或升压电流范围,其中所述升压电压范围或升压电流范围的最小值或最大值的绝对值超过所述触觉致动器的所述限定的额定最大电压或限定的额定最大电流,并且其中所述非零驱动信号是以所述升压模式施加的一个或多个非零驱动信号之一。所述方法还包括跟踪累积升压时间,其中所述累积升压时间是所述控制电路在所述升压模式下施加所述一个或多个非零驱动信号所花费的累积时间量,其中所述累积升压时间是从所述累积升压时间的最近重置起或在所述累积升压时间的最近重置之后计量的。所述方法还包括跟踪累积发热时间,其中所述累积发热时间是: i)所述升压模式下的所述一个或多个非零驱动信号已经以绝对值超过所述限定的额定最大电压或限定的额定最大电流的电压或电流被施加到所述触觉致动器的累积时间量,或者ii)通过缩放所述升压模式下的所述一个或多个驱动信号已经以绝对值超过所述限定的额定最大电压或限定的额定最大电流的电压或电流被施加的所述累积时间量而确定的第二时间。所述控制电路还在所述非零驱动信号的第一部分以所述升压模式被施加时,检测所述累积升压时间超过第一限定时间阈值。响应于检测到所述累积升压时间超过所述第一限定时间阈值,所述控制电路使得所述非零驱动信号的第二部分以限幅模式被施加,其中所述非零驱动信号的所述第二部分被缩放到限幅电压范围或限幅电流范围,其中所述限幅电压范围或限幅电流范围的最小值或最大值的绝对值不超过所述触觉致动器的所述限定额定最大电压或限定额定最大电流。
实施例13包括实施例12的方法,还包括:基于所述累积发热时间来确定第二时间阈值;跟踪累积冷却时间,其中所述累积冷却时间是所述控制电路没有接收到要被施加到所述触觉致动器的非零驱动信号的累积时间量,并且是从所述累积冷却时间的最近重置起或在所述累积冷却时间的最近重置之后计量的;在所述非零驱动信号的结束之后接收后续非零驱动信号;当接收到所述后续非零驱动信号时,确定所述累积冷却时间是否已经达到或超过所确定的第二时间阈值;以及以基于所述累积冷却时间是否已经达到或超过所述第二时间阈值的方式将所述后续非零驱动信号施加到所述触觉致动器。
实施例14包括实施例13的方法,其中当接收到所述后续非零驱动信号时,所述累积冷却时间被确定为尚未达到所确定的第二时间阈值,并且其中所述后续非零驱动信号以所述限幅模式被施加。
实施例15包括实施例13的方法,其中当接收到所述后续非零驱动信号时,所述累积冷却时间被确定为已经达到或超过所确定的第二时间阈值,并且其中所述后续非零驱动信号的至少一部分以所述升压模式被施加,其中,所述方法还包括响应于所述累积冷却时间达到或超过所确定的第二时间阈值,重置所述累积升压时间、所述累积发热时间和所述累积冷却时间,以及其中,确定所述累积冷却时间是否已经达到或超过所确定的第二时间阈值包括确定所述累积升压时间、所述累积发热时间和所述累积冷却时间是否已经被重置。
实施例16包括实施例13-15中任一项的方法,其中仅在所述累积发热时间从重置发热值增加到较高值之后才跟踪所述累积冷却时间,使得如果所述累积发热时间处于重置发热值则不跟踪所述累积冷却时间。
实施例17包括实施例13-16中任一项的方法,其中所述第二时间阈值被确定为所述累积发热时间的倍数。
实施例18包括实施例13-17中任一项的方法,其中跟踪所述累积发热时间包括在所述一个或多个非零驱动信号中的每一个的结束时或之前更新所述累积发热时间,并且在更新所述累积发热时间之后,还基于所述累积发热时间来更新所述第二时间阈值。
实施例19包括实施例13-18中任一项的方法,还包括:在所述一个或多个非零驱动信号中的每一个的开始处,确定所述累积冷却时间小于所述第二时间阈值并且所述累积升压时间小于所述第一限定时间阈值;以及响应于确定所述累积升压时间小于所述第一限定时间阈值,将所述累积升压时间设置为等于所述累积发热时间,其中在以所述升压模式施加所述一个或多个非零驱动信号中的相应非零驱动信号之前设置所述累积升压时间。
实施例20包括实施例13-18中任一项的方法,还包括:在所述一个或多个非零驱动信号中的每一个的开始处,确定所述累积冷却时间小于所述第二时间阈值并且所述累积升压时间小于所述第一限定时间阈值;以及响应于确定所述累积冷却时间小于所述第二时间阈值并且所述累积升压时间小于所述第一限定时间阈值,将所述累积升压时间设置为等于所述累积发热时间减去所述累积冷却时间的一部分,并接着重置所述累积发热时间和所述累积冷却时间,其中在以所述升压模式施加所述一个或多个非零驱动信号的相应非零驱动信号之前,执行所述累积升压时间的所述设置以及所述累积发热时间和累积冷却时间的所述重置。
实施例21包括实施例12-20中任一实施例的方法,其中累积发热时间是第二时间,并且通过将因子乘以累积时间量来确定,在累积时间量中,在升压模式下以绝对值超过限定的额定最大电压或限定的额定最大电流的电压或电流施加一个或多个非零驱动信号,其中该因子是基于触觉致动器的限定的额定最大电压或限定的额定最大电流与升压电压范围或升压电流范围的最大值之间的比率的反正弦来确定的。
实施例22包括实施例12-21中任一项的方法,其中所述非零驱动信号是在正极性和负极性之间交替的周期性信号,所述方法还包括:当所述累积升压时间超过所述第一限定时间阈值时,确定所述非零驱动信号当前不在过零点处;响应于确定所述非零驱动信号不在过零点处,通过将所述非零驱动信号缩放到所述升压电压范围或升压电流范围来继续施加所述非零驱动信号,直到下列中较早的情况出现:i)所述非零驱动信号到达过零点,或者ii)所述累积升压时间超过限定的延长的总升压时间阈值,之后所述非零驱动信号的所述第二部分立即以限幅模式被施加。
实施例23涉及一种将一个或多个非零驱动信号施加到触觉致动器的方法,该方法包括:由控制电路接收要施加到触觉致动器的非零驱动信号,其中触觉致动器具有限定的额定最大电压或电流。控制电路使得非零驱动信号以升压模式施加,其中非零驱动信号的信号值被缩放到升压电压范围或升压电流范围,其中升压电压范围或升压电流范围的最小值或最大值的绝对值超过触觉致动器的限定的额定最大电压或电流,并且其中非零驱动信号是以升压模式施加的一个或多个非零驱动信号之一。该方法还包括跟踪累积升压时间,其中累积升压时间是控制电路在升压模式下施加一个或多个非零驱动信号所花费的累积时间量,其中累积升压时间是从累积升压时间的最近重置或其最近重置之后计量的。该方法还包括跟踪累积发热时间,其中累积发热时间是:i)累积时间量,在该累积时间量中,升压模式中的一个或多个非零驱动信号已经以绝对值超过限定的额定最大电压或电流的电压或电流被施加到触觉致动器,或者ii)通过缩放其中升压模式中的一个或多个驱动信号已经以绝对值超过限定的额定最大电压或电流的电压或电流被施加的累积时间量而确定的第二时间。控制电路检测当非零驱动信号在升压模式下被施加时,累积升压时间超过第一限定时间阈值。控制电路还在非零驱动信号结束后接收后续非零驱动信号。该方法还包括使得后续非零驱动信号以限幅模式被施加,其中后续非零驱动信号被缩放到限幅电压范围或限幅电流范围,其中限幅电压范围或限幅电流范围的最小值或最大值的绝对值不超过触觉传动器的限定额定最大电压或电流,其中没有非零驱动信号以限幅模式被施加。
实施例23可以与实施例13、14或16-22中任一个的特征组合。
实施例24包括实施例23的方法,还包括:在累积升压时间超过第一限定时间阈值后,监测累积升压时间以检测累积升压时间是否超过限定的延长的总升压时间阈值,其中当非零驱动信号结束时,累积升压时间不超过限定的延长的总升压时间阈值。
尽管上面已经描述了各种实施例,但是应当理解,它们仅作为本发明的图示和实例而不是作为限制而呈现。对于相关领域的技术人员来说显而易见的是,在不脱离本发明的精神和范围的情况下,可以在形式和细节上进行各种改变。如此,本发明的宽度和范围不应该受到上述示例性实施例的任一个的限制,而只应根据所附权利要求和它们的等效内容进行定义。还应当理解,本文所讨论的每个实施例的每个特征以及本文引用的每个参考文献的每个特征都可以与任何其他实施例的特征结合使用。本文所讨论的所有专利和出版物通过引用全部并入本文。
Claims (20)
1.一种向触觉致动器施加一个或多个非零驱动信号的方法,所述方法包括:
由控制电路接收要由触觉致动器使用以产生触觉效果的非零驱动信号,其中所述触觉致动器具有限定的额定最大电压或限定的额定最大电流;
由所述控制电路使得所述非零驱动信号的第一部分以升压模式被施加到所述触觉致动器,其中所述非零驱动信号的所述第一部分被缩放到升压电压范围或升压电流范围,其中所述升压电压范围或升压电流范围的最小值或最大值的绝对值超过所述触觉致动器的限定额定最大电压或限定额定最大电流;
检测升压持续时间超过第一限定时间阈值,其中所述升压持续时间是自所述升压模式的开始时间起的持续时间;以及
响应于检测到所述升压持续时间超过所述第一限定时间阈值,使得所述非零驱动信号的第二部分以限幅模式被施加到所述触觉致动器,其中所述非零驱动信号的所述第二部分被缩放到限幅电压范围或限幅电流范围,其中所述限幅电压范围或所述限幅电流范围的最小值或最大值的绝对值不超过所述触觉致动器的所述限定额定最大电压或所述限定额定最大电流。
2.根据权利要求1所述的方法,其中检测所述非零驱动信号包括检测所述非零驱动信号的开始,并且其中所述升压模式的所述开始时间是所述非零驱动信号的所述开始。
3.根据权利要求2所述的方法,还包括确定冷却持续时间超过第二限定时间阈值,所述冷却持续时间是从前一非零驱动信号的结束到所述非零驱动信号的所述开始的持续时间,其中所述前一非零驱动信号和所述非零驱动信号是连续的非零驱动信号。
4.根据权利要求1所述的方法,其中所述非零驱动信号是以所述升压模式施加的多个连续非零驱动信号中的最近一个,其中所述升压模式的所述开始时间是所述多个连续非零驱动信号中的最早一个的开始,并且其中所述多个连续非零驱动信号中的每个非零驱动信号仅响应于确定从所述升压模式的所述开始时间到相应的非零驱动信号的开始的持续时间还没有超过所述第一限定时间阈值而以所述升压模式施加。
5.根据权利要求1所述的方法,其中从与所述控制电路通信的信号发生器的输出检测所述非零驱动信号。
6.根据权利要求1所述的方法,还包括:
在所述非零驱动信号的结束之后,检测要施加到所述触觉致动器的后续非零驱动信号;
确定冷却持续时间不超过第二限定时间阈值,所述冷却持续时间是所述后续非零驱动信号的开始与前一连续非零驱动信号的结束之间的持续时间,其中所述前一非零驱动信号和所述后续非零驱动信号是连续的非零驱动信号;以及
响应于确定所述冷却持续时间没有超过第二限定时间阈值,使得所有后续非零驱动信号以所述限幅模式被施加。
7.根据权利要求1所述的方法,还包括:
在所述非零驱动信号的结束之后,检测要施加到所述触觉致动器的后续非零驱动信号;
确定冷却持续时间超过第二限定时间阈值,所述冷却持续时间是所述后续非零驱动信号的开始与前一连续非零驱动信号的结束之间的持续时间,其中所述前一非零驱动信号和所述后续非零驱动信号是连续的非零驱动信号;以及
响应于确定所述冷却持续时间超过所述第二限定时间阈值,使得所述后续非零驱动信号的至少一部分以所述升压模式被施加。
8.根据权利要求7所述的方法,还包括:
将所述升压模式的所述开始时间更新为所述后续非零驱动信号的所述开始,使得所述开始时间是所述升压模式的更新的开始时间,其中所述后续非零驱动信号以所述升压模式被施加,直到所述后续非零驱动信号的结束或者直到第二升压持续时间超过所述第一限定时间阈值,所述第二升压持续时间是自所述升压模式的所述更新开始时间起的持续时间。
9.根据权利要求1所述的方法,其中所述非零驱动信号是在正极性和负极性之间交替的周期性信号,所述方法还包括:当所述升压持续时间超过所述第一限定时间阈值时,确定所述非零驱动信号当前不在过零点处;
响应于确定所述非零驱动信号不在过零点处,以扩展升压模式施加所述非零驱动信号,在所述扩展升压模式下,所述非零驱动信号继续被缩放到所述升压电压范围或升压电流范围;
当所述非零驱动信号以所述扩展升压模式被施加时,检测以下中的至少一项:i)所述非零驱动信号到达过零点,或者ii)扩展升压模式持续时间超过第三限定时间阈值,其中所述扩展升压模式持续时间是自检测到所述升压持续时间超过所述第一限定时间阈值起的持续时间,
其中,响应于检测到所述非零驱动信号到达过零点或所述扩展升压模式持续时间超过所述第三限定时间阈值中的至少一项,所述非零驱动信号的所述第二部分开始以所述限幅模式被施加。
10.一种具有指令的非瞬态计算机可读介质,所述指令在由控制电路执行时,使得所述控制电路:
接收要由触觉致动器使用以产生触觉效果的非零驱动信号,其中所述触觉致动器具有限定的额定最大电压或限定的额定最大电流;
使得所述非零驱动信号的第一部分以升压模式被施加到所述触觉致动器,其中所述非零驱动信号的所述第一部分被缩放到升压电压范围或升压电流范围,其中所述升压电压范围或升压电流范围的最小值或最大值的绝对值超过所述触觉致动器的限定额定最大电压或限定额定最大电流;
检测升压持续时间超过第一限定时间阈值,其中所述升压持续时间是自所述升压模式的开始时间起的持续时间;以及
响应于检测到所述升压持续时间超过所述第一限定时间阈值,使得所述非零驱动信号的第二部分以限幅模式被施加到所述触觉致动器,其中所述非零驱动信号的所述第二部分被缩放到限幅电压范围或限幅电流范围,其中所述限幅电压范围或所述限幅电流范围的最小值或最大值的绝对值不超过所述触觉致动器的所述限定额定最大电压或所述限定额定最大电流。
11.一种向触觉致动器施加一个或多个非零驱动信号的方法,所述方法包括:
由控制电路接收要被施加到触觉致动器的非零驱动信号,其中所述触觉致动器具有限定的额定最大电压或限定的额定最大电流;
使得所述非零驱动信号以升压模式被施加,其中所述非零驱动信号的信号值被缩放到升压电压范围或升压电流范围,其中所述升压电压范围或升压电流范围的最小值或最大值的绝对值超过所述触觉致动器的所述限定的额定最大电压或限定的额定最大电流,并且其中所述非零驱动信号是以所述升压模式施加的一个或多个非零驱动信号之一;
跟踪累积升压时间,其中所述累积升压时间是所述控制电路在所述升压模式下施加所述一个或多个非零驱动信号所花费的累积时间量,其中所述累积升压时间是从所述累积升压时间的最近重置起或在所述累积升压时间的最近重置之后计量的;
跟踪累积发热时间,其中所述累积发热时间是:i)所述升压模式下的所述一个或多个非零驱动信号已经以绝对值超过所述限定的额定最大电压或限定的额定最大电流的电压或电流被施加到所述触觉致动器的累积时间量,或者ii)通过缩放所述升压模式下的所述一个或多个驱动信号已经以绝对值超过所述限定的额定最大电压或限定的额定最大电流的电压或电流被施加的所述累积时间量而确定的第二时间;
当所述非零驱动信号的第一部分以所述升压模式被施加时,检测所述累积升压时间超过第一限定时间阈值;以及
响应于检测到所述累积升压时间超过所述第一限定时间阈值,使得所述非零驱动信号的第二部分以限幅模式被施加,其中所述非零驱动信号的所述第二部分被缩放到限幅电压范围或限幅电流范围,其中所述限幅电压范围或限幅电流范围的最小值或最大值的绝对值不超过所述触觉致动器的所述限定额定最大电压或限定额定最大电流。
12.根据权利要求11所述的方法,还包括:
基于所述累积发热时间来确定第二时间阈值;
跟踪累积冷却时间,其中所述累积冷却时间是所述控制电路没有接收到要被施加到所述触觉致动器的非零驱动信号的累积时间量,并且是从所述累积冷却时间的最近重置起或在所述累积冷却时间的最近重置之后计量的;
在所述非零驱动信号的结束之后接收后续非零驱动信号;
当接收到所述后续非零驱动信号时,确定所述累积冷却时间是否已经达到或超过所确定的第二时间阈值;以及
以基于所述累积冷却时间是否已经达到或超过所述第二时间阈值的方式将所述后续非零驱动信号施加到所述触觉致动器。
13.根据权利要求12所述的方法,其中当接收到所述后续非零驱动信号时,所述累积冷却时间被确定为尚未达到所述第二时间阈值,并且其中所述后续非零驱动信号以所述限幅模式被施加。
14.根据权利要求12所述的方法,其中当接收到所述后续非零驱动信号时,所述累积冷却时间被确定为已经达到或超过所述第二时间阈值,并且其中所述后续非零驱动信号的至少一部分以所述升压模式被施加,
其中,所述方法还包括响应于所述累积冷却时间达到或超过所述第二时间阈值,重置所述累积升压时间、所述累积发热时间和所述累积冷却时间,以及
其中,确定所述累积冷却时间是否已经达到或超过所述第二时间阈值包括确定所述累积升压时间、所述累积发热时间和所述累积冷却时间是否已经被重置。
15.根据权利要求12所述的方法,其中仅在所述累积发热时间从重置发热值增加到较高值之后才跟踪所述累积冷却时间,使得如果所述累积发热时间处于重置发热值则不跟踪所述累积冷却时间。
16.根据权利要求12所述的方法,其中所述第二时间阈值被确定为所述累积发热时间的倍数。
17.根据权利要求12所述的方法,其中跟踪所述累积发热时间包括在所述一个或多个非零驱动信号中的每一个的结束时或之前更新所述累积发热时间,并且在更新所述累积发热时间之后,还基于所述累积发热时间来更新所述第二时间阈值。
18.根据权利要求12所述的方法,还包括:在所述一个或多个非零驱动信号中的每一个的开始处,确定所述累积冷却时间小于所述第二时间阈值并且所述累积升压时间小于所述第一限定时间阈值;以及
响应于确定所述累积升压时间小于所述第一限定时间阈值,将所述累积升压时间设置为等于所述累积发热时间,其中在以所述升压模式施加所述一个或多个非零驱动信号中的相应非零驱动信号之前设置所述累积升压时间。
19.根据权利要求12所述的方法,还包括:
在所述一个或多个非零驱动信号中的每一个的开始处,确定所述累积冷却时间小于所述第二时间阈值并且所述累积升压时间小于所述第一限定时间阈值;以及
响应于确定所述累积冷却时间小于所述第二时间阈值并且所述累积升压时间小于所述第一限定时间阈值,将所述累积升压时间设置为等于所述累积发热时间减去所述累积冷却时间的一部分,并接着重置所述累积发热时间和所述累积冷却时间,其中在以所述升压模式施加所述一个或多个非零驱动信号的相应非零驱动信号之前,执行所述累积升压时间的所述设置以及所述累积发热时间和累积冷却时间的所述重置。
20.根据权利要求11所述的方法,其中所述非零驱动信号是在正极性和负极性之间交替的周期性信号,所述方法还包括:当所述累积升压时间超过所述第一限定时间阈值时,确定所述非零驱动信号当前不在过零点处;
响应于确定所述非零驱动信号不在过零点处,通过将所述非零驱动信号缩放到所述升压电压范围或升压电流范围来继续施加所述非零驱动信号,直到下列中较早的情况出现:i)所述非零驱动信号到达过零点,或者ii)所述累积升压时间超过限定的延长的总升压时间阈值,之后所述非零驱动信号的所述第二部分立即以限幅模式被施加。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762538768P | 2017-07-30 | 2017-07-30 | |
US62/538,768 | 2017-07-30 | ||
US201762554708P | 2017-09-06 | 2017-09-06 | |
US62/554,708 | 2017-09-06 | ||
US16/031,810 | 2018-07-10 | ||
US16/031,810 US10467869B2 (en) | 2017-07-30 | 2018-07-10 | Apparatus and method for providing boost protection logic |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109324684A true CN109324684A (zh) | 2019-02-12 |
Family
ID=63014435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810844890.2A Pending CN109324684A (zh) | 2017-07-30 | 2018-07-27 | 用于提供升压保护逻辑的装置和方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10467869B2 (zh) |
EP (1) | EP3438795A1 (zh) |
JP (1) | JP2019029022A (zh) |
KR (1) | KR20190013599A (zh) |
CN (1) | CN109324684A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022000650A1 (zh) * | 2020-06-30 | 2022-01-06 | 瑞声声学科技(深圳)有限公司 | 触觉效果的优化方法及设备、计算机可读存储介质 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10732714B2 (en) | 2017-05-08 | 2020-08-04 | Cirrus Logic, Inc. | Integrated haptic system |
US10467869B2 (en) * | 2017-07-30 | 2019-11-05 | Immersion Corporation | Apparatus and method for providing boost protection logic |
US10832537B2 (en) * | 2018-04-04 | 2020-11-10 | Cirrus Logic, Inc. | Methods and apparatus for outputting a haptic signal to a haptic transducer |
US11269415B2 (en) | 2018-08-14 | 2022-03-08 | Cirrus Logic, Inc. | Haptic output systems |
GB201817495D0 (en) | 2018-10-26 | 2018-12-12 | Cirrus Logic Int Semiconductor Ltd | A force sensing system and method |
US10955955B2 (en) | 2019-03-29 | 2021-03-23 | Cirrus Logic, Inc. | Controller for use in a device comprising force sensors |
US10992297B2 (en) | 2019-03-29 | 2021-04-27 | Cirrus Logic, Inc. | Device comprising force sensors |
US10828672B2 (en) | 2019-03-29 | 2020-11-10 | Cirrus Logic, Inc. | Driver circuitry |
US11509292B2 (en) | 2019-03-29 | 2022-11-22 | Cirrus Logic, Inc. | Identifying mechanical impedance of an electromagnetic load using least-mean-squares filter |
US20200314969A1 (en) * | 2019-03-29 | 2020-10-01 | Cirrus Logic International Semiconductor Ltd. | Resonant tracking of an electromagnetic load |
US11644370B2 (en) | 2019-03-29 | 2023-05-09 | Cirrus Logic, Inc. | Force sensing with an electromagnetic load |
US10976825B2 (en) | 2019-06-07 | 2021-04-13 | Cirrus Logic, Inc. | Methods and apparatuses for controlling operation of a vibrational output system and/or operation of an input sensor system |
KR20220024091A (ko) | 2019-06-21 | 2022-03-03 | 시러스 로직 인터내셔널 세미컨덕터 리미티드 | 디바이스 상에 복수의 가상 버튼을 구성하기 위한 방법 및 장치 |
US11408787B2 (en) | 2019-10-15 | 2022-08-09 | Cirrus Logic, Inc. | Control methods for a force sensor system |
US11380175B2 (en) | 2019-10-24 | 2022-07-05 | Cirrus Logic, Inc. | Reproducibility of haptic waveform |
US11545951B2 (en) | 2019-12-06 | 2023-01-03 | Cirrus Logic, Inc. | Methods and systems for detecting and managing amplifier instability |
US11662821B2 (en) | 2020-04-16 | 2023-05-30 | Cirrus Logic, Inc. | In-situ monitoring, calibration, and testing of a haptic actuator |
US11933822B2 (en) | 2021-06-16 | 2024-03-19 | Cirrus Logic Inc. | Methods and systems for in-system estimation of actuator parameters |
US11765499B2 (en) | 2021-06-22 | 2023-09-19 | Cirrus Logic Inc. | Methods and systems for managing mixed mode electromechanical actuator drive |
US11908310B2 (en) | 2021-06-22 | 2024-02-20 | Cirrus Logic Inc. | Methods and systems for detecting and managing unexpected spectral content in an amplifier system |
US11552649B1 (en) | 2021-12-03 | 2023-01-10 | Cirrus Logic, Inc. | Analog-to-digital converter-embedded fixed-phase variable gain amplifier stages for dual monitoring paths |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4827208A (en) * | 1986-02-14 | 1989-05-02 | Membrain Limited | Circuit testers |
US6762745B1 (en) * | 1999-05-10 | 2004-07-13 | Immersion Corporation | Actuator control providing linear and continuous force output |
CN103324305A (zh) * | 2012-02-01 | 2013-09-25 | 英默森公司 | 偏心旋转质量致动器的触觉效应优化 |
CN103793050A (zh) * | 2012-10-30 | 2014-05-14 | 德州仪器公司 | 触觉致动器控制器 |
CN103970270A (zh) * | 2013-02-05 | 2014-08-06 | 英默森公司 | 过驱动致动器电压以生成触觉效果 |
CN205680056U (zh) * | 2015-04-17 | 2016-11-09 | 苹果公司 | 电子设备和用于为电子设备提供触觉输出的触觉结构 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4578630A (en) * | 1984-11-23 | 1986-03-25 | At&T Bell Laboratories | Buck boost switching regulator with duty cycle limiting |
US5717360A (en) * | 1996-04-16 | 1998-02-10 | National Semiconductor Corporation | High speed variable gain amplifier |
US6351420B1 (en) * | 2000-02-07 | 2002-02-26 | Advanced Micro Devices, Inc. | Voltage boost level clamping circuit for a flash memory |
US7233476B2 (en) | 2000-08-11 | 2007-06-19 | Immersion Corporation | Actuator thermal protection in haptic feedback devices |
US8681519B2 (en) * | 2011-03-04 | 2014-03-25 | Astec International Limited | Variable input voltage PFC circuits, systems and power supplies with phase shifted power rails |
US8536906B2 (en) * | 2011-06-10 | 2013-09-17 | Rogers Corporation | Direct drive waveform generator |
CN103296947A (zh) | 2012-02-28 | 2013-09-11 | 快捷半导体(苏州)有限公司 | 马达驱动电路、方法及其应用设备 |
US9136199B2 (en) | 2013-07-26 | 2015-09-15 | Infineon Technologies Ag | Monitoring and controlling temperatures in a semiconductor structure |
US9836123B2 (en) * | 2014-02-13 | 2017-12-05 | Mide Technology Corporation | Bussed haptic actuator system and method |
FR3059945B1 (fr) * | 2016-12-14 | 2019-10-04 | Faurecia Interieur Industrie | Dispositif de commande en particulier pour vehicule |
US10467869B2 (en) * | 2017-07-30 | 2019-11-05 | Immersion Corporation | Apparatus and method for providing boost protection logic |
-
2018
- 2018-07-10 US US16/031,810 patent/US10467869B2/en not_active Expired - Fee Related
- 2018-07-20 EP EP18184796.3A patent/EP3438795A1/en not_active Withdrawn
- 2018-07-27 CN CN201810844890.2A patent/CN109324684A/zh active Pending
- 2018-07-27 KR KR1020180087761A patent/KR20190013599A/ko unknown
- 2018-07-30 JP JP2018142001A patent/JP2019029022A/ja active Pending
-
2019
- 2019-10-15 US US16/601,710 patent/US20200043303A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4827208A (en) * | 1986-02-14 | 1989-05-02 | Membrain Limited | Circuit testers |
US6762745B1 (en) * | 1999-05-10 | 2004-07-13 | Immersion Corporation | Actuator control providing linear and continuous force output |
CN103324305A (zh) * | 2012-02-01 | 2013-09-25 | 英默森公司 | 偏心旋转质量致动器的触觉效应优化 |
CN103793050A (zh) * | 2012-10-30 | 2014-05-14 | 德州仪器公司 | 触觉致动器控制器 |
CN103970270A (zh) * | 2013-02-05 | 2014-08-06 | 英默森公司 | 过驱动致动器电压以生成触觉效果 |
CN205680056U (zh) * | 2015-04-17 | 2016-11-09 | 苹果公司 | 电子设备和用于为电子设备提供触觉输出的触觉结构 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022000650A1 (zh) * | 2020-06-30 | 2022-01-06 | 瑞声声学科技(深圳)有限公司 | 触觉效果的优化方法及设备、计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2019029022A (ja) | 2019-02-21 |
US10467869B2 (en) | 2019-11-05 |
US20190035235A1 (en) | 2019-01-31 |
EP3438795A1 (en) | 2019-02-06 |
KR20190013599A (ko) | 2019-02-11 |
US20200043303A1 (en) | 2020-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109324684A (zh) | 用于提供升压保护逻辑的装置和方法 | |
JP5694140B2 (ja) | 共鳴検出のためのシステムと方法 | |
CN108429507B (zh) | 确定线性振动装置谐振频率的方法和装置 | |
US7843277B2 (en) | Haptic feedback generation based on resonant frequency | |
EP2956841B1 (en) | Piezo-actuated touch sensitive structure and corresponding actuation method | |
US20150280621A1 (en) | Method and apparatus to drive a linear resonant actuator at its resonant frequency | |
CN103513766A (zh) | 使用颗粒合成的触觉效果转换系统 | |
CN109814706A (zh) | 具有线性共振致动器的触觉设备 | |
CN101820239A (zh) | 用于电机驱动系统的控制技术 | |
CN104516502A (zh) | 在最小化串联的同时生成触觉效果 | |
EP2908226A1 (en) | Screen state control method, device, and touchscreen terminal | |
CN101902191A (zh) | 用于电机驱动系统的控制技术 | |
CN109313503A (zh) | 实时触觉生成 | |
CN101820248A (zh) | 用于电机驱动系统的控制技术 | |
Mateu et al. | Appropriate charge control of the storage capacitor in a piezoelectric energy harvesting device for discontinuous load operation | |
TW200939098A (en) | Systems for displaying images | |
JP6746008B2 (ja) | 電気活性ポリマーに基づくアクチュエータ及びセンサ装置 | |
CN108288937A (zh) | 线性谐振装置的驱动方法及其驱动电路结构 | |
Castaner et al. | Pull-in time–energy product of electrostatic actuators: Comparison of experiments with simulation | |
Jeong et al. | Design of a multi-array piezoelectric energy harvester for a wireless switch | |
Harris | Exploring smoothness and discontinuities in human motor behaviour with Fourier analysis | |
CN106930964B (zh) | 压电风扇固有频率测量方法和压电风扇 | |
de Jong | Presenting the cyclotactor project | |
Pace | Development of an embedded system based on an original bidirectional transducer for the implementation of haptic human-machine interfaces in safety-critical automotive applications | |
KR101397965B1 (ko) | 플라즈마 구동기의 입력 전원의 파라미터 최적화 방법 및 컴퓨터 판독 가능한 기록 매체 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190212 |