(57)【要約】【課題】複数の機能プログラムを予め備える電子制御装置において、車両において使用されている機能プログラムを特定する技術を提供する。【解決手段】ＥＣＵは車両に搭載される。ＥＣＵは、検出回路が、当該ＥＣＵへの電力供給が開始されたか否かを判断する。ＥＣＵは、Ｓ１０〜Ｓ３０では、電力供給が開始されたときに、機能プログラム群のうち当該ＥＣＵにて使用される機能プログラムを初期化し、且つ、初期化した機能プログラムが使用プログラムであることを表す使用情報をメモリに記録させる。機能プログラム群は予め定められた複数の機能プログラムからなる。機能プログラムは、メモリに予め記録されており、予め定められた複数種類の車両のうちの少なくとも１つにおいて使用され、予め定められた機能を実現するプログラムである。使用プログラムは、機能プログラム群のうちの、当該ＥＣＵにおいて使用される機能プログラムである。【選択図】図４
2018162766.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載される電子制御装置（１３）であって、
当該電子制御装置への電力供給が開始されたか否かを判断する供給判断部（３６）と、
前記電力供給が開始されたときに、機能プログラム群のうち当該電子制御装置にて使用される機能プログラムを初期化し、且つ、初期化した前記機能プログラムが使用プログラムであることを表す使用情報を記録部（３２）に記録させる初期化部（Ｓ１０）と、
を備え、
前記機能プログラム群は予め定められた複数の機能プログラムからなり、
前記機能プログラムは、前記記録部に予め記録されており、予め定められた複数種類の車両のうちの少なくとも１つにおいて使用され、予め定められた機能を実現するプログラムであり、
前記使用プログラムは、前記機能プログラム群のうちの、当該電子制御装置において使用される機能プログラムである
電子制御装置。
【請求項２】
請求項１に記載の電子制御装置であって、
前記初期化部は、前記機能プログラム群のうちの、当該電子制御装置において使用される全ての機能プログラムを初期化する
電子制御装置。
【請求項３】
請求項１または請求項２に記載の電子制御装置であって、
前記機能プログラム群のそれぞれの機能プログラムと、前記機能プログラムによる制御対象となるアクチュエータとの対応関係、を表す対応情報を取得する対応情報部（Ｓ２２０）
を更に備える電子制御装置。
【請求項４】
請求項３に記載の電子制御装置であって、
前記使用情報に基づいて未使用プログラムを特定し、前記対応情報に基づいて前記未使用プログラムによる制御対象となる前記アクチュエータを特定し、特定した前記アクチュエータの作動を停止させる非作動部（Ｓ２４０）、
を更に備え、
前記未使用プログラムは、前記機能プログラム群のうちの、前記使用プログラム以外の機能プログラムである
電子制御装置。
【請求項５】
請求項３に記載の電子制御装置であって、
前記電力供給が開始されたときに、前記機能プログラム群による制御対象となる全てのアクチュエータのうち少なくとも一部を駆動させる駆動実行部（Ｓ５）
を更に備え、
前記初期化部は、前記駆動実行部が前記アクチュエータを駆動させた後に、前記機能プログラムを初期化し、且つ、前記使用情報を前記記録部に記録させるように構成されており、
前記駆動実行部は、
前記使用情報が前記記録部に記録されているか否かに基づいて、前記使用情報が前記記録部に記録されていない場合に当該電子制御装置への電力供給が初回であると判断する初回判断部（Ｓ３３０）と、
前記電力供給が初回であると判断された場合に、前記機能プログラム群による制御対象となる全てのアクチュエータを駆動させる初回指示部（Ｓ３４０）と、
前記電力供給が初回でないと判断された場合に、前記使用情報と前記対応情報とに基づいて前記使用プログラムによる制御対象となるアクチュエータを特定し、前記制御対象となるアクチュエータを駆動させ、且つ前記制御対象となるアクチュエータ以外のアクチュエータを駆動させない、非初回指示部（Ｓ３５０）と、
を備える電子制御装置。
【請求項６】
請求項１から請求項５のいずれか一項に記載の電子制御装置であって、
予め定められた周期毎に、前記使用情報を取得する周期取得部（Ｓ４１０）と、
前記周期取得部によって取得された前記使用情報に基づいて、前記機能プログラム群のそれぞれが前記使用プログラムであるか否かを判断する使用判断部（Ｓ４２０）と、
前記機能プログラム群のうち、前記使用プログラムであると判断された機能プログラムを実行し、前記使用プログラムであると判断されなかった機能プログラムを実行しない、周期実行部（Ｓ４４０）と、
を備える電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、車両に搭載される電子制御装置に関する。
【背景技術】
【０００２】
車両に搭載される電子制御装置は、例えば車両の種類やグレード又は仕向け等といった車両毎に要求される多種多様な仕様に対応して、予め定められた種々の機能を実現するように構成される。
【０００３】
特許文献１には、電子制御装置において、仕様の変更に対応して入力装置が増加または置換されても、増加または置換された入力装置と対応する出力装置との間で、仕様が変更される前と同様にデータ通信を可能とする技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２９３３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、電子制御装置においては、多種多様な仕様に対応して種々の機能を実現するための構成を共通化すること、が行われている。
例えば、電子制御装置がソフトウェアによって種々の機能を実現する場合、共通化に際しては、電子制御装置が、種々の機能毎に構成されたプログラム（以下、機能プログラム）のうち複数又は全部を予め備えておくこと、が考えられる。
【０００６】
ここで、電子制御装置が予め備える複数の機能プログラムのうち、車両において使用されている機能プログラムを特定することができれば、残りの機能プログラムを車両において使用されない機能プログラムであると特定することができる。車両において使用されない機能プログラムを特定することができれば、例えば、電子制御装置による処理負荷の低減や車両における消費電力の低減を図ること等が可能となる。
【０００７】
しかしながら、車両において使用されている機能プログラムを特定する技術は、従来無かった。
本開示の一局面は、複数の機能プログラムを予め備える電子制御装置において、車両において使用されている機能プログラムを特定する技術を提供する。
【課題を解決するための手段】
【０００８】
本開示の一態様は、車両に搭載される電子制御装置（１３）であって、供給判断部（３６）と、初期化部（Ｓ１０）と、を備える。
供給判断部は、当該電子制御装置への電力供給が開始されたか否かを判断する。初期化部は、電力供給が開始されたときに、機能プログラム群のうち当該電子制御装置にて使用される機能プログラムを初期化し、且つ、初期化した機能プログラムが使用プログラムであることを表す使用情報を記録部（３２）に記録させる。
【０００９】
機能プログラム群は予め定められた複数の機能プログラムからなる。機能プログラムは、記録部に予め記録されており、予め定められた複数種類の車両のうちの少なくとも１つにおいて使用され、予め定められた機能を実現するプログラムである。使用プログラムは、機能プログラム群のうちの、当該電子制御装置において使用される機能プログラムである。
【００１０】
電子制御装置への電源供給開始時には、当該電子制御装置において使用される機能プログラムの初期化が行われることが一般的である。このように構成された電子制御装置によれば、電源供給開始時に初期化された機能プログラムが使用プログラムであることを記録する構成を備えるので、車両において使用されている機能プログラムを特定することができる。この結果、車両において使用されない機能プログラムを特定することができ、電子制御装置による処理負荷や車両における消費電力の低減を図ることが可能となる。
【００１１】
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、１つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１２】
【図１】エンジン制御システムの構成を示すブロック図。
【図２】車両用アプリ毎に使用されるＢＳＷが異なることを説明する図。
【図３】車両用ソフトウェア群について説明する説明図。
【図４】第１実施形態のアプリ初期化処理のフローチャート。
【図５】ＢＳＷ＿Ａ初期化処理のフローチャート。
【図６】未使用処理のフローチャート。
【図７】対応情報を示す図。
【図８】第２実施形態のアプリ初期化処理のフローチャート。
【図９】駆動処理のフローチャート。
【図１０】第３実施形態の定期処理のフローチャート。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら、本開示の実施形態を説明する。
［１．第１実施形態］
［１−１．構成］
図１に示すエンジン制御システム１は、車両に搭載されるシステムであって、エンジン１４の制御を行う。エンジン制御システム１は、電子制御装置（以下、ＥＣＵ）１３を備える。ＥＣＵは、Electronic Control Unitの略である。また、エンジン制御システム１は、アクセルセンサ１１と、クランク角センサ１２と、エンジン１４と、を備えてもよい。
【００１４】
本実施形態では、エンジン１４は、ディーゼルエンジンである。エンジン１４は、図示しないシリンダブロックに形成された燃焼室の内部で燃料及び空気の混合気を燃焼させ、図示しない気筒内でピストンを往復移動させることにより動力を発生させる。
【００１５】
エンジン１４は、インジェクタ４１を備えている。インジェクタ４１は、ＥＣＵ１３からの制御信号に従って、燃焼室内に燃料を噴射する。
なお、エンジン１４は、前述のようにディーゼルエンジンであるため、ガソリンエンジンが備える点火回路を備えていない。ここでいう点火回路とは、イグナイタ、イグニションコイル、点火プラグ等を有し、ＥＣＵ１３からの制御信号に従って、燃料及び空気の混合気を燃焼させるための火花を発生させる。
【００１６】
アクセルセンサ１１は、アクセルペダルの踏み込み量に基づくアクセル開度を示す検出信号をＥＣＵ１３に出力する。クランク角センサ１２は、エンジン１４が備えるクランクシャフトの回転角度（以下、クランク角度）を示す検出信号をＥＣＵ１３に出力する。
【００１７】
ＥＣＵ１３は、ＣＰＵ３１と、ＲＯＭ３３、ＲＡＭ３４、フラッシュメモリ３５等の半導体メモリ（以下、メモリ３２）と、を有する周知のマイクロコンピュータ（以下、マイコン３０）を中心に構成される。ＥＣＵ１３は、検出回路３６と、スイッチ３７とを備えていても良い。
【００１８】
検出回路３６は、車両のイグニションスイッチがオン又はオフされたことを表す信号であるオンオフ信号Ｉｇを検出する。ただし、これに限定されるものではなく、オンオフ信号Ｉｇは、エンジンスタートボタンがオン又はオフされたことを表す信号でありうる。検出回路３６は、イグニションスイッチがオンされたことを表すオンオフ信号Ｉｇを検出した場合、スイッチ３７をオンさせるためのスイッチ制御信号ＳＣを出力する。
【００１９】
また、検出回路３６は、イグニションスイッチがオフされたことを表すオンオフ信号Ｉｇを検出した場合、スイッチ３７をオフさせるためのスイッチ制御信号ＳＣを出力する。スイッチ３７は、スイッチ制御信号ＳＣに従って、オン又はオフが切り替えられる。ＥＣＵ１３は、スイッチ３７がオンされると、図示しないバッテリＢＡＴから、マイコン３０に電力が供給されるように構成されている。
【００２０】
ＥＣＵ１３の各種機能は、ＣＰＵ３１が非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、ＲＯＭ３３が、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムが実行されることで、プログラムに対応する方法が実行される。なお、ＥＣＵ１３を構成するマイコン３０の数は１つでも複数でもよい。
【００２１】
ＥＣＵ１３の各種機能を実現する手法はソフトウェアに限るものではなく、その一部又は全部の要素について、１つあるいは複数のハードウェアを用いて実現してもよい。例えば、上記機能がハードウェアである電子回路によって実現される場合、その電子回路は多数の論理回路を含むデジタル回路、又はアナログ回路、あるいはこれらの組合せによって実現してもよい。
【００２２】
本実施形態では、ＥＣＵ１３は、ＣＰＵ３１がプログラムを実行することで、アクセルセンサ１１からアクセル開度を示す検出信号を取得する。また、クランク角センサ１２からクランク角度を示す検出信号を取得する。また、ＥＣＵ１３は、各センサから取得した検出信号に基づいて、インジェクタ４１が燃料を噴射するときの噴射量を制御する。
【００２３】
アクセル開度を取得するプログラム（以下、アクセル開度取得プログラム）、クランク角度を取得するプログラム（以下、クランク角度取得プログラム）、噴射量を制御するプログラム（以下、噴射量制御プログラム）は、ベーシックソフトウェア（以下、ＢＳＷ）として、例えば予めＲＯＭ３３に記録されている。ＢＳＷは、Basic Softwareの略である。
【００２４】
ＢＳＷとは、特許請求の範囲でいう機能プログラムのことであり、予め定められた機能を実現するプログラムである。ＢＳＷは、例えば図２に示すように、ディーゼルエンジンを備える第１の車両及びガソリンエンジンを備える第２の車両といった、予め定められた複数種類の車両のうちの少なくとも１つにおいて使用されるプログラムである。
【００２５】
ガソリンエンジンを備える車両では、一般に、ＥＣＵは、ＣＰＵがプログラムを実行することで、火花を発生させるために点火回路に制御信号を出力するように構成されており、点火回路に制御信号を出力するためのプログラム（以下、点火回路制御プログラム）が、予めＲＯＭ３３等に記録されている。ディーゼルエンジンを備える車両では、一般に、点火回路制御プログラムは、予めＲＯＭ３３等に記録されていない。
【００２６】
これに対して、本実施形態のＥＣＵ１３では、アクセル開度取得プログラム、クランク角度取得プログラム、噴射量制御プログラム、及び点火回路制御プログラムのそれぞれが、ＢＳＷとして、予めメモリ３２のＲＯＭ３３に記録されている。ＢＳＷは、フラッシュメモリ３５に記録されていてもよい。フラッシュメモリ３５は、例えばＥＥＰＲＯＭ等といった書き換え可能なメモリであり、電力供給が絶えてもその記録内容を保持することが可能なメモリである。
【００２７】
なお、後述するＢＳＷ群とは、特許請求の範囲でいう機能プログラム群のことであり、メモリ３２に記録されているこれら複数のＢＳＷのことをいう。
このようにして、本実施形態のＥＣＵ１３では、例えばディーゼルエンジンを備える第１の車両及びガソリンエンジンを備える第２の車両といった、異なる仕様の複数車両のうちの少なくとも１つにおいて使用されるプログラムをＢＳＷとすることによって、プログラムの共通化が行われている。ここでいう共通化とは、ＥＣＵ１３が、車両が備える種々の機能のうちの複数又は全てを実現するためのＢＳＷ、を予め備えておくこと、をいう。
【００２８】
なお、図２に示すように、ＢＳＷ群のうち個々の車両の仕様に応じたＢＳＷを用いて構成されるプログラムをその車両用のアプリケーションプログラム（以下、車両用アプリ）という。以下では、アクセル開度取得プログラムをＢＳＷ＿Ａ、クランク角度取得プログラムをＢＳＷ＿Ｂ、噴射量制御プログラムをＢＳＷ＿Ｃ、点火回路制御プログラムをＢＳＷ＿Ｄのように記載する。第１の車両用アプリはＢＳＷ＿Ａ〜ＢＳＷ＿Ｃからなり、第２の車両用アプリはＢＳＷ＿Ａ〜ＢＳＷ＿Ｄからなる。
【００２９】
つまり、本実施形態では、図３に示すように、第１の車両においては、ＢＳＷ群と第１の車両用アプリとが第１の車両用ソフトウェア群としてメモリ３２に記録されている。また、第２の車両においては、ＢＳＷ群と第２の車両用アプリとが第２の車両用ソフトウェア群としてメモリ３２に記録されている。
【００３０】
［１−２．処理］
次に、ＥＣＵ１３におけるＣＰＵ３１が実行するアプリ初期化処理について、図４のフローチャートを用いて説明する。アプリ初期化処理は、ＥＣＵ１３への電力供給が開始された場合に車両用アプリの初期化を行う処理である。ここでいう、ＥＣＵ１３への電力供給が開始された場合とは、具体的には、ＥＣＵ１３のマイコン３０への電力供給が開始されたこと、を意味する。
【００３１】
ＥＣＵ１３は、当該ＥＣＵ１３への電力供給が開始されるとアプリ初期化処理を行う。ＥＣＵ１３は、前述のように、車両のイグニションスイッチがオンされた場合、または、エンジンスタートボタンが押された場合に、検出回路３６によって、当該ＥＣＵ１３への電力供給が開始されたと判断する。つまり、ＥＣＵ１３は、当該ＥＣＵ１３が搭載された車両への電力供給が開始されると、電力供給が開始されたと判断する。
【００３２】
なお、本実施形態では、ＥＣＵ１３では、当該ＥＣＵ１３への電力供給が開始されると、例えば通信回路等といったＣＰＵ３１の周辺回路への電力供給が開始されるように構成されている。また、検出回路３６には、常時電源が供給されるように構成されている。
【００３３】
ＥＣＵ１３は、Ｓ１０〜Ｓ３０では、当該ＥＣＵ１３が搭載される車両において使用されるＢＳＷの初期化を順に行う。すなわち、ＥＣＵ１３は、ＢＳＷ群のうち当該ＥＣＵ１３において使用される全てのＢＳＷについて初期化を順に実行する。具体的には、ＥＣＵ１３は、ＢＳＷ毎に予め定められた初期化処理を順に実行する。
【００３４】
初期化処理では、ＢＳＷを初期化し、且つ、初期化したＢＳＷが使用ＢＳＷであることを表す使用情報をメモリ３２に記録させる。使用ＢＳＷとは、ＢＳＷ群のうち、当該ＥＣＵ１３において使用されるＢＳＷのことをいう。
【００３５】
本明細書でいう初期化とは、車両用アプリやＢＳＷ等のプログラムを実行する前に、該プログラムを実行するために予め必要とされる種々の処理が行われることをいう。例えば、初期化には、ＢＳＷで用いられる各種パラメータの値を初期値に設定すること、が含まれうる。ここでいうパラメータには、例えば、初期化によって０に設定されるような各種演算に用いられる変数や、初期化によって予め定められた値に設定されるような所定値等が含まれうる。また例えば、初期化には、該プログラムを実行するために必要なメモリ３２の領域を確保する処理が含まれうる。
【００３６】
本実施形態ではエンジン１４はディーゼルエンジンであるため、ＥＣＵ１３は、ＢＳＷ＿Ｄの初期化処理を実行しない。
ＥＣＵ１３は、Ｓ１０では、ＢＳＷ＿Ａ初期化処理を実行する。次にＥＣＵ１３は、Ｓ２０では、ＢＳＷ＿Ｂ初期化処理を実行する。続いて、ＥＣＵ１３は、Ｓ３０では、ＢＳＷ＿Ｃ初期化処理を実行する。そして、処理をＳ４０へ移行させる。
【００３７】
なお、仮にＥＣＵ１３がガソリンエンジンを備える第２の車両に搭載される場合は、ＥＣＵ１３は、アプリ初期化処理において、Ｓ３０にてＢＳＷ＿Ｃ初期化処理を実行した後に更にＢＳＷ＿Ｄ初期化処理を実行し、処理をＳ４０へ移行させる。
【００３８】
ＥＣＵ１３は、Ｓ４０では、未使用処理を実行する。未使用処理では、ＢＳＷ群のうち未使用ＢＳＷを特定し、未使用ＢＳＷによる制御対象となるアクチュエータの作動を停止させる。未使用ＢＳＷとは、ＢＳＷ群のうちの使用ＢＳＷ以外のＢＳＷをいう。未使用処理については後述する。ＥＣＵ１３は、未使用処理を実行した後、本アプリ初期化処理を終了する。
【００３９】
次に、アプリ初期化処理におけるＳ１０〜Ｓ３０で実行される、各ＢＳＷについての初期化処理について説明する。ここでは、各ＢＳＷについて同様の処理が行われるため、ＢＳＷ＿Ａについての初期化処理であるＢＳＷ＿Ａ初期化処理を図５のフローチャートを用いて説明する。
【００４０】
ＥＣＵ１３は、Ｓ１１０では、ＢＳＷの初期化を行う。ここでは、ＢＳＷ＿Ａの初期化を行う。
ＥＣＵ１３は、次にＳ１２０では、使用情報をメモリ３２に記録させる。使用情報とは、初期化した当該ＢＳＷが使用ＢＳＷであることを表す情報である。本実施形態では、ＢＳＷ群のＢＳＷそれぞれについて、使用ＢＳＷであるか否かを表すフラグ（以下、使用フラグ）を記録する領域が予めメモリ３２内に定められている。使用フラグは、初期状態ではリセットされており、ＥＣＵ１３は、Ｓ１１０にて当該ＢＳＷが初期化された場合に、使用フラグをセットする。つまり、ＥＣＵ１３は、Ｓ１２０では、ＢＳＷ＿Ａについての使用フラグをセットし、本ＢＳＷ＿Ａ初期化処理を終了する。
【００４１】
このようにして、アプリ初期化処理では、ＢＳＷ群のうち初期化されたＢＳＷについては、使用フラグがセットされる。使用フラグはフラッシュメモリ３５に記録される。なお、ＢＳＷ群のＢＳＷそれぞれについての使用フラグが使用情報に相当する。
【００４２】
次に、アプリ初期化処理におけるＳ４０で実行される、未使用処理について図６のフローチャートを用いて説明する。
ＥＣＵ１３は、Ｓ２１０では、使用情報を取得する。つまり。ＥＣＵ１３は、ＢＳＷ群のＢＳＷそれぞれについての使用フラグをメモリ３２から取得する。
【００４３】
ＥＣＵ１３は、Ｓ２２０では、対応情報を取得する。対応情報とは、例えば図７に示すように、ＢＳＷ群のＢＳＷそれぞれと、ＢＳＷによる制御対象となるアクチュエータとの対応関係、を表す。対応情報は、予めメモリ３２のＲＯＭ３３に記録されている。
【００４４】
ＥＣＵ１３は、Ｓ２３０〜Ｓ２５０では、ＢＳＷ群のＢＳＷそれぞれについて、順に、ＢＳＷが使用ＢＳＷであるか否かを判断し、ＢＳＷが使用ＢＳＷでない場合に該ＢＳＷによる制御対象となるアクチュエータの作動を停止させる処理を行う。
【００４５】
すなわち、ＥＣＵ１３は、Ｓ２３０では、使用フラグに基づいて、ＢＳＷが使用ＢＳＷであるか否かを判断する。ＥＣＵ１３は、当該ＢＳＷが、使用ＢＳＷである場合に処理をＳ２５０へ移行させ、未使用ＢＳＷである場合に処理をＳ２４０へ移行させる。
【００４６】
使用情報に基づいて未使用ＢＳＷを特定した場合に移行するＳ２４０では、対応情報に基づいて未使用ＢＳＷによる制御対象となるアクチュエータを特定し、該アクチュエータの作動を停止させる。作動を停止させるとは、作動を不能にすることであり、例えば、電力供給を停止させること、が含まれうる。ＥＣＵ１３は、未使用ＢＳＷによる制御対象となるアクチュエータの作動を停止させた後、処理をＳ２５０へ移行させる。
【００４７】
ＥＣＵ１３は、Ｓ２５０では、ＢＳＷ群のうち全てのＢＳＷについて、使用ＢＳＷであるか否かの判断を行ったか否か、を判断する。ＥＣＵ１３は、ＢＳＷ群のうち全てのＢＳＷについて判断を行っていない場合、処理をＳ２３０へ移行させ、Ｓ２３０〜Ｓ２５０の処理を繰り返す。ＥＣＵ１３は、ＢＳＷ群のうち全てのＢＳＷについて判断を行った場合、本未使用処理を終了する。
【００４８】
以上説明したアプリ初期化処理による作動を説明する。本実施形態では、ＥＣＵ１３への電力供給が開始されると、ＢＳＷ群のうちＢＳＷ＿Ｄ以外のＢＳＷ＿Ａ〜ＢＳＷ＿Ｃについて初期化処理が行われ、使用情報においてＢＳＷ＿Ａ〜ＢＳＷ＿Ｃの使用フラグがセットされ、使用ＢＳＷが特定される。また、使用情報に基づいて、使用フラグがリセットされたままであるＢＳＷ＿Ｄが未使用ＢＳＷとして特定される。そして、ＢＳＷ＿Ｄによる制御対象となる点火回路への電力供給が停止される。
【００４９】
本実施形態では、例えばアプリ初期化処理を実行するためのプログラムが、前述の車両用アプリ、より具体的には第１の車両用アプリ、に相当する。また、ＢＳＷ＿Ａ、ＢＳＷ＿Ｂ、ＢＳＷ＿Ｃ、ＢＳＷ＿Ｄ、ＢＳＷ毎に予め定められたＢＳＷそれぞれの初期化処理を実行するためのプログラム、及び未使用処理を実行するためのプログラム、のそれぞれがＢＳＷに相当する。
【００５０】
［１−３．効果］
以上詳述した第１実施形態によれば、以下の効果を奏する。
（１ａ）ＥＣＵ１３は、車両に搭載される。ＥＣＵ１３は、検出回路３６が、当該ＥＣＵ１３への電力供給が開始されたか否かを判断する。Ｓ１０〜Ｓ３０では、電力供給が開始されたときに、ＢＳＷ群のうち当該ＥＣＵ１３にて使用されるＢＳＷを初期化し、且つ、初期化したＢＳＷが使用ＢＳＷであることを表す使用情報をメモリ３２に記録させる。ＢＳＷ群は予め定められた複数のＢＳＷからなる。ＢＳＷは、メモリ３２に予め記録されており、予め定められた複数種類の車両のうちの少なくとも１つにおいて使用され、予め定められた機能を実現するプログラムである。使用ＢＳＷは、ＢＳＷ群のうちの、当該ＥＣＵ１３において使用されるＢＳＷである。
【００５１】
ＥＣＵ１３への電源供給開始時には、ＥＣＵ１３にて使用される全てのＢＳＷ、又は、全てでは無いにしても多くのＢＳＷの初期化が行われることが一般的である。特に本実施形態では、ＥＣＵ１３への電源供給開始時には、ＥＣＵ１３において使用される全てのＢＳＷの初期化が行われる。
【００５２】
これによれば、電源供給開始時に初期化されたＢＳＷが使用ＢＳＷである、ということを表す使用情報を記録する構成を備えるので、車両において使用されているＢＳＷを特定することができる。この結果、ＢＳＷ群のうちの車両において使用されないＢＳＷを特定することができ、ＥＣＵ１３による処理負荷や車両における消費電力の低減を図ることが可能となる。
【００５３】
ところで近年、車両用アプリとＢＳＷとが、異なる開発者によって開発される、という開発環境が生じている。ここでいう開発者には人及び企業等が含まれうる。つまり、本実施形態では、ＢＳＷ群の全て又はＢＳＷ群の少なくとも一部は、車両用アプリとは異なる開発者によって開発されたプログラムでありうる。車両用アプリは、少なくとも１つのＢＳＷを含むプログラムである。
【００５４】
車両用アプリの開発者は、ＢＳＷ群の中から各車両に要求された仕様に基づいて適宜選択したＢＳＷを組み合わせて使用することによって、車両用アプリを車両毎に開発する。このため、車両用アプリの開発者は車両用アプリにおいて使用されるＢＳＷの種類を特定することができるが、ＢＳＷの開発者は車両用アプリにおいて使用されるＢＳＷの種類を特定することが困難である、という問題があった。
【００５５】
すなわち、ＢＳＷの開発者は、使用されないＢＳＷを特定することが困難であったため、既存のＢＳＷを用いた新たなプログラムを新たなＢＳＷとして開発することが、困難であった。既存のＢＳＷを用いた新たなプログラムには、例えば、使用されるＢＳＷのみをコールし、使用されないＢＳＷをコールしないようにして、処理負荷を短縮するプログラムが含まれうる。また、使用されるＢＳＷによる制御対象となるアクチュエータを駆動させ、使用されないＢＳＷによる制御対象となるアクチュエータを停止させて、消費電力を低減するプログラムが含まれうる。
【００５６】
このように、車両用アプリにおいて使用されるＢＳＷを、車両用アプリの開発者から該車両用アプリにおいて使用されるＢＳＷの情報を得ること無しに特定する技術、の開発が望まれていた。
【００５７】
本実施形態によれば、ＥＣＵ１３への電源供給開始時に初期化されたＢＳＷを使用ＢＳＷとして使用情報に記録する構成を備えるので、ＢＳＷの開発者は、使用情報に基づいて使用ＢＳＷを特定することができる。この結果、ＢＳＷの開発者は、車両用アプリの開発者から車両用アプリにおいて使用するＢＳＷの情報を得ること無しに、種々のプログラムを開発することが可能となる。
【００５８】
（１ｂ）ＥＣＵ１３は、Ｓ１０〜Ｓ３０では、ＢＳＷ群のうちの、当該ＥＣＵ１３において使用される全てのＢＳＷを初期化する。
これによれば、電源供給開始時に当該ＥＣＵ１３において使用される全てのＢＳＷについて使用情報としての使用フラグが記録されるので、当該ＥＣＵ１３が搭載された車両において使用される全てのＢＳＷを使用情報に基づいて特定することができる。
【００５９】
（１ｃ）ＥＣＵ１３は、Ｓ２３０では、ＢＳＷ群のＢＳＷそれぞれと、ＢＳＷによる制御対象となるアクチュエータとの対応関係、を表す対応情報を取得する。
これによれば、対応情報に基づいて、使用ＢＳＷ又は未使用ＢＳＷによる制御対象となるアクチュエータが特定される。つまり、ＥＣＵ１３が搭載された車両において、使用されるアクチュエータまたは使用されないアクチュエータを特定することができる。
【００６０】
（１ｄ）ＥＣＵ１３は、Ｓ２４０では、使用情報に基づいて未使用ＢＳＷを特定し、対応情報に基づいて未使用ＢＳＷによる制御対象となるアクチュエータを特定し、特定したアクチュエータの作動を停止させる。未使用ＢＳＷは、ＢＳＷ群のうちの、使用ＢＳＷ以外のＢＳＷである。
【００６１】
これによれば、使用されないアクチュエータを特定し該アクチュエータの作動を停止させる構成を備えるので、仮に電源供給開始時にＢＳＷ群による制御対象となる全てのアクチュエータを駆動させた後であっても、未使用ＢＳＷによる制御対象となるアクチュエータの作動を停止させることができる。この結果、ＥＣＵ１３における消費電力を低減することができる。
【００６２】
［２．第２実施形態］
［２−１．第１実施形態との相違点］
第２実施形態は、基本的な構成は第１実施形態と同様であるため、相違点について以下に説明する。なお、第１実施形態と同じ符号は、同一の構成を示すものであって、先行する説明を参照する。
【００６３】
前述した第１実施形態では、アプリ初期化処理において、Ｓ４０にて未使用処理を実行していた。これに対し、第２実施形態では、Ｓ４０にて未使用処理が削除されている点、及びＳ５にて駆動処理が追加されている点、で第１実施形態と相違する。
【００６４】
［２−２．処理］
次に、第２実施形態のＥＣＵ１３が、図４に示す第１実施形態のアプリ初期化処理に代えて実行するアプリ初期化処理について、図８のフローチャートを用いて説明する。なお、図８におけるＳ１０〜Ｓ３０の処理は、図４におけるＳ１０〜Ｓ３０の処理と同様であるため、説明を一部簡略化する。
【００６５】
ＥＣＵ１３は、Ｓ５では、駆動処理を実行する。駆動処理は、当該ＥＣＵ１３への電力供給が開始されたときに、ＢＳＷ群による制御対象となる全てのアクチュエータのうち少なくとも一部を駆動させる。なお、全てのアクチュエータとは、ＢＳＷ群のうちの全てのＢＳＷそれぞれによる制御対象となるアクチュエータをいう。また、全てのアクチュエータのうちの少なくとも一部とは、ＢＳＷ群のうちの少なくとも一部のＢＳＷ、による制御対象となるアクチュエータをいう。
【００６６】
駆動処理については後述する。ＥＣＵ１３は、駆動処理を実行した後に処理をＳ１０へ移行させる。
ＥＣＵ１３は、Ｓ１０〜Ｓ３０では、図４と同様の処理を実行する。ＥＣＵ１３は、Ｓ３０の処理を実行した後に、本アプリ初期化処理を終了する。
【００６７】
次に、ＥＣＵ１３がＳ５で実行する駆動処理について、図９のフローチャートを用いて説明する。
ＥＣＵ１３は、Ｓ３１０では、メモリ３２から使用情報を取得する。
【００６８】
ＥＣＵ１３は、Ｓ３２０では、メモリ３２から対応情報を取得する。
ＥＣＵ１３は、Ｓ３３０では、当該ＥＣＵ１３への電力供給が初回であるか否かを判断する。ここでいう、電力供給が初回とは、当該ＥＣＵ１３が搭載された車両が出荷された後、初めてイグニションスイッチがオンされたこと、または、初めてスタートボタンが押されたこと、をいう。
【００６９】
具体的には、ＥＣＵ１３は、使用情報がメモリに記録されているか否かに基づいて、当該ＥＣＵ１３への電力供給の開始が初回であるか否かを判断する。前述のように、使用情報は、初期状態では、ＢＳＷ群のＢＳＷそれぞれについての使用フラグがリセットされている。ＥＣＵ１３は、使用情報において、全ての使用フラグがリセットされている場合に、当該ＥＣＵ１３への電力供給の開始が初回である、と判断する。
【００７０】
ＥＣＵ１３は、当該ＥＣＵ１３への電力供給の開始が初回である場合に処理をＳ３４０へ移行させ、初回でない場合に処理をＳ３５０へ移行させる。
ＥＣＵ１３は、電力供給の開始が初回であると判断された場合に移行するＳ３４０では、ＢＳＷ群による制御対象となる全てのアクチュエータを駆動させる。そして、ＥＣＵ１３は、本駆動処理を終了する。ここでいう駆動させる、とは、電力を供給することをいう。
【００７１】
ＥＣＵ１３は、電力供給が初回でないと判断された場合に移行するＳ３５０では、使用情報と対応情報とに基づいて使用ＢＳＷによる制御対象となるアクチュエータを特定し、該アクチュエータを駆動させる。且つ、ＥＣＵ１３は、制御対象となるアクチュエータ以外のアクチュエータを駆動させない。制御対象となるアクチュエータ以外のアクチュエータとは、ＢＳＷ群による制御対象となる全てのアクチュエータのうち、使用ＢＳＷによる制御対象となるアクチュエータを除いた残りのアクチュエータのことをいう。
【００７２】
つまり、ＥＣＵ１３は、当該ＥＣＵ１３への電力供給が２回目以降である場合は、未使用ＢＳＷによる制御対象となるアクチュエータの作動を停止させる。そして、本駆動処理を終了する。
【００７３】
［２−３．効果］
以上詳述した第２実施形態によれば、前述した第１実施形態の効果（１ａ）〜（１ｃ）を奏し、さらに、以下の効果を奏する。
【００７４】
（２ａ）ＥＣＵ１３は、Ｓ５では、電力供給が開始されたときに、ＢＳＷ群による制御対象となる全てのアクチュエータのうち少なくとも一部を駆動させる。ＥＣＵ１３は、Ｓ１０〜Ｓ３０では、Ｓ５によってアクチュエータを駆動させた後に、ＢＳＷを初期化し、且つ、使用情報をメモリに記録させるように構成されている。ＥＣＵ１３は、Ｓ４３０では、使用情報がメモリに記録されているか否かに基づいて、使用情報がメモリに記録されていない場合に当該ＥＣＵ１３への電力供給が初回であると判断する。
【００７５】
ＥＣＵ１３は、Ｓ４４０では、電力供給が初回であると判断された場合に、ＢＳＷ群による制御対象となる全てのアクチュエータを駆動させる。ＥＣＵ１３は、Ｓ４５０では、電力供給が初回でないと判断された場合に、使用情報と対応情報とに基づいて使用ＢＳＷによる制御対象となるアクチュエータを特定し、制御対象となるアクチュエータを駆動させ、制御対象となるアクチュエータ以外のアクチュエータを駆動させない。
【００７６】
これによれば、使用情報がメモリ３２に記録された以降は、未使用ＢＳＷに対応するアクチュエータを駆動させること無く、使用ＢＳＷの初期化処理が行われる。このため、例えば電力供給される毎にＢＳＷ群による制御対象となる全てのアクチュエータを駆動させた後に未使用ＢＳＷによる制御対象となるアクチュエータの作動を停止させるといった処理を行う比較例よりも、処理負荷を低減することができる。
【００７７】
［３．第３実施形態］
第３実施形態では、ＥＣＵ１３は、使用情報がメモリ３２に記録された以降、図１０に示す定期処理を実行するように構成されてもよい。
【００７８】
［３−１．処理］
定期処理は、所定の周期で繰り返し実行される処理である。ここでいう所定の周期には、例えば、６°ＣＡ毎、１０°ＣＡ毎等といった、所定の大きさのクランク角度が取得される周期が含まれうる。ＣＡは、クランク角度のことであり、Crank Angleの略である。
【００７９】
ＥＣＵ１３は、Ｓ４１０では、メモリ３２から使用情報を取得する。
ＥＣＵ１３は、Ｓ４２０では、Ｓ４１０によって取得された使用情報に基づいて、ＢＳＷ群のそれぞれが使用ＢＳＷであるか否かを判断する。
【００８０】
ＥＣＵ１３は、Ｓ４３０では、使用ＢＳＷであると判断されたＢＳＷを実行し、処理をＳ４５０へ移行させる。
ＥＣＵ１３は、Ｓ４４０では、使用ＢＳＷであると判断されなかったＢＳＷを実行すること無く、処理をＳ４５０へ移行させる。
【００８１】
ＥＣＵ１３は、Ｓ４５０では、ＢＳＷ群のうち全てのＢＳＷについて、使用ＢＳＷであるか否かの判断を行ったか否か、を判断する。ＥＣＵ１３は、全てのＢＳＷについて判断を行っていない場合、Ｓ２２０〜Ｓ２５０の処理を繰り返す。ＥＣＵ１３は、全てのＢＳＷについて判断を行った場合、本定期処理を終了する。
【００８２】
［３−２．効果］
以上詳述した第３実施形態によれば、前述した第１実施形態の効果（１ａ）〜（１ｄ）、（２ａ）を奏し、さらに、以下の効果を奏する。
【００８３】
（３ａ）ＥＣＵ１３は、Ｓ４１０では、予め定められた周期毎に、使用情報を取得する。ＥＣＵ１３は、Ｓ４２０では、Ｓ４１０によって取得された使用情報に基づいて、ＢＳＷ群のそれぞれが使用ＢＳＷであるか否かを判断する。ＥＣＵ１３は、Ｓ４４０では、ＢＳＷ群のうち、使用ＢＳＷであると判断されたＢＳＷを実行し、使用ＢＳＷであると判断されなかったＢＳＷ、つまり未使用ＢＳＷを実行しない。
【００８４】
これによれば、仮に、未使用ＢＳＷを含む複数のＢＳＷを順に実行するプログラムが所定の周期毎に作動する周期プログラムとして実行されたとしても、未使用ＢＳＷについては実行されることが無いので、余分な処理負荷を低減することができる。
【００８５】
［４．他の実施形態］
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【００８６】
（４ａ）上記実施形態では、ＥＣＵ１３はエンジン１４を制御するための電子制御装置であり、エンジン制御システム１がアクセルセンサ１１とクランク角センサ１２とを備える例を説明したが、これに限定されるものではない。エンジン制御システム１は、エンジン１４の制御を行うための情報を検出する種々のセンサを備えうる。センサには、例えば、エアフロメータ、吸気圧センサ、吸気温センサ、及びＯ2センサ等が含まれうる。また、これらのセンサにより検出される各種情報を取得するプログラムがＢＳＷに含まれうる。また、これらの各種情報に基づいてエンジン１４を駆動させるための種々の制御を行うためのプログラムがＢＳＷに含まれうる。
【００８７】
また、ＥＣＵ１３は、車両における種々の機能を実現するための電子制御装置でありうる。すなわち、ＢＳＷは、エンジン制御システム１の制御を行うプログラムに限定されるものではない。ＢＳＷには、車両における任意の予め定められた機能を実現するための種々のプログラムが含まれうる。
【００８８】
（４ｂ）上記実施形態では、ＥＣＵ１３は、アプリ初期化処理において、ＢＳＷ群のうち当該ＥＣＵ１３において使用される全てのＢＳＷの初期化処理を実行していたが、これに限定されるものではない。ＥＣＵ１３は、アプリ初期化処理において、ＢＳＷ群のうち当該ＥＣＵ１３において使用される少なくとも１つのＢＳＷを初期化するように構成されてもよい。なお、当該ＥＣＵ１３において使用される全てのＢＳＷのうち、アプリ初期化処理において初期化されるＢＳＷの数は、多いほど好ましい。
【００８９】
（４ｃ）上記実施形態では、ディーゼルエンジンをエンジン１４として備える車両１について説明したが、これに限定されるものではない。車両１は、ガソリンエンジンをエンジン１４として備える車両でありうる。
【００９０】
（４ｄ）上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【００９１】
（４ｅ）上述したエンジン制御システム１、ＥＣＵ１３の他、ＥＣＵ１３を機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、制御方法など、種々の形態で本開示を実現することもできる。
【００９２】
［５．実施形態と特許請求の範囲との対応］
ＥＣＵ１３が電子制御装置に相当し、メモリ３２が記録部に相当する。また、ＥＣＵ１３が、供給判断部、駆動実行部、初期化部、対応情報部、非作動部、初回判断部、初回指示部、非初回指示部、周期取得部、使用判断部、周期実行部に相当する。また、検出回路３６が供給判断部に相当する。また、Ｓ５が駆動実行部としての処理に相当し、Ｓ１０〜Ｓ３０が初期化部としての処理に相当し、Ｓ２２０が対応情報部としての処理に相当する。Ｓ２４０が非作動部としての処理に相当し、Ｓ３３０が初回判断部としての処理に相当し、Ｓ３４０が初回指示部としての処理に相当し、Ｓ３５０が非初回指示部としての処理に相当する。Ｓ４１０が周期取得部としての処理に相当し、Ｓ４２０が使用判断部としての処理に相当し、Ｓ４４０が周期実行部としての処理に相当する。また、ＢＳＷが機能プログラムに相当し、ＢＳＷ群が機能プログラム群に相当し、使用ＢＳＷが使用プログラムに相当し、未使用ＢＳＷが未使用プログラムに相当する。
【符号の説明】
【００９３】
１３  ＥＣＵ、３２  メモリ。
【図１】
2018162766.tif 000003
【図２】
2018162766.tif 000004
【図３】
2018162766.tif 000005
【図４】
2018162766.tif 000006
【図５】
2018162766.tif 000007
【図６】
2018162766.tif 000008
【図７】
2018162766.tif 000009
【図８】
2018162766.tif 000010
【図９】
2018162766.tif 000011
【図１０】
2018162766.tif 000012