(57)【要約】【課題】複数の電子装置を搭載した処理システムを様々な用途に即座に利用することが可能な処理システムの提供を目的とする。【解決手段】マイコンＡ３の書換プログラムには、マイコンＢ４の書換プログラムをマイコンＢ４へ転送する転送ルーチンが設けられている。プログラム書換装置８からマイコンＢ４の書換プログラムが出力されると、マイコンＡ３は転送ルーチンを実行し、取得したマイコンＢ４の書換プログラムをマイコンＢ４へ転送する。これにより、マイコンＢ４のフラッシュメモリをマスクＲＯＭ等に変更しても、各マイコンのブートプログラムの修正は不要となり、本処理システムを様々な用途に即座に利用することが可能となる。【選択図】      図２
2004258722.tif 000002
【特許請求の範囲】
【請求項１】
動作プログラムに従って動作する電子装置を複数備えた処理システムであって、当該電子装置の各々は、動作プログラムを記憶する記憶手段と、前記記憶手段に記憶されている動作プログラムの書き換えを行う書換プログラムを外部装置または他の電子装置から取得する取得手段とを有し、前記取得手段から取得した書換プログラムを実行することにより、前記外部装置または他の電子装置から新たな動作プログラムを取得して、前記記憶手段に記憶された動作プログラムの書き換えを行うことが可能な構成となっており、
前記電子装置は、動作プログラムおよび書換プログラムを前記外部装置から取得するメイン側電子装置と、前記メイン側電子装置を介して、動作プログラムおよび書換プログラムを取得するサブ側電子装置とからなり、
前記メイン側電子装置の書換プログラムに対して、前記サブ側電子装置の書換プログラムを前記サブ側電子装置へ転送するための転送ルーチンを設け、
前記メイン側電子装置は、前記外部装置から、前記サブ側電子装置の動作プログラムの書換要求を受け取ると、前記転送ルーチンを実行して、前記サブ側電子装置の書換プログラムを前記サブ側電子装置の取得手段へ転送することを特徴とする処理システム。
【請求項２】
前記外部装置は、前記メイン側電子装置と前記サブ側電子装置との動作プログラムの書き換えを行う場合、前記メイン側電子装置の書換プログラムによって、前記動作プログラムの書き換えを実行した後に、前記サブ側電子装置の書換プログラムを前記メイン側電子装置へ出力し、さらにサブ側電子装置の動作プログラムを出力することを特徴とする請求項１に記載の処理システム。
【請求項３】
前記メイン側電子装置および前記サブ側電子装置が有する記憶手段は、前記動作プログラムを記憶する不揮発性メモリと、前記書換プログラムを記憶するメモリとから構成されることを特徴とする請求項１に記載の処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の電子装置を搭載した処理システムにおいて、各電子装置が実行する動作プログラムを書き換える技術に関する。
【０００２】
【従来の技術】
従来、フラッシュメモリ等の不揮発性メモリに動作プログラムを記憶し、これに従って動作する電子装置が公知である。この従来装置では、動作プログラムのバージョンアップのため、別途用意された外部装置を利用して、前述の不揮発性メモリに記憶されている動作プログラムを書き換えることが可能な構成となっている。
【０００３】
具体的には、予め不揮発性メモリに、外部装置との通信処理や書き換えソフトのダウンロード処理を行うブートプログラムが記憶されている。このブートプログラムにより、所定の書き換えソフトがダウンロードされると、処理が書き換えソフトに移行する。この書き換えソフトは、書き換え用の動作プログラムを外部装置から取得し、不揮発性メモリに保存する。
【０００４】
【発明が解決しようとする課題】
近年では、複数の電子装置からなる処理システムが実用化されている。このような処理システムにおいて、それぞれの電子装置の動作プログラムの書き換えを行う場合、主となる電子装置のブートプログラムによって、主及び従となる電子装置の書き換えプログラムをそれぞれダウンロードできるように構成されていた。
【０００５】
しかしながら、処理システムによっては、従となる電子装置を有していないものや、従となる電子装置に関しては動作プログラムの書き換えを禁止したもの等もある。このため、主となる電子装置に格納されるブートプログラムについて、各処理システム等の構成に応じたブートプログラムを用意し、かつ、各処理システムに適応するように使い分ける必要があった。
【０００６】
本発明は、前記の問題点を鑑み、各種の処理システムに共通に用いることが可能なブートプログラムを備えた複数の電子装置からなる処理システムの提供を目的とする。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、請求項１に記載の処理システムでは、動作プログラムに従って動作する電子装置を複数備えた処理システムであって、当該電子装置の各々は、動作プログラムを記憶する記憶手段と、記憶手段に記憶されている動作プログラムの書き換えを行う書換プログラムを外部装置または他の電子装置から取得する取得手段とを有し、取得手段から取得した書換プログラムを実行することにより、外部装置または他の電子装置から新たな動作プログラムを取得して、記憶手段に記憶された動作プログラムの書き換えを行うことが可能な構成となっており、電子装置は、動作プログラムおよび書換プログラムを外部装置から取得するメイン側電子装置と、メイン側電子装置を介して、動作プログラムおよび書換プログラムを取得するサブ側電子装置とからなり、メイン側電子装置の書換プログラムに対して、サブ側電子装置の書換プログラムをサブ側電子装置へ転送するための転送ルーチンを設け、メイン側電子装置は、外部装置から、サブ側電子装置の動作プログラムの書換要求を受け取ると、転送ルーチンを実行して、サブ側電子装置の書換プログラムをサブ側電子装置の取得手段へ転送することを特徴とする。
【０００８】
このように、請求項１の処理システムでは、メイン側電子装置の書換プログラムに対して、サブ側電子装置の書換プログラムをサブ側電子装置へ転送するための転送ルーチンを設け、外部装置からサブ側電子装置の動作プログラムの書換要求を受け取ると、メイン側電子装置は転送ルーチンを実行し、サブ側電子装置の書換プログラムをサブ側電子装置の取得手段へ転送する。これにより、メイン側電子装置は、書換プログラムに設けられた転送ルーチンによってサブ側電子装置の書換プログラムをサブ側電子装置へ転送することが可能となる。従って、メイン側電子装置における取得手段（ブートプログラム）は、メイン側電子装置の書換プログラムを取得する機能のみを担えば良い。このため、取得手段の変更は不要となり、様々な構成の処理システムに利用することが可能となる。また、取得手段であるブートプログラム自体の構成を簡略化することもできる。
【０００９】
請求項２に記載のように、外部装置は、メイン側電子装置とサブ側電子装置との動作プログラムの書き換えを行う場合、メイン側電子装置の書換プログラムによって、動作プログラムの書き換えを実行した後に、サブ側電子装置の書換プログラムをメイン側電子装置へ出力し、さらにサブ側電子装置の動作プログラムを出力することが望ましい。メイン側電子装置は、処理システムの主たる動作を担うものであり、動作プログラムの書き換えを確実に行う必要がある。そのため、サブ側電子装置の書換プログラムおよび動作プログラムの出力に優先して、メイン側電子装置の動作プログラムの書き換えを行うことが好ましいのである。
【００１０】
請求項３記載のように、メイン側電子装置およびサブ側電子装置が有する記憶手段は、動作プログラムを記憶する不揮発性メモリと、書換プログラムを記憶するメモリとから構成されることが望ましい。これにより、各電子装置が動作プログラムを書き換えた後は、書換プログラムを記憶していたメモリの記憶領域を、各電子装置が動作プログラムに従って動作する際の記憶領域として使用することができ、効率がよい。
【００１１】
【発明の実施の形態】
図１は、本発明の一実施形態における処理システムの全体構成を示すブロック図である。本実施形態の処理システムは、エンジン制御用ＥＣＵ１として構成され、外部入出力回路２と２つのマイコン（マイコンＡ３およびマイコンＢ４）とを有する。
【００１２】
外部入出力回路２は、エンジン５の動作状態を検出する各種センサ６からセンサ情報を入力し、マイコンＡ３およびマイコンＢ４へ出力する。また、マイコンＡ３又はマイコンＢ４から出力されるアクチュエータＡ７１、Ｂ７２の制御信号を入力し、エンジン５の動作を制御するアクチュエータＡ７１およびアクチュエータＢ７２へそれぞれ出力する。
【００１３】
メイン側電子装置であるマイコンＡ３は、フラッシュメモリ３１、ＲＡＭ３２、入出力回路３３、ＣＰＵ３４を有する。
【００１４】
不揮発性メモリであるフラッシュメモリ３１は、マイコンＡ３において実行される制御プログラム（動作プログラム）を記憶する。また、本処理システムの起動時やリセット時に実行されるブートプログラムを記憶する。取得手段であるブートプログラムは、制御プログラムの書き換えを行う書換プログラムを外部装置から読み込む。
【００１５】
メモリであるＲＡＭ３２は、通常時は、ＣＰＵ３４が制御プログラムを実行することにより算出された演算結果等を一時的に記憶する。一方、制御プログラムの書き換えを行う場合は、ブートプログラムによって読み込まれた書換プログラムの記憶に利用される。これにより、制御プログラムの書き換えを行った後は、ＲＡＭ３２の記憶領域を、マイコンＡ３が制御プログラムを実行する際の記憶領域として使用することができるため、効率がよい。
【００１６】
入出力回路３３は、通常時は外部入出力回路２からセンサ情報を入力してＣＰＵ３４へ出力したり、ＣＰＵ３４から出力されるアクチュエータＡ７１の制御信号を取得して外部入出力回路２へ出力する。一方、フラッシュメモリ３１に記憶された制御プログラムの書き換えを行う場合は、プログラム書換装置８から制御プログラムや書換プログラムを取得してＣＰＵ３４へ出力したり、マイコンＢ４へ出力する。
【００１７】
ＣＰＵ３４は、公知のマイクロプロセッサから構成され、通常時はフラッシュメモリ３１に記憶されている制御プログラムに従って動作し、入出力回路３３から取得したセンサ情報に基づいてアクチュエータＡ７１を制御する制御信号を生成する。生成された制御信号は、入出力回路３３へ出力される。一方、フラッシュメモリ３１に記憶されている制御プログラムを書き換える場合は、ブートプログラムによってプログラム書換装置８から出力される書換プログラムを、入出力回路３３を介して取得し、ＲＡＭ３２に記憶させる。その後、ＲＡＭ３２に記憶させた書換プログラムを呼び出して実行し、プログラム書換装置８から出力される制御プログラムを、入出力回路３３を介して取得し、フラッシュメモリ３１に記憶されている制御プログラムの書き換えを行ったり、マイコンＢ４へ出力したりする。
【００１８】
特に、本実施形態のマイコンＡ３が実行する書換プログラムは、プログラム書換装置８から取得したマイコンＢ４向けの書換プログラムをマイコンＢ４へ転送する転送ルーチンを有し、ＣＰＵ３４は転送ルーチンを実行することにより、取得したマイコンＢ４の書換プログラムを、入出力回路３３を介してマイコンＢ４へ転送する。
【００１９】
サブ側電子装置であるマイコンＢ４は、フラッシュメモリ４１、ＲＡＭ４２、入出力回路４３、ＣＰＵ４４を有し、アクチュエータＢ７２の制御を行う。
【００２０】
不揮発性メモリであるフラッシュメモリ４１は、アクチュエータＢ７２を制御する制御プログラムを記憶する。また、本処理システムの起動時やリセット時に実行されるブートプログラムを記憶する。
【００２１】
メモリであるＲＡＭ４２は、通常時はＣＰＵ４４が制御プログラムを実行することにより算出された演算結果等を一時的に記憶する。一方、フラッシュメモリ４１に記憶された制御プログラムの書き換えを行う場合は、ブートプログラムによって読み込まれた書換プログラムの記憶に利用される。
【００２２】
入出力回路４３は、通常時は外部入出力回路２からセンサ情報を取得してＣＰＵ４４へ出力したり、ＣＰＵ４４から出力されるアクチュエータＢ７２の制御信号を取得して外部入出力回路２へ出力する。一方、フラッシュメモリ４１に記憶された制御プログラムの書き換えを行う場合は、マイコンＡ３から出力される制御プログラムや書換プログラムを取得してＣＰＵ４４へ出力する。
【００２３】
ＣＰＵ４４は、公知のマイクロプロセッサから構成され、通常時はフラッシュメモリ４１に記憶されている制御プログラムに従って動作し、入出力回路４３から取得したセンサ情報に基づいてアクチュエータＢ７２を制御する制御信号を生成する。生成された制御信号は、入出力回路４３へ出力される。一方、フラッシュメモリ４１に記憶されている制御プログラムを書き換える場合は、ブートプログラムによってマイコンＡ３から出力される書換プログラムを、入出力回路４３を介して取得し、ＲＡＭ４２に記憶させる。その後、ＲＡＭ４２に記憶させた書換プログラムを呼び出して実行し、フラッシュメモリ４１に記憶されている制御プログラムをマイコンＡ３から出力される新たな制御プログラムに書き換える。
【００２４】
外部装置であるプログラム書換装置８は、制御プログラムと書換プログラムとをマイコンＡ３へ出力する。マイコンＡ３の制御プログラムのみを書き換える場合には、マイコンＡ３の書換プログラムを出力した後に、マイコンＡ３の制御プログラムを出力する（図２（ａ））。一方、マイコンＡ３とマイコンＢ４の制御プログラムを両方とも書き換える場合には、マイコンＡ３の書換プログラムと制御プログラムを出力した後に、マイコンＢ４の書換プログラムを出力し、マイコンＢ４の制御プログラムを出力する（図２（ｂ））。
【００２５】
図３は、本実施形態の処理システムの起動時もしくはリセット時の処理に関するフローチャートである。本フローチャートの処理は、本処理システムの図示しない電源スイッチがオンされたり、図示しないリセットスイッチが押されたりするたびに実行される。
【００２６】
ステップ３０１では、マイコンＡ３はプログラム書換装置８がエンジン制御用ＥＣＵ１と接続されているか否かを判定する。接続されている場合は、ステップ３０２へ進む。接続されていない場合は、ステップ３０３へ進む。
【００２７】
ステップ３０２では、マイコンＡ３およびマイコンＢ４は制御プログラムの書き換えを実行し、処理を終了する。なお、本ステップの詳細な処理については後述する。一方、ステップ３０３では、マイコンＡ３およびマイコンＢ４は、フラッシュメモリ３１およびフラッシュメモリ４１に記憶されている制御プログラムをそれぞれ呼び出して実行し、エンジン５の動作制御を開始する。
【００２８】
図４は、本実施形態の処理システムが、マイコンＡ３およびマイコンＢ４の制御プログラムを書き換える処理のフローチャートであり、図５は当該フローチャートの処理におけるデータの流れを示す図である。本フローチャートの処理は、前述の図３のフローチャートにおける、ステップ３０２の処理に相当するものであり、プログラム書換装置８は、制御プログラムおよび書換プログラムを図２（ａ）もしくは図２（ｂ）に示す順序で出力する。
【００２９】
ステップ４０１では、マイコンＡ３は、ブートプログラムによってプログラム書換装置８から書換プログラムを取得し、ＲＡＭ３２へ記憶する（図５：矢印５１）。ステップ４０２では、マイコンＡ３は、ステップ４０１でＲＡＭ３２へ記憶した書換プログラムをブートプログラムから呼び出して実行する。
【００３０】
ステップ４０３では、マイコンＡ３は、書換プログラムによってプログラム書換装置８から制御プログラムを取得し、フラッシュメモリ３１へ記憶する（図５：矢印５２）。これにより、マイコンＡ３は、マイコンＢ４の書換プログラムや制御プログラムをマイコンＢ４へ出力する前に、制御プログラムの書き換えを確実に行うことができるのである。
【００３１】
ステップ４０４では、マイコンＡ３は所定時間だけウェイトし、プログラム書換装置８から書換プログラムが出力されるか否か、すなわち、プログラム書換装置８からマイコンＢ４の制御プログラムの書換要求が出力されるか否かを判定する。プログラム書換装置８から書換プログラムが出力された場合は、ステップ４０５へ進み、マイコンＡ３は書換プログラムに設けられた転送ルーチンを実行することにより、当該書換プログラムをマイコンＢ４へ転送する。その後、転送ルーチンの実行を終了して、マイコンＢ４の書換プログラムを実行する。一方、プログラム書換装置８から書換プログラムが出力されなかった場合は、そのまま処理を終了する。
【００３２】
ステップ４０６では、マイコンＢ４はブートプログラムによって、マイコンＡ３から出力される書換プログラムを取得し、ＲＡＭ４２へ記憶する。そして、ブートプログラムから書換プログラムを呼び出して実行する（図５：矢印５３）。ステップ４０７では、マイコンＡ３は、プログラム書換装置８から出力される制御プログラムを取得して、マイコンＢ４へ出力する。ステップ４０８では、マイコンＢ４は書換プログラムによって、マイコンＡ３から出力される制御プログラムを取得し、フラッシュメモリ４１へ記憶する（図５：矢印５４）。
【００３３】
このように、本発明の処理システムでは、マイコンＡ３の書換プログラムに、マイコンＢ４の書換プログラムをマイコンＢ４へ転送する転送ルーチンを設け、プログラム書換装置８からマイコンＢ４の書換プログラムが出力されると、マイコンＡ３は転送ルーチンを実行することにより、マイコンＢ４の書換プログラムをマイコンＢ４へ転送する。これにより、ブートプログラムの変更は不要となり、様々な構成の処理システムに利用することができる。ブートプログラム自体の構成を簡略化することも可能となる。
【００３４】
次に、本実施形態の処理システムの変形例について説明する。本変形例の処理システムでは、マイコンＢ４の制御プログラムのみを書き換えることが可能である点に特徴がある。
【００３５】
本変形例のプログラム書換装置８は、各マイコンの制御プログラムや書換プログラムを出力する際に、当該プログラムがマイコンＢ４の書換プログラムであるか否かを示すラベルを付加して出力する。マイコンＢ４の制御プログラムのみを書き換える場合、プログラム書換装置８は、マイコンＡ３の書換プログラムを出力した後に、マイコンＢ４の書換プログラムと制御プログラムとを出力する（図６）。なお、その他の機能については、前述の実施例の場合と同様であるため、説明を省略する。
【００３６】
図７は、本変形例における処理システムが、マイコンＡ３およびマイコンＢ４の制御プログラムを書き換える処理のフローチャートである。本変形例のフローチャートでは、前述の図４のフローチャートにおいて、プログラム書換装置８から、マイコンＡ３の制御プログラムまたはマイコンＢ４の書換プログラムの、いずれが出力されたかを判定するステップを新たに設けた点が異なる。換言すれば、ステップ７０３以外の全ての処理は、前述の図３のフローチャートの処理と同様であり、その説明は省略する。
【００３７】
ステップ７０３では、マイコンＡ３はプログラム書換装置８から、マイコンＡ３の制御プログラムか、マイコンＢ４の書換プログラムか、いずれが出力されたかを判定する。この判定には、出力されたプログラムに付加されたラベルを参照することによって行われる。マイコンＡ３の制御プログラムか出力された場合は、ステップ７０４へ進み、取得した制御プログラムをフラッシュメモリ３１に記憶する。一方、マイコンＢ４の書換プログラムが出力された場合は、ステップ７０６へ進み、マイコンＡ３は転送ルーチンを実行して、取得した書換プログラムをマイコンＢ４へ転送する。
【００３８】
これにより、本変形例における処理システムでは、マイコンＢ４の制御プログラムのみを書き換えることも可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態における処理システムの全体構成を示すブロック図である。
【図２】本実施形態の処理システムにおけるプログラム書換装置が、制御プログラムおよび書換プログラムを出力する順序を示す図である。
【図３】本実施形態の処理システムの起動時もしくはリセット時の処理に関するフローチャートである。
【図４】本実施形態の処理システムが、マイコンＡおよびマイコンＢの制御プログラムを書き換える処理のフローチャートである。
【図５】図４のフローチャートの処理におけるデータの流れを示す図である。
【図６】本変形例の処理システムにおけるプログラム書換装置が、マイコンＢの制御プログラムのみを書き換える際、制御プログラムおよび書換プログラムを出力する順序を示す図である。
【図７】本変形例における処理システムが、マイコンＡおよびマイコンＢの制御プログラムを書き換える処理のフローチャートである。
【符号の説明】
１…エンジン制御用ＥＣＵ、２…外部入出力回路、３…マイコンＡ、４…マイコンＢ、５…エンジン、６…各種センサ、７１…アクチュエータＡ、７２…アクチュエータＢ、８…プログラム書換装置
【図１】
2004258722.tif 000003
【図２】
2004258722.tif 000004
【図３】
2004258722.tif 000005
【図４】
2004258722.tif 000006
【図５】
2004258722.tif 000007
【図６】
2004258722.tif 000008
【図７】
2004258722.tif 000009