系统时钟脉冲同步的制作方法

文档序号:6527386阅读:252来源:国知局
系统时钟脉冲同步的制作方法
【专利摘要】本发明涉及一种用于具有处理设备、外部组件和用于提供系统时钟脉冲的时钟脉冲发生器的控制器的方法,其中设置所述处理设备和所述外部组件,以便利用时钟脉冲发生器的系统时钟脉冲进行工作,所述方法包括以下步骤:确定所述处理设备的负荷程度超出预先确定的阈值;确定所述外部组件处于一种在其中系统时钟脉冲的变化是非关键的状态中;并且改变系统时钟脉冲,以便所述处理设备的效率能够与负荷程度匹配。
【专利说明】系统时钟脉冲同步
【技术领域】
[0001]本发明涉及一种系统时钟脉冲同步。本发明尤其涉及一种对具有一处理设备和至少一个外部组件的控制器中的系统时钟脉冲同步。
【背景技术】
[0002]大量的小型电子仪器包括设计为可编程的微型计算机的处理设备以及一个或多个外部组件。其中,处理设备的热功率会随着其系统时钟脉冲而升高。因此为了省电,尤其对于电池和蓄电池驱动的仪器来说通常的是根据处理设备的负荷程度对系统时钟脉冲进行同步。先进的微处理器具有专门的指令,利用该指令可以激活通常是多个省电模式其中的一个省电模式,在该省电模式下,微处理器的系统时钟脉冲是减小。外部组件通常使用另外一个系统时钟脉冲,从而所述外部组件可以与处理设备无关地运行或者可以进入到自己的省电模式中。
[0003]在一种更简单的、比如像车载的用于对车窗玻璃升降器、玻璃刮水器或者座椅调节装置进行控制的控制设备中,通常利用相同的系统时钟脉冲运行处理设备和外部组件,也即位于相同的时钟域(Clockdomain)中。在此,为了避免出现可能对用户产生影响的功能缺陷,外部组件必须能够无误差地工作。因此在本领域中通常总是利用相同的系统时钟脉冲运行外部组件,并且因此尽管其负荷程度也利用相同的系统时钟脉冲运行处理设备。
[0004]然而尤其一种相对较少地使用的控制器、比如用于刮水器控制装置的控制器,会在余热中消耗掉其潜在的计算能力的绝大部分。这一般是不被期望的并且尤其与电驱动车辆相关联可能是难以解决的。因此本发明的任务是提供一种用于车载控制器的技术,该技术允许当控制器较少使用或者甚至没有被使用时,能够节省能量。

【发明内容】

[0005]本发明通过具有独立权利要求所述特征的一种方法、一种计算机程序产品和一种装置解决该任务。从属权利要求给出了优选的实施方式。
[0006]具有处理设备、外部组件和用于提供系统时钟脉冲的时钟脉冲发生器的控制器,其中设置所述处理设备和所述外部组件,以便利用时钟脉冲发生器的系统时钟脉冲进行工作,其包括以下步骤:确定所述处理设备的负荷程度超出预先确定的阈值;确定所述外部组件处于一种在其中系统时钟脉冲的变化是非关键的状态中;并且改变系统时钟脉冲,以便所述处理设备的效率能够与负荷程度匹配。
[0007]通过考虑在同步前外部组件的状态,尤其在一种简单的控制器中可引起系统时钟脉冲的与负载有关的减小,而没有冒外部组件的功能由此受到损害的风险,所述控制器的处理设备与外部组件使用相同的系统时钟脉冲。例如在外部组件对直接或间接对人产生影响的功能进行控制的情况下,能够有利地应用所提供的步骤。本发明特别适于使用在车载网络中、使用在医药技术或工业控制的领域中。
[0008]在一种优选的实施方式中,设置用于数据传输的外部组件并且确定,假如所述外部组件没有发送数据并且没有接收发给所述控制器的数据,那么所述外部组件处于一种在其中系统时钟脉冲的变化是非关键的状态下。
[0009]这样可以确保,系统时钟脉冲的变化不会对利用远距离设备进行的数据传输造成干扰,其中所述远距离设备可对控制器进行控制或者可以被所述控制器控制。这种连续的通信能力尤其能在车载设备互联时具有特别重要的意义。
[0010]在另一种实施方式中,附加地确定,在改变系统时钟脉冲之前,所述处理设备处于一种在其中系统时钟脉冲的变化是非关键的状态下。
[0011]当在其上运行的程序处于相应的状态中时,处理设备可以特别容许系统时钟脉冲的变化。该状态的特征在于,没有运行对于时间来说关键的处理过程。
[0012]该步骤也可以扩展至多个相互独立的、在处理设备上例如进行周期运行的程序或子程序。为此,所述控制器能够包括计数器,设置所述计数器,以便利用不同的符号对通过所述处理设备来执行的程序的写入到关键程序段和从关键程序段读出进行计数。在此确定,假如所述计数器具有预先确定的计数器读数,那么所述处理设备处于一种在其中系统时钟脉冲的变化是非关键的状态下。
[0013]由此可以使得多个能够改变系统时钟脉冲的条件相互逻辑连接,从而当预期不会有控制器的部件损害其运行造时,才会开始改变系统时钟脉冲。可以对计数器进行物理编码,从而就可以排除通过多个部件竞争地改变计数器读数。
[0014]能够设置所述处理设备,以便依次周期性地执行多个程序,并且设置所述程序中的多个,以便对写入到关键程序段或者说从关键程序段读出时的计数器读数进行增加计数或者说减少计数。由此可以按照简单的方式,借助计数器来为多个程序的无故障性提供支持。
[0015]所述控制器能够包括多个外部组件,设置所述外部组件,以便利用系统时钟脉冲进行工作,其中确定,在改变系统时钟脉冲被之前,所有外部组件(115)会处于一种在其中系统时钟脉冲的变化是非关键的状态下。这样就可以尤其将具有不同任务的外部组件无故障地切换到改变的系统时钟脉冲中。
[0016]在一种实施方式中,假如所述负荷程度低于第一阈值,那么系统时钟脉冲会降低,并且经过预定时间后系统时钟脉冲会提高。由此可以确保,能够利用足够高的系统时钟脉冲周期性地执行所述控制器的预先确定的任务。
[0017]在另一种实施方式中,假如所述负荷程度低于第一阈值,那么系统时钟脉冲会降低,并且假如所述负荷程度超过第二阈值,那么系统时钟脉冲会提高,其中所述第二阈值大于所述第一阈值。由此可以为系统时钟脉冲的变化带来磁滞效应(Hysterese),所述磁滞效应可防止系统时钟脉冲太频繁的变化。可以按照这种方式对只是少许或者根本没有使用控制器的相位进行改进,并且与大量使用控制器的相位进行区分。在处理设备的负荷程度出现跳变时,也可以通过在处理设备上运行的程序来改变系统时钟脉冲。如果例如确定了即将进行耗费更高的处理过程或要求进行耗费更高的处理过程,也许是因为控制器是由外部设备响应的,从而就可以触发系统时钟脉冲的升高。在此优选进行等待,直到外部组件和必要时在处理设备上运行的程序处于一种在其中系统时钟脉冲的变化是非关键的状态下。
[0018]根据本发明的计算机程序产品包括用于执行所述方法的程序代码段,所述计算机程序产品在所述处理设备上运行或者存储在可由计算机读取的数据载体上。[0019]根据本发明的控制器包括用于提供系统时钟脉冲的时钟脉冲发生器、处理设备和外部组件,其中设置所述处理设备和所述外部组件,以便利用时钟脉冲发生器的系统时钟脉冲进行工作。在此,设置所述处理设备,以便:确定所述处理设备的负荷程度超出预先确定的阈值;确定所述外部组件处于一种在其中系统时钟脉冲的变化是非关键的状态中;并且改变系统时钟脉冲,以便所述处理设备的效率能够与负荷程度匹配。
[0020]尤其能够设置处理设备以执行上面所述的方法。可以按照这种方式提出一种控制器,其构造简单,具有较高的运行安全性并且尽管如此还减小了电流消耗。
[0021]尤其能够设置所述外部组件,以便基于系统时钟脉冲利用外部的组件实施异步的数据传输。尽管系统时钟脉冲有变化,但也不会损害所述外部组件的通信能力。
【专利附图】

【附图说明】
[0022]下面结合附图对本发明作详细的说明,其中:
[0023]图1是控制器的方框图;
[0024]图2是方法的流程图;以及
[0025]图3是图1所示的控制器中的计数器读数(Zahlerstande)。【具体实施方式】
[0026]图1示出了一种控制器100、尤其是使用在车辆的电路中的控制器。控制器100包括用于提供系统时钟脉冲的时钟脉冲发生器105、处理设备110以及一个或多个外部组件(Peripheriebausteine) 115,所述处理设备尤其能够作为可编程的微型计算机来实现,每个外部组件115可以与一接口 120相连,所述接口在控制器100的外部可与其他设备相连。此外,控制器100可以选择地包括计数器125。
[0027]在一种优选的实施方式中,控制器100构造为ASIC(专用集成电路)。为此ASIC的基本的功能元件、例如逻辑门如此相互连接,从而其形成图1所示的元件。基于该步骤,通常会在控制器100的示出的元件之间形成紧密耦合,这种紧密耦合例如体现在用于处理设备110和外部组件115的同一个系统时钟脉冲的应用中。
[0028]在示出的、示例性的实施方式中,设置所述外部组件115其中之一,以便在系统时钟脉冲的基础上进行异步的数据传输。为了该目的,将配属于所述外部组件其中之一的接口 120与总线130相连,该总线尤其可以是CAN总线或LIN总线。在总线130上可以连接一个或多个部件135,所述部件可以借助总线130利用控制器100进行异步的数据传输。为此可以设置外部组件115以接收来自总线130的控制信号或是将信号发送给总线130。在一种优选的实施方式中,借助一种协议(Protokoll)在总线130上进行数据传输,所述协议允许对部件110、140进行寻址(Adressierung)。可在另外一个不同于控制器100的部件135上对例如部件135发送给总线130的信息进行寻址,从而一接收到寻址信息和确定了该信息对于控制器100来说是意义不大的,该信息就可能会通过外部组件115而被拒绝。
[0029]在图1右侧示出了另一个外部组件115,可以借助配属于所述另一个外部组件的接口 120与其他设备相连,例如与马达140相连。马达140可以例如设置成用于对车载刮水器系统的刮水臂进行驱动。在另一个实施例中,例如也可以设置马达,以对天窗(Schiebedach)或者座椅(Sitzverstellung)进行操作。[0030]控制器100优选用于对很少出现的过程进行控制。控制器100可将其大部分工作时间用于等待经由总线130的控制信息,而其只将一小部分工作时间用于外部元件、例如马达140的下一个控制。在等待阶段过程中,处理设备110只有较低的负荷程度,而在激活阶段中,则有较高的负荷程度。然后对负荷程度进行测量,在预定的时间间隔里,处理设备110有多少时间用于执行一个程序,有多少时间用于事件或时间信号的等待。相对等待时间越长,处理设备110的负荷程度就越小。
[0031]设置所述处理设备110,以便确定,是否其负荷程度位于预先确定的阈值以下,并且在这种情况下通过如下方式减小脉冲发生器105的系统时钟脉冲,即控制器100的部件不会因改变过程而受到损害。当负荷程度超过预先确定的阈值时,也可以按照相应的方式提闻系统时钟脉冲。
[0032]图2示出了用于控制器100的方法的流程图、尤其是用于运行处理设备110的流程图。方法200以步骤205开始,在该步骤中进行处理设备110的通常的处理操作。在此例如可在处理设备110上周期性地执行一个或多个程序或者说子程序。典型地,控制器100不具有或者只具有一个受约束的操作系统,从而按照时间片系统(Zeitscheiben-System)(“轮转调度(round robin)")在一连续的主循环上执行所有程序和子程序。在此通常使得具有固定的间隔时间的各个进程实现同步。
[0033]在步骤210中,确定处理设备110的负荷程度。为此例如能够确定,进程的哪些部分是通过主回路在等待进入操作后执行的,而不是伴随程序或者说子程序执行的。
[0034]在步骤215中,对负荷程度是否超出了上极限值进行检测。替代地,为此也可以在步骤220中对负荷程度是否低于下极限值进行确定。在另一种实施方式中,两个极限值可以是相同的。在方法200的一种变型中,也可以任意顺序依次执行步骤215和220。此外,可以在替代的步骤225中确定,自从系统时钟脉冲降低起,系统时钟脉冲是否能以较低水平运行一预先确定的时间。
[0035]如果步骤215、220或225的测试结果是肯定的,那么能够在步骤230中确定,一个或者说多个现有的外部组件115是否处于一种在其中系统时钟脉冲的变化是非关键的状态。假如总线130上根本没有传递任何信息,那么在图1中左侧示出的、设置用于经由总线130进行异步的数据传输的外部组件115例如可能会处于一种非关键的状态中。此外,当外部组件115没有发送信息并且在总线130上传输的信息没有寻址到控制器100时,可将状态确定为非关键的。
[0036]假如没有触发马达140,那么在图1中右侧示出的另一个外部组件115能够处于一种非关键的状态种。如果仅仅被试验的外部组件115其中之一处于一种在其中系统时钟脉冲的变化是关键的状态中,那么方法200会在系统时钟脉冲没有变化的情况下返回步骤205并且可以重新运行。
[0037]否则在步骤235中检测,处理设备110是否处于一种在其中系统时钟脉冲的变化是非关键的状态中。例如每个在处理设备110上运行的程序或者说子程序可能对全局变量产生影响,该全局变量表明是否至少一个程序或者说子程序是处于一种在其中避免系统时钟脉冲出现变化的关键的状态下。
[0038]如果发现步骤235中的处理设备110的状态同样是非关键的,那么在步骤240中处理设备110会促使时钟脉冲发生器105相应地改变系统时钟脉冲。如果因为发现在步骤220中的负荷程度在极限值以下,所以对系统时钟脉冲的频率作出了改变时,那么系统时钟脉冲会下降,而相反如果在步骤215中发现负荷程度超出了上极限值,那么系统时钟脉冲会升高。如果在步骤225中确定,系统时钟脉冲能自从系统时钟脉冲被降低时起就以较低水平运行一预先确定的时间,那么系统时钟脉冲在步骤240中同样会升高。
[0039]在步骤240之后,方法200返回步骤205并且可以重新运行。
[0040]图3示例性地示出了图1所示的控制器100的计数器125的计数器读数。可以使用计数器125以便实现一个全局变量,所述全局变量表明由处理设备110执行的程序或者说子程序是否位于关键程序段中。这样的全局变量也被称为信号量(Semaphor)。设置计数器125,以便在任何时刻都只能由一个唯一的程序或者说子程序进行改变。这样的条件也被称为互斥(mutex)(互相排斥)。
[0041]沿水平方向示出了第一程序305、第二程序310和第三程序315的状态的时间上的顺序。深色区域在此分别相当于一种关键程序段320,并且浅色区域相当于非关键程序段325。相应地在写入关键程序段320时,每个程序305至315会增加计数器125的读数;而在从关键程序段320读出时,会减少其读数。在图3的最下方,在三个程序305至315的关键程序段320和非关键程序段325的如图所示的顺序下,绘出了计数器125的相应的读数。当计数器125的读数为零时,处理设备110的状态随后只能在系统时钟脉冲的改变方面被分类为非关键的,其中另一个预先确定的读数在此也可以指明相同的状态。通过所描述的步骤可以避免对系统时钟脉冲作出改变,而程序305至315其中之一位于一种关键程序段320 中。
【权利要求】
1.用于具有处理设备(110)、外部组件(115)和时钟脉冲发生器(105)的控制器(100)的方法(200),其中设置所述处理设备(110)和所述外部组件(115),以便利用所述时钟脉冲发生器(105)的系统时钟脉冲进行工作,所述方法包括下列步骤: -确定(215、220)所述处理设备(110)的负荷程度超出预先确定的阈值; -确定(230)所述外部组件(115)处于一种在其中系统时钟脉冲的变化是非关键的状态中;并且 -改变(240)系统时钟脉冲,以便所述处理设备(110)的效率能够与负荷程度匹配。
2.根据权利要求1所述的方法(200),其中设置用于数据传输的外部组件(115)并且确定,假如所述外部组件(115)没有发送数据并且没有接收发给所述控制器(100)的数据,那么所述外部组件(115)处于一种在其中系统时钟脉冲的变化是非关键的状态下。
3.根据前述权利要求中任一项所述的方法(200),其中附加地确定,在改变系统时钟脉冲之前,所述处理设备(110)处于一种在其中系统时钟脉冲的变化是非关键的状态下。
4.根据权利要求3所述的方法(200),其中所述控制器(100)包括计数器,设置所述计数器,以便利用不同的符号对通过所述处理设备(110)来执行的程序的写入到关键程序段(320)和从关键程序段读出进行计数,并且其中确定,假如所述计数器具有预先确定的计数器读数,那么所述处理设备(110)处于一种在其中系统时钟脉冲的变化是非关键的状态下。
5.根据权利要求3或4所述的方法(200),其中设置所述处理设备(110),以便依次周期性地执行多个程序(305-315),并且设置所述程序(305-315)中的多个,以便对写入到关键程序段(320)或者说从关键程序段读出时的计数器读数进行增加计数或者说减少计数。
6.根据前述权利要求·中任一项所述的方法(200),其中所述控制器包括多个外部组件(115),设置所述外部组件,以便利用系统时钟脉冲进行工作,并且确定,在改变系统时钟脉冲被之前,所有外部组件(115)会处于一种在其中系统时钟脉冲的变化是非关键的状态下。
7.根据前述权利要求中任一项所述的方法(200),其中假如所述负荷程度低于第一阈值,那么系统时钟脉冲会降低,并且经过预定时间后系统时钟脉冲会提高。
8.根据前述权利要求中任一项所述的方法(200),其中假如所述负荷程度低于第一阈值(220),那么系统时钟脉冲会降低,并且假如所述负荷程度超过第二阈值(215),那么系统时钟脉冲会提高,其中所述第二阈值大于所述第一阈值。
9.具有用于执行根据前述权利要求中任一项所述的方法(200)的程序代码段的计算机程序产品,所述计算机程序产品在所述处理设备(110)上运行或者存储在可由计算机读取的数据载体上。
10.控制器(100),其包括下列元件: -用于提供系统时钟脉冲的时钟脉冲发生器(105); -处理设备(110);和 -外部组件(115); -其中,设置所述处理设备(110)和所述外部组件(115),以便利用所述时钟脉冲发生器(105)的系统时钟脉冲进行工作; -其中,设置所述处理设备(110),以便:a.确定,所述处理设备(110)的负荷程度超出预先确定的阈值; b.确定,所述外部组件(115)处于一种在其中系统时钟脉冲的变化是非关键的状态中;并且 c.改变(240)系统时钟脉冲,以便所述处理设备(110)的效率能够与负荷程度匹配。
11.根据权利要求10所述的控制器(100),其中设置所述外部组件(115),以便基于系统时钟脉冲利用外部的组件(135)实施`异步的数据传输。
【文档编号】G06F1/32GK103853313SQ201310757084
【公开日】2014年6月11日 申请日期:2013年12月6日 优先权日:2012年12月6日
【发明者】G·舒尔策-伊金-科纳特, M·福施特 申请人:罗伯特·博世有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1