(57)【要約】【課題】不正なデータの書き換えを早く検出する。【解決手段】複数のＣＰＵ（Central Processing Unit）と、外部の周辺機器に関する制御データを記憶する記憶部とを具備するマルチコアシステムであって、複数のＣＰＵは、初期処理時、周辺機器の制御データを分割して制御データの不正な書き換えのチェック処理を実行する。【選択図】図１
2014229209.tif 000002
【特許請求の範囲】
【請求項１】
複数のＣＰＵ（Central Processing Unit）と、
外部の周辺機器に関する制御データを記憶する記憶部とを具備するマルチコアシステムであって、
前記複数のＣＰＵは、初期処理時、周辺機器の前記制御データを分割して前記制御データの不正な書き換えのチェック処理を実行することを特徴とするマルチコアシステム。
【請求項２】
前記記憶部は、複数の前記周辺機器に関する制御データを記憶し、
前記複数のＣＰＵは、初期処理時、優先順位の高い周辺機器の前記制御データから順番に分割して前記制御データの不正な書き換えのチェック処理を実行することを特徴とするマルチコアシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチコアシステムに関する。
【背景技術】
【０００２】
下記特許文献１には、複数のマイコンを備えた電子制御装置において、各マイコンに夫々内蔵された制御プログラムや制御データを、簡単且つ確実に書き換え可能とする電子制御装置が開示されている。該電子制御装置は、書き換え可能なＲＯＭ１４を有する２つのマイコン４、６を搭載したＥＣＵ２を備える。マイコン４の通信ポートＰ１は、外部通信ライン２４を介してメモリ書換装置３０に接続され、一方マイコン４の通信ポートＰ２は、内部通信ライン２５を介してマイコン６の通信ポートＰ１に接続されている。各マイコン４、６は、ＲＯＭ１４の内容を書き換えるための処理に移行する前に、通信ポートＰ１から受信した識別番号に「１」を加算した値を自分の識別番号として記憶すると共に、「１」を加算した後の識別番号を通信ポートＰ２から次段のマイコンへ送信する。この結果、各マイコン４、６内の書き換え不能なメモリ領域に予め識別番号を格納させる等しなくても済む。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０９−１６０７６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記従来技術では、一般的に、各マイコンのＲＯＭに各種データが格納されるが、信頼性保証の要求に答えるための不正なセッティング対策、つまり、製造業者以外の第３者による不正なデータ書き換えを可能な限り早く検出するための対策が施されていない。例えば、移動車両の場合では、モータの回転数の制限に関するデータが予めＲＯＭに記憶されているが、ＲＯＭに記憶されているデータを不正に書き換えることで、制限を超えてモータの回転数を上げることが可能であり、安全性を担保するためにも、ＲＯＭに記憶されているデータの不正な書き換えを移動車両の始動から可能な限り早く検出する必要がある。
【０００５】
本発明は、上述した事情に鑑みてなされたものであり、不正なデータの書き換えを早く検出することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明では、複数のＣＰＵ（Central Processing Unit）と、外部の周辺機器に関する制御データを記憶する記憶部とを具備するマルチコアシステムであって、前記複数のＣＰＵは、初期処理時、周辺機器の前記制御データを分割して前記制御データの不正な書き換えのチェック処理を実行する、という手段を採用する。
【０００７】
本発明では、第２の解決手段として、上記第１の解決手段において、前記記憶部は、複数の前記周辺機器に関する制御データを記憶し、前記複数のＣＰＵは、初期処理時、優先順位の高い周辺機器の前記制御データから順番に分割して前記制御データの不正な書き換えのチェック処理を実行する、という手段を採用する。
【発明の効果】
【０００８】
本発明によれば、複数のＣＰＵは、初期処理時、周辺機器の前記制御データを分割して前記制御データの不正な書き換えのチェック処理を実行することによって、不正なデータの書き換えを早く検出できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係るマルチコアシステムＡの概略構成図である。
【図２】本発明の一実施形態に係るマルチコアシステムＡの動作を示す模式図である。
【図３】本発明の一実施形態に係るマルチコアシステムＡの動作を示すタイミングチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の実施形態について説明する。
本実施形態に係るマルチコアシステムＡは、電気自動車（ＥＶ：Electric Vehicle）あるいはハイブリッド自動車（ＨＶ：Hybrid Vehicle）等の移動車両に搭載され、
共に移動車両に搭載されている周辺機器Ｄ１〜Ｄｎを制御するものであり、図１に示すように、第１演算制御部Ｅ１、第２演算制御部Ｅ２、第３の演算制御部Ｅ３及び通信バスＢを備える。
【００１１】
第１演算制御部Ｅ１は、図１に示すように、第１ＲＯＭ（Read Only Memory）１１、第１ＲＡＭ（Random Access Memory）１２及び第１ＣＰＵ（Central Processing Unit）１３を備えている。なお、第１ＲＯＭ１１は、本実施形態における記憶部である。
【００１２】
第１ＲＯＭ１１は、第１ＣＰＵ１３で実行される各種演算制御プログラム及びその他データを記憶する不揮発性メモリである。
第１ＲＡＭ１２は、第１ＣＰＵ１３が演算制御プログラムを実行して各種動作を行う際に、データの一時保存先となるワーキングエリアとして用いられる揮発性メモリである。
【００１３】
第１ＣＰＵ１３は、第１ＲＯＭ１１及び第１ＲＡＭ１と電気的に接続されると共に、周辺機器Ｄ１〜Ｄｎと通信バスＢを介して電気的に接続され、上記第１ＲＯＭ１１に記憶された各種演算制御プログラムに基づいて各種の演算処理を行うと共に各部と通信を行うことにより周辺機器Ｄ１〜Ｄｎの動作を制御する。
【００１４】
詳細については後述するが、第１ＣＰＵ１３は、初期処理時、後述する第２演算制御部Ｅ２の第２ＣＰＵ２３や、第３の演算制御部Ｅ３の第３のＣＰＵ３３と共に、優先順位の高い周辺機器Ｄ１〜Ｄｎの制御データから順番に分割して制御データの不正な書き換えのチェック処理を実行する。
【００１５】
上記周辺機器Ｄ１〜Ｄｎの制御データとは、周辺機器Ｄ１〜Ｄｎの動作に関する設定データである。なお、各周辺機器Ｄ１〜Ｄｎの制御データは、第１ＲＯＭ１１、後述する第２演算制御部Ｅ２の第２ＲＯＭ２１及び第３の演算制御部Ｅ３の第３のＲＯＭ３１各々に記憶されている。
【００１６】
第２演算制御部Ｅ２は、図１に示すように、第２ＲＯＭ２１、第２ＲＡＭ２２及び第２ＣＰＵ２３を備えている。なお、第２ＲＯＭ２１は、本実施形態における記憶部である。
【００１７】
第２ＲＯＭ２１は、第２ＣＰＵ２３で実行される各種演算制御プログラム及びその他データを記憶する不揮発性メモリである。
第２ＲＡＭ２２は、第２ＣＰＵ２３が制御プログラムを実行して各種動作を行う際に、データの一時保存先となるワーキングエリアとして用いられる揮発性メモリである。
【００１８】
第２ＣＰＵ２３は、第２ＲＯＭ２１及び第２ＲＡＭ２２と電気的に接続されると共に、周辺機器Ｄ１〜Ｄｎと通信バスＢを介して電気的に接続され、上記第２ＲＯＭ２１に記憶された各種演算制御プログラムに基づいて各種の演算処理を行うと共に各部と通信を行うことにより周辺機器Ｄ１〜Ｄｎの動作を制御する。詳細については後述するが、第２ＣＰＵ２３は、初期処理時、第１ＣＰＵ１３や第３のＣＰＵ３３と共に、優先順位の高い周辺機器Ｄ１〜Ｄｎの制御データから順番に分割して制御データの不正な書き換えのチェック処理を実行する。
【００１９】
第３の演算制御部Ｅ３は、図１に示すように、第３のＲＯＭ３１、第３のＲＡＭ３２及び第３のＣＰＵ３３を備えている。なお、第３のＲＯＭ３１は、本実施形態における記憶部である。
【００２０】
第３のＲＯＭ３１は、第３のＣＰＵ３３で実行される各種演算制御プログラム及びその他データを記憶する不揮発性メモリである。
第３のＲＡＭ３２は、第３のＣＰＵ３３が制御プログラムを実行して各種動作を行う際に、データの一時保存先となるワーキングエリアとして用いられる揮発性メモリである。
【００２１】
第３のＣＰＵ３３は、第３のＲＯＭ３１及び第３のＲＡＭ３２と電気的に接続されると共に、周辺機器Ｄ１〜Ｄｎと通信バスＢを介して電気的に接続され、上記第３のＲＯＭ３１に記憶された各種演算制御プログラムに基づいて各種の演算処理を行うと共に各部と通信を行うことにより周辺機器Ｄ１〜Ｄｎの動作を制御する。詳細については後述するが、第３のＣＰＵ２３は、初期処理時、第２ＣＰＵ２３や第３のＣＰＵ３３と共に、優先順位の高い周辺機器Ｄ１〜Ｄｎの制御データから順番に分割して制御データの不正な書き換えのチェック処理を実行する。
【００２２】
通信バスＢは、第１ＣＰＵ１３、第２ＣＰＵ２３及び周辺機器Ｄ１〜Ｄｎを電気的に相互接続するための通信線である。第１ＣＰＵ１３、第２ＣＰＵ２３及び周辺機器Ｄ１〜Ｄｎは、通信バスＢを介してデータを送受信する。
【００２３】
一方、周辺機器Ｄ１〜Ｄｎは、移動車両に搭載されている走行モータ、発電機及び昇圧回路等を制御するためのコントローラ等であり、通信バスＢを介して第１ＣＰＵ１３や第２ＣＰＵ２３とデータを送受信する。
【００２４】
また、各周辺機器Ｄ１〜Ｄｎは、第１ＣＰＵ１３や第２ＣＰＵ２３による書き込み及び読み取りの可否が予め設定されている。例えば、図１には、周辺機器Ｄ１に、「ＣＰＵ１３：Ｒ/Ｗ」「ＣＰＵ２３：Ｒ/―」と記載されている。これは、第１ＣＰＵ１３は、周辺機器Ｄ１に対してデータの書き込み及び読み取りが可能であり、一方、第２ＣＰＵ２３は、周辺機器Ｄ１に対してデータの書き込みが不可であり、読み取りのみが可能であることを示している。
【００２５】
次に、このように構成されたマルチコアシステムＡの動作について図２及び図３を参照して説明する。
第１ＣＰＵ１３、第２ＣＰＵ２３及び第３のＣＰＵ３３は、初期化処理時において、優先順位の高い周辺機器Ｄ１〜Ｄｎの制御データから順番に分割して制御データの不正な書き換えのチェック処理を実行する。例えば、第１ＣＰＵ１３がマスターＣＰＵである場合、第１ＣＰＵ１３が、スレーブＣＰＵである第２ＣＰＵ２３及び第３のＣＰＵ３３に指示を送信することによって上記処理を実現する。
【００２６】
具体的には、第１ＣＰＵ１３は、第１ＲＯＭ１１に記憶されているデータに基づいて周辺機器Ｄ１〜Ｄｎの制御データの優先順位を判断する。なお、第１ＲＯＭ１１に記憶されているデータとは、各周辺機器Ｄ１〜Ｄｎの制御データの優先順位に関するデータである。
【００２７】
そして、第１ＣＰＵ１３は、上記判断結果に基づいて第２ＣＰＵ２３及び第３のＣＰＵ３３に不正な書き換えのチェック処理を行う周辺機器Ｄ１〜Ｄｎの制御データの優先順位を出力する。そして、第１ＣＰＵ１３は、優先順位の最も高い周辺機器Ｄ１〜Ｄｎの制御データの３分割した１つのチェック処理を第２ＣＰＵ２３や第３のＣＰＵ３３と共に実行する。
【００２８】
一方、第２ＣＰＵ２３は、第１ＣＰＵ１３から制御データの優先順位が入力されると、優先順位の最も高い周辺機器Ｄ１〜Ｄｎの制御データの３分割した１つのチェック処理を第１ＣＰＵ１３や第３のＣＰＵ３３と共に実行する。また、第３のＣＰＵ３３も、第１ＣＰＵ１３から制御データの優先順位が入力されると、優先順位の最も高い周辺機器Ｄ１〜Ｄｎの制御データの３分割した１つの不正な書き換えのチェック処理を第１ＣＰＵ１３や第２ＣＰＵ２３と共に実行する。
【００２９】
そして、第１ＣＰＵ１３、第２ＣＰＵ２３及び第３のＣＰＵ３３は、優先順位の最も高い周辺機器Ｄ１〜Ｄｎの制御データのチェック処理を完了すると、次に優先順位の高い周辺機器Ｄ１〜Ｄｎの制御データのチェック処理を実行する。以降、第１ＣＰＵ１３、第２ＣＰＵ２３及び第３のＣＰＵ３３は、優先順位の高い周辺機器Ｄ１〜Ｄｎの制御データから順番に分割して制御データの不正な書き換えのチェック処理を実行する。
【００３０】
例えば、図２に示すように、優先順位が「高」、「中」、「低」の３つの制御データが、第１ＲＯＭ１１、第２ＲＯＭ２１及び第３ＲＯＭ３１各々の記憶領域に記憶されている場合、最初に、第１ＣＰＵ１３、第２ＣＰＵ２３及び第３のＣＰＵ３３によって第１ＲＯＭ１１に記憶されている優先順位が「高」である制御データのチェック処理が実行される。続いて、優先順位が「中」の制御データからチェック処理が実行され、最後に、優先順位が「低」の制御データからチェック処理が実行される。したがって、第１ＣＰＵ１３、第２ＣＰＵ２３及び第３のＣＰＵ３３の処理のタイミングチャートは、図３に示すようになる。なお、周辺機器Ｄ１〜Ｄｎが走行モータ、発電機及び昇圧回路のコントローラである場合、優先順位は、走行モータ、発電機及び昇圧回路という順番になる。
【００３１】
このような本実施形態によれば、第１ＣＰＵ１３、第２ＣＰＵ２３及び第３のＣＰＵ３３は、初期処理時、優先順位の高い周辺機器Ｄ１〜Ｄｎの制御データから順番に分割して制御データの不正な書き換えのチェック処理を実行することによって、優先順位の高い周辺機器Ｄ１〜Ｄｎの不正なデータの書き換えを早く検出できる。
【００３２】
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されることなく、例えば以下のような変形が考えられる。
（１）上記実施形態は、２つの第１ＣＰＵ１３及び第２ＣＰＵ２３を備えたものであるが、２つに限定されず、２つ以上であってもよい。また、その際、健全性を確認するＣＰＵと、健全性を確認されるＣＰＵは、固定であってもよいし、また各ＣＰＵお互いが、健全性を確認するようにしてもよい。
（２）上記実施形態は、移動車両に搭載されているが、移動車両以外に、家電製品等の電子機器に搭載するようにしてもよい。
【符号の説明】
【００３３】
Ａ…マルチコアシステム、Ｄ１〜Ｄｎ…周辺機器、Ｅ１…第１演算制御部、Ｅ２…第２演算制御部、Ｅ３…第３の演算制御部、Ｂ…通信バス、１１…第１ＲＯＭ（記憶部）、１２…第１ＲＡＭ、１３…第１ＣＰＵ、２１…第２ＲＯＭ（記憶部）、２２…第２ＲＡＭ、２３…第２ＣＰＵ、３１…第３のＲＯＭ（記憶部）、３２…第３のＲＡＭ、３３…第３のＣＰＵ
【図１】
2014229209.tif 000003
【図２】
2014229209.tif 000004
【図３】
2014229209.tif 000005