交互装置及其控制方法、电子设备、超声设备和存储介质
文献发布时间:2024-04-18 19:59:31
技术领域
本发明涉及超声成设备技术领域,具体地,涉及一种交互装置、交互装置的控制方法、电子设备、超声设备和存储介质。
背景技术
在智能化时代,大部分电子设备设计有人机交互功能,且相关领域的技术人员均在致力于提高电子设备带来的人机交互体验。以电子设备为超声设备为例,交互装置作为超声设备上重要的人机交互枢纽,在超声成像模式切换、超声参数设置等过程中发挥重要作用。因此,交互装置的稳定性对用户的使用体验至关重要。
交互装置上通常设置有至少一个外部设备,至少一个外部设备可以通过任意类型的通信接口与交互装置上的控制器可通信地连接。相关技术中,交互装置的控制器通常采用一个通信接口。但是,由于通信接口的网络协议自身比较复杂,当这一个通信接口异常时,基于该通信接口与控制器进行通信的外部设备则会失效,进而导致交互装置故障,无法正常使用。因此,在交互装置故障时,如何快速修复故障极为重要。
发明内容
考虑到上述问题而提出了本发明。本发明提供一种交互装置、交互装置的控制方法、电子设备、超声设备和存储介质。
根据本发明的一个方面,提供了一种交互装置,交互装置包括:控制器、扩展器和至少一个外部设备,其中,控制器包括至少两个通信接口,控制器用于在至少两个通信接口中配置为使用状态的第一通信接口的工作状态异常时,将至少两个通信接口中的第二通信接口由备用状态切换至使用状态;扩展器包括多个端口,多个端口包括与至少两个通信接口一一对应连接的至少两个第一端口和与至少一个外部设备一一对应连接的至少一个第二端口,扩展器用于经由至少一个第二端口和与配置为使用状态的通信接口相对应的第一端口,在至少一个外部设备和控制器之间进行信息传输;至少一个外部设备包括至少一个输入设备和/或至少一个输出设备。
示例性地,控制器还用于:在至少两个通信接口中配置为使用状态的第一通信接口的工作状态异常时,复位第一通信接口并将第一通信接口配置为备用状态。
示例性地,控制器还用于:获取至少一个第二端口各自的第一工作状态信息,其中,第一工作状态信息用于指示与所属第二端口相对应的外部设备的工作状态;在至少一个第二端口中的任一第二端口对应的第一工作状态信息指示该第二端口的工作状态异常时,对至少一个外部设备中与该第二端口相对应的外部设备异常进行使能。
示例性地,控制器包括与至少一个外部设备一一对应连接的至少一个使能接口,控制器具体用于:通过与异常的外部设备对应的使能接口向异常的外部设备传输使能信号,以对异常的外部设备进行使能。
示例性地,交互装置还包括第一存储器,第一存储器包括非初始化存储区域,控制器还用于:将在当前时刻之前预设时长内的目标存储数据存储到非初始化存储区域中,非初始化存储区域在控制器上电启动时不进行初始化,目标存储数据包括以下一项或多项:至少两个通信接口各自的使用状态信息、控制器所执行的至少部分任务的运行状态信息、控制器与上位机之间的交互数据流;其中,在目标存储数据包括交互数据流的情况下,扩展器还包括第四端口,扩展器还用于经由第四端口和与配置为使用状态的通信接口相对应的第一端口在上位机与控制器之间传输交互数据流。
示例性地,控制器还用于:在控制器为复位上电启动时,从非初始化存储区域内读取目标存储数据,并基于目标存储数据将交互装置恢复到目标存储数据所指示的工作状态;和/或,在控制器为初次上电启动时,将非初始化存储区域配置为环形缓冲区。
示例性地,交互装置还包括第二存储器,第二存储器为非易失性存储器,控制器还用于:在控制器为复位上电启动时,获取控制器的复位标识信息,复位标识信息用于指示控制器的复位次数;若复位标识信息所指示的复位次数小于或等于预设次数,则将非初始化存储区域中的目标存储数据存储到第二存储器中;响应于用户的查看指令,将第二存储器中存储的目标存储数据输出。
示例性地,控制器还用于:在控制器上电启动时,将至少两个通信接口中的任一通信接口配置为使用状态;和/或,在控制器为初次上电启动时,将交互装置配置为初始化工作状态。
示例性地,控制器还用于:在控制器上电启动时,获取控制器的上电标识信息,上电标识信息用于指示控制器是初次上电启动还是复位上电启动;基于上电标识信息确定控制器是初次上电启动还是复位上电启动。
示例性地,扩展器还包括第三端口,扩展器还用于:经由第三端口将扩展器的第二工作状态信息传输至控制器,其中,第二工作状态信息用于指示扩展器的工作状态;控制器还用于:获取第二工作状态信息;在扩展器的工作状态异常时,对扩展器进行复位。
示例性地,交互装置应用于超声设备,超声设备包括上位机,扩展器还包括第四端口,扩展器还用于经由第四端口和与配置为使用状态的通信接口相对应的第一端口在上位机与控制器之间传输交互数据流。
根据本发明第二方面,还提供一种超声设备,包括上述交互装置。
示例性地,超声设备还包括上位机,扩展器还包括第四端口,扩展器还用于经由第四端口和与配置为使用状态的通信接口相对应的第一端口在上位机与控制器之间传输交互数据流。
根据本发明第三方面,还提供一种交互装置的控制方法,交互装置包括:控制器、扩展器和至少一个外部设备,控制器包括至少两个通信接口,交互装置的控制方法应用于控制器,方法包括:在至少两个通信接口中配置为使用状态的第一通信接口的工作状态异常时,将至少两个通信接口中的第二通信接口由备用状态切换至使用状态;其中,扩展器包括多个端口,多个端口包括与至少两个通信接口一一对应连接的至少两个第一端口和与至少一个外部设备一一对应连接的至少一个第二端口,扩展器用于经由至少一个第二端口和与配置为使用状态的通信接口相对应的第一端口,在至少一个外部设备和控制器之间进行信息传输;至少一个外部设备包括至少一个输入设备和/或至少一个输出设备。
示例性地,方法还包括:在控制器上电启动时,枚举至少两个通信接口中的任一通信接口,使该通信接口处于使用状态并将剩余通信接口的状态配置为备用状态;和/或,执行以下一种或多种检测操作:第一检测操作:获取扩展器的第二工作状态信息,并在第二工作状态信息指示扩展器的工作状态异常时,对扩展器进行复位;第二检测操作:检测至少两个通信接口中配置为使用状态的第一通信接口的工作状态,并在第一通信接口的工作状态异常时,复位第一通信接口并将第一通信接口配置为备用状态;第三检测操作:获取至少一个第二端口各自的第一工作状态信息,并在至少一个第二端口中的任一第二端口对应的第一工作状态信息指示该第二端口的工作状态异常时,对至少一个外部设备中与该第二端口相对应的外部设备进行使能。
示例性地,第一检测操作、第二检测操作和第三检测操作依次执行,其中,第二检测操作在第二工作状态信息指示扩展器的工作状态正常时执行,第三检测操作在第一通信接口的工作状态正常时执行。
示例性地,方法还包括:在控制器上电启动时,获取控制器的上电标识信息,上电标识信息用于指示控制器是初次上电启动还是复位上电启动;在上电标识信息指示控制器为初次上电启动时,将交互装置配置为初始化工作状态;在上电标识信息指示控制器为复位上电启动时,从非初始化存储区域内读取目标存储数据,并基于目标存储数据将交互装置恢复到目标存储数据所指示的工作状态,非初始化存储区域在控制器上电时不进行初始化,目标存储数据包括以下一项或多项:至少两个通信接口各自的使用状态信息、控制器所执行的至少部分任务的运行状态信息、控制器与上位机之间的交互数据流;其中,在目标存储数据包括交互数据流的情况下,扩展器还包括第四端口,扩展器还用于经由第四端口和与配置为使用状态的通信接口相对应的第一端口在上位机与控制器之间传输交互数据流。
示例性地,方法还包括:在控制器为初次上电启动时,将非初始化存储区域配置为环形缓冲区并转至存储操作,非初始化存储区域在控制器上电时不进行初始化;在控制器为复位上电启动时,通过复位标识信息对控制器的复位次数进行标记;若复位标识信息所指示的复位次数小于或等于预设次数,则将非初始化存储区域中的目标存储数据存储到第二存储器中并转至存储操作,第二存储器为非易失性存储器;存储操作:将在当前时刻之前预设时长内的目标存储数据存储到非初始化存储区域中。
示例性地,至少一个外部设备包括至少一个输入设备,至少一个输入设备用于响应于用户的操作,生成对应的操作信息;将在当前时刻之前预设时长内的目标存储数据存储到非初始化存储区域中,包括:在预设时段内获取的来自至少一个外部设备的操作信息为与同一操作对应的多组重复操作信息时,将该操作对应的一组操作信息存储到非初始化存储区域中,目标存储数据包括操作信息。
根据本发明第四方面,还提供一种电子设备,包括处理器和存储器,存储器中存储有计算机程序,所述计算机程序指令被所述处理器运行时用于执行上述的交互装置的控制方法。
根据本发明第五方面,还提供一种存储介质,存储有计算机程序/指令,所述计算机程序/指令在运行时用于执行上述的交互装置的控制方法。
根据本发明实施例的交互装置、交互装置的控制方法、电子设备、超声设备和存储介质,控制器可以在被配置为处于使用状态的第一通信接口的工作状态异常时,将至少两个通信接口中的第二通信接口由备用状态切换至使用状态。并且,扩展器可以通过多个端口,在一个或多个外部设备和控制器之间进行信息传输。这样可以在通信接口的工作发生异常时,自动地、快速地恢复控制器与一个或多个外部设备之间的通信,避免由于通信接口故障而导致交互装置无法继续正常使用。通过本发明实施例的自恢复机制,可以大幅提高交互装置的鲁棒性、可靠性,从而提升交互装置的质量。并且,该技术方案无需重启交互装置即可恢复其通信,用户体验较好。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1示出了根据本发明一个实施例的交互装置的示意性框图;
图2示出了根据本发明一个实施例的交互装置的控制方法的示意性流程图;
图3示出根据本发明一个实施例的目标存储数据的存储流程的示意性流程图;以及
图4示出了根据本发明一个实施例的电子设备的示意性框图。
具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
为了解决上述技术问题,本发明提供了一种交互装置。该交互装置可以应用于任意类型的电子设备。示例性地,该电子设备可以包括但不限于超声设备、造影设备等。在一个实施例中,电子设备为超声设备,该超声设备可以是任意类型的超声设备,例如血管内超声设备、肌骨超声设备等。交互装置可以是任意类型的能够实现人机交互功能的装置。在一个实施例中,交互装置可以是诸如键盘面板等。图1示出了根据本发明一个实施例的交互装置100的示意性框图。如图1所示,该交互装置100可以包括控制器110、扩展器120和至少一个外部设备(可以简称外设)。如图1中示出两个外部设备,即外部设备130和外部设备140。可以理解,外部设备130和外部设备140仅仅是示例性的,交互装置可以包括一个外部设备或多个外部设备,外部设备的数量可以根据需要设定,其可以是任意大于或等于1的数量,本发明对此不做限制。控制器110和至少一个外部设备可以分别与扩展器120可通信地连接。
示例性地,控制器110可以包括至少两个通信接口,控制器110可以用于在至少两个通信接口中配置为使用状态的第一通信接口的工作状态异常时,将至少两个通信接口中的第二通信接口由备用状态切换至使用状态。
示例性地,控制器110可以是任何合适的具有数据处理能力和/或指令执行能力的处理器件。例如,控制器110可以采用可编程逻辑控制器(PLC)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、中央处理单元(CPU)、专用的集成电路(ASIC)、微控制单元(MCU)和其它形式的处理单元中的一种或几种的组合来实现。例如,控制器110可以是MCU。控制器110可以包括至少两个通信接口。通信接口可以是任意类型的通信接口,例如通用串行总线(Universal Serial Bus,USB)接口、个人系统2(PersonalSystem 2,PS/2)接口、高清多媒体(High Definition Multimedia Interface,HDMI)接口或视频图形阵列(Video GraphicsArray,VGA)接口等。为了便于描述和理解,下面主要以控制器110为MCU,至少两个通信接口均为USB接口为例进行说明。控制器110替换为其他类型的处理器件或者通信接口替换为其他类型的通信接口时,控制器所执行的控制操作是类似的,本文不赘述。
在一个实施例中,控制器110可以包括至少两个通信接口。通信接口的数量可以是任意大于或等于2的数量,即,控制器110可以包括2个通信接口,也可以包括3个或更多数量的通信接口等,本发明对此不做限制。至少两个通信接口在控制器中的结构可以设计为“乒乓”模式。具体地,控制器110中的任意一个或多个通信接口可以配置为使用状态,与此同时另外的一个或多个通信接口可以配置为备用状态。控制器110可以检测自身包含的通信接口的工作状态。当任一配置为使用状态的通信接口出现异常时,可以将另一配置为备用状态的通信接口切换为使用状态。通过以上原理可知,控制器110中的全部通信接口不会同时配置为使用状态。例如,在图1所示的实施例中,控制器110可以包括2个通信接口。这2个通信接口分别为USB接口111和USB接口112。在控制器110工作过程中,USB接口111和USB接口112中的任一通信接口开始进行枚举,枚举完成后该通信接口处于使用状态,另一个通信接口则处于备用状态。例如,当前处于使用状态的通信接口可以为USB接口111(即第一通信接口)。控制器120中的固件,例如状态寄存器,可以实时检测USB接口111的连接状态,当USB接口111断开连接时,可以确定USB接口111的工作状态异常。根据本发明实施例,导致任一通信接口的工作状态出现异常的原因可以包括但不限于:通信接口自身出现故障,和/或,通信接口与扩展器上的对应端口(端口的含义参见下文描述)之间的连接线路出现故障。例如,当USB接口111自身出现故障时,可以导致USB接口111断开连接,此时USB接口111的工作状态出现异常。又例如,当USB接口111与扩展器120上的对应端口之间的连接线路出现故障时,也可以导致USB接口111断开连接,此时USB接口111的工作状态出现异常。在USB接口111的工作状态异常时,控制器110中的USB接口112可以开始枚举,即USB接口112(即第二通信接口)由备用状态切换至使用状态。
示例性地,扩展器120可以包括多个端口。多个端口可以包括与至少两个通信接口一一对应连接的至少两个第一端口和与至少一个外部设备一一对应连接的至少一个第二端口,扩展器120可以用于经由至少一个第二端口和与配置为使用状态的通信接口相对应的第一端口,在至少一个外部设备和控制器120之间进行信息传输。
在一个实施例中,扩展器120的类型与通信接口的类型相对应。例如,如果通信接口为USB接口,那么扩展器就可以是USB扩展器(USB HUB)。扩展器120可以包括多个端口。参照图1,扩展器可以包括端口121至端口124。其中,端口121和端口122为与两个通信接口(USB接口111和USB接口112)一一对应连接的两个第一端口。端口123和端口124为分别与两个外部设备(外部设备130和外部设备140)一一对应连接的两个第二端口。可以理解,第一端口的数量与通信接口的数量相对应,也就是说,如果通信接口的数量为3个,那么第一端口的数量也为3个,3个第一端口与3个通信接口一一对应的连接。同理地,第二端口的数量与外部设备的数量也相对应。通过扩展器120的多个端口,在外部设备和控制器110之间可以进行信息传输。在一个示例中,若当前处于使用状态的通信接口为USB接口111,那么可以通过第二端口124和第一端口121,在外部设备140和USB接口111之间进行信息传输。示例性地,在外部设备140和USB接口111之间可以传输目标信息。目标信息可以可选地包括控制器对外部设备140的控制信息和/或用户通过外部设备输入的操作信息等。
示例性地,至少一个外部设备可以包括至少一个输入设备和/或至少一个输出设备。
外部设备可以是任意类型的输入/输出设备。示例性地,外部设备可以包括至少一个输入设备,或者包括至少一个输出设备,或者可以包括至少一个输入设备以及至少一个输出设备。上述输入设备可以包括但不限于鼠标、键盘、轨迹球或触摸屏等任意输入设备。例如,图1所示的外部设备130可以是轨迹球,外部设备140可以是触摸屏。上述输出设备可以包括但不限于语音输出设备或磁记录设备等任意输出设备。示例性地,某些外部设备可以兼具输入和输出功能,即其既可以属于输入设备,也可以属于输出设备,例如触摸屏等。
根据上述技术方案,控制器可以在被配置为使用状态的第一通信接口的工作状态异常时,将至少两个通信接口中的第二通信接口由备用状态切换至使用状态。并且,扩展器可以通过多个端口,在一个或多个外部设备和控制器之间进行信息传输。这样可以在通信接口的工作发生异常时,自动地、快速地恢复控制器与一个或多个外部设备之间的通信,避免由于通信接口故障而导致交互装置无法继续正常使用。通过本发明实施例的自恢复机制,可以大幅提高交互装置的鲁棒性、可靠性,从而提升交互装置的质量。并且,该技术方案无需重启交互装置即可恢复其通信,用户体验较好。
示例性地,控制器还可以用于:在至少两个通信接口中配置为使用状态的第一通信接口的工作状态异常时,复位第一通信接口并将第一通信接口配置为备用状态。
通过以上描述,可以理解第一通信接口是控制器中当前配置为使用状态的任一通信接口。在图1所示实施例中,如果当前被配置为使用状态的通信接口为USB接口111,那么USB接口111可以作为第一通信接口;如果当前被配置为使用的状态的通信接口为USB接口112,那么USB接口112可以作为第一通信接口。当第一通信接口的工作状态异常时,除将第二通信接口由备用状态切换为使用状态以外,控制器还可以可选地复位第一通信接口并将复位后的该第一通信接口配置为备用状态。可以理解,在复位后的第一通信接口切换为备用状态之后,该第二通信接口转换为第一通信接口,而当前已由备用状态切换为使用状态的第二通信接口则转换为第一通信接口。在第一通信接口出现暂时性的工作异常时,通过复位第一通信接口可能使得第一通信接口成功恢复正常。而在第一通信接口出现持续性的工作异常,例如第一通信接口出现硬件上的故障时,则无法通过复位的方式使得第一通信接口恢复正常。控制器可以选择单次尝试对异常的第一通信接口进行复位或反复多次尝试对异常的第一通信接口进行复位。
根据上述技术方案,在至少两个通信接口中配置为使用状态的第一通信接口的工作状态异常时,复位第一通信接口并将第一通信接口配置为备用状态。这样可以使得出现异常的通信接口重新进入备用状态,以便后续配置为使用状态的通信接口出现异常时重新启用之前复位的通信接口。这种方案这有助于提高交互装置的可靠性,延长交互装置的工作时间。
示例性地,控制器还可以用于:获取至少一个第二端口各自的第一工作状态信息,其中,第一工作状态信息用于指示与所属第二端口相对应的外部设备的工作状态;在至少一个第二端口中的任一第二端口对应的第一工作状态信息指示该第二端口的工作状态异常时,对至少一个外部设备中与该第二端口相对应的外部设备进行使能。
在一个实施例中,扩展器上的多个端口具有各自的工作状态信息。控制器可以从扩展器获取一个或多个第二端口各自的第一工作状态信息,以基于第一工作状态信息确定与第一工作状态信息所属的第二端口相对应的外部设备的工作状态。例如,第一工作状态信息可以是数值信息。若数值为0则表示与所属第二端口相对应的外部设备的工作状态正常;若数值为1则表示与所属第二端口相对应的外部设备的工作状态异常。又例如,第一工作状态信息还可以为灯光信息。若任一第二端口对应的指示灯为绿色,可以表示与该第二端口相对应的外部设备的工作状态正常;若任一第二端口对应的指示灯为红色,可以表示与该第二端口相对应的外部设备的工作状态异常。上述关于第一工作状态信息的描述仅仅是示例性的,第一工作状态信息还可以采用其他方式表示,本发明对此不做限制。在任一第二端口对应的第一工作状态信息指示该第二端口的工作状态异常时,可以确定该第二端口所对应的外部设备存在异常。例如,假设对于图1所示的交互装置,第二端口123对应的第一工作状态信息指示该第二端口的工作状态异常,那么可以确定与第二端口123相对应的外部设备130异常。控制器可以对异常的外部设备(例如上述外部设备130)进行重新使能,以实现外部设备功能的快速恢复。与通信接口类似地,在第二端口对应的外部设备出现暂时性的工作异常时,通过重新使能外部设备可能使得第二端口处的工作成功恢复正常。而在第二端口对应的外部设备出现持续性的工作异常,例如外部设备出现硬件上的故障时,则无法通过重新使能的方式使得第二端口处的工作恢复正常。控制器可以选择单次尝试对异常的外部设备进行重新使能或反复多次尝试对异常的外部设备进行重新使能。
根据上述技术方案,通过至少一个第二端口各自的第一工作状态信息,可以在任一第二端口对应的第一工作状态信息指示该第二端口的工作状态异常时,确定至少一个外部设备中与该第二端口相对应的外部设备异常,并对异常的外部设备重新使能。该方案基于至少一个第二端口各自的第一工作状态信息,可以准确地确定异常的外部设备,然后对异常的外部设备重新使能,以提高异常外部设备恢复的效率。
示例性地,控制器可以包括与至少一个外部设备一一对应连接的至少一个使能接口,控制器具体用于:通过与异常的外部设备对应的使能接口向异常的外部设备传输使能信号,以对异常的外部设备重新使能。
在一个实施例中,控制器可以包括一个或多个使能接口。一个或多个使能接口分别与一个或多个外部设备一一对应地连接。参照图1,控制器可以包括使能接口113和使能接口114。使能接口113可以通过有线连接或无线连接的方式与外部设备130连接。同理地,使能接口114也可以通过有线连接或无线连接的方式与外部设备140连接。在任意一个或多个外部设备异常时,控制器可以通过与每个异常的外部设备所对应的使能接口向该异常的外部设备传输使能信号。例如,如果外部设备130异常,那么控制器可以通过使能接口113向外部设备传输使能信号,以对外部设备130重新使能。在一个实施例中,若控制器通过使能接口113向外部设备传输一次使能信号后,外部设备130没有被重新使能,那么控制器还可以通过使能接口113继续向外部设备传输使能信号,直至外部设备130被重新使能,或者直至交互装置掉电,或者直至控制器通过使能接口113继续向外部设备传输使能信号的次数达到预设数值,才停止对外部设备130使能。
根据上述技术方案,控制器可以通过与异常的外部设备对应的使能接口向发生异常的外部设备传输使能信号,以对异常的外部设备进行使能。这样可以在外部设备异常时快速恢复该外部设备的正常运行,以保证交互装置能够继续正常工作。
示例性地,交互装置还可以包括第一存储器,第一存储器包括非初始化存储区域,控制器还用于:将在当前时刻之前预设时长(可以称为第一预设时长)内的目标存储数据存储到非初始化存储区域中,非初始化存储区域在控制器上电启动时不进行初始化,目标存储数据包括以下一项或多项:至少两个通信接口各自的使用状态信息、控制器所执行的至少部分任务的运行状态信息、配置为使用状态的通信接口与上位机之间的交互数据流;其中,在目标存储数据包括交互数据流的情况下,扩展器还包括第四端口,扩展器还用于经由第四端口和与配置为使用状态的通信接口相对应的第一端口在上位机与控制器之间传输交互数据流。
在一个实施例中,交互装置中还包括第一存储器。示例性地,第一存储器可以与控制器分开存在,第一存储器与控制器可通信地连接。替代地,第一存储器可以与控制器集成在一起,即可以是控制器内部包含的存储器。第一存储器可以是任意类型的存储器,包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)等。在本发明一个实施例中,第一存储器可以是随机存取存储器。第一存储器可以包括非初始化存储区域。非初始化存储区域中所存储的数据在控制器上电时不会被初始化。控制器还可以将在当前时刻之前且距离当前时刻预设时长内的目标存储数据存储到非初始化存储区域中。预设时长可以是任意时长,其可以根据需要设定。示例性地,预设时长可以为任一处于[10,60]秒(s)的范围内的时长。例如,预设时长可以是8s、9s、10s等。在本发明一个实施例中,预设时长可以等于8s。示例性地,若当前时刻为T
示例性地,非初始化存储区域可以用于记录交互装置工作时各通信接口的使用状态信息、控制器所执行的至少部分任务的运行状态信息、控制器与上位机之间的交互数据流等中的一项或多项。通信接口的使用状态信息即关于通信接口是否配置为使用状态的信息。根据本发明实施例的交互装置中的控制器所执行的任务可以根据交互装置的功能而定,本发明不对此进行限制。示例性地,控制器所执行的任务可以包括:判别是否有交互件被操作;若有交互件被操作,则识别哪一个交互件被操作,并求出对应的键值;根据键值,找到相应键值的处理程序入口以执行对应的处理操作;等等。交互件可以包括诸如按键、鼠标、轨迹球、触摸屏上所显示的控件等中一项或多项。上述至少部分任务可以是控制器所执行的某些关键任务(函数)。在一个实施例中,控制器所执行的至少部分任务的运行状态信息可以包括:按键信息、灯光信息、鼠标或轨迹球信息等。按键信息可以用于指示用户在当前时刻之前预设时长内按下的按键。灯光信息可以用于指示在当前时刻之前预设时长内发光的键盘灯。鼠标或轨迹球信息用于指示在当前时刻之前预设时长内鼠标或轨迹球的位置。响应于用户对交互件的操作,控制器可以将与被操作的交互件相关的信息(例如上述按键信息以及鼠标或轨迹球信息)进一步上传给上位机以由上位机执行与该交互件对应的操作。交互数据流可以包括与被操作的交互件相关的信息。在一个实施例中,交互装置应用于超声设备,超声设备可以包括上述上位机。示例性地,上位机可以用于执行以下一项或多项操作:显示超声图像;响应于用户对交互装置的操作执行对应的处理,例如进行特定测量项的测量等。
示例性地,交互装置可以应用于超声设备,超声设备可以包括上位机,扩展器还包括第四端口,扩展器还用于经由第四端口和与配置为使用状态的通信接口相对应的第一端口在上位机与控制器之间传输交互数据流。
在一个实施例中,超声设备还可以包括上位机。参照图1,扩展器还可以包括第四端口126。扩展器还可以通过第四端口126以及当前被配置为使用状态的通信接口相对应的第一端口(例如第一端口121)在上位机与控制器之间传输交互数据流。
根据上述技术方案,通过第四端口以及当前被配置为使用状态的通信接口相对应的第一端口,可以实现上位机与控制器之间的通信,以便通过上位机执行与用户对交互装置的操作相对应的处理,例如图像显示等。
在一个实施例中,第一存储器还可以包括初始化存储区域。初始化存储区域在控制器上电启动时会进行初始化。示例性地,初始化存储区域中存储的存储数据可以包括除目标存储数据以外的其他类型的数据,例如,超声设备的超声成像参数。例如,当前用户所选择的超声成像模式为二维超声成像模式,可以将该二维超声成像模式对应的超声成像参数存储到初始化存储区域中。在控制器再次上电启动后,二维超声成像模式对应的超声成像参数会被清空。可选地,初始化存储区域中存储的存储数据还可以包括目标存储数据。即,目标存储数据可以同时存储在初始化存储区域和非初始化存储区域中。可选地,初始化存储区域中存储的存储数据可以为在当前时刻之前预设时长(可以称为第二预设时长)内的数据,即初始化存储区域可以采用与上述非初始化存储区域类似的方式保存当前时刻之前的固定时段内的存储数据。可选地,初始化存储区域中存储的存储数据可以为在控制器上电启动之后的存储数据。
根据上述技术方案,非初始化存储区域中的目标存储数据不会随着控制器的复位而被初始化,这样,通过非初始化存储区域,可以长期保存某些较为重要的信息,以保证在控制器发生异常复位时,距离异常复位时刻前预设时长内的目标存储数据不会丢失。这样可以便于在需要时将目标存储数据读取出来,例如供给用户查看或用于快速恢复交互装置的工作等。
示例性地,控制器还可以用于:在控制器为复位上电启动时,从非初始化存储区域内读取目标存储数据,并基于目标存储数据将交互装置恢复到目标存储数据所指示的工作状态。
示例性地,控制器还可以用于:在控制器上电启动时,获取控制器的上电标识信息,上电标识信息用于指示控制器是初次上电启动还是复位上电启动;基于上电标识信息确定控制器是初次上电启动还是复位上电启动。通过上电标识可以非常简单快速地判断控制器是初次上电启动还是复位上电启动。
在一个实施例中,可以在第一存储器中存储上电标识信息。示例性地,上电标识信息可以存储在上述非初始化存储区域中,上电标识信息可以包含在目标存储数据中或与目标存储数据彼此独立。上电标识信息用于指示控制器是初次上电启动还是复位上电启动。上电标识信息包含的内容可以由用户任意设定,只要能区分初次上电启动和复位上电启动即可,本发明对此不做限制。例如,上电标识信息为数字信号“0000”时可以表示当前控制器是初次上电启动;上电标识信息为数字信号“000F”时可以表示当前控制器是复位上电启动。在控制器初次上电启动之前,上电标识信息可以具有初始值,例如上述“0000”。一旦控制器初次上电完成之后,可以将上电标识信息更新为新的值,例如上述“000F”。在根据本发明一个实施例中,在控制器上电启动时,可以自动获取上电标识信息。通过上电标识信息,可确定当前控制器属于初次上电启动还是复位上电启动。如果上电标识信息为“000F”,则表示控制器为复位上电启动。然后,控制器可以从非初始化存储区域内读取目标存储数据,并基于目标存储数据将交互装置恢复到目标存储数据所指示的工作状态。例如,控制器发生故障时可以自动进行复位重启,控制器进行复位上电启动后,可以从非初始化存储区域内读取目标存储数据,若读取的目标存储数据指示在发生故障之前交互装置上的键盘的键盘灯全部亮起且轨迹球的位置位于正中间的状态,那么在控制器从非初始化存储区域内读取目标存储数据后,可以将交互装置恢复到这种工作状态。
根据上述技术方案,在控制器为复位上电启动时,可以从非初始化存储区域内读取目标存储数据,并基于目标存储数据将交互装置恢复到目标存储数据所指示的工作状态。这样可以在控制器发生异常复位后,将交互装置的工作状态快速恢复至异常复位前的工作状态,保证用户可以继续顺利操作交互装置。通过这种方式,在交互装置发生故障时,用户几乎感知不到故障的发生,即从用户角度来看交互装置基本都是在有序工作的,这可以大大提升用户体验。
示例性地,控制器还可以用于:在控制器为初次上电启动时,将非初始化存储区域配置为环形缓冲区。环形缓冲区可以循环保存目标存储数据。在一个实施例中,当前环形缓冲区中存储的数据为T
示例性地,交互装置还可以包括第二存储器,第二存储器为非易失性存储器,控制器还用于:在控制器为复位上电启动时,获取控制器的复位标识信息,复位标识信息用于指示控制器的复位次数;若复位标识信息所指示的复位次数小于或等于预设次数,则将非初始化存储区域中的目标存储数据存储到第二存储器中;响应于用户的查看指令,将第二存储器中存储的目标存储数据输出。
在一个实施例中,交互装置还可以包括第二存储器。第二存储器为非易失性存储器,例如闪存(Flash)、只读存储器(ROM)等。在本发明一个实施例中,第二存储器可以是闪存。控制器中还可以运行复位计数程序,用于对控制器的复位上电启动的累计次数(即复位次数)进行计数。复位次数初始为0,每次控制器发生复位上电启动后,可以将复位次数加一。可以通过复位标识信息来记录复位次数。在一个实施例中,可以在第一存储器中存储复位标识信息。示例性地,复位标识信息可以存储在上述非初始化存储区域中,复位标识信息可以包含在目标存储数据中或与目标存储数据彼此独立。在控制器为复位上电启动时,可以获取复位标识信息。在复位标识信息所指示的复位次数小于或等于预设次数时,可以将非初始化存储区域中的目标存储数据存储到第二存储器中。预设次数可以是用户设置的任意大于0的数值。示例性地,预设次数可以处于[1,10]的范围内,例如1、2或3等。在本发明一个实施例中,预设次数可以等于1。若复位标识信息所指示的复位次数等于1次,即在控制器第1次复位时,控制器可以将初始化存储区域中的目标存储数据存储到闪存中,在后续复位时则不做处理。示例性地,当用户期望查看闪存中存储的目标存储数据时,控制器可以将目标存储数据输出至上位机,以在上位机的显示界面上显示。用户可以通过外部设备向控制器输入查看指令,还可以通过上位机向控制器输入查看指令。
可选地,由于控制器内部的第一存储器和第二存储器的存储空间有限,因此可以对控制器与上位机之间的交互数据流进行数据压缩。例如,目标存储数据中可以存储异常复位信息,异常复位信息可以指示当前由于用户拨动了时间增益补偿(Time gaincompensation,TGC)键或是旋转了任一旋钮而导致控制器发生异常复位。而对于旋钮被旋转了多少圈的详细数据,或者用户如何拨动的TGC旋钮的详细数据,可以不纳入异常复位信息中进行存储。
根据上述技术方案,将第二存储器设置为非易失性存储器,这样可以保证第二存储器中存储的目标存储数据在交互装置发生断电时也不会丢失。在控制器复位上电启动时,若复位次数小于或等于预设次数,可以将非初始化存储区域中的目标存储数据存储到第二存储器中。这样可以在控制器存在多次复位的情况下,仅在复位次数小于或等于预设次数时才将非初始化存储区域中的目标存储数据存储到第二存储器中,防止第二存储器中的目标存储数据过多而产生覆盖。此外,可以响应于用户的查看指令输出第二存储器中的目标存储数据,这样可以方便用户了解控制器发生异常复位时的工作状态,以便用户进行故障排查。这样有助于提高用户对控制器偶发故障的优化效率,有助于减少偶发故障的故障频率,提升用户体验。
示例性地,控制器还用于:在控制器上电启动时,将至少两个通信接口中的任一通信接口配置为使用状态。
在一个实施例中,无论控制器为初次上电启动还是复位上电启动,控制器均可以将至少两个通信接口中的任一通信接口配置为使用状态。“将至少两个通信接口中的任一通信接口配置为使用状态”的实现方式在前文实施例中已经进行了详细地描述,为了简洁,在此不再赘述。
这样可以保证控制器在上电启动后,可以自动地、快速地将至少两个通信接口中的任一通信接口配置为使用状态,以保证用户顺利操作交互装置。
示例性地,控制器还用于:在控制器为初次上电启动时,将交互装置配置为初始化工作状态。
在一个实施例中,在控制器上电启动时,可以获取控制器的上电标识信息。获取上电标识信息的方式以及关于上电标识信息的相关描述已经以前文实施例中进行了详细地描述,为了简洁,在此不再赘述。在上电标识信息指示控制器为初次上电启动时,控制器可以将交互装置配置为初始化工作状态。初始化工作状态可以是交互装置每次断电重启后的工作状态。初始化工作状态可以根据需要任意设定。例如,初始化工作状态可以为交互装置上的键盘灯全部熄灭。
根据上述技术方案,在控制器为初次上电启动时,控制器自动将交互装置配置为初始化工作状态,这样方便交互装置每次启动时呈现为统一的工作状态,用户体验较好。
示例性地,扩展器还包括第三端口,扩展器还用于:经由第三端口将扩展器的第二工作状态信息传输至控制器,其中,第二工作状态信息用于指示扩展器的工作状态;控制器还用于:获取第二工作状态信息;在扩展器的工作状态异常时,对扩展器进行复位。
在一个实施例中,参照图1,扩展器120还可以包括第三端口125。经由第三端口125,扩展器120可以将第二工作状态信息传输至控制器110。第二工作状态信息用于指示扩展器的工作状态。示例性地,第二工作状态信息可以用高/低电平表示。如果第二工作状态信息为高电平,则表示扩展器的工作状态正常。如果第二工作状态信息为低电平,则表示扩展器的工作状态异常(也就是说扩展器处于挂起状态)。控制器还可以用于获取第二工作状态信息。在基于第二工作状态信息确定扩展器的工作状态异常时,控制器可以对扩展器进行复位,直至扩展器的工作状态正常。在本发明一个实施例中,如果扩展器的端口121至端口124均为与其他设备(外部设备或控制器的通信接口)连接,那么扩展器的工作状态可以为异常。
根据上述技术方案,扩展器经由第三端口可以将扩展器的第二工作状态信息传输至控制器。在扩展器的工作状态异常时,控制器对扩展器进行复位。这样可以保证当扩展器出现异常时,控制器可以快速恢复扩展器的工作。
根据本发明第二方面,还提供一种超声设备。该超声设备可以包括上述的交互装置。
示例性地,超声设备还可以包括上位机,扩展器还可以包括第四端口,扩展器还用于经由第四端口和与配置为使用状态的通信接口相对应的第一端口在所述上位机与所述控制器之间传输交互数据流。
本领域普通技术人员通过阅读上述有关交互装置的相关描述,可以理解上述超声设备的具体实现方案,为了简洁,在此不再赘述。
根据本发明第三方面,还提供一种交互装置的控制方法。交互装置可以包括:控制器、扩展器和至少一个外部设备,控制器包括至少两个通信接口。交互装置的控制方法应用于控制器。该控制方法可以包括:在至少两个通信接口中配置为使用状态的第一通信接口的工作状态异常时,将至少两个通信接口中的第二通信接口由备用状态切换至使用状态。其中,扩展器包括多个端口,多个端口包括与至少两个通信接口一一对应连接的至少两个第一端口和与至少一个外部设备一一对应连接的至少一个第二端口,扩展器用于经由至少一个第二端口和与配置为使用状态的通信接口相对应的第一端口,在至少一个外部设备和控制器之间进行信息传输;至少一个外部设备包括至少一个输入设备和/或至少一个输出设备。
示例性地,方法还包括:在至少两个通信接口中配置为使用状态的第一通信接口的工作状态异常时,复位第一通信接口并将第一通信接口配置为备用状态。
示例性地,方法还包括:获取至少一个第二端口各自的第一工作状态信息,其中,第一工作状态信息用于指示与所属第二端口相对应的外部设备的工作状态;在至少一个第二端口中的任一第二端口对应的第一工作状态信息指示该第二端口的工作状态异常时,对至少一个外部设备中与该第二端口相对应的外部设备异常进行使能。
示例性地,控制器包括与至少一个外部设备一一对应连接的至少一个使能接口,方法还包括:通过与异常的外部设备对应的使能接口向异常的外部设备传输使能信号,以对异常的外部设备进行使能。
示例性地,交互装置还包括第一存储器,第一存储器包括非初始化存储区域,方法还包括:将在当前时刻之前预设时长内的目标存储数据存储到非初始化存储区域中,非初始化存储区域在控制器上电启动时不进行初始化,目标存储数据包括以下一项或多项:至少两个通信接口各自的使用状态信息、控制器所执行的至少部分任务的运行状态信息、控制器与上位机之间的交互数据流;其中,在目标存储数据包括交互数据流的情况下,扩展器还包括第四端口,扩展器还用于经由第四端口和与配置为使用状态的通信接口相对应的第一端口在上位机与控制器之间传输交互数据流。
示例性地,方法还包括:在控制器为复位上电启动时,从非初始化存储区域内读取目标存储数据,并基于目标存储数据将交互装置恢复到目标存储数据所指示的工作状态;和/或,在控制器为初次上电启动时,将非初始化存储区域配置为环形缓冲区。
示例性地,交互装置还包括第二存储器,第二存储器为非易失性存储器,方法还包括:在控制器为复位上电启动时,获取控制器的复位标识信息,复位标识信息用于指示控制器的复位次数;若复位标识信息所指示的复位次数小于或等于预设次数,则将非初始化存储区域中的目标存储数据存储到第二存储器中;响应于用户的查看指令,将第二存储器中存储的目标存储数据输出。
示例性地,方法还包括:在控制器上电启动时,将至少两个通信接口中的任一通信接口配置为使用状态;和/或,在控制器为初次上电启动时,将交互装置配置为初始化工作状态。
示例性地,方法还包括:在控制器上电启动时,获取控制器的上电标识信息,上电标识信息用于指示控制器是初次上电启动还是复位上电启动;基于上电标识信息确定控制器是初次上电启动还是复位上电启动。
示例性地,扩展器还包括第三端口,扩展器还用于:经由第三端口将扩展器的第二工作状态信息传输至控制器,其中,第二工作状态信息用于指示扩展器的工作状态;方法还包括:获取第二工作状态信息;在扩展器的工作状态异常时,对扩展器进行复位。
上述交互装置的控制方法的各实施例可以参考上述关于交互装置的描述进行理解,此处不赘述。
示例性地,方法还可以包括:在控制器上电启动时,枚举至少两个通信接口中的任一通信接口,使该通信接口处于使用状态并将剩余通信接口的状态配置为备用状态;和/或,执行以下一种或多种检测操作:第一检测操作:获取扩展器的第二工作状态信息,并在第二工作状态信息指示扩展器的工作状态异常时,对扩展器进行复位;第二检测操作:检测至少两个通信接口中配置为使用状态的第一通信接口的工作状态,并在第一通信接口的工作状态异常时,复位第一通信接口并将第一通信接口配置为备用状态;第三检测操作:获取至少一个第二端口各自的第一工作状态信息,并在至少一个第二端口中的任一第二端口对应的第一工作状态信息指示该第二端口的工作状态异常时,对至少一个外部设备中与该第二端口相对应的外部设备进行使能。
第一检测操作、第二检测操作和第三检测操作中可以仅执行其中一者,也可以执行多者,且各操作的执行顺序是任意的。在一个实施例中,可以先执行第一检测操作:通过获取扩展器的第二工作状态信息,并在第二工作状态信息指示扩展器的工作状态异常时,可以对扩展器进行复位。然后在第二工作状态信息指示扩展器的工作状态正常时,执行第二检测操作:检测至少两个通信接口中配置为使用状态的第一通信接口的工作状态,并在第一通信接口的工作状态异常时,复位第一通信接口并将第一通信接口配置为备用状态。其次,在控制器中的第一通信接口的工作状态正常时,执行第三检测操作:获取至少一个第二端口各自的第一工作状态信息,并在至少一个第二端口中的任一第二端口对应的第一工作状态信息指示该第二端口的工作状态异常时,对至少一个外部设备中与该第二端口相对应的外部设备进行使能。可以理解,第一通信接口可以是控制器中处于工作状态的通信接口,而非特指某一通信接口。第一检测操作、第二检测操作和第三检测操作的具体实现方式,在前文实施例中已经进行了详细地描述,为了简洁,在此不再赘述。
示例性地,第一检测操作、第二检测操作和第三检测操作依次执行,其中,第二检测操作在第二工作状态信息指示扩展器的工作状态正常时执行,第三检测操作在第一通信接口的工作状态正常时执行。如上所述,这种顺序执行的方案仅是示例,各检测操作的执行顺序是任意的。例如,第二检测操作也可以在第三检测操作之后执行,或者第一检测操作、第二检测操作和第三检测操作中的任意两者或更多者可以同时执行。
示例性地,方法还可以包括:在控制器上电启动时,获取控制器的上电标识信息,上电标识信息用于指示控制器是初次上电启动还是复位上电启动;在上电标识信息指示控制器为初次上电启动时,将交互装置配置为初始化工作状态;在上电标识信息指示控制器为复位上电启动时,从非初始化存储区域内读取目标存储数据,并基于目标存储数据将交互装置恢复到目标存储数据所指示的工作状态,非初始化存储区域在控制器上电时不进行初始化,目标存储数据包括以下一项或多项:至少两个通信接口各自的使用状态信息、控制器所执行的至少部分任务的运行状态信息、控制器与上位机之间的交互数据流;其中,在目标存储数据包括交互数据流的情况下,扩展器还包括第四端口,扩展器还用于经由第四端口和与配置为使用状态的通信接口相对应的第一端口在上位机与控制器之间传输交互数据流。
图2示出根据本发明一个实施例的交互装置的控制方法的示意性流程图。图2中以交互装置为超声设备的键盘面板,控制器为MCU,通信接口为USB接口为例进行说明。参见图2,MCU上电启动之后,可以判断是否为初次上电启动。若MCU为初次上电启动,则可以将交互装置配置为初始化工作状态,例如初始化键盘面板上的键盘灯为全熄灭状态。若MCU发生严重错误导致异常复位,则可以从非初始化RAM(即上述非初始化存储区域)中读取目标存储数据以恢复异常前交互装置的工作状态,例如恢复异常前键盘面板上的键盘灯状态。参见图2,不管哪种情况,均可以在后续任选一路USB接口进行枚举以使其处于使用状态,即作为当前工作USB接口。图2中的实施例中设定MCU包含两路USB接口,则剩余的一路USB接口可以配置为备用状态,即作为备用USB接口。随后,可以通过USB HUB状态IO(即扩展器的第三端口),获取USB HUB(即扩展器)的工作状态信息(即第二工作状态信息)。基于扩展器的工作状态信息确定扩展器的工作是否正常。若扩展器工作正常,则可以判断MCU中当前处于使用状态的通信接口是否正常。若扩展器工作异常,则可以通过MCU IO复位扩展器。MCU IO是MCU的输出端口,该端口在图1中未示出。在当前处于使用状态的通信接口异常时,可以快速枚举备用USB接口以使其处于使用状态并将该接口标记为当前工作USB接口,随后可以复位失效的USB接口以使其切换为备用状态。在当前处于使用状态的通信接口正常时,MCU可以获取USB外设(即外部设备)所对应的Port(即第二端口)的工作状态信息(即第一工作状态信息)。基于第一工作状态信息可以确定USB外设的工作是否正常。在USB外设的工作正常时,MCU可以将目标存储数据备份到非初始化RAM中。随后,在超声设备整机关机、键盘面板掉电时,结束整个流程。在USB外设的工作异常时,MCU以重新使能失效的USB外设。
根据上述实施例,可以实现一种交互装置的快速自恢复策略。参考图2的流程图可以看出,键盘面板的自恢复可以包括两个层次:第一个层次,当键盘面板MCU运行发生严重错误产生异常复位时,MCU可通过获取非初始化RAM中的故障前的键盘灯状态数据,快速恢复键盘面板的键盘灯状态。随后可以尝试枚举键盘面板MCU的双路USB接口中的一路为工作USB接口。此外,可以获取USB HUB的工作状态信息、USB外设对应的HUB Port的工作状态信息,为故障的USB外设或USB HUB重新使能,从而快速恢复键盘面板与上位机之间的USB通信连接。在宏观上看,超声设备的使用者可能至多感受到键盘面板的一点卡顿,但不影响后续操作使用,无需将超声设备整机关机重启。第二个层次,键盘面板MCU没有发生严重错误产生异常复位,而是MCU的当前工作USB接口产生异常或者USB外设(USB轨迹球、USB触摸屏等)产生异常。对于这种异常导致当前工作USB接口断开连接时,MCU可以快速枚举备用USB接口,并将其标记为工作USB接口,随后复位异常的USB接口使之处于备用状态。
这种方案具有以下优点:1、键盘面板MCU发生异常复位时,MCU可以从非初始化RAM获取故障前键盘灯状态,而不是等与上位机重建立USB连接后,上位机发送键盘灯状态给键盘面板MCU,所以能做到键盘灯快速恢复;2、当工作USB接口异常时,快速枚举备用USB接口,而不是反复尝试复位并恢复异常的MCU USB,极端情况下即使MCU两路USB接口其中一路发生硬件永久损坏,键盘面板MCU依然可以快速恢复与上位机的USB连接;3、精准监测USB外设,主要对产生异常的USB外设重新使能,而不是直接复位整个USB HUB,正常状态的USB外设不会受到影响。
示例性地,方法还可以包括:在控制器为初次上电启动时,将非初始化存储区域配置为环形缓冲区并转至存储操作,非初始化存储区域在控制器上电时不进行初始化;在控制器为复位上电启动时,通过复位标识信息对控制器的复位次数进行标记;若复位标识信息所指示的复位次数小于或等于预设次数,则将非初始化存储区域中的目标存储数据存储到第二存储器中并转至存储操作,第二存储器为非易失性存储器;存储操作:将在当前时刻之前预设时长内的目标存储数据存储到非初始化存储区域中。
示例性地,至少一个外部设备包括至少一个输入设备,至少一个输入设备用于响应于用户的操作,生成对应的操作信息;将在当前时刻之前预设时长内的目标存储数据存储到所述非初始化存储区域中,可以包括:在预设时段内获取的来自至少一个外部设备的操作信息为与同一操作对应的多组重复操作信息时,将该操作对应的一组操作信息存储到非初始化存储区域中,目标存储数据可以包括操作信息。
在一个实施例中,至少一个外部设备可以包括至少一个输入设备。例如,图1所示的外部设备130可以是轨迹球。至少一个输入设备可以用于响应于用户的操作,生成对应的操作信息。对于外部设备130,用户可以通过移动该外部设备130(即移动轨迹球),以生成对应的操作信息。预设时段可以根据需要设定为任意合适的时长。示例性地,预设时段的时长可以等于[1,10]s内的任一时长,例如等于1s、2s、3s等。例如,假设预设时段的时长为5s。如果在5s的时段内,用户重复多次按下W键,则可以视为用户仅按下W键一次,仅将W键的单组操作信息存储在目标存储数据中。若在超过5s但不到10s的时段内,用户重复多次按下W键,则可以视为用户按下W键两次,可以将W键的两组操作信息存储在目标存储数据中。
图3示出根据本发明一个实施例的目标存储数据的存储流程的示意性流程图。图3中以交互装置为超声设备的键盘面板,控制器为MCU,通信接口为USB接口为例进行说明。参见图3,MCU上电启动之后,可以判断是否为初次上电启动。若MCU为初次上电启动,则可以将非初始化RAM配置为环形缓冲区。若MCU不是初次上电启动,则可以将异常复位计数器加一。异常复位计数器可以视为上述复位计数程序。可以判断异常复位次数(即上述复位次数)是否为第一次。若异常复位次数是第一次,则可以将非初始化RAM中的目标存储数据存储到MCU的内部Flash(即第二存储器)中。若异常复位次数不是第一次或者在将非初始化RAM中的目标存储数据存储到MCU的内部Flash中之后,可以记录USB接口的使用状态信息和MCU关键任务的运行状态信息到缓冲区(即非初始RAM)。此外,可以判断MCU与上位机之间的USB数据流(即交互数据流)是否存在重复。此处的USB数据流可以包括上述外部设备的操作信息。若USB数据流存在重复,则舍弃重复的USB数据流,并继续记录USB接口的使用状态信息等目标存储数据。对于其他不重复的USB数据流,则可以将该数据流保存到缓冲区。在超声设备整机关机、键盘面板掉电时,结束整个流程。需注意,图3所示的各步骤的执行顺序仅是示例而非对本发明的限制。例如,USB接口的使用状态信息、MCU关键任务的运行状态信息和MCU与上位机之间的USB数据流的存储顺序可以是任意的,这些信息中的任意两者或更多者可以同时存储在非初始RAM中。
根据以上实施例,如果键盘面板MCU固件执行过程中产生故障触发复位(例如看门狗超时复位),则第一次复位时MCU可以将非初始化RAM中存储的数据存储到MCU内部的Flash区域。这样即使超声设备整机发生断电,MCU Flash中的数据依然存在(掉电不丢失)。当超声设备一次开机后键盘面板连续产生多次复位时,可以仅在首次复位时将非初始化RAM中的数据保存到Flash,防止Flash中的数据过多产生覆盖。这样即便是MCU Flash容量在数百KB数量级,也是足够使用的。当键盘面板没有故障时,可以将当前时刻之前的一段连续时间内的目标存储数据保存在非初始化RAM中,RAM读写寿命远超Flash次数。根据本发明实施例的故障记录机制,可以在低成本下(无需外扩的Flash、RAM),实现对键盘面板小概率偶发故障现场数据的掉电不丢失保存,以帮助设计人员快速解决问题、提升产品质量,节省大量复现问题的人力成本、时间成本。
根据本发明的第四方面,还提供一种电子设备。图4示出了根据本发明实施例的电子设备的示意性框图。如图4所示,该电子设备400包括处理器410和存储器420,存储器420中存储有计算机程序,计算机程序指令被处理器410运行时用于执行上述的交互装置的控制方法。
在一个实施例中,交互装置包括:控制器、扩展器和至少一个外部设备,控制器包括至少两个通信接口,计算机程序指令被处理器410运行时用于执行:在至少两个通信接口中配置为使用状态的第一通信接口的工作状态异常时,将至少两个通信接口中的第二通信接口由备用状态切换至使用状态。其中,扩展器包括多个端口,多个端口包括与至少两个通信接口一一对应连接的至少两个第一端口和与至少一个外部设备一一对应连接的至少一个第二端口,扩展器用于经由至少一个第二端口和与配置为使用状态的通信接口相对应的第一端口,在至少一个外部设备和控制器之间进行信息传输;至少一个外部设备包括至少一个输入设备和/或至少一个输出设备。
根据本发明第五方面,还提供一种存储介质,存储有计算机程序/指令,计算机程序/指令在运行时用于执行上述的交互装置的控制方法。
在一个实施例中,交互装置包括:控制器、扩展器和至少一个外部设备,控制器包括至少两个通信接口,计算机程序/指令在运行时用于执行:在至少两个通信接口中配置为使用状态的第一通信接口的工作状态异常时,将至少两个通信接口中的第二通信接口由备用状态切换至使用状态。其中,扩展器包括多个端口,多个端口包括与至少两个通信接口一一对应连接的至少两个第一端口和与至少一个外部设备一一对应连接的至少一个第二端口,扩展器用于经由至少一个第二端口和与配置为使用状态的通信接口相对应的第一端口,在至少一个外部设备和控制器之间进行信息传输;至少一个外部设备包括至少一个输入设备和/或至少一个输出设备。
本领域普通技术人员通过阅读上述有关交互装置的相关描述,可以理解上述电子设备和存储介质的具体实现方案,为了简洁,在此不再赘述。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的交互装置中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。
- 一种基于地质的水资源探测用储量补偿算法及系统
- 一种基于多功能用途的生态岛水资源储量计算方法