(57)【要約】【課題】自動車の使用が制限されることを抑制しながら、プログラムや制御データの更新を行える自動車用制御装置を提供する。【解決手段】３つのプロセッサコア５１ａ，５１ｂ、５１ｃを備えたマルチコアプロセッサを含む自動車用制御装置において、２つのプロセッサコア５１ａ，５１ｂは同一の処理機能を有し、これらのプロセッサコア５１ａ，５１ｂにおけるプログラム及び／又は制御データの更新を行う場合に、プロセッサコア５１ｃを更新制御用として割り付ける。そして、プロセッサコア５１ａについて更新処理を行っている場合には、プロセッサコア５１ｂで制御を継続させ、プロセッサコア５１ａについての更新処理が終了すると、プロセッサコア５１ａで制御を行わせ、プロセッサコア５１ｂについての更新処理を行わせる。【選択図】図５
2010198307.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサコアを備えたマルチコアプロセッサと、プログラム及び／又は制御データを格納する書換え可能なメモリとを含んだ自動車用制御装置において、
前記プログラム及び／又は制御データの更新を行う場合に、前記複数のプロセッサコアのうちの一部を更新制御用として割り付けることを特徴とする自動車用制御装置。
【請求項２】
前記更新制御用として割り付けられたプロセッサコア以外のプロセッサコアが、自動車制御における処理を継続的に実行することを特徴とする請求項１記載の自動車用制御装置。
【請求項３】
更新制御用としてプロセッサコアの割り付けに応じて、複数のプロセッサコア間で自動車制御における処理機能の割り付けを行うことを特徴とする請求項１又は２記載の自動車用制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチコアプロセッサを備えた自動車用制御装置に関する。
【背景技術】
【０００２】
特許文献１には、自動車の電子制御ユニットにおける更新プログラムデータを、インターネットなどの通信回線を利用して前記電子制御ユニットに送信し、プログラムデータの更新を行わせることが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−００４４９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、プログラムや制御データの更新を、イグニッションスイッチがＡＣＣ位置であることや車速が零であることなどを条件として行わせると、更新完了までイグニッションスイッチをＡＣＣ位置とした状態や停車状態で待機する必要があって、利便性が悪いという問題があった。
【０００５】
本発明は上記問題点に鑑みなされたものであり、自動車の使用が制限されることを抑制しながら、プログラムや制御データの更新を行える自動車用制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
そのため、本願発明では、複数のプロセッサコアを備えたマルチコアプロセッサを含む自動車用制御装置において、メモリにおけるプログラム及び／又は制御データの更新を行う場合に、前記複数のプロセッサコアのうちの一部を更新制御用として割り付けるようにした。
【発明の効果】
【０００７】
上記発明によると、少なくとも１つのプロセッサコアが、更新制御に影響されること無く動作できることで、自動車の使用が制限されることを抑制しながら、プログラムや制御データの更新を行える。
【図面の簡単な説明】
【０００８】
【図１】実施形態における自動車及び通信環境を示す図である。
【図２】実施形態における自動車の制御系の詳細を示すブロック図である。
【図３】実施形態における更新データのダウンロード・書き込み処理を示すフローチャートである。
【図４】実施形態における更新データへの切り替え処理を示すフローチャートである。
【図５】実施形態におけるマルチコアプロセッサの構成及び更新処理の第１例を示す図である。
【図６】実施形態におけるマルチコアプロセッサの構成及び更新処理の第２例を示す図である。
【図７】実施形態におけるマルチコアプロセッサの構成及び更新処理の第３例を示す図である。
【図８】実施形態におけるマルチコアプロセッサの構成及び更新処理の第４例を示す図である。
【図９】実施形態におけるマルチコアプロセッサの構成及び更新処理の第５例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本発明の実施形態を図面に基づいて詳細に説明する。
図１は、実施形態における自動車及び車載の制御装置の概要を示す。
図１に示す自動車１は、エンジン２の出力トルクを、自動変速機３を介して駆動輪４に伝達する駆動システムを有している。
【００１０】
そして、前記自動変速機３は、ＡＴコントロールユニット（制御装置）５からの操作信号によって変速段（ギア比）などが制御される。
前記ＡＴコントロールユニット５は、図２に示すように、２つ以上のプロセッサコア５１ａ，５１ｂ・・・を備えたマルチコアプロセッサ５３を含んで構成される。
【００１１】
前記プロセッサコア５１は、それぞれにＣＰＵ５３ａ，ＲＡＭ５３ｂ，ＥＥＰＲＯＭ５３ｃを含んで構成される。
尚、プロセッサコア５１は、命令発行器や演算器などが組み合わされて、ひとつの部品として動作するものであれば良く、ＣＰＵ５３ａ，ＲＡＭ５３ｂ，ＥＥＰＲＯＭ５３ｃを含む構成に限定されない。
【００１２】
前記ＡＴコントロールユニット５には、自動車（車両）１の走行速度を検出する車速センサ５４ａや、前記エンジン２のアクセル開度を検出するアクセルセンサ５４ｂや、エンジン２の運転・停止のメインスイッチであるイグニッションスイッチ（ＩＧＮスイッチ）５４ｃなどを含む各種センサ・スイッチ５４からの信号が入力され、これらの信号や制御データ（制御定数）をプログラムに従って演算処理することで、前記ＡＴコントロールユニット５に操作信号（例えば、油圧回路に設けられたソレノイドの制御信号など）を出力する。
【００１３】
尚、自動変速制御（入出力処理，変速制御，ライン圧制御などを含む）に用いる制御データ及び制御プログラムは、前記電気的に書き換え可能な不揮発性メモリであるＥＥＰＲＯＭ５３ｃに格納されている。
【００１４】
また、ＡＴコントロールユニット５には、外部のサーバ６と無線で通信するための無線通信装置７が車両ネットワーク８を介して接続され、この無線通信装置７によってインターネット１１や自動車専用の通信網などを介してサーバ６に接続できるようになっている。
【００１５】
前記サーバ６は、自動車のメーカ・ディーラー・整備工場（サービス工場）、又は、情報センタなどに設置され、前記制御データ及び／又はプログラムの更新データの情報が格納され、該更新データを、適用すべき自動車１（ＡＴコントロールユニット５）に向けて配信する。
【００１６】
また、自動車１（ＡＴコントロールユニット５）側から前記サーバ６に対して、プログラム及び／又は制御データの更新履歴や故障診断の履歴の情報などを、自動車１（ＡＴコントロールユニット５）個々の識別情報と共にアップロードさせることができる。
【００１７】
これにより、サーバ６側では、プログラム及び／又は制御データの更新の進捗状況を把握することができ、例えば、必要な更新がなされていない自動車を識別して、整備のために入庫したときに更新対象として識別したり、自動車のユーザーに更新の促進を促す通知を行ったりすることができる。
【００１８】
また、自動車１の運転席などに設置されるディスプレイ９ａや図外のスピーカを含む表示システム９が車両ネットワーク８に接続されていて、該表示システム９によって自動車１の運転者に対して各種の情報を、文字・絵など画像や、音声やブザー音などの音によって伝達できるようになっている。
【００１９】
更に、ＡＴコントロールユニット５は、前記エンジン２を制御するエンジンコントロールユニット１０などの他の車載コントロールユニットと前記車両ネットワーク８を介して接続されており、他のコントロールユニットとの間で、センサによる検出結果や他のコントロールユニットに対する指令信号などの各種データを送受信できるようになっている。
【００２０】
ところで、前記ＡＴコントロールユニット５のメモリ（ＥＥＰＲＯＭ５３ｃ）に格納されている制御データ及びプログラムを、自動車１の製造工場から出荷された後に、より好適なものに更新することで、ＡＴコントロールユニット５における処理機能の改善を図ることができる。
【００２１】
更に、前記制御データ及びプログラムの更新を、自動車の販売店や整備工場などの特定の場所で行わせるのではなく、ユーザーの使用環境の中で随時行わせるようにすれば、更新のためにユーザーが特定の場所に出向く必要がなく、必要な更新を遅滞なく適用させることができる。
【００２２】
そこで、本実施形態では、前記無線通信装置７を介してサーバ６から前記制御データ及び／又はプログラムの更新データを取り込んで、制御データ及び／又はプログラムの更新処理を行うようになっており、以下では、前記ＡＴコントロールユニット５における更新処理の詳細を説明する。
【００２３】
但し、前記無線通信を介して制御データやプログラムの更新データを入手して行われる更新処理（リプログラム）は、ユーザーの使用環境で行われるものに限定されず、例えば、自動車の組み立て工場や整備工場やディーラーなどでも行わせることが可能である。
【００２４】
図３のフローチャートは、自動車１の制御システムに電源が投入されている状態、例えばエンジン２のイグニッションスイッチ５４ｃ（自動車のメインスイッチ）のオン状態で、ＡＴコントロールユニット５が単位時間毎に実行する更新処理ルーチンを示す。
【００２５】
まず、ステップＳ１０１では、前記サーバ６との通信を前記無線通信装置７によって行う。
前記サーバ６との通信は、定期又は不定期のいずれであってもよく、定期の通信には、一定の時間間隔毎の通信、指定された曜日又は時刻毎の通信などが含まれ、不定期の通信には、運転者による更新処理の実行指示に基づいてなされる通信などが含まれる。
【００２６】
但し、更新処理のために有線で整備端末器やサーバなどと接続された場合にも、ステップＳ１０２以下の処理は、同様に適用させることができる。
サーバ６との通信が確立すると、前記ＡＴコントロールユニット５は、コントロールユニット個々の識別情報や更新履歴の情報などをサーバ６に送信し、サーバ６側で、更新処理が必要であるか否かを判断できるようになっている。
【００２７】
ステップＳ１０２では、制御データ及び／又はプログラムの更新要求があるか否かを判断する。
前記更新要求は、サーバ６側で更新処理が必要であると判断した場合の他、ユーザー（運転者）や自動車の整備士などが、更新を指示した場合が含まれ、更新の指示は、専用のスイッチ或いは前記ディスプレイ９ａに組み込まれたタッチパネルなどを用いて行わせることができる。
【００２８】
また、自動車の操作機器（イグニッションスイッチ、ペダル、ハンドルなど）が特定のパターンで操作された場合に、更新の指示であると判断されるようにすることができる。
ステップＳ１０２で更新要求がないと判断された場合には、更新処理は不要であるので、そのまま本ルーチンを終了させる。
【００２９】
一方、ステップＳ１０２で更新要求があると判断された場合には、更新処理を実行させるために、ステップＳ１０３以降へ進む。
ステップＳ１０３では、更新データをサーバ６側からダウンロードしている途中であるか否かを判断し、ダウンロード途中でなく、更新データのダウンロードが開始される前である場合には、ステップＳ１０４へ進み、更新データのダウンロードに備えて待機させる。
【００３０】
尚、更新データのダウンロードの途中で異常終了してしまった場合（例えば、途中で電源がオフされた場合などの場合）、ダウンロード途中であるとして、途中からダウンロードが再開されるようにすることができ、また、ダウンロードの途中で異常終了してしまった場合に、更新データのダウンロードを最初からやり直すようにしてもよい。
【００３１】
一方、更新データのダウンロード途中であると判断されると、ステップＳ１０５へ進み、ダウンロードした更新データを格納するメモリ（ＥＥＰＲＯＭ５３ｃ）におけるダウンロード状況、換言すれば、前回までに格納した更新データのメモリ上のアドレスを取得する。
【００３２】
そして、次のステップＳ１０６では、前回までのダウンロードに継続して続きの更新データをダウンロードすべく待機する。
ステップＳ１０７では、前記表示システム９などによって更新データのダウンロード状態にあることを運転者（又はオペレータや整備士）に通知する。
【００３３】
前記ダウンロード状態の通知は、専用のランプを用いて行わせることができ、また、前記表示システム９として、ナビゲーション・システムの表示装置を用いることができる。
但し、更新データのダウンロード状態の通知を省略することができる。
【００３４】
ステップＳ１０８では、制御データ及び／又はプログラムの更新データ（更新された制御データ及び／又は更新されたプログラム）を前記サーバ６からダウンロードし、ＡＴコントロールユニット５のメモリ（ＥＥＰＲＯＭ５３ｃ）への書き込みを実行する。
【００３５】
尚、ダウンロード・書き込み中にイグニッションスイッチ５４ｃがオフされた場合に、ＡＴコントロールユニット５への電源投入状態を保持させ、ダウンロード・書き込みの完了後に、ＡＴコントロールユニット５が電源を自己遮断するように構成できる。
【００３６】
また、ダウンロード・書き込み中にイグニッションスイッチ５４ｃがオフされた場合に、ダウンロード・書き込みが未完であることを示す情報（最終書き込みアドレスなど）を、ＡＴコントロールユニット５の不揮発性メモリ及び／又はサーバ６などの外部装置に備えられた不揮発性メモリに記憶させてから、ＡＴコントロールユニット５が電源を自己遮断するように構成できる。
【００３７】
そして、ステップＳ１０９では、更新データのダウンロード及びメモリへの書き込みが終了したか否かを判断し、ダウンロード・書き込みが終了していない場合には、そのまま本ルーチンを終了させることで、次回も継続して更新データのダウンロード・書き込みを行わせるようにする。
【００３８】
一方、ステップＳ１０９でダウンロード・書き込みが終了していると判断された場合には、ステップＳ１１０へ進んで、プログラム（及び／又は制御データ）の切り替え要求があるか否かを判断し、プログラムの切り替え要求がある場合には、ステップＳ１１１へ進んで、更新前のプログラムから、更新されたプログラムに切り替えて、自動変速制御を行わせる。
【００３９】
前記プログラムの切り替え要求は、更新データと共に、前記サーバ６から送信させることができる。
また、プログラムの切り替え要求として、次回の運転開始時からの更新プログラムの使用を指示させることもできる。
【００４０】
即ち、更新されたプログラム（最新バージョンのプログラム）や更新された制御データ（最新バージョンの制御データ）は、更新前（旧バージョン）のプログラム・制御データの格納領域とは異なる領域に書き込まれ、更新前（旧バージョン）のプログラム・制御データを用いた制御をそのまま継続できるようになっている。
【００４１】
従って、更新前（旧バージョン）のプログラム・制御データを用いた制御を、ダウンロード・書き込みが終了した後も継続させ、次回の運転開始時（イグニッションスイッチ５４ｃのオン時）や停車時など、プログラム切り替えに好適なタイミングになるのを待って、最新バージョンのプログラムを用いた制御を開始させることができる。
【００４２】
図４のフローチャートは、前記プログラムの切り替え要求の取得、及び、切り替え処理の流れを示すものである。
まず、イグニッションスイッチ５４ｃがオンされてステップＳ２０１へ進むと、プログラムの切り替え要求、即ち、プログラムの更新データがダウンロードされていて、ダウンロードした更新プログラムに従った制御の開始要求があるか否かを判断する。
【００４３】
前回運転時に、更新データがダウンロードされ、該更新データの適用が次回運転開始時からに設定・記憶されている場合には、ステップＳ２０１で切り替え要求有りと判断されて、ステップＳ２０２へ進む。
【００４４】
ステップＳ２０２では、切り替え要求に従って、自動変速制御に用いるプログラムを、更新前のプログラムから、ダウンロードされた更新プログラムに切り替え、更新プログラムに従って、自動変速機３の制御を行わせるようにする。
【００４５】
即ち、前回の運転中に、更新データがダウンロードされても、更新データの適用が次回運転時からに設定された場合には、更新データのダウンロード後も旧バージョンのままでのプログラムに従って自動変速機３の制御を行わせ、一旦運転が停止させて、運転再開されるとき（エンジン２が再始動されるとき）に更新プログラムへの切り替えを実行し、運転再開後は最初から更新プログラムに基づき自動変速機３の制御を行わせる。
【００４６】
上記のように、次回運転時まで待って更新プログラムに切り替えるようにすれば、運転途中で制御プログラムが切り替わることで自動変速機３の制御に不具合が生じることがなく、プログラムの切り替えによる運転性の低下を抑制できる。
【００４７】
ステップＳ２０１で切り替え要求が無いと判断された場合、ステップＳ２０２を迂回してステップＳ２０３へ進むことで、前回運転時の終了時点で用いていたプログラムに従って制御がなされるようにする。
【００４８】
ステップＳ２０３では、自動変速機３の制御を実行する。
ステップＳ２０４では、運転中に、更新データのダウンロード要求と共に、プログラムの切り替え要求を取得する。
【００４９】
そして、ステップＳ２０５では、ダウンロードした更新データに基づく制御への切り替えを直ちに行うことが要求されているか否かを判断する。
例えば、自動変速制御の開発者・設計者が、ブログラムの更新データを作成するに当たって、その重要度・緊急性を判断し、更新データのダウンロード時に、前記重要度・緊急性に基づいて、プログラムの切り替えを次回運転時から（次回のイグニッションスイッチ５４ｃのオン時に）行わせるか、直ちに更新データを適用させるかが指示するようにしておく。
【００５０】
尚、前記重要度・緊急性が高い更新とは、例えば、走行に大きな影響が出るプログラム・制御データの不具合を修正するための更新などであり、一方、前記重要度・緊急性が低い更新とは、例えば、運転性能の向上や変速ショックを低減するための更新である。
【００５１】
ステップＳ２０５で、ダウンロードした更新データへの切り替えを直ちに行うことが要求されていると判断されると、ステップＳ２０６へ進んで、更新データ（更新プログラム）への切り替えを直ちに行わせ、次回運転時からの更新データの適用が指定されている場合には、ステップＳ２０６を迂回してステップＳ２０３へ戻り、更新データを適用せずに旧バージョンのままのプログラムで自動変速機３の制御を継続させる。
【００５２】
ここで、ダウンロードした更新データを直ぐに適用することが指示される場合であっても、高速走行中や右折・左折中などにおいて更新プログラムへの切り替えがなされ、例えば更新前と異なる変速段（ギア比）が選択されると、運転性を急変させることになって好ましくない。
【００５３】
そこで、ダウンロードした更新データを直ぐに適用することが指示される場合であっても、そのときの走行状態が切り替えの実行に相応しくない高速走行中や右折・左折中などである場合には、切り替えの実行を見送り、低速で真っ直ぐ運転されている状態や自動車１が停止状態になるのを待って、更新プログラムへの切り替えを実行させるようにすることができる。
【００５４】
また、ダウンロードした更新データを直ぐに適用すること（更新プログラムへの即時の切り替え）が指示されたものの、そのときの走行状態が、更新プログラムへの切り替えの実行に相応しくない場合には、運転者に対し、停車を促す通知や、停車操作及び停車後にイグニッションスイッチ５４ｃをオフし再度オンする操作を行うことを促す通知などを、表示システム９等を用いて行い、運転者が前記通知に従って、自動車１を停止させた時点、或いは、停車後イグニッションスイッチ５４ｃをオフし再度オンする操作を行った時点で、更新プログラムへの切り替えを行わせるようにすることができる。
【００５５】
即ち、ダウンロードした更新データを直ぐに適用すること（更新プログラムへの即時の切り替え）が指示されたものの、そのときの走行状態が、更新プログラムへの切り替えの実行に相応しくない場合には、更新プログラムへの切り替えを実行するのに好ましい運転状態への移行を運転者に対して促し、実際に、切り替えを実行するのに好ましい運転状態になった時点で、更新プログラムへの切り替えを行わせる。
【００５６】
ところで、上記のように、自動車１の走行中であっても、更新データの書き込み要求があった場合にサーバ６から更新データのダウンロード及び書き込みを行うためには、ＡＴコントロールユニット５による自動変速機３の制御を継続させつつ、更新データのダウンロード及び書き込みを行わせる必要がある。
【００５７】
そこで、本実施形態では、前述のように、ＡＴコントロールユニット５が、マルチコアプロセッサ５３を備える構成において、以下のようにして、更新データのダウンロードや書き込みを行わせる。
【００５８】
図５は、マルチコアプロセッサ５３の構成、及び、更新書き込みにおけるマルチコアプロセッサ５３の処理パターンの第１例を示す。
図５に示す例では、３つのプロセッサコア５１ａ，５１ｂ，５１ｃが、それぞれにＣＰＵ５３ａ，ＲＡＭ５３ｂ，ＥＥＰＲＯＭ５３ｃなどを含んで構成され、そのうちの２つのプロセッサコア５１ａ，５１ｂが、同じ入力に基づき自動変速機３への操作量の演算処理を行って、双方の演算結果をそれぞれに比較して、演算処理の正当性を判断する。
【００５９】
即ち、プロセッサコア５１ａ，５１ｂは、自動変速機３を制御する同等の制御機能（プログラム）をそれぞれに有しており、共に正常に動作する場合には、双方の演算結果は同じになるはずであり、例えば、プロセッサコア５１ａに異常が生じて演算結果に影響が出ると、プロセッサコア５１ｂ側の演算結果と異なる値になる。
【００６０】
そこで、双方の演算結果が一致し、プロセッサコア５１ａ，５１ｂが共に正常に機能していると判断される場合には、例えばメインであるプロセッサコア５１ａの演算結果を自動変速機３に出力させ、双方の演算結果が一致せずにプロセッサコア５１ａ及び／又はプロセッサコア５１ｂが異常であると判断される場合には、変速段（ギヤ比）を固定するなどの予め定められたフェイルセーフ処理に移行させる。
【００６１】
上記のようにして自動変速機３を制御するマルチコアプロセッサ５３において、演算結果の比較に用いない（自動変速機３の操作量演算を行わない）プロセッサコア５１ｃを更新制御用として割り付け、プロセッサコア５１ｃのメモリ（ＥＥＰＲＯＭ５３ｃ）に更新制御プログラムを記憶させておく。
【００６２】
そして、プログラム・制御データの更新データの書き込み要求があった場合には、プロセッサコア５１ｃによって、プロセッサコア５１ａ，５１ｂへの更新データの書き込みを、個別かつ時系列に実行させるようにする。
【００６３】
即ち、プロセッサコア５１ｃは、前記サーバ６の間で通信を行い、更新データの書き込み要求を判断すると、更新データをダウンロードして、一旦自身のメモリ（ＥＥＰＲＯＭ５３ｃ）に格納する。
【００６４】
そして、例えば、プロセッサコア５１ａへの書き込みから開始する場合には、前述の相互比較による正当性の判断を停止し、プロセッサコア５１ｂ側の演算結果を自動変速機３に出力し、プロセッサコア５１ａの演算結果を用いずにプロセッサコア５１ｂで自動変速機３の変速動作等が制御される状態にする。
【００６５】
これにより、プロセッサコア５１ａは自動変速機３の制御から切り離されたことになるので、プロセッサコア５１ｃは、前記更新制御プログラムに従って、プロセッサコア５１ａのメモリ（ＥＥＰＲＯＭ５３ｃ）に更新データを書き込む。
【００６６】
そして、プロセッサコア５１ａについて更新データの書き込みが完了すると、自動変速機３の制御に用いるプロセッサコアをプロセッサコア５１ｂからプロセッサコア５１ａに切り替え、プロセッサコア５１ｃは、プロセッサコア５１ｂについて更新データの書き込みを行う。
【００６７】
プロセッサコア５１ｂについて更新データの書き込みが完了すれば、プロセッサコア５１ａ，５１ｂの双方について書き込みが完了したことになるので、プロセッサコア５１ａ，５１ｂの双方で自動変速機３の制御に用いる操作量の演算を行わせ、双方の演算結果を対比して正当性の判断を行う制御に復帰させる。
【００６８】
ここで、更新後のプログラムへの切り替えは、書き込み完了時に即時に行わせることができ、また、次回運転時からであっても良い。
但し、プロセッサコア５１ａ，５１ｂへの更新データの書き込みは、双方の演算結果が同じであってプロセッサコア５１ａ，５１ｂが共に正常であると判断されていることを前提に行われる。
【００６９】
上記のようにして、更新データの書き込みを行わせれば、プロセッサコア５１ａについて書き込みを行っている間は、プロセッサコア５１ｂで自動変速機３を制御させることができ、また、プロセッサコア５１ａについての書き込み完了後は、更新データの書き込みが完了したプロセッサコア５１ａで自動変速機３を制御させながら、プロセッサコア５１ｂについて更新データの書き込みを行わせることができる。
【００７０】
従って、自動変速機３の制御を継続させながら、換言すれば、自動車１の運転を継続しながら、ＡＴコントロールユニット５における更新データの書き込みを行える。
これにより、更新データの書き込みのために、使用途中の自動車１を停車させるなどの手間を省くことができ、かつ、更新データでの制御を遅滞なく開始させることができる。
【００７１】
尚、上記第１例において、プログラムの更新バージョン（更新データ）を正しく書き込むことができた場合には、更新前の従前のプログラムを直ちに消去することができる。
次に、マルチコアプロセッサ５３の構成、及び、更新書き込みにおけるマルチコアプロセッサ５３の処理パターンの第２例を示す。
【００７２】
図６は、第２例におけるマルチコアプロセッサ５３の構成を示す。
図６に示すマルチコアプロセッサ５３は、それぞれにＣＰＵ５３ａ，ＲＡＭ５３ｂ，ＥＥＰＲＯＭ５３ｃを含んで構成される２つのプロセッサコア５１ａ，５１ｂを備え、プロセッサコア５１ａ側のメモリ（ＥＥＰＲＯＭ５３ｃ）には、自動変速機３の変速動作や油圧などの主要な制御を実行するためのプログラム及び制御データが格納されていて、プロセッサコア５１ａによって自動変速機３が制御されるように構成されている。
【００７３】
一方、プロセッサコア５１ｂ側のメモリ（ＥＥＰＲＯＭ５３ｃ）には、自動変速機３に関連する他の処理機能（例えば診断機能など）のためのプログラムと共に、自動変速機３の前記主要な制御を簡易的に実行するための簡易版のプログラムが格納されている。
【００７４】
前記簡易版のプログラムとは、プロセッサコア５１ａにおける制御の内容に対して、制御内容を絞り込み、簡略的に（プロセッサ負荷を減じて）動作を行わせることができるように設定されたものであり、例えば、ノーマルモード・パワーモードの切り替え制御、平坦路モード・降坂モードの切り替え制御、変速ショックを緩和するためのトルクダウン要求出力制御、各種の学習制御などを省略させることができる。
【００７５】
また、前記プロセッサコア５１ａは、後述するように、更新制御用として割り付けられるので、プロセッサコア５１ａに備えられたメモリ（ＥＥＰＲＯＭ５３ｃ）には、自動変速機３の制御用のプログラム及び制御データと共に、更新制御プログラムを格納させておく。
【００７６】
尚、前記プロセッサコア５１ａが、書き換えプログラムと簡易版のプログラムとを備え、更新制御と簡易版の自動変速制御を行うものの、診断制御等は行わない構成であってもよい。
【００７７】
上記のように、処理機能が割り当てられるプロセッサコア５１ａ，５１ｂにおいて、前記プロセッサコア５１ａにおけるプログラム及び／又は制御データの更新が要求されると、自動変速機３における変速動作を制御するための処理をプロセッサコア５１ａからプロセッサコア５１ｂで実行させ、前記簡易版のプログラムに従って自動変速機３の変速動作を制御させるようにする。
【００７８】
尚、プロセッサコア５１ｂに割り付けられている診断機能等は、変速制御によりも優先度が低いので、プロセッサコア５１ｂが簡易版のプログラムに従って自動変速機３を制御している場合には、自動変速制御の優先度を診断機能等よりも高く設定し、自動変速制御に影響を与えない範囲で診断機能等を実施するか、又は、診断機能等を一時的に停止させても良い。
【００７９】
自動変速制御に影響を与えない範囲で診断機能を実施するために、診断対象のデバイスのうち、重要度の高いものについては引き続き診断を行わせ、重要度が比較的低いものについては、診断対象から一時的に外すことができる。
【００８０】
そして、自動変速制御から解放されたプロセッサコア５１ａを更新制御用として割り付け、プロセッサコア５１ｂが書き換えプログラムに従って、サーバ６から更新データをダウンロードし、かつ、プロセッサコア５１ａに備えられたメモリ（ＥＥＰＲＯＭ５３ｃ）に記憶されている自動変速制御用のプログラム・制御データについての更新処理を行う。
【００８１】
プロセッサコア５１ａにおける更新処理（更新プログラムの書き込み）が完了すると、それまで一時的にプロセッサコア５１ｂで行わせていた簡易的な自動変速制御を、プロセッサコア５１ａ側での通常制御に戻し、更新後のプログラム・制御データを用いた制御を開始させる。
【００８２】
上記のように、プロセッサコア５１ａについての書き換えが行われている最中は、簡易的な制御ではあるものの、プロセッサコア５１ｂ側で自動変速制御を継続させ、プロセッサコア５１ａのメモリに記憶されているプログラム及び／又は制御データの更新を行わせるから、自動変速制御を継続させながら更新処理を行え、かつ、更新動作（更新データの書き込み処理）が自動変速制御に不具合を生じさせることがなく、更新データの書き込み及び更新後のプログラム・制御データに基づく制御を即時に実行させることができる。
【００８３】
次に、マルチコアプロセッサ５３の構成、及び、更新書き換えにおけるマルチコアプロセッサ５３の処理パターンの第３例を示す。
図７は、第３例におけるマルチコアプロセッサ５３の構成を示し、それぞれにＣＰＵ５３ａ，ＲＡＭ５３ｂ，ＲＯＭ５３ｃを含んで構成される２つのプロセッサコア５１ａ，５１ｂと、各プロセッサコア５１ａ，５１ｂからアクセス可能なＥＥＰＲＯＭ５３ｄ（書き換え可能な不揮発性メモリ）と、を備えている。
【００８４】
ここで、プロセッサコア５１ｂは更新制御用として割り付けられるプロセッサコアであり、例えば、自動変速制御以外の自動変速機３に関連する他の処理機能（例えば診断機能など）を実行するためのプログラムが、内在されるメモリに記憶されると共に、前記メモリには更新制御用のプログラムが記憶されている。
【００８５】
そして、プロセッサコア５１ｂは、更新制御を行わない場合には、前記診断制御などを実行するようになっているが、プロセッサコア５１ｂを更新制御専用のプロセッサコアとすることができる。
【００８６】
一方、プロセッサコア５１ａは、自動変速機３の制御を行うものであるが、自動変速制御用のプログラム及び制御データは、前記ＥＥＰＲＯＭ５３ｄに記憶されている。
前記プロセッサコア５１ｂは、前記ＥＥＰＲＯＭ５３ｄに記憶されているプログラム及び／又は制御データの更新要求があると、サーバ６から更新データをダウンロードし、更新データを、前記ＥＥＰＲＯＭ５３ｄに書き込む。
【００８７】
前記更新データの書き込みにおいて、少なくも今回の更新直前のバージョンとして記憶されているプログラム・制御データをそのまま残すように上書きはせず、別の領域に更新された最新バージョンのプログラム・制御データを記憶させる。
【００８８】
ここで、前記更新バージョンの書き込み中は、前記プロセッサコア５１ａが、前記ＥＥＰＲＯＭ５３ｄに記憶されているプログラム・制御データであって、前記更新前のバージョンのプログラム・制御データを参照して、自動変速制御を継続する。
【００８９】
そして、前記更新バージョンの書き込み完了時、又は、書き込み完了後の再起動時に、前記ＥＥＰＲＯＭ５３ｄに記憶されているプログラム・制御データのうち、最新バージョンのもの（最近に書き込みが行われたもの）を判定し、最新プログラムを起動して自動変速制御を行う。
【００９０】
この場合も、プロセッサコア５１ｂによる更新データのダウンロード及び書き込み中も、プロセッサコア５１ａが旧バージョンに基づいて自動変速制御を継続し、書き込み完了を待って更新後の最新プログラムに基づく制御に切り換えるから、ダウンロード及び書き込み動作が自動変速制御に不具合を生じさせることがなく、また、更新データに基づく制御を即時に実行させることができる。
【００９１】
次に、マルチコアプロセッサ５３の構成、及び、更新書き換えにおけるマルチコアプロセッサ５３の処理パターンの第４例を示す。
図８は、第４例におけるマルチコアプロセッサ５３の構成を示し、それぞれにＣＰＵ５３ａ，ＲＡＭ５３ｂ，ＥＥＰＲＯＭ５３ｃを含んで構成される２つのプロセッサコア５１ａ，５１ｂを備えている。
【００９２】
ここで、プロセッサコア５１ｂは書換え制御用として割り付けられるプロセッサコアであり、例えば、自動変速制御以外の自動変速機３に関連する他の処理機能（例えば診断機能など）を実行するためのプログラムが、内在されるメモリに記憶されると共に、前記メモリには更新制御用プログラムが記憶されている。
【００９３】
そして、プロセッサコア５１ｂは、書き込み制御を行わない場合には、前記診断制御などを実行するようになっているが、プロセッサコア５１ｂを更新制御専用のプロセッサコアとすることができる。
【００９４】
一方、プロセッサコア５１ａは、自動変速制御を行うものであり、前記ＥＥＰＲＯＭ５３ｄに記憶されている自動変速制御用のプログラム及び制御データに従って制御を行うが、前記ＥＥＰＲＯＭ５３ｄの記憶領域は、メイン領域（通常領域）とサブ領域（ミラー領域）とに分けられており、前記メイン領域とサブ領域とのいずれか一方の記憶（データプログラム及び制御データ）に基づいて自動変速制御を行う。
【００９５】
前記プロセッサコア５１ｂは、更新データの書き込みの要求があると、プロセッサコア５１ａが参照しているＲＯＭ領域ではない側、例えば、メイン領域（通常領域）に記憶されているプログラム及び制御データに基づいて変速制御を行っている場合には、サブ領域（ミラー領域）のプログラム・制御データの書き換えを行う。
【００９６】
そして、次回始動時に、プロセッサコア５１ａが、書き換えが行われたサブ領域（ミラー領域）のプログラム・制御データに従って自動変速制御を行うように切り替え、かつ、メイン領域（通常領域）の記憶内容が、サブ領域（ミラー領域）の記憶内容と同じになるように、換言すれば、サブ領域（ミラー領域）に記憶されている更新後のプログラムと同じになるように、メイン領域（通常領域）の記憶内容を書き換える。
【００９７】
再度の書き換え要求が発生すると、今度は、サブ領域（ミラー領域）に記憶されているプログラムに基づく自動変速制御を継続させながら、メイン領域（通常領域）に記憶されているプログラム及び／制御データの書き換えを行い、再起動時に、メイン領域（通常領域）に記憶されているプログラム及び制御データ、即ち、更新済みの最新バージョンのプログラムに基づく制御に切り換える。
【００９８】
上記第４例においても、プロセッサコア５１ｂによる更新データのダウンロード及び書き込み中も、プロセッサコア５１ａが旧バージョンに基づいて自動変速制御を継続するから、書き換え動作が自動変速制御に不具合を生じさせることがなく、書き換えのために自動車を停車させるなどの手間をかける必要がない。
【００９９】
但し、制御に用いるプログラムとして、即時に更新バージョンへの切り替えが要求される場合には、停車や再起動を運転者に促して、更新バージョンへの切り替えを実行できるようにすれば良い。
【０１００】
次に、マルチコアプロセッサ５３の構成、及び、更新書き換えにおけるマルチコアプロセッサ５３の処理パターンの第５例を示す。
図９に示すように、この第５例は、プロセッサコア５１ａ，５１ｂが、それぞれにＣＰＵ５３ａを備える一方、ＲＡＭ５３ｂ，ＥＥＰＲＯＭ５３ｃとして各ＣＰＵ５３ａに共通のものを備えており、各プロセッサコア５１ａ，５１ｂ（各ＣＰＵ５３ａ）は、それぞれに異なる処理機能が割り付けられている。
【０１０１】
ここでは、図９（Ａ）に示すように、プロセッサコア５１ａがＡ，Ｂの機能を果たし、プロセッサコア５１ｂがＣ，Ｄの機能を果たしているものとする。
そして、プロセッサコア５１ｂが更新制御用として割り付けられ、例えば、プロセッサコア５１ａに割り付けられている機能のうちのＡについて、プログラム及び／又は制御データをプロセッサコア５１ｂによって更新するようにする。
【０１０２】
ここで、プロセッサコア５１ｂが更新制御を行うことで、プロセッサコア５１ｂの演算負荷が上がり、プロセッサコア５１ｂに割り付けられている、更新制御を含む機能が充分に動作しなくなってしまう可能性がある。
【０１０３】
そこで、プロセッサコア５１ｂを制御制御用として割り付けて、プロセッサコア５１ａに割り付けられている機能のためのプログラム及び／又は制御データの更新を行う場合には、図９（Ｂ）に示すように、プロセッサコア５１ｂに割り付けられていた機能Ｃ，Ｄの少なくも一部を、プロセッサコア５１ａに割り付け、プロセッサコア５１ｂを更新制御専用とするか、機能を減らして演算負荷（ジョブ負荷）を軽減させる。
【０１０４】
但し、単にプロセッサコア５１ｂに割り付けられていた機能を、プロセッサコア５１ａに割り付けるだけでは、プロセッサコア５１ａの演算負荷（ジョブ負荷）が増大して、今度は、プロセッサコア５１ａに割り付けられている機能が充分に動作しなくなってしまう可能性がある。
【０１０５】
そこで、プロセッサコア５１ａに割り付けられている本来の機能、及び、書き換え動作のためにプロセッサコア５１ｂ側から移された機能のうち、更新処理中の実行要求が低い処理（優先度が低い処理）については、実行時間（実行周期）を変更するなどして、プロセッサコア５１ａにおける演算負荷（ジョブ負荷）の増大を最小限に抑え、更新処理中にプロセッサコア５１ａに割り付けられた機能が動作するようにする。
【０１０６】
前記実行要求が高い処理（優先度が高い処理）であって、実行時間を変更することが好ましくない処理機能としては、例えば、変速制御、ライン圧制御、入力信号処理、出力信号処理などがある。
【０１０７】
また、前記実行要求が低い処理（優先度が低い処理）であって、実行時間を変更して負荷を抑えることが好ましくない処理機能としては、例えば、学習制御、トルクダウン制御、異常判定処理（診断処理）などがある。
【０１０８】
前記異常判定処理として、温度センサや回転センサなどのデバイスの診断があるが、ソレノイドの異常判定やインターロックの発生判定などについては、変速不能状態になったり機械的不具合を発生させたりする可能性があるので、異常判定処理のうち、ソレノイドの異常判定やインターロックの発生判定などについては、優先度を下げないようにすることができる。
【０１０９】
尚、前記第１例〜第５例において、プロセッサコア（ＣＰＵ）の数がより多い構成とすることができる。
また、上記実施形態では、マルチコアプロセッサを備えた自動車用制御装置として、ＡＴコントロールユニット５を例示したが、自動変速機３を制御する制御装置に限定されるものではなく、例えば、エンジン２を制御する制御装置や、自動車１に備えられたブレーキ装置を制御する制御装置、エンジン２に備えられる可変動弁機構を制御する制御装置などであってもよく、制御対象を限定するものではない。
【０１１０】
また、自動車１は、電気自動車やハイブリット自動車などであってもよい。
また、例えば、燃費優先プログラムやスポーツ走行優先プログラムなどの異なる走行モード毎に更新プログラムを用意し、運転者がダウンロードを実施するプログラムの走行モードを選択するように構成できる。
【０１１１】
例えば、運転者がどの走行モードを好むかを予めサーバ６に登録させておいて、登録した走行モードに対応する更新プログラムが開発された場合に、更新データを自動的にダウンロードさせたり、更新データがどの走行モードに対応するものであるかを運転者に提示し、更新データをダウンロードするか否かをその都度選択させたりすることができる。
【０１１２】
また、更新データのダウンロード要求を、運転者の意思に基づいて自動車１側からサーバ６側に送信し、ダウンロード要求を受けたサーバ６が該当するコントロールユニットに対応する更新データがある場合に、該更新データを配信する構成とすることができる。
【０１１３】
また、例えば、ＡＴコントロールユニット５のマルチコアプロセッサのうちの１つのプロセッサコアを、更新制御用として割り付け、エンジン２のコントロールユニットなどの別のコントロールユニットにおけるプログラム及び／又は制御データを書き換えることができる。
【０１１４】
ここで、上記実施形態から把握し得る請求項以外の技術的思想について、以下に効果と共に記載する。
（イ）請求項１〜３のいずれか１つに記載の自動車用制御装置において、
前記プログラム及び／又は制御データの更新を、自動車の次回運転時から有効とすることを特徴とする自動車用制御装置。
【０１１５】
上記発明によると、自動車の運転中には、プログラム及び／又は制御データの更新が有効とはならず、次回の運転時から有効とされることで、運転中に制御特性が変化してしまうことを抑制できる。
（ロ）請求項３記載の自動車用制御装置において、
更新制御用として割り付けられるプロセッサコアが、更新対象の別のプロセッサコアにおける制御機能を簡易的に備え、更新処理中に、更新対象のプロセッサコアに代わって制御を行うことを特徴とする自動車用制御装置。
【０１１６】
上記発明によると、更新するプロセッサコアに代わって、更新制御用として割り付けられるプロセッサコアが制御を行うので、更新中も制御を継続させることができる。
【符号の説明】
【０１１７】
１…自動車、２…エンジン、３…自動変速機、４…駆動輪、５…ＡＴコントロールユニット、６…サーバ、１１…インターネット、５３…マルチコアプロセッサ、５１ａ，５１ｂ…プロセッサコア
【図１】
2010198307.tif 000003
【図２】
2010198307.tif 000004
【図３】
2010198307.tif 000005
【図４】
2010198307.tif 000006
【図５】
2010198307.tif 000007
【図６】
2010198307.tif 000008
【図７】
2010198307.tif 000009
【図８】
2010198307.tif 000010
【図９】
2010198307.tif 000011