JP2010113419A - マルチコア制御装置 - Google Patents

マルチコア制御装置 Download PDF

Info

Publication number
JP2010113419A
JP2010113419A JP2008283531A JP2008283531A JP2010113419A JP 2010113419 A JP2010113419 A JP 2010113419A JP 2008283531 A JP2008283531 A JP 2008283531A JP 2008283531 A JP2008283531 A JP 2008283531A JP 2010113419 A JP2010113419 A JP 2010113419A
Authority
JP
Japan
Prior art keywords
core
processing
slave
interrupt
master
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008283531A
Other languages
English (en)
Inventor
Wachio Kobayashi
和千男 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2008283531A priority Critical patent/JP2010113419A/ja
Publication of JP2010113419A publication Critical patent/JP2010113419A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

【課題】スレーブコアの異常をマスターコアにおいて適切に監視すること。
【解決手段】複数のCPUコアによって車両のエンジン制御を行なうための処理を行なうマルチコア制御装置であって、センサー出力値により把握されるエンジン回転数に応じた処理に関する割り込み要求をスレーブコアに対して行なうマスターコアと、前記マスターコアからの割り込み要求に応じた処理を行なう少なくとも一つのスレーブコアと、を備え、前記マスターコアは、割り込み要求した処理に関する優先度が低く設定されている状態で前記スレーブコアにより割り込み要求に応じた処理が行なわれない場合に、該割り込み要求した処理に関する優先度を高く設定し、該割り込み要求した処理に関する優先度が高く設定されている状態で前記スレーブコアにより割り込み要求に応じた処理が行なわれない場合に、所定のフェール処理を行なうことを特徴とする。
【選択図】図3

Description

本発明は、複数のCPUコアによってエンジン制御のための処理を行なうマルチコア制御装置に関する。
近年、複数のCPU又はこれに相当する機能ユニット(本発明では「CPUコア」ないし「コア」と称する)を備える情報処理装置が、マルチコアシステム等と称され、実用化が進められている。
これに関連し、デュアルポートRAMを介して相互にデータ通信を行うマイクロコンピュータの異常の有無を監視するマイクロコンピュータ監視装置において、送信側マイクロコンピュータからデュアルポートRAMへの通信データ書き込みに際し、その記憶データが更新される異常判定用メモリと、該異常判定用メモリへの書き込みが行われたときに受信側マイクロコンピュータに対し割り込みを発生する割り込み手段とを備え、前記割り込み手段による割り込みを受けたとき、受信側マイクロコンピュータは異常判定用メモリ内のデータを読み出して異常の有無を判定するように構成したことを特徴とするマイクロコンピュータ監視装置についての発明が開示されている(例えば、特許文献1参照)。
特開平10−254733号公報
しかしながら、上記従来の装置は、割り込み要求を受信する側のマイクロコンピュータが送信する側のマイクロコンピュータを監視するものであり、要求送信側が受信側を監視する構成となっていない。
本発明はこのような課題を解決するためのものであり、スレーブコアの異常をマスターコアにおいて適切に監視することが可能なマルチコア制御装置を提供することを、主たる目的とする。
上記目的を達成するための本発明の一態様は、
複数のCPUコアによってエンジン制御を行なうマルチコア制御装置であって、
センサー出力値を取得してエンジン回転数を把握し、該把握したエンジン回転数に応じたエンジン制御のための処理に関する割り込み要求をスレーブコアに対して行なうマスターコアと、
前記マスターコアからの割り込み要求に応じたエンジン制御のための処理を行なう少なくとも一つのスレーブコアと、
を備え、
前記マスターコアは、
前記スレーブコアにより割り込み要求に応じたエンジン制御のための処理が行なわれないときに、エンジン制御のための処理に関する優先度を高く設定し、
該エンジン制御のための処理に関する優先度が高く設定されている状態で前記スレーブコアにより割り込み要求に応じたエンジン制御のための処理が行なわれない場合に、所定のフェール処理を行なうことを特徴とする、
マルチコア制御装置である。
この本発明の一態様によれば、スレーブコアにより割り込み要求に応じたエンジン制御のための処理が行なわれないときに、エンジン制御のための処理に関する優先度を高く設定し、エンジン制御のための処理に関する優先度が高く設定されている状態でスレーブコアにより割り込み要求に応じたエンジン制御のための処理が行なわれない場合に、所定のフェール処理を行なうため、スレーブコアにおいてより優先度の高い処理を行なっているために割り込み要求に応じた処理が行なわれないのか、スレーブコアが不具合を生じたのかを適切に判別することができる。
従って、スレーブコアの異常をマスターコアにおいて適切に監視し、必要なフェール処理を行なうことができる。
本発明によれば、スレーブコアの異常をマスターコアにおいて適切に監視することができる。
以下、本発明を実施するための最良の形態について、添付図面を参照しながら実施例を挙げて説明する。
[基本構成]
以下、本発明の一実施例に係るマルチコア制御装置1について説明する。図1は、本発明の一実施例に係るマルチコア制御装置1のシステム構成例である。マルチコア制御装置1は、主要な構成として、マスターコア10と、少なくとも一つのスレーブコア20(以下の説明では単独のものとする)と、共有メモリ30と、を備える。
マルチコア制御装置1は、これらのCPUコアによって車両のエンジン制御を行なうための処理を行なうものであり、エンジン回転数を把握するためのクランク角センサー40、及びエンジン制御のための機器群50(例えば、イグナイター、スロットルモータ、フューエルインジェクター等)が接続されている。
マスターコア10及びスレーブコア20は、従来のCPU(Central Processing Unit)に相当する機能を有する機能単位である。すなわち、ALU(論理演算ユニット)や制御装置、レジスタ、クロックジェネレータ等から構成される。
マスターコア10は、クランク角センサー40から入力されるクランク角信号に基づいて、エンジン回転数を算出する。以下、係る処理を「クランク処理」と称する。
クランク角センサー40は、クランクシャフトと連動して回転する信号歯に対向するように設置され、エアギャップ変化によって生じる磁束の増減により内部に起電力を生じさせる。クランク角センサー40は、このように生じさせた起電力を交流信号としてマルチコア制御装置1に出力する。なお、信号歯には上死点を検出するための欠損が形成されている。
マスターコア10では、クランク角センサー40から入力された交流信号を閾値と比較すること等によって信号歯の通過数をカウントし、エンジン回転数を算出する(クランク処理)。また、図示しないカムポジションセンサーから入力されるカム位置信号とクランク角信号を比較することにより、気筒判別を行なっている。
また、マスターコア10は、このように算出したエンジン回転数に応じた処理内容を決定し、係る処理に関する割り込み要求をスレーブコアに対して行なう。以下、マスターコア10による割り込み要求、及び、割り込み要求に応じたスレーブコア20の処理を、「クランク同期処理」と称する。
ここで、割り込み要求とは、CPUコア間で直接的に処理要求を行なうことをいい、受信側のCPUコアでは、受信した要求の優先度が現在行なっている処理よりも高ければ、現在行なっている処理を中断して、受信した要求に応じた処理を実行する。
また、エンジン回転数に応じた処理内容とは、例えばエンジン制御のための機器群50に対する制御信号を生成する処理(タイミング決定処理、制御量決定処理等を広く含む)であり、本実施例の如く複数のCPUコアで分担することによって、より精緻なエンジン制御を可能にすることができる。なお、マスターコア10自体が、スレーブコア20に要求する類の処理を行なってもよいのは勿論である。
スレーブコア20は、このようにマスターコア10から受信した割り込み要求に応じた処理、その他の処理を実行する。
共有メモリ30は、マスターコア10及びスレーブコア20が参照及び書き込み可能な記憶媒体であり、例えばRAM(Random Access Memory)やフラッシュメモリ等が用いられる。共有メモリ30における所定領域には、起動確認フラグ32及びクランク同期タスク優先度変更フラグ34が設定される。これらのフラグは、例えば選択的に2値のいずれかに設定される(以下では便宜上、フラグがオン、オフのいずれかに設定されると表現する)。
起動確認フラグ32は、マスターコア10が割り込み要求をする際にマスターコア10によりオンに設定され、スレーブコア20が要求に応じた処理を実行する際にスレーブコア20によりオフに設定される。
クランク同期タスク優先度変更フラグ34は、マスターコア10が割り込み要求した処理が行なわれなかった場合(すなわち起動確認フラグ32がオンに設定されたままである場合)に、マスターコア10によりオンに設定される。スレーブコア20は、クランク同期タスク優先度変更フラグ34がオンに設定されていることを確認すると、その内部処理において、マスターコア10からの割り込み要求に係る処理の優先度を高く設定する。
[通常時の処理の流れ]
図2は、共有メモリ30上の各フラグ、マスターコア10、スレーブコア20の、通常時における動作及び状態の変化を示すシーケンス図である。
マスターコア10は、クランク角センサー40からのクランク角信号を取得してクランク処理を行なう(時刻t1)。なお、係るクランク処理は、例えばクランク角信号が閾値を超えたタイミング毎に行なわれる。また、これに限らず、所定周期毎に繰り返しクランク処理を行なってもよい。
クランク処理を行なうと、マスターコア10はスレーブコア20に対して割り込み要求を行なうと共に、起動確認フラグ32をオンに設定する(時刻t2)。
そして、マスターコア10は自己処理分のクランク同期処理を実行する(時刻t3)
スレーブコア20は、割り込み要求を受信したが、ここではより優先度の高い処理(図では高タスクと表記した)を行なっているため、高タスクの処理を終了するのを待ってからクランク同期処理を実行すると共に、起動確認フラグ32をオフに設定する(時刻t4)。
このように、スレーブコア20がクランク同期処理を実行開始すると同時に起動確認フラグ32をオフに設定することで、マスターコア10はスレーブコア20が正常に作動していることを確認することができる。
その後、マスターコア10は、再度クランク角センサー40からのクランク角信号を取得してクランク処理を行ない(時刻t5)、スレーブコア20に対して割り込み要求を行なうと共に、起動確認フラグ32をオンに設定する(時刻t6)。
そして、マスターコア10は自己処理分のクランク同期処理を実行する(時刻t7)
スレーブコア20は、割り込み要求を受信すると、より優先度の高い処理を行なっていないため、直ちにクランク同期処理を実行すると共に、起動確認フラグ32をオフに設定する(時刻t7)。
[異常時の処理の流れ]
ところで、本実施例におけるスレーブコア20の如きCPUコアにおいては、フリーズ等の不具合を生じることがあり、安全面が要求される車載装置としては異常が生じていないかを監視することが望ましい。そこで、本実施例に係るマスターコア10は、以下に説明する特徴的な処理を行なってスレーブコア20の状態を監視している。
図3は、共有メモリ30上の各フラグ、マスターコア10、スレーブコア20の、異常時における動作及び状態の変化を示すシーケンス図である。
マスターコア10は、クランク角センサー40からのクランク角信号を取得してクランク処理を行なう(時刻t11)。
クランク処理を行なうと、マスターコア10はスレーブコア20に対して割り込み要求を行なうと共に、起動確認フラグ32をオンに設定する(時刻t12)。
そして、マスターコア10は自己処理分のクランク同期処理を実行する(時刻t13)
スレーブコア20は、割り込み要求を受信したが、ここではより優先度の高い処理(図では高タスクと表記した)を行なっていた。しかしながら、高タスクの処理が終了してもクランク同期処理は実行されず、従って起動確認フラグはオンに設定されたままであった。
その後、マスターコア10は、再度クランク角センサー40からのクランク角信号を取得してクランク処理を行なう(時刻t14)。この際に、起動確認フラグ32がオンに設定されたままであるため、マスターコア10は、クランク同期タスク優先度変更フラグ34をオンに設定する。
クランク同期タスク優先度変更フラグ34がオンに設定されることにより、スレーブコア20は、割り込み要求を高優先度に設定するため、次回の割り込み要求に応じたクランク同期タスクは速やかに実行される筈である。
そして、スレーブコア20に対して割り込み要求を行なうと共に、起動確認フラグ32をオンに設定する(時刻t15)。また、マスターコア10は自己処理分のクランク同期処理を実行する(時刻t16)。
ところが、本図の例では、スレーブコア20においてクランク同期処理が実行されなかった。この場合、起動確認フラグ32及びクランク同期タスク優先度変更フラグ34の双方がオンに設定されたままとなる。マスターコア10は、所定時間又は所定のサンプリング回数待機した後に、スレーブコア20が何らかの不具合を生じたと判断し、所定のフェール処理を行なう(時刻t17)。
所定のフェール処理としては、例えば不具合を生じたスレーブコア20を停止させたり、マルチコア制御装置1全体をリセットしたりする処理が行なわれる。これによって、スレーブコア20の機能が他のスレーブコア20によって補完されたり、通常状態に復帰したりすることが期待される。なお、マルチコア制御装置1全体をリセットする場合、エンジンは一時的に惰性回転することとなる。
このように、マスターコア10は、割り込み要求した処理に関する優先度が高く設定されている状態でスレーブコア20により割り込み要求に応じた処理が行なわれない場合に、所定のフェール処理を行なう。
係る処理によって、スレーブコア20の異常をマスターコア10において適切に監視し、必要なフェール処理を行なうことができる。
すなわち、単に起動確認フラグ32がオンに設定されたままである場合に所定のフェール処理を行なうものとすると、スレーブコア20においてより優先度の高い処理を行なっているために割り込み要求に応じた処理が行なわれないのか、スレーブコア20が不具合を生じたのかが判別できない。
この点、本実施例のマルチコア制御装置1では、起動確認フラグ32がオンに設定されたままである事態が生じたときに、まずクランク同期タスク優先度変更フラグ34をオンに設定し、その後に起動確認フラグ32がオンに設定されたままである事態が生じたときに所定のフェール処理を行なっている。
従って、スレーブコア20の不具合判断を高精度に行なうことができ、不要なフェール処理を行なうことで車両の操縦性を損なうような不都合が生じるのを抑制することができる。
異常説明した本実施例のマルチコア制御装置1によれば、スレーブコアの異常をマスターコアにおいて適切に監視することができる。
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
本発明は、自動車製造業や自動車部品製造業等に利用可能である。
本発明の一実施例に係るマルチコア制御装置1のシステム構成例である。 共有メモリ30上の各フラグ、マスターコア10、スレーブコア20の、通常時における動作及び状態の変化を示すシーケンス図である。 共有メモリ30上の各フラグ、マスターコア10、スレーブコア20の、異常時における動作及び状態の変化を示すシーケンス図である。
符号の説明
1 マルチコア制御装置
10 マスターコア
20 スレーブコア
30 共有メモリ
40 クランク角センサー
50 エンジン制御のための機器群

Claims (1)

  1. 複数のCPUコアによって車両のエンジン制御を行なうための処理を行なうマルチコア制御装置であって、
    センサー出力値により把握されるエンジン回転数に応じた処理に関する割り込み要求をスレーブコアに対して行なうマスターコアと、
    前記マスターコアからの割り込み要求に応じた処理を行なう少なくとも一つのスレーブコアと、を備え、
    前記マスターコアは、
    割り込み要求した処理に関する優先度が低く設定されている状態で前記スレーブコアにより割り込み要求に応じた処理が行なわれなかった場合に、該割り込み要求した処理に関する優先度を高く設定し、
    該割り込み要求した処理に関する優先度が高く設定されている状態で前記スレーブコアにより割り込み要求に応じた処理が行なわれなかった場合に、所定のフェール処理を行なうことを特徴とする、
    マルチコア制御装置。
JP2008283531A 2008-11-04 2008-11-04 マルチコア制御装置 Pending JP2010113419A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008283531A JP2010113419A (ja) 2008-11-04 2008-11-04 マルチコア制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008283531A JP2010113419A (ja) 2008-11-04 2008-11-04 マルチコア制御装置

Publications (1)

Publication Number Publication Date
JP2010113419A true JP2010113419A (ja) 2010-05-20

Family

ID=42301950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008283531A Pending JP2010113419A (ja) 2008-11-04 2008-11-04 マルチコア制御装置

Country Status (1)

Country Link
JP (1) JP2010113419A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013253563A (ja) * 2012-06-07 2013-12-19 Toyota Motor Corp 内燃機関の制御装置
JPWO2014061141A1 (ja) * 2012-10-18 2016-09-05 トヨタ自動車株式会社 並列計算装置
JP2016165912A (ja) * 2015-03-09 2016-09-15 株式会社デンソー 電子制御装置
JP2017182627A (ja) * 2016-03-31 2017-10-05 株式会社デンソー マイクロコンピュータ

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013253563A (ja) * 2012-06-07 2013-12-19 Toyota Motor Corp 内燃機関の制御装置
JPWO2014061141A1 (ja) * 2012-10-18 2016-09-05 トヨタ自動車株式会社 並列計算装置
JP2016165912A (ja) * 2015-03-09 2016-09-15 株式会社デンソー 電子制御装置
JP2017182627A (ja) * 2016-03-31 2017-10-05 株式会社デンソー マイクロコンピュータ

Similar Documents

Publication Publication Date Title
US9058419B2 (en) System and method for verifying the integrity of a safety-critical vehicle control system
JP2010218277A (ja) 故障診断システム、電子制御ユニット、故障診断方法
JP5818938B1 (ja) 制御装置切替システム
JP2010128627A (ja) 車載用電子制御装置
JP2010113419A (ja) マルチコア制御装置
JP2009253736A (ja) ネットワークシステム
JP2007034910A (ja) マルチcpuシステム及びスケジューラ
JP5533789B2 (ja) 車載電子制御装置
JP2006327217A (ja) 車両制御用プログラム及び車両用電子制御装置
JP2009127574A (ja) 内燃機関の制御装置
JP2016113968A (ja) 車両用制御装置および制御方法
JP3923810B2 (ja) 車両用電子制御装置
JP2004234530A (ja) マイクロコンピュータのロジック開発装置
JP5928358B2 (ja) 情報処理装置、監視装置、制御装置
JP6519515B2 (ja) マイクロコンピュータ
JP3883849B2 (ja) 車両用電子制御装置
JP6913869B2 (ja) 監視装置、監視システムおよびコンピュータプログラム
JP6345447B2 (ja) 自動車用電子制御装置
JP2007133744A (ja) Cpu間データ転送装置
WO2018173910A1 (ja) 車両制御装置
US11434846B2 (en) Engine control device
JP2007283788A (ja) 車両用電子制御装置
JP6466269B2 (ja) 電子制御装置及びスタック領域の使用監視方法
JP7367620B2 (ja) エンジン制御装置
WO2013073009A1 (ja) マイコンシステム、監視マイコン