控制装置的制作方法

文档序号:13985401阅读:109来源:国知局

本发明的实施方式涉及一种控制装置。



背景技术:

以往,已知具备执行规定任务的处理器的控制装置。在这样的控制装置中,有时设置有多个处理器。

专利文献1:日本特开2012-150661号公报

在设置有多个处理器的上述以往的控制装置中,有时构成为,各处理器经由一个共享存储器对数据进行收发。在该情况下,各处理器为了取得来自其他处理器的数据,除了预先设定的任务以外,还需要进行定期地反复访问共享存储器来对共享存储器中是否被写入了来自其他处理器的数据进行检查的处理等。因此,以往存在经由共享存储器收发数据时的处理负担增大的情况。



技术实现要素:

实施方式的控制装置包括具备第一控制部的第一装置、具备第二控制部的第二装置、共享存储器及第一电路。共享存储器构成为,由第一装置及第二装置共享。第一电路构成为,在第二控制部对共享存储器进行了访问的情况下,从第二装置取得与访问相关的信息,并将所取得的与访问相关的信息向第一装置输出。

附图说明

图1是表示第一实施方式的控制装置的构成的示例框图。

图2是表示第一实施方式的诊断电路执行的处理的示例流程图。

图3是表示第一实施方式的监视电路执行的处理的示例流程图。

图4是表示第一实施方式的主装置的cpu执行的处理的示例流程图。

图5是表示第二实施方式的控制装置的构成的示例框图。

图6是表示第二实施方式的诊断电路执行的处理的示例流程图。

图7是表示第二实施方式的监视电路执行的处理的示例流程图。

图8是表示第二实施方式的主装置的cpu执行的处理的示例流程图。

具体实施方式

以下,基于附图来说明实施方式。

(第一实施方式)

首先,参照图1对第一实施方式的控制装置100的构成进行说明。控制装置100是在仪器仪表领域、电气控制领域、电力领域等中使用的控制器。

如图1所示,控制装置100具备主板10、主装置20、以及多个从装置30。主装置20及从装置30与主板10连接。主装置20是“第一装置”的一个例子,从装置30是“第二装置”的一个例子。在图1中表示了设置有3个从装置30的例子,但是从装置30的数量可以为4个以上,也可以为2个以下。

主板10具备共享存储器11及仲裁电路12。共享存储器11构成为,由主装置20及从装置30共享。即,主装置20和从装置30构成为,经由共享存储器11对数据进行收发。此外,仲裁电路12构成为,对向共享存储器11的访问的冲突进行仲裁。即,仲裁电路12构成为,避免主装置20对共享存储器11的访问与从装置30对共享存储器11的访问产生冲突。

主装置20具备cpu(centralprocessingunit)21,该cpu21构成为,能够基于经由共享存储器11从从装置30取得的数据进行各种处理。此外,主装置20构成为,与上位装置40连接,能够将cpu21的处理的结果向上位装置40输出。cpu21是“第一控制部”的一个例子。

从装置30与输入输出装置(i/o装置)50连接。从装置30具备cpu31,该cpu31构成为,能够基于经由i/o装置50输入的数据进行各种处理,并将处理的结果向共享存储器11输出。cpu31是“第二控制部”的一个例子。此外,从装置30还具备存储器等外围设备32。

在此,在第一实施方式中,主板10具备监视电路13,该监视电路13构成为,在cpu31对共享存储器11进行了访问的情况下,从从装置30取得与该访问相关的信息,并将所取得的与访问相关的信息向主装置20发送。监视电路13由fpga(现场可编程门阵列)等硬件构成。监视电路13是“第一电路”的一个例子。

与访问相关的信息包括表示cpu31所访问的共享存储器11的地址的信息、表示cpu31所进行过的访问是数据的写入还是数据的读出的信息等。这样的与访问相关的信息例如能够通过对cpu31与共享存储器11之间的总线(参照图1的带箭头的直线l)进行监视、对从cpu31向共享存储器11输出的信号进行拦截来取得。

即,在第一实施方式中,从装置30具备诊断电路33,该诊断电路33构成为,通过对cpu31与共享存储器11之间的总线(参照图1的带箭头的直线l)进行监视来取得与上述访问相关的信息,并将所取得的与访问相关的信息向监视电路13发送。诊断电路33由fpga(现场可编程门阵列)等硬件构成。诊断电路33是“第二电路”的一个例子。

此外,在第一实施方式中,主装置20具备寄存器22,该寄存器22构成为,对从监视电路13取得的与访问相关的信息进行存储。然后,主装置20的cpu21构成为,基于寄存器22对共享存储器11进行访问。

例如,在cpu31为了向主装置20传递数据而向共享存储器11写入了数据的情况下,诊断电路33构成为,作为与访问相关的信息,将表示被cpu31写入了数据的共享存储器11的地址的信息等向监视电路13输出。然后,监视电路13构成为,基于从诊断电路33取得的信息,将能够确定出哪个cpu31向共享存储器11的哪个地址写入了数据的信息写入主装置20的寄存器22。

寄存器22构成为,在通过诊断电路33写入了上述那样的信息的情况下,向cpu21输出中断信号。然后,cpu21构成为,在从寄存器22输入了中断信号的情况下,使当前进行的处理暂时停止而从寄存器22读出信息,并基于所读出的信息对共享存储器11进行访问,由此从共享存储器11取得cpu31向共享存储器11写入的数据。

接下来,参照图2对第一实施方式的控制装置100的从装置30的诊断电路33执行的处理流程进行说明。

在该处理流程中,如图2所示,诊断电路33首先在步骤s1中判断是否由从装置30的cpu31对共享存储器11进行了访问。更具体地说,诊断电路33对cpu31与共享存储器11之间的总线(参照图1的带箭头的直线l)进行监视,判断表示cpu31访问了共享存储器11的信号是否被输出到了总线上。该步骤s1的处理被重复进行,直到判断为由cpu31对共享存储器11进行了访问。在步骤s1中判断为由cpu31对共享存储器11进行了访问的情况下,处理进入步骤s2。

在步骤s2中,诊断电路33将与cpu31进行过的对共享存储器11的访问相关的信息向主板10的监视电路13输出。在此,与访问相关的信息,包括表示cpu31所访问过的共享存储器11的地址的信息、表示cpu31所进行过的访问是数据的写入还是数据的读出的信息等。与访问相关的信息是基于从cpu31与共享存储器11之间的总线(参照图1的带箭头的直线l)拦截的信号而生成的。然后,处理返回。

接下来,参照图3对第一实施方式的控制装置100的主板10的监视电路13执行的处理流程进行说明。

在该处理流程中,如图3所示,监视电路13首先在步骤s11中判断是否从诊断电路33输入了与从装置30的cpu31进行过的对共享存储器11的访问相关的信息。该步骤s11的处理被重复进行,直到判断为从诊断电路33输入了与访问相关的信息。在步骤s11中,在判断为从诊断电路33输入了与访问相关的信息的情况下,处理进入步骤s12。

在步骤s12中,监视电路13将从诊断电路33输入的与访问相关的信息向主装置20的寄存器22输出。例如,在从装置30的cpu31向共享存储器11写入了数据的情况下,监视电路13将能够确定出cpu31向共享存储器11的哪个地址写入了数据的信息等向寄存器22写入。然后,处理返回。

接下来,参照图4对第一实施方式的控制装置100的主装置20的cpu21执行的处理流程进行说明。

在该处理流程中,如图4所示,cpu21首先在步骤s21中判断寄存器22中是否存储有与cpu31进行过的对共享存储器11的访问相关的信息。例如,寄存器22构成为在存储有与访问相关的信息的情况下向cpu21输出中断信号时,cpu21在步骤s21中判断自身是否被输入了来自寄存器22的中断信号。该步骤s21的处理被重复进行,直到判断为寄存器22中存储有与访问相关的信息。在步骤s21中,在判断为与访问相关的信息存储于寄存器22的情况下,处理进入步骤s22。

在步骤s22中,cpu21基于存储于寄存器22的信息,对共享存储器11进行访问。例如,在cpu31为了向主装置20传递数据而向共享存储器11写入了的情况下,由于通过监视电路13向寄存器22写入有能够确定出被cpu31写入了数据的共享存储器11的地址的信息等,因此cpu21在步骤s22中,从寄存器22读出由监视电路13写入于寄存器22的信息,并基于所读出的信息对共享存储器11进行访问,由此从共享存储器11取得cpu31写入于共享存储器11的数据。然后,处理返回。

如以上说明的那样,第一实施方式的控制装置100具备监视电路13,该监视电路13为,在从装置30的cpu31对共享存储器11进行了访问的情况下,从从装置30取得与该访问相关的信息,并将所取得的与访问相关的信息向主装置20输出。由此,为了从共享存储器11取得数据,不需要进行对共享存储器11定期地反复访问的处理等,因此能够减少经由共享存储器11收发数据时的处理负担。结果,能够减少主板10上的数据负载,能够使控制装置100整体的性能提高。

此外,第一实施方式的从装置30具备诊断电路33,该诊断电路33为,通过对cpu31与共享存储器11之间的总线(参照图1的带箭头的直线l)进行监视来取得与访问相关的信息,将所取得的与访问相关的信息向监视电路13输出。由此,仅通过由诊断电路33对向cpu31与共享存储器11之间的总线输出的信号进行拦截,就能够容易地取得与访问相关的信息。即,不需要使cpu31进行将与访问相关的信息向监视电路13输出的处理,因此能够减少cpu31的处理负担。

此外,第一实施方式的主装置20具备对从监视电路13取得的与访问相关的信息进行存储的寄存器22,主装置20的cpu21构成为,基于寄存器22对共享存储器11进行访问。由此,仅通过对寄存器22进行监视,就能够容易地取得与从装置30的cpu31对共享存储器11进行过的访问相关的信息。由此,能够高效地对共享存储器11进行访问。

(第二实施方式)

接下来,参照图5对第二实施方式的控制装置100a的构成进行说明。此外,对于与第一实施方式同样的构成要素,分配相同的符号而省略说明。

如图5所示,第二实施方式的控制装置100a与第一实施方式的控制装置100同样,具备主板10a、主装置20a及多个从装置30a。主装置20a是“第一装置”的一个例子,从装置30a是“第二装置”的一个例子。图5表示设置有3个从装置30a的例子,但是从装置30a的数量可以为4个以上,也可以为2个以下。

第二实施方式的主板10a具备共享存储器11、仲裁电路12、以及监视电路13a。监视电路13a是“第一电路”的一个例子。此外,第二实施方式的主装置20a具备cpu21a及寄存器22。cpu21a是“第一控制部”的一个例子。此外,第二实施方式的从装置30a具备cpu31a、外围设备32、以及诊断电路33a。cpu31a是“第二控制部”的一个例子,并且诊断电路33a是“第二电路”的一个例子。

在此,第二实施方式的诊断电路33a构成为,通过对cpu31a与共享存储器11之间的总线(参照图5的带箭头的直线l)进行监视来取得与cpu31a可能产生的错误有关的信息。

例如,在设定为cpu31a进行反复依次执行多个任务a、b、c及d的动作的情况下,诊断电路33a构成为,通过经由上述总线(参照图5的带箭头的直线l)对来自cpu31a的输出信号进行拦截,由此判定cpu31a是否在进行从上述设定偏离的动作。然后,诊断电路33a构成为,在判定为cpu31a在进行从上述设定偏离的动作的情况下、即在判断为cpu31a产生了某种错误的情况下,将该错误的详细内容记录为错误日志34,并且将与该错误有关的信息向主板10a的监视电路13a输出。

第二实施方式的监视电路13a构成为,在从从装置30a取得了与上述错误有关的信息的情况下,将所取得的与错误有关的信息向主装置20a输出。更具体地说,监视电路13a构成为,在从从装置30a取得了与上述错误有关的信息的情况下,向主装置20a的寄存器22写入能够确定出在哪个从装置30a的cpu31a产生了错误的信息。

第二实施方式的cpu21a构成为,基于寄存器22进行异常处理(exceptionhandling,也可称作例外处理)。更具体地说,寄存器22构成为,在通过诊断电路33a写入了上述那样的信息的情况下,向cpu21a输出中断信号。然后,cpu21a构成为,在从寄存器22输入了中断信号的情况下,使现在进行的处理暂时停止而进行异常处理。此外,作为异常处理的例子,可以考虑对具备产生了错误的cpu31a的从装置30a进行初始化的处理、将具备产生了错误的cpu31a的从装置30a从系统断离的处理等。

接下来,参照图6对第二实施方式的控制装置100a的从装置30a的诊断电路33a执行的处理流程进行说明。

在该处理流程中,如图6所示,诊断电路33a首先在步骤s31中判断在从装置30a的cpu31a是否产生了错误。更具体地说,诊断电路33a对cpu31a与共享存储器11之间的总线(参照图5的带箭头的直线l)进行监视,从总线对来自cpu31a的输出信号进行拦截,由此判定cpu31a是否在进行从设定偏离的动作。该步骤s31的处理被反复进行,直到判断为在cpu31a产生了错误为止。在步骤s31中判断为在cpu31a产生了错误的情况下,处理进入步骤s32。

在步骤s32中,诊断电路33a记录表示在cpu31a产生的错误的详细内容的错误日志34。然后,处理进入步骤s33。

在步骤s33中,诊断电路33a向主板10a的监视电路13a输出与在cpu31a产生的错误有关的信息。与错误有关的信息是基于从cpu31a与共享存储器11之间的总线(参照图5的带箭头的直线l)拦截的信号而生成的。然后,处理返回。

接下来,参照图7对第二实施方式的控制装置100a的主板10a的监视电路13a执行的处理流程进行说明。

在该处理流程中,如图7所示,监视电路13a首先在步骤s41中判断是否从诊断电路33a输入了与在从装置30a的cpu31a产生的错误有关的信息。该步骤s41的处理被重复进行,直到判断为从诊断电路33a输入了与错误有关的信息为止。在步骤s41中判断为从诊断电路33a输入了与错误有关的信息的情况下,处理进入步骤s42。

在步骤s42中,监视电路13a将从诊断电路33a输入的与错误有关的信息向主装置20a的寄存器22输出。更具体地说,监视电路13a将能够确定出在哪个从装置30a的cpu31a产生了错误的信息向寄存器22写入。然后,处理返回。

接下来,参照图8对第二实施方式的控制装置100a的主装置20a的cpu21a执行的处理流程进行说明。

在该处理流程中,如图8所示,cpu21a首先在步骤s51中判断寄存器22中是否存储有与在cpu31a产生的错误有关的信息。例如,若寄存器22构成为在存储有与错误有关的信息的情况下向cpu21a输出中断信号,则cpu21a在步骤s51中判断自身是否被输入了来自寄存器22的中断信号。该步骤s51的处理被重复进行,直到判断为寄存器22中存储有与错误有关的信息。在步骤s51中判断为寄存器22中存储有与错误有关的信息的情况下,处理进入步骤s52。

在步骤s52中,cpu21a基于寄存器22所存储的与错误有关的信息,执行异常处理。即,在cpu31a产生了错误的情况下,由于通过监视电路13a向寄存器22写入有能够确定出在哪个从装置30a的cpu31a产生了错误的信息,因此cpu21a在步骤s52中,从寄存器22读出由监视电路13a向寄存器22写入的信息,对于具有基于所读出的信息确定出的cpu31a的从装置30a,进行异常处理。此外,作为异常处理的例子,如上述那样,可以考虑对具备产生了错误的cpu31a的从装置30a进行初始化的处理、将具备产生了错误的cpu31a的从装置30a从系统断离的处理等。然后,处理返回。

如以上说明的那样,第二实施方式的控制装置100a具备监视电路13a,该监视电路13a为,在从装置30a的cpu31a产生了错误的情况下,从从装置30a取得与该错误有关的信息,并将所取得的与错误有关的信息向主装置20a输出。由此,能够减少相互检测是否产生了错误时的处理负担。

即,在设置有多个处理器的以往的控制装置中,各处理器利用使用了某个共同的存储介质(共享存储器)的所谓的健康计数器等来相互检测是否产生了错误。例如,各处理器每当预先设定的任务正常地结束时,就将表示自身未产生错误的情况的数据存储于共享存储器,并相互对如此存储的数据进行监视,由此相互检测是否产生了错误。如此,以往,各处理器为了相互检测是否产生了错误,除了预先设定的任务以外还需要进行各种处理,因此有时处理负担增大。

与此相对,第二实施方式的控制装置100a具备上述那样的监视电路13a,因此通过与cpu31a相独立的硬件即监视电路13a来向主装置20a通知在cpu31a产生了错误的情况。因此,根据第二实施方式,为了相互检测是否产生了错误,不需要进行对共享存储器11定期地反复访问的处理等,因此能够减少处理负担。

此外,第二实施方式的从装置30a具备诊断电路33a,该诊断电路33a通过对cpu31a与共享存储器11之间的总线(参照图5的带箭头的直线l)进行监视来取得与错误有关的信息,并将所取得的与错误有关的信息向监视电路13a输出。由此,仅通过由诊断电路33a对向cpu31a与共享存储器11之间的总线输出的信号进行拦截,就能够容易地取得与错误有关的信息。即,由于不需要使cpu31a进行将与错误有关的信息向监视电路13a输出的处理,因此能够减少cpu31a的处理负担。此外,通过由诊断电路33a拦截向cpu31a与共享存储器11之间的总线输出的信号,由此能够将cpu31a在进行哪个动作时产生了错误作为错误日志34详细地进行记录。

此外,第二实施方式的主装置20a构成为,具备对从监视电路13a取得的与错误有关的信息进行存储的寄存器22,cpu21a基于寄存器22执行异常处理。由此,仅通过对寄存器22进行监视,由此能够容易地取得与错误有关的信息。

以上,对本发明的实施方式进行了说明,但上述实施方式仅为一个例子,并不意图限定发明的范围。上述实施方式能够以各种形态来实施,在不脱离发明的主旨的范围内能够进行各种省略、置换、变更。上述实施方式及其变形包含于发明的范围、主旨,并且包含于权利要求书所记载的发明及其等同的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1