CN200680055469.9
2006.07.24
CN101501584A
2009.08.05
授权
有权
授权|||实质审查的生效|||公开
G05B19/042; G06F9/312; G06F9/318; G06F11/273; G06F15/78; G06F17/50
G05B19/042
西门子公司
E·布雷克; V·霍滕; V·斯泰根
德国慕尼黑
中国专利代理(香港)有限公司
李少丹;刘春元
本发明涉及一种用于控制包含可编程组件和独立微控制器(10)的电子设备(1)的方法以及此类电子设备(1),其中所述微控制器(10)监视所述组件,对所述组件的故障进行识别,并且重新编程所述组件。
1. 一种用于控制包含可编程组件以及独立的微控制器(10)的电子设备(1)的方法,其中下面的步骤由所述微控制器(10)来执行:监视所述组件;识别所述组件的故障;以及重新编程所述组件。2. 根据权利要求1的方法,其中,在重新编程所述数组件之后,由所述微控制器(10)重启所述组件或所述电子设备(1)。3. 根据权利要求1或2的方法,其中所述电子设备(1)包括受所述微控制器(10)监视的至少一个其他可编程组件。4. .根据前述任一权利要求的方法,其中所述组件是执行多个软件子系统的数字信号处理器(3),并且其中将由这些软件子系统中的一些软件子系统所输出的校验和值相加,以得到针对所述监视的总校验和。5. 根据权利要求4的方法,其中将所述总校验和与可预先定义的参考值进行比较,用于所述监视。6. 根据权利要求5的方法,其中只有在所述总校验和与所述参考值匹配时,才将看门狗消息发送到所述微控制器(10)。7. 根据权利要求6的方法,其中如果在可预先定义的时段中在微控制器(10)上没有接收到看门狗消息,则识别出所述故障。8. 根据前述任一权利要求的方法,其中由微控制器(10)从存储在所述电子设备(1)中的多个指令集中选择用于所述重新编程的指令集。9. 根据权利要求8的方法,其中所述多个指令集在其故障安全性等级方面是不同的。10. 根据权利要求8或9的方法,其中选择在电子设备的任何可预见状况中都保持稳定的指令集。11. 一种电子设备(1),包括:可编程组件和专用于监视所述组件的独立微控制器(10),其中所述微控制器(10)能够识别所述组件的故障,由此所述微控制器(10)重新编程所述组件。12. 根据权利要求10的电子设备(1),其中,在重新编程所述组件之后,所述微控制器(10)重启所述组件或电子设备(1)。13. 根据权利要求10或11的电子设备(1),其中,所述电子设备包括所述微控制器(10)能够监视的至少一个其他可编程组件。14. 根据权利要求10~12中任一权利要求的电子设备(1),其中所述组件是执行多个软件子系统的数字信号处理器(3),所述数字信号处理器(3)能够将由它的软件子系统中的一些软件子系统所输出的校验和值相加,以便得到总校验和值。15. 根据权利要求13的电子设备(1),其中所述数字信号处理器(3)将所述总校验和与可以预先定义的参考值进行比较。16. 根据权利要求14的电子设备,其中只有在所述总校验和与所述参考值匹配时,所述数字信号处理器(3)才向所述微控制器(10)发送看门狗消息。17. 根据权利要求15的电子设备(1),其中如果所述微控制器(10)在可以预先定义的时段中没有接收到看门狗消息,则它识别出所述故障。18. 根据权利要求10~16中任一权利要求的电子设备(1),其中该微控制器(10)检测所述故障的类型,并且根据该类型来从存储在所述电子设备(1)中的多个指令集中选择用于所述重新编程的指令集。19. 根据权利要求17的电子设备(1),其中所述多个指令集在其故障安全性等级方面是不同的。20. 根据权利要求17或18的电子设备(1),其中所述指令集被存储在独立的闪存存储器(12)中。21. 根据权利要求10~19中任一权利要求的电子设备(1),包括:用于永久性数据连接的外部端口。22. 根据权利要求10~19中任一权利要求的电子设备(1),其中该设备是用于海底电力线通信的调制解调器。
用于控制电子设备的方法和电子设备 本发明涉及用于控制包含了可编程组件的电子设备的方法和此类设备,尤其涉及用于海底电力线通信的调制解调器。 海底电力线通信是一种特殊的水下通信形式。优选地,在勘探和开采位于海床的天然气和石油的过程中运用了这种通信。例如,海底通信可用于在水上(topside)控制点与海底井口之间传送二进制数据。对于使用了与井口或其他电子设备进行的电子通信而被勘探和开采的天然气田和油田来说,有时也将其称为“电子现场(e-field)”。 在现有技术中已经描述了用于海底通信的不同技术。一方面,目前存在着有线电子或光学连接,另一方面,目前还存在着无线连接。有线连接可以细分成与电力线相分离地提供用于电子或光学连接的通信线路的第一群组,以及使用电力线来进行电子通信的第二群组。在后一种情况下,较为有利的是不需要单独的通信线路。 例如,在US2005/0243983A1中描述了一种用于接收和发送往来于导线的数据的调制解调器。它包括用于向导线发送数据的输出驱动,用于接收来自导线的数据的接收机,以及用于将接收机输入阻抗与导线阻抗相匹配的阻抗匹配装置。在这个调制解调器中,输出驱动增益、接收机增益以及接收机输入阻抗都是可以调整的。 可编程组件(并且由此是集成了该组件的电子设备)有可能会达到一种其自身无法脱离的不规则状态。举例来说,这种情形有可能起因于下列原因:编程错误、诸如热的某种环境状况、内部或外部电子干扰、组件老化、电迁移或是这些原因的组合。此外,可编程组件有可能因为其软件损坏而发生故障,例如因为翻转的比特或是因为组件的命令存储器中的单元受损。在下面,电子设备无法按照设想方式工作的状态都被成为故障。 如果可编程组件、尤其是海底电力线调制解调器遭遇到故障,那么它往往需要重启该组件或整个设备来将设备复位到完全工作的状态。这个处理通常是使用用于监视组件的所谓的看门狗来执行的。如果该组件没有满足看门狗所监视的某个条件,那么该看门狗将会触发一个重启。但是,导致故障的状况将会持续,并且早晚还会出现不规则状态。因此,可编程设备的软件应该尽快更新。 为此目的,用于海底电力线通信的已知调制解调器以及其他电子设备借助外部端口提供了一个直达连接,以便重新编程恰当组件。很明显,这种处理并不是在所有状况下都是可行的。举个例子,如果海底调制解调器已经部署在海床上,那么要想将其取回并重新编程,则意味着海底设备将会有很长的停机时间,由此油/气勘探/开采的业务将会中止,因此,这种处理的成本是很高的。 即使只涉及台式电子设备,要将设备与编程单元相连也会耗费很多时间,由此将会导致产生很长的设备停机时间。 因此,本发明的目的是说明一种用于控制电子设备的方法,借助该方法,可以在可编程组件发生故障时保持很短的停机时间,乃至完全消除停机时间,此外,本发明的目的还在于说明一种相应的电子设备。 这个问题是借助包含了权利要求1所给出的属性的方法以及包含了权利要求10所给出的属性的电子设备来解决的。 本发明的有利实施例是在从属权利要求中给出的。 本发明的建议是使用包含了可编程组件以及独立微控制器的电子设备,其中所述微控制器监视所述组件,识别所述组件的故障,并且重新编程所述组件。 借助该解决方案,电子设备可以在不需要外部访问尤其是物理访问的情况下保持工作。因此,发生故障时的停机时间可以很短。由此,根据本发明的解决方案也是很合算的。这些优点是通过由微控制器自动重新编程发生故障的组件的可能性来实现的。用于重新编程的软件既可以与先前软件的版本相同但却是从备份存储器下载的,也可以是来自备份存储器的更加故障安全的版本,还可以是至新版本的软件更新。优选地,备份存储器位于电子设备内部,以便实施快速访问。作为替换,新软件更新可以经由永久性外部数据连接来获取,例如在所述设备是用于海底电力线通信的调制解调器的情况下经由电力线数据连接来获取。 有利的是,所述组件或所述电子设备是在重新编程了所述组件之后由所述微控制器重启的。这是一种在重新编程之后将电子设备复位到规定操作状态的最快和最安全的方式。 优选地,所述电子设备包括至少一个由所述微控制器监视的其他可编程组件,例如现场可编程门阵列(FPGA)。这能够使用仅仅一个公共微控制器来预防若干组件的故障。在这种情况下,举例来说,微控制器可以在现场决定重新编程以及重启哪些组件,并且可以决定仅仅重启哪一个组件。 在一个复杂实施例中,所述组件是运行多个软件子系统的数字信号处理器(DSP),并且由这其中的若干个软件子系统输出的校验和值尤其是利用所述数字信号处理器被求和,直到用于所述监视的总校验和。该过程是一种用于在数字信号处理器的多个软件子系统中检测故障的简单快速的方式。 优选地,其被使用在一个可以将所述总校验和与用于所述监视的、可预先规定的参考值相比较的实施例中,特别地,所述监视通过所述数字信号处理器来执行。在这个实施例中,需要传送到进行监视的微控制器的仅仅是描述数字信号处理器状态的标志,由此将会减少所需要的带宽。 在进一步复杂的实施例中,看门狗消息被发送至所述微控制器,特别地,根据所述进一步复杂的实施例,只有在所述总校验和与所述参考值匹配时,所述消息才会被发送。由此,即使在所述进一步复杂的实施例中发生了完全因为软件而导致的崩溃,但由于看门狗消息丢失,因此微控制器仍旧会得到通知,并且可以对数字信号处理器重新编程。 由此,如果在微控制器上没有在可预先定义的时段中接收到看门狗消息,那么可以简单地识别发生了故障。 有利的是,微控制器从保存在所述电子设备中的多个指令集中选择一个用于所述重新编程的指令集,即软件版本。多个指令集允许保持用于不同组件的软件,或是以冗余方式来保持软件作为用于一个组件的相同软件版本的多个拷贝。 在一个非常优选的实施例中,所述多个指令集在其故障安全性等级方面是存在差异的,也就是说,它们并不是全都代表了相同的软件版本。这顾及了根据情况来选择恰当的故障安全性等级。更为可靠的(fail-safe)版本会以较低的性能来驱动电子设备,但是将可能避免故障。举个例子,当每次在某个可以预先定义的时间窗口内识别出故障时,可以使用下一个更可靠的版本来重新编程,由此减少逐步出现别的故障的可能性。然而,性能由此同样也会逐步降低,而电子设备的操作实际却以这种方式得到保持。 优选地,多个指令集之一被设计成在电子设备的任何可预见状况中都是稳定的。其中所选择的是在电子设备的任何可预见状况中均为稳定的指令集。 为了选择指令集,所述故障的类型可被检测,尤其是由所述微控制器来检测。这允许选择根据检测到的故障类型来选择恰当的故障安全性等级。举例来说,如果软件子系统中的特定故障是由可以预见只会持续几个小时的临时电子干扰导致的,那么可以选择一个未使用所述特定子系统的指令集,以便进行重新编程。因此,当前干扰不会对该设备产生影响。此外,在重新编程之后还可以设置一个定时器,以便在估计干扰终止后自动用全性能指令集来重新编程。 如果指令集保存在独立的闪存存储器中,那么可以提供针对这些指令集的快速访问。此外,这还能够经由外部数据连接来实现指令集的外部更新。 特别地,本发明所获取的优点是可以减少甚至消除电子设备的可能停机时间。 在下文中将会参考若干附图来进一步描述本发明。 图1示出的是海底电力线调制解调器的框图。 图2示意性示出了数字信号处理器的监视处理装置。 图3示出的是数字信号处理器的主软件模块的框图。 图4示出的是微控制器定时器的中断例程的流程图。 图5示出的是微控制器消息路由器例程的流程图。 在所有附图中,相应的部分是用相同的参考符号表示的。 图1示出的是经由海底电力线(未示出)来与e-field(未示出)、例如与电子设备1进行通信的水上调制解调器。该电力线也被称为“脐带”。电子设备1包括现场可编程门阵列2,数字信号处理器3,模数处理线4以及数模处理线5,并且这些设备是由2MHz的振荡器60来提供时钟。处理线4和5都经由差分接口(未示出)与双工器6相连。该调制解调器使用了正交频分复用(OFDM)来将二进制净荷数据调制成电力线的电信号,以及从电子线的电信号中解调二进制净荷数据。 模数处理线4包括低噪声放大器40、反混叠滤波器41以及模数转换器42。数模处理线5包括功率放大器50、低通滤波器51以及数模转换器52。在现场可编程门阵列2中,所述处理线4、5是由高通滤波器21、接收滤波和抽样器(decimator)22和接收先入先出缓存器23(=FIFO)、以及发送滤波和内插器24和发送先入先出缓存器25接续的。此外,现场可编程门阵列2还包括时钟锁相环26、正交频分复用定时单元27、数字信号处理器接口和门阵列编程寄存器28、两个入和出的先入先出缓存器29、两个通用异步接收机天线30(UART)以及串行外围接口附件31。 通过双工器6,电子设备1可以连接到海底电力线。现场可编程门阵列2提供了两个独立的双向外部串行接口,其中一个是可以与所谓的用于二进制净荷数字的PROFIBUS相连的RS-485连接7,一个是用于诊断数据的RS-232连接8。这些组件被安装在单个的六层印刷电路板(PCB:在该图中并未示出)的两侧。现场可编程门阵列2提供了一个与独立的微控制器10相连的串行外围接口(SPI)9。所述微控制器10是一个片上系统(SoC),也就是说,CPU、随机存取存储器(RAM)、闪存存储器以及4k字节的电可擦写可编程只读存储器(EEPROM)是驻留在单个芯片(未示出)上的。例如,微控制器10可以从Atmel AVR系列中获取。这些都是可靠性很高的处理器。如果软件是全面开发的,那么AVR系列的微控制器10与大多数硬件组件是一样可靠的,并且要比取决于外部总线和多个设备的正常微控制器可靠得多。电可擦写可编程只读存储器用于存储永久性参数以及用于记差错日志。该差错日志是以字符为基础的,也就是说,在没有剩余空间之前,该日志是用字符填充的。 微控制器10可以经由串行外围接口9来访问闪存编程器11。该闪存编程器11经由另一条总线13与数字信号处理器3以及外部闪存存储器12相连。数字信号处理器的随机存取存储器14同样与这个总线13相连,由此作为命令存储器来为数字信号处理器3提供服务。此外,微控制器10还与用于测量电子设备1中的温度等级以及用于测量正交频分复用所用功率电平的传感器(未示出)相连。另外,它还具有用于终端仿真的RS-232外部串行连接15。它包含了具有自身时钟振荡器的内部片上看门狗。它还包括用于监视其工作电压的内部节电检测器。低于2.7V的电压毛刺将会导致完全复位所述微控制器10。 实质上,正交频分复用是由现场可编程门阵列2执行的。一方面,它从获取自RS-485连接7的二进制数据中创建了正交频分复用调制信号,如有需要,所述信号可以从获取自RS-232连接8的诊断数据中创建。这些数据被调制到电力线的电信号上。另一方面,现场可编程门阵列2经由双工器6而将获取自电力线的正交频分复用信号解调成二进制净荷数据,如有需要则会将其分别解调成输出至RS-485连接7以及RS-232连接8的诊断数据。由于正交频分复用的计算成本很高,因此,现场可编程门阵列2使用了数字信号处理器3来进行调制和解调。恰当的数字信号处理器3在市场上是可以得到的。 对其自身是从电视广播中被已知的正交频分复用来说,发射调制解调器会在名为载波波段或信道的多个不同的正交频率上执行发送。如果两个载波波段在其相对相位关系方面相互独立,那么它们被称为是正交的。二进制数据则以所谓的正交频分复用符号形式被调制在电信号上。 通过将正交频分复用用于海底电力线通信,可以产生几个优点。不同的载波波段可以在频率方面相互接近,由此能够实现高的频谱效率,允许高的总比特率。此外,正交频分复用还允许以简单的方式来滤除噪声。如果某个频率范围遭遇到干扰,那么相应的载波波段可以工作在较慢的比特率上,甚至可以被禁用。这样则可以实现直至200km的高工作范围即电力线的最大长度。此外,通过将恰当数量的载波波段指定给上行和下行传输,相应的比特率可以根据需要而被调整。 现场可编程门阵列2和数字信号处理器3是电子设备1的可编程组件。对电子设备1的操作来说,其正在适当工作是至关重要的。但是,如上所述的故障有可能会发生,由此导致受影响的组件处于无规律的状态。这种故障甚至有可能影响其他组件,导致它们同样发生故障。如果发生故障,现场可编程门阵列2和数字信号处理器3是不能将其自身恢复到常规工作的。为了防止因为组件故障而导致的电子设备1的停机时间,微控制器10将会永久性监视现场可编程门阵列2和数字信号处理器3的常规工作。 用于微控制器10的软件指令被保存在其内部的闪存存储器中,并且包含了若干个模块。在图2中描述了最重要的模块。由于微控制器10的代码是由消息驱动的,因此,在主模块70旁边,一个消息路由器模块71提供了消息路由功能。命令处理模块72提供命令处理能力。定时器模块73提供用于监视的定时器例程。而通用异步接收机发射机模块74则在与外部终端75相连的外部串行连接15上提供了串行接口访问。微控制器10的内部消息具有固定大小,由此允许具有直至三个字符,并且,在主模块70的初始化部分中可容易地创建自由消息池。如果该消息池应该清空,那么所述代码将会调用一个以某个字串为参数的恐慌函数(panic function)。该恐慌函数根据日志而将所述字串写入电可擦写可编程只读存储器,并且切断中断系统。然后,它会在空的无限循环中等待看门狗启动(fire)。 微控制器10不能执行随机存取存储器中的代码,因此,在复位内部看门狗的程序空间中存在代码序列。该代码序列是受一个简单条件保护的。除非由三个整数组成的阵列具有总和49,否则该代码序列不会被执行。当且仅当总和是49时,内部看门狗才会复位,并且将会为新的贡献周期(contribution cycle)而清除该阵列。对这三个整数来说,有三个贡献者。定时器中断代码在其每10ms被定时器中断硬件输入一次的时候做出其贡献。消息路由器模块71仅在其检查是否有消息待决之前做出其贡献。并且通用异步接收机发射机模块74在其线程函数被调用时做出其贡献。如果内部看门狗复位之间的时间长于0.27秒,那么该看门狗启动,并且微控制器10将会被迫使开始从其通电矢量上开始运行。在初始化序列中,微控制器10容易地从现场可编程门阵列2以及数字信号处理器3的各自的闪存存储器12中对其进行编程2,并且重新启动它们。 在外部闪存存储器12中,在四个不同的存储器页面中存储了用于数字信号处理器3的四个不同软件版本。此外,用于现场可编程门阵列2的软件作为单个备份版本而被保存在单独的存储器页面中的。在闪存存储器12的第四个页面中,存储有数字信号处理器3的软件版本,该软件版本已被证实具有最佳的性能。在第一个页面中,所存储的是最可靠的版本,也就是在电子设备1的所有可预见状况中都保持稳定的版本。保存在第二和第三存储器页面中的版本并未使用数字信号处理器3的大多数敏感特征,由此在传输比特率方面放弃了调制解调器的全部潜在性能。由此,保存在闪存存储器12的第一到第三存储器页面之中的数字信号处理器3的软件版本,可以说是不如保存在第四存储器页面中的版本复杂。但是,调制解调器的工作范围并未受到复杂度较低的软件版本的限制,以确保海底电力线连接在所有环境中的可用性。 图3示意性示出了数字信号处理器3的监视过程。数字信号处理器3的软件执行用于确定其不同子系统76是否正常工作的内部检查。为此目的,当正常执行了相应子系统代码时,每一个子系统i都会将特定数量g_liveproof(i)写入全局表格的特定条目。数字信号处理器3对所有表格条目进行求和,以便得到一个总的校验和。如果总校验和等于特定的预定参考值A, Σ i g _ liveproof ( i ) = A ]]> 那么这意味着所有被监视的数字信号处理器3的软件子系统全都正常工作,32比特的看门狗消息77经由串行外围接口9被发送到微控制器10。在默认情况下,看门狗消息每10秒发送一次,该默认情况可以通过参数“WatchdogTimeout(看门狗超时)”无效化。 在微控制器10上,在每次从数字信号处理器3接收到看门狗消息77时,时间滴答计数器(time tick counter)都会复位。这个过程及定时器例程在图4的流程图示出。如果在预先定义的时段例如在15秒中没有接收到看门狗消息77,那么将会创建替代消息并将其发送到消息路由模块,就好像接收到了否定看门狗消息77一样。当在时间滴答计数器=0的情况下置位“STWEF”标志(=Set TMSWatchdogExpired-Flag)时,作为另一个步骤“CMD4”中的结果,“STWEF”标志将被复位。这个看门狗检查是否总是每隔10ms运行一次。 在图5中描述了微控制器10的消息路由模块的消息处理。这个模块具有两个消息队列,其中一个队列是用于命令,另一个队列是用于将要发送到微控制器10的外部终端75的文本的。无论在终端75上写入的是什么,键盘都会装配到内部消息中。在通用异步接收机发射机模块74的输入中断例程中只包含了简单的退格编辑能力。已完成的消息将被附加于消息路由器模块71的输入队列。这些消息将被标记为“XMH_TXT”。 当从命令队列中取出命令消息时,它会用该消息作为参数来调用命令处理模块72。如果命令处理模块72发现匹配,则执行相应的代码,并且丢弃该命令消息。如果没有匹配,那么该消息将会经由串行外围接口9而被附加于送至数字信号处理器3的命令中断器的定时器输入队列。 对消息路由器模块71的命令队列的消息还可以来自数字信号处理器3。这些标签是存在差别的,并且这被用于所调用的命令函数,以便将响应消息反向路由到数字信号处理器3。这样,数字信号处理器3的代码可以将对于指定的参数值的请求发送到微控制器10,而微控制器10则基于存储情况在其电可擦写可编程只读存储器查找相应值。 如果消息路由器模块71接收到表明数字信号处理器3发生故障的内部消息,那么微控制器10会使用来自闪存存储器12的第一存储器页面的最可靠指令集来重新编程数字信号处理器3,并且重启电子设备1即调制解调器。由此,电子设备1将被复位到工作状态,但是其性能要低于潜在的可能性能。故障可以尽可能快地传送到一个监督实例(surveillance instance),例如经由电力线通信来传送。该监督实例可以在远端使用来自闪存存储器12的不同指令集来重新编程数字信号处理器3。此外,它甚至还可以经由电力线通信来向闪存存储器12传送升级指令集,也就是软件版本,并且利用这个升级指令集来重新编程数字信号处理器3。 在替换实施例(未示出)中,当消息路由器模块71接收到表明可编程组件即数字信号处理器3或现场可编程门阵列2发生故障的内部消息时,内部消息微控制器10检测故障类型并且确定有可能绕开该故障的恰当软件版本。然后,它会使用这个来自闪存存储器12的软件版本来重新编程数字信号处理器3。故障类型和用于重新编程的软件版本被记录到电可擦写可编程只读存储器中。随后,数字信号处理器3被重启,由此导致电子设备1进入通电操作模式。如果在例如2小时的短时间里再次检测到相同类型的故障,那么微控制器10会从电可擦写可编程只读存储器日志中注意到这一点,并且会使用更可靠的软件版本来实施下一次的重新编程。 由此,在可编程组件发生故障之后,电子设备1能够将其自身恢复到工作状态。
《用于控制电子设备的方法和电子设备.pdf》由会员分享,可在线阅读,更多相关《用于控制电子设备的方法和电子设备.pdf(16页珍藏版)》请在专利查询网上搜索。
本发明涉及一种用于控制包含可编程组件和独立微控制器(10)的电子设备(1)的方法以及此类电子设备(1),其中所述微控制器(10)监视所述组件,对所述组件的故障进行识别,并且重新编程所述组件。 。
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有经营许可证编号:粤ICP备2021068784号-1