监控设备的制作方法

文档序号:6477446阅读:178来源:国知局

专利名称::监控设备的制作方法
技术领域
:本发明涉及一种监控设备。具体但不排他地,本发明涉及一种适合于在时间触发嵌入式系统中检测任务超限(overrun)的监控设备。
背景技术
:嵌入式处理器普遍存在它们形成大量日常物品(汽车、飞机、医疗设备、工厂系统、移动电话、DVD播放器、音乐播放器、微波炉、玩具等)的核心组件。在一些情况下,可以分别针对特定功能来采用多个嵌入式处理器。例如,典型的现代汽车可以包含大约五十个嵌入式处理器。在可预测行为成为重要考虑的应用中(如在汽车系统、航天系统、医疗系统、工业系统,以及在许多电子产品和大型家用电器中),至关重要的是使用可靠的系统,并且该系统以高度可预测的方式进行操作。出于安全考虑,这很重要,但也是由于可靠设备在其使用寿命期间可能引起减少的维护和/或维修成本(并导致用户的不便)。因此,重要的是,这样的系统足够健壮,并且可以快速并容易地检测到故障,使得可以采取适合的操作。时间触发(TT)嵌入式系统是执行一组周期性任务的实时系统。己提出了各种形式的TT体系结构,范围从具有协作任务调度的最简单形式的"循环执行式"体系结构到采用抢占的单调速率的体系结构。特别关注的是采用协作任务调度的TT系统。这些系统也被称为"时间驱动的循环执行式"。采用时间触发协作(TTC)调度的嵌入式系统能够具有高度可预测的行为模式,包括非常低水平的任务抖动。当与TTC实现方式具有非常低资源要求的事实相结合时,该体系结构是对成本敏感/安全相关应用(包括汽车控制)的合适选择。不幸的是,在一个或多个任务超出其预测的"最差情况"执行时间(WCET)的情况下,TTC系统的行为会变得不可预测。这种情况被称为任务超限。在硬实时系统中,任务超限可能对所采用的系统并可能对用户产生严重后果。因此,需要系统恢复机制,并且,响应于对这种时间约束的违反必需立即触发该机制。为了实现这一点,需要连续监控该系统的时间行为。过去数十年,许多研究集中在对实时系统的运行时间行为的监控。所采用的方法可以分为三类,基于硬件的监控方法,基于软件的监控方法,混合监控方法。这三种方法分别具有其如下所述的优点和缺点。基于硬件的监控涉及目标系统的非侵入式观察,但是通常昂贵而复杂。与目标系统分离的监控系统需要附加硬件。监控系统通常包括连接至目标系统并探查来自其总线、存储器系统和输入/输出信道的信号的复杂体系结构。该监控系统然后使用该信息来模仿目标系统并从而发现其状态。然而,该方法需要复杂的硬件,特别是对目标系统定制的硬件。此外,由于现代微控制器中组件的小型化和集成,很难对来自一些总线或存储器端口的信号进行测量。此外,微控制器具有有限数目的管脚,这可能使以上方法变得不可行。另一方面,基于软件的监控价格低廉、简单并灵活。在目标系统的软件程序中感兴趣的点处插入探测码(也被称为软件传感器)。软件传感器被设计为在那些感兴趣的点处对目标系统的状态迸行记录。然而,该布置将产生对目标系统的运行时间行为的某种程度的干扰,这是由于软件传感器不仅与目标系统共享资源,而且不可避免地增加了系统的计算复杂度。巳开发了许多不同的技术,以尝试最小化这种所谓的"探针效应"对目标系统行为的影响。一种方法是构造监控系统作为目标系统的永久部分。这避免了必须移除软件探针而导致系统行为畸变。另一种方法提出,仅当不能对数据值进行重构时才存储数据值。此外,提出使用内嵌软件传感器来代替作为函数调用的传感器。这两种技术可以优化软件监控方法的空间和时间方面。然而,软件监控的探针效应由于其侵入属性而不能被完全消除。混合监控方法使用软件和硬件监控的组合,并减轻了两种方法的某些缺点。在这种方法中,软件监控系统捕获目标系统中感兴趣的事件,并将这些事件传递至外部专用硬件设备,以进一步进行分析。因此,这种方法可以最小化由软件监控方法引起的探针效应,并可以减少与目标系统的硬件连接的需要。然而,仍需要特别定制的硬件平台及其附带的成本。因此,本发明的目的是提供一种可以改善上述问题中的一些或全部的解决方案。
发明内容根据本发明的第一方面,提供了一种用于处理器的监控设备,包括用于对处理器的功耗进行监控的装置;以及用于对所述功耗进行分析以检测处理器的异常操作的装置。根据本发明的第二方面,提供了一种用于监控处理器的方法,包括以下步骤对处理器的功耗进行监控;以及对所述功耗进行分析以检测处理器的异常操作。在优选实施例中,分析步骤可以包括将釆样功耗曲线与参考或期望曲线进行比较。可以响应于比较的失配来产生触发,从而指示异常操作。该触发可以用于提醒用户或重新启动系统的一部分或全部。从处理器的角度,计算机程序仅是指令序列。处理器通过向其不同逻辑门集合施加或移除电荷来执行不同指令。因此,处理器所消耗的能量将取决于正在执行的指令。可能(但也可能性非常小)不同的指令集将消耗相同量的能量,因此可能在正在执行计算机程序时,处理器的功耗将随时间而变化。即使特定指令确实消耗相同量的能量,也可能通过将实际功耗与系统正确操作时期望的功耗进行比较来确定处理器是否正确工作。相应地,本发明使得能够简单地通过观察实际功耗并将实际功耗与期望的功耗进行比较来检测故障。该比较可以针6对绝对值,更一般地,可以针对功耗随时间的模式。与传统的基于硬件的监控方法相比较,本发明由于其不需要对目标系统进行模仿或对各个信号的状态进行采样而实现起来更经济而且简单。然而,本发明确实保留了基于硬件的监控系统的非侵入属性,从而不会导致对目标系统的干扰(如由基于软件的系统的探针效应引起的干扰)。因此,取代对目标系统的内部信号的测量,本发明利用处理器的功耗来被动地提取系统的时间状态。本发明的优点在于,提供了一种用于系统中故障的快速检测的直接技术。此外,本发明可以在不影响目标系统的性能的能提下用来监控实时行为。由于不需要改变目标处理器,根据本发明的单一监控设备可以与多种目标系统兼容以便监控其功耗。本发明的监控设备还包括用于向用户提醒异常操作的装置。附加或备选地,该设备还可以包括由于检测到异常操作而停止处理器、复位处理器或发起系统恢复操作的装置。本发明特别适用于监控时间触发的系统,这是由于这些系统通常涉及要由处理器执行的周期性任务,从而处理器的功耗也可能是周期性的。如所期望的,这允许在系统的功耗不是周期性时简单地检测到故障。更具体地,本发明的实施例可以被配置为与时间触发协作(TTC)处理器一起使用,其中,所有任务被配置为在预定时钟周期(时钟周期)间隔内运行直到完成为止,并且处理器被配置为在下个时钟周期之前返回至空闲模式。典型地,在这种类型的系统中,通过周期性(即,在每个时钟周期上)触发的中断服务例程(ISR)来发起任务。ISR针对每个任务更新定时信息,并执行在该时钟周期间隔内应运行的所有任务。每个任务被配置为在应发起运行的下个任务之前运行直到其完成为止。可以在相同时钟周期间隔中运行的所有任务被配置为在时钟周期间隔结束之前完成,使得可以将处理器置于空闲模式以等待下一个ISR。相应地,在本发明的该实施例中,当处理器处于空闲模式并没有任务正在运行或进行更新时,处理器的功耗应当周期性地为零(或至少为最小值)。如果功耗不是周期性地处于这样的最小水平,则处理器没有正确工作(即,任务可能已超过其WCET,导致时钟周期超限)。监控设备可以被配置为检测这样的问题并相应地进行操作。这样,TTC系统的处理器的功耗可以用于提取其定时行为。因此,本发明提供了一种可以用来检测TTC嵌入式系统中任务超限的简单的非侵入式技术。这种超限的检测是至关重要的,使得可以实现系统恢复机制。在本发明的实施例中,可以对由处理器上一个或多个外围组件所消耗的功率进行监控,例如,1/0端口或如ADC转换器的片上组件。本发明的实施例还可以被配置用于在包括任务抢占的系统中使用。由于本发明在监控处理器中的任务调度中特别有利,从而其可以被认为是非侵入式调度代理(NISA)。随时间变化的处理器功耗可以表示为P(t一I(t)XV(t),其中,P是由处理器消耗的功率,I是流过处理器的电流,V是处理器两端的电位差,以上均是在时刻t处测量的。在本发明的实施例中,如果在任何时刻t,V的变化是可忽略的,则V可以被认为是常数。因此,I(t)可以用来指示处理器的功耗,并用来提取目标系统的时间行为。根据上述内容,在本发明的特定实施例中,用于对处理器的功耗进行监控的装置可以包括对数值已知的电阻器(R)两端的电位差(V)进行测量,该电阻器与处理器的功率输入串联。然后,根据欧姆定律(I=V/R)来计算流过处理器的电流(1)。因此,随着时间的变化,I的变化提供了对处理器功耗变化的指示。如果这种变化不是期望的,则处理器可能呈现异常行为。在系统幵发期间,监控设备可以用作调试工具,但还对监控实时系统非常有用。更具体地,本发明在系统开发/调试期间是有用的,在系统开发/调试期间,本发明将提供有用的机制(使用在试验台上或使用在现场中),以确保系统正确操作(并且,具体地,关于任务的最差情况执行8时间的假设是正确的)。现在将参照附图对本发明的特定实施例进行描述,在附图中图1示出了TTC调度器的操作;图2示出了具有添加至所有任务执行时间的0.7ms时间延迟的本发明实施例的实验测试结果;图3示出了具有添加至所有任务执行时间的0.8ms时间延迟的本发明实施例的实验测试结果;图4示出了具有添加至所有任务执行时间的0.9ms时间延迟的本发明实施例的实验测试结果;图5示出了具有随机添加至任务3的执行时间的0.6ms时间延迟的本发明实施例的实验测试结果;图6示出了具有随机添加至任务3的执行时间的0.8ms时间延迟的本发明实施例的实验测试结果;以及图7示出了本发明实施例中采用的信号调节模块的示意图。具体实施例方式本发明提供一种用于被动监控处理器以检测异常行为的设备和方法。在本发明的特定实施例中,目标处理器包括TTC系统。在TTC系统中,任务在所调度的其处理时间或期限内是周期性或单次执行的。这样地任务是非抢占的,意味着一旦开始它们就运行直至完成。这种类型的系统可以在不同体系结构中实现,如超循环体系结构或基于定时器的体系结构。在如下述本发明实施例中所采用的基于定时器的体系结构中,周期性(典型地,在每个时钟周期间隔中)触发中断服务例程(ISR),以更新所有任务的定时信息(即,倒计时至它们应运行的时刻)。ISR还在该特定时钟周期间隔中执行应运行的任务。只要涉及这种嵌入式系统的功耗,在任务完成其在每个时钟周期间隔中的执行之后,将系统设置为空闲状态并等待下一ISR发生。以下示出了这种简单的TTC-ISR调度器的一些代码段。在该特定示例中,前台处理中的"Update"函数是ISR。如上所述,调度器返回至后台处理,以在完成ISR的执行之后将系统设置为空闲状态。后台处理前台处理while(l)Go—To—Sleep();voidUpdate(void)时钟周期—G++;switch(时钟周期—G)case1:Task_A();breakscase2:Task一B();break;case3:Task一C();时钟周期G=0;10ms定时器将任务完成期限设置为小于时钟周期间隔,使得可以在下个ISR运行之前将调度器置于空闲模式。在多于一个任务在时钟周期间隔内运行的情况下,还可以将任务执行的总持续时间设置为小于时钟周期间隔,即,其组合的完成期限在时钟周期间隔结束之前。在图1中示出了以上TTC调度器的正常操作。调度器在开始操作时启动定时器。该定时器用于在每个时钟周期间隔开始处触发ISR("Update"函数)10。如上所述,ISR的职责是对系统任务数组中每个任务的与时间相关的变量进行更新。它还对准备用于ISR的中断标记进行复位。在"Update"IO函数完成之后,通过名为"Dispatch"12的函数来执行应运行的任务。如果没有任务被调度执行或当调度的任务16已完成其执行时,"Dispatch"12函数调用"Sleep"14函数,以将系统设置为空闲状态。在空闲状态中,所有外围设备仍可操作;但是处理器的活动停止。因此,处理器的功耗显著降低至最低水平。当下个时钟周期间隔发生时,ISR唤醒处理器,使其功耗快速增加。然后,调度器继续下个循环的操作。在一些情况下,例如,当任务被调度为在时钟周期间隔内执行但在其期限之前未完成其执行时,任务将继续运行,直到完成其执行。如果这样的任务执行超出其时钟周期间隔,则ISR将不能完成,从而在下个时钟周期到期时不能中断运行的任务。由于处理器在这种情况下连续运行,其功耗将不会下降至最低水平。因此,本发明的监控设备将检测到系统的功耗并非如所期望的那样是周期性的,因此可能发生任务超限。根据以上技术,可以对处理器的功耗进行监控,以反应支持定时器中断和空闲模式的任何TTC嵌入式系统中的时间行为。相应地,本发明适合于检测这种系统中的任务超限。为了评估本发明的方法,申请人建立了如下所述的实验平台。该平台由目标系统和根据本发明实施例的监控设备组成。随时间变化的处理器功耗可以表示为P(t"I(t)XV(t),其中,P是处理器所消耗的功率,I是流过处理器的电流,V是处理器两端的电位差,上述均在时刻t处测量。在该特定设置中,确定在任何时刻t,V的变化不明显,从而V被认为是常数。因此,可以使用I(t)来指示处理器的功耗,并提取目标系统的时间行为。根据上述内容,以与处理器的功率输入串联的方式,将1Q采样电阻器插入目标系统中。因此,通过测量采样电阻器(R)两端的电位差(V),并使用欧姆定律ONV/R),可以确定流过处理器的电流(I)。事实上,由于使用1Q电阻器,在任何时刻t,I(t)的值简单地等于电阻器两端的电位差V的值。目标系统包括安装有PhilipsLPC210632位微控制器的AshlingEVAB7评估板,以及TTC系统。LPC2106微控制器包含ARM7TDMI-S处理器和一组外围设备,如fC串行接口和Watchdog定时器。该LPC2106微控制器还支持空闲模式以停止处理器,以及允许处理器以从10MHz至60MHz频率操作的片上锁相环(PPL)。AshlingEVAB7评估板向微控制器提供两个分离的电源提供给处理器1.8V电源和提供给I/0的3.3V电源。在所述特定实施例中,对提供给处理器的1.8V电源进行监控。然而,在其他实施例中,可以对I/0端口或如ADC转换器的片上组件所消耗的功率进行监控。在这种情况下,所监控的信号不那么纯净,可能需要进一步处理,以使得能够提取处关于系统操作(即,"空闲时间")的信息。监控系统包括NationalInstruments的NIPCI-6035E数据获取(DAQ)卡和使用LabVIEW8实现的软件监控程序。DAQ卡能够以16比特分辨率对模拟信号进行高达200KS/s的采样。该DAQ卡通过NationalInstruments的CL-68LP连接块连接至采样电阻器,以对模拟功率信息进行采样。监控程序采用预定图形界面(DAQ助手)来配置DAQ卡并与DAQ卡进行通信。将DAQ卡所获得的数据采样通过DAQ助手发送至监控程序。该监控程序顺序地以图形方式显示原始数据、将原始数据存储在数据文件中,相对于用户输入(如时钟周期间隔的持续时间、釆样率、以及针对每个任务的WCET)来对原始数据进行分析,并产生和存储分析报告。根据由用户输入的采样率和时钟周期间隔的持续时间,监控程序确定要在时钟周期间隔内取得的采样数目。注意,同样由用户输入的预设边界值用于与数据采样进行比较,以确定目标系统是正在运行(即,值大于或等于边界)还是正在空闲(即,值小于边界)。监控程序通过对时钟周期间隔内小于边界值的采样数目进行计数,来评估时钟周期间隔内系统的空闲时间。基于该空闲时间,该程序能够容易地确定任务超过所调度的其处理时间的限度或超过其最差情况执行时间(WCET)。然而,空闲时间的精度取决于采样率的频率。相应地,必须将用于本方法的采样率设置为适当的水平,以允许将空闲时间确定在所需精度之内。注意,本实施例中的监控系统应当在目标系统之前启动。这是由于监控系统中的分析器假定在目标系统的调度器启动之前获得第一个12到达的数据采样。为了实现这一点,监控系统被配置为发送信号以触发目标系统在监控系统本身启动之后随即启动。通过在实验平台上以两种不同的实验来执行若干测试,对该方法进行评估。该实验集中关注对该方法识别任务是否超过所调度的其处理时间的限度或超过其WCET的能力进行测试。在描述实验之前,考虑目标系统和监控系统的设置。在监控系统中,将采样率调整为200KS/s(即,200,000采样每秒),该采样率产生土0.005ms的采样精度。对前210,000数据采样进行记录。然而,当执行分析时,滤除在由监控系统检测到的第一个上升沿(指示目标系统中第一个时钟周期间隔的开始)之前收集的数据。应当注意,目标系统和监控系统的时钟在检测到第一上升沿时是同步的。由于每个实验的持续时间较短,目标系统和监控系统的时钟漂移是可忽略的。因此,无需对系统进行重新同步。根据经验选择6mV的边界值,以确定目标系统处于空闲模式还是处于执行模式。在目标系统中,将处理器设置为以29.4912MHz进行操作。将时钟周期间隔设置为lms,使得在每个时钟周期间隔内取200个采样。在目标系统中提供5个不同的任务,如下1.使4个LED闪烁。2.读取I/0端口。3.读取实时时钟并将当前时间存储至缓冲器。4.使用UART发送缓冲器中的数据。5.使用SPI(串行外围接口总线)发送数据。每个实验包含多个测试集。在每个测试集中,针对任务使用唯一的参数值集合,如针对每个任务使用周期性运行对间的值。在进行新测试之前,在目标系统和监控系统中均对这些参数值进行更新。在第一个实验中,针对所有任务选择70。/。时钟周期间隔的WECT(即0.7ms)。此外,在特定时钟周期间隔之后,将固定时间延迟添加至所有任务该固定延迟具有从0至90%时钟周期间隔的值。由于添加了固定延迟,任务可能超过其WCET,但是可能不会超出所调度的其时钟周期间隔的限度。多数设置。然而,为了使该实验更接近实际情况,在每个测试中,在随机时刻将固定量的时间延迟添加至所选任务。将具有随机数集合的唯一査找表分配至每个测试。每个随机数与特定时钟周期间隔相关联,以确定是否应当将时间延迟添加至在该时钟周期间隔中运行的所选任务。第一个实验包括480个测试,第二个实验包括370个测试。监控系统成功地捕获了测试中超出其WCET或超过所调度的其处理时间的任务。以下讨论来自这些实验的一些结果。第一个实验表l示出了从第一个实验选出的测试集之一中针对目标系统的任务信息。<table>tableseeoriginaldocumentpage14</column></row><table>表l:第一个实验中的测试集的任务信息在该测试集中,在时钟周期989之后,将固定量的时间延迟添加至所有任务执行时间。利用相应时间延迟0.7ms、0.8ms和0.9ms,将测试执行三次。目标系统的行为由监控系统捕获,并在时钟周期997和时钟周期1001之间,针对各个时间延迟,在图2、3和4中以测量电压对采样编号的图形示出。如图2所示,当将0.7ms时间延迟添加至T4、T2和T0的执行时间时,T4、T2和T0均超过其WCET但是在其相应的时钟周期间隔内完成。如前所述,0.7ms的WCET用于该实验中的所有任务。从图2中还可以看出,时钟周期997在第200147个采样处开始,而非在第199400个采样处开始(使用每时钟周期200个采样来计算)。这是由于由在目标系统之前启动的监控系统产生的上述预采样滤波。这种情况同样出现在图3和4中,这是由于在图3中时钟周期997在第200113个采样处开始,但是在图4中它在第200788个采样处开始。如图3所示,当时间延迟增加至0.8ms时,任务T4和T2仍超过其WCET,但在时钟周期间隔的期限内完成。然而,TO超过其WCET的量使其错过其期限并超出时钟周期间隔的限度。图4示出了当时间延迟针对所有任务增加至0.9ms时监控系统的结果。这导致所有执行的任务T4、T2和T0错过其期限并超出其时钟周期间隔的限度。从电压不能周期性地(即,在每个时钟周期间隔期间)下降到其边界电平(6mV)以下这一事实可以清楚地看出这一点。相应地,可以使用本发明的特定实施例来检测这些任务超限。第二个实验表2示出了从第二实验中选出的测试集之一中的目标系统的任务信息。<table>tableseeoriginaldocumentpage15</column></row><table>表2—第二个实验中测试集的任务信息在该测试集中,T3是所选任务,其中,可能将固定量的时间延迟添加至T3的执行时间。这取决于与T3被调度在其中运行的时钟周期间隔相关联的随机数。由监控系统捕获的两个不同的测试结果(针对0.6ms和0.8ms时间延迟)分别在图5和6中示出。为了允许进行比较。针对每个测试显示来自三段的结果,示出了不同的时钟周期间隔。在每幅图中,左边的段示出了时钟周期15以及时钟周期16的开始部分,中间段示出了时钟周期75和76以及时钟周期77的开始部分,并且右边的段示出了时钟周期195和时钟周期196的开始部分。在图5中,左边的段示出了在时钟周期15中正常执行的T3,并没有违反时间约束。根据中间段可以确定,在时钟周期75中存在任务超限。监控系统报告,在该时钟周期间隔中运行有三个任务(T2、T3和T4)。显然,这些任务执行的总持续时间超过了时钟周期间隔,从而导致时钟周期超限。右边的段示出,在时钟周期195中T3超过其WCET(0.7ms),但是在其期限(即在时钟周期间隔结束之前)之前完成其执行。在图6中,如左边的段所示,T3同样在时钟周期15中正常运行。与图5的中间段不同,T2、T3和T4在该测试的时钟周期75中没有违反任何定时约束。在时钟周期195中,右边的段确认T3正常执行而没有违反任何定时约束。因此能够确定,在第一测试的时钟周期75和195中(图6所示),向T3添加了时间延迟,但是在该测试的时钟周期15中没有添加时间延迟。还应当清楚,在第二测试中(图6所示),在时钟周期15、75和195中的任何一个中,没有向T3添加时间延迟。相应地,上述结果说明,所提出的监控方法能够用来检测TTC嵌入式系统中的任务超限。确实,结合NIPCI-6035EDAQ使用LabVIEW特别适合于实验室实验,这是由于其允许相对快的采样率和高分辨率结果。然而,在实际中,该方案实现的监控系统可能是受成本限制的。同样,继续使用较快采样率来获得实时的高分辨率采样需要较大计算功率,这可能不是对所有应用都现实的。相应地,本申请人想到所提出方法的实际实现方式,其目的在于提供经济而可靠的解决方案。可以想到,这样的实际实现方式可以用来在目标系统的整个寿命期中对其进行监控。在本发明的实施例中,监控系统的硬件包括安装有基于ARM7的LPC212932位微控制器的KeilMCB2100评估板。LPC2129微控制器包含内部10比特模数转换器(ADC),该ADC具有高达400KS/s的采样率,允许对从0至3.3伏的模拟信号进行测量。因此,从0至3.3伏(参考),ADC分辨率是10比特。因此,在O至3.3伏之间存在1023个单位。相应地,每个单位具有3.23mV的近似值。当目标系统处于空闲状态时,采样电阻器两端的电压降(VD)16(5mV)与当目标系统执行时的最低VD(16mV)之间的差值近似为llmV。根据上述ADC分辨率,将5mV视为l个单位(<2X3.23mV),将16mV视为4个单位(<5X3.23mV)。因此,在5至16mV的范围之间,仅存在3个单位差值。如果边界值要将它们分开,则可以将边界设置为大于5mVl个单位并且小于16mV2个单位,或反之。由于1023个单位中的l个单位非常小并且容易受到噪声的破坏,该示例中的ADC分辨率对于在可靠系统中使用而言不够高。为了解决该问题,向该系统添加较小(低成本)信号调节模块20。信号调节模块20在将采样电阻器两端的电压降(VD)传递至ADC之前将其放大10倍(尽管可以将倍数设置为任何期望值)。从而当目标系统处于空闲状态时VD变成50mV,当目标系统执行时变成160mV(原先最小为16mV)。因此,两个状态之间的差值更大许多(110mV)。相应地,对于监控系统而言,当前ADC分辨率变得足以精确地识别目标系统状态(在50160mV之间提供34个单位)。由3个CA741CE运算放大器、4个电阻器以及3个电位计构造信号调节模块20;对来自采样电阻器两端的电压信号进行放大(IO倍)并相减。随后将产生的信号馈送至ADC。图7示出了信号调节模块20的示意图。ADC对信号进行数字化,并将信号的当前值与预定边界值进行比较,以确定目标系统是否在运行。与上述实验实现方式不同,实际监控系统需要尽可能长时间对目标系统进行监控并使用最小计算功率。如上所述,实际监控系统被配置为在目标系统之前启动。在目标系统上完成初始化过程之后,目标系统上的调度器开始运行。同时,监控系统被配置为开始搜索上升沿(指示在目标系统中第一个时钟周期间隔己经开始)。一旦找到第一个上升沿,定时器启动,但将监控系统设置为空闲模式。每l/5个目标系统的时钟周期间隔产生定时器中断,以使计数变量增加l。当该变量的值等于4时,监控系统被唤醒并再次开始搜索上升沿。一旦找到上升沿,定时器立即重新重启。监控系统然后对计数变量进行复位,并返回至空闲模式。在下个时钟周期循环中执行相同的操作。然而,当目标系统中的任务没有满足其期限时(即当发生时钟周期超限时),不能找到上升沿。在这种情况下,监控系统被配置为发送信号以执行系统恢复操作(即,重新启动目标系统)。出于测试本系统的目的,当计数变量达到5时(即,在目标系统的时钟周期间隔的结束处),监控系统重新启动定时器并复位计数变量。此外,在监控系统返回至空闲状态之前,对时钟周期间隔编号进行记录。然后将所记录的时钟周期间隔编号发送至主机以进行存储并在测试结束时进行显示。以下示出涉及部分上述过程的"C"代码段。If(ADC—Search—Start—Edge()){〃在搜索第一个上升沿之前将滤除目标系统〃的初始化并且启动定时器0(用于产生中断)While(Tick—Count_G<MAX_TICK){〃采样1000个目标系统时钟周期PCON=l;If(Inner—Tick—Count—G==4){ADC—Search—Rising—Edge();〃监控系统处于空闲状态并将由定时器0唤醒〃目标系统时钟周期间隔的4/5〃搜索上升沿〃停止定时器0〃检测到任务超限<table>tableseeoriginaldocumentpage18</column></row><table>因此,在该实施例中,当找到每个上升沿时,目标系统和监控系统同步。此外,监控系统不需要在整个时钟周期间隔上进行采样,而是仅在时钟周期间隔结束处的短时间段上进行采样。相应地,该实施例中的监控系统能够节省计算功率和存储器空间,这也意味着其可以以相对经济的方式来实现。上述关于图2至6的实验测试用来对上述实际监控系统进行测试。然而,监控系统仅对目标系统的正好1000个时钟周期间隔(从0至999时钟周期)进行监控,并且测试仅集中于对任务超限的检测(即不包括对超过其WCET的任务的检测)。如上所述,在该实施例中,将所测量的信号相比于其原始值放大至10倍。相应地,选择80mV的边界值来区分目标系统是在运行还是处于空闲模式。执行如上所述的相同数目的测试,来评估该实施例的性能(即,在第一个实验中为480个测试,在第二个实验中为370个测试)。将由ARM7微控制器实现的本监控系统的结果与由LabVIEW实现的监控系统的结果进行比较。如预期的,在每个测试中的前1000个时钟周期中,两个监控系统均检测到目标系统中发生的任何任务超限。因此,参照图2,在实际监控系统中没有检测到相应的任务超限;参照图4,在时钟周期977,在实际监控系统中检测到任务超限;以及参照图5,在时钟周期75,在实际监控系统中检测到任务超限。因此,总体而言,根据本发明的监控设备实现了对时间触发的系统的简单而有效的监控,以确保快速检测到故障,使得能够采取快速操作,从而最小化不可预测的系统行为的影响。本领域技术人员将认识到,在不背离本发明的范围的前提下,可以对上述实施例进行各种修改。例如,尽管上述讨论主要涉及在TTC嵌入式系统中使用的监控设备,但是本发明同样适用于系统的功耗可以用来确定系统是否按其应有的方式操作的其他应用。权利要求1、一种用于处理器的监控设备,包括用于对处理器的功耗进行监控的装置;以及用于对所述功耗进行分析以检测处理器的异常操作的装置。2、根据权利要求l所述的监控设备,其中,用于对功耗进行分析的装置被配置为将采样功耗曲线与参考曲线进行比较。3、根据权利要求2所述的监控设备,其中,响应于所述比较的失配来产生触发,以指示异常操作。4、根据权利要求3所述的监控设备,其中,所述触发被配置为重新启动处理器的一部分。5、根据前述权利要求中任一项所述的监控设备,还包括用于将向用户提醒异常操作的装置。6、根据前述权利要求中任一项所述的监控设备,还包括由于检测到异常操作而执行停止处理器、复位处理器或发起系统恢复操作中的至少一项的装置。7、根据前述权利要求中任一项所述的监控设备,被配置为检测时间触发协作TTC处理器中的异常操作。8、根据权利要求7所述的监控设备,被配置为监控功耗是否周期性地达到预定最低水平,并在功耗没有周期性地达到预定最低水平的情况下检测到异常操作。9、根据前述权利要求中任一项所述的监控设备,其中,对由处理器上的一个或多个外围组件所消耗的功率进行监控,以检测异常操作。10、根据前述权利要求中任一项所述的监控设备,被配置用于监控处理器中的任务调度。11、根据前述权利要求中任一项所述的监控设备,其中,用于对处理器的功耗进行监控的装置包括用于执行以下操作的装置对数值已知的电阻器R两端的电位差V进行测量,所述电阻器与处理器的功率输入串联布置;以及根据^V/R对流过处理器的电流I进行计算,以使电流I的改变提供对功耗改变的指示。12、根据前述权利要求中任一项所述的监控设备,被配置用作调试工具。13、一种用于监控处理器的方法,包括以下步骤对处理器的功耗进行监控;以及对所述功耗进行分析以检测处理器的异常操作。14、一种实质上如以上参照附图所描述的监控设备。15、一种对实质上如以上参照附图所描述的处理器进行监控的方法。全文摘要本发明涉及一种用于处理器的监控设备,包括用于对处理器的功耗进行监控的装置,以及用于对所述功耗进行分析以检测处理器的异常操作的装置。文档编号G06F1/32GK101689132SQ200880018493公开日2010年3月31日申请日期2008年5月9日优先权日2007年5月11日发明者迈克尔·约瑟夫·庞特,陈锦亮申请人:莱斯特大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1