(57)【要約】      （修正有）【課題】クランク角に同期した入力処理を同一のプロセッサが連続して実行し、各プロセッサ間の情報共有に要する処理を抑制し、クランク角同期処理の処理速度を高速化してCPU負荷を低減する内燃機関の制御装置を提供する。【解決手段】各プロセッサは、クランク角に同期してその機関の制御に関する情報を取得する入力処理手段と、入力処理手段によって取得された情報に基づいて機関の制御に用いる演算値を算出する演算処理手段と、を備え、各プロセッサの入力処理手段は、演算処理手段を実行する今回クランク角と所定のクランク角だけ前の前回クランク角とにおいて、それぞれ機関の制御に関する情報を取得し、マルチプロセッサは、前回クランク角における入力処理と今回クランク角における入力処理及び演算処理手段の演算処理とからなる同期処理を所定のクランク角毎に各プロセッサで順次実行する。【選択図】図３
2013147998.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサから構成されるマルチプロセッサを搭載した内燃機関の制御装置であって、
前記各プロセッサは、クランク角に同期して該クランク角における内燃機関の制御に関する情報を取得する入力処理手段と、該入力処理手段によって取得された情報に基づいて内燃機関の制御に用いる演算値を算出する演算処理手段と、を備え、
前記入力処理手段は、前記演算処理手段を実行する今回クランク角と該今回クランク角よりも所定のクランク角だけ前の前回クランク角とにおいて、それぞれのクランク角における内燃機関の制御に関する情報を取得するようになっており、
前記マルチプロセッサは、前記前回クランク角における前記入力処理手段の入力処理と前記今回クランク角における前記入力処理手段の入力処理及び前記演算処理手段の演算処理とからなるクランク角同期処理を所定のクランク角毎に前記各プロセッサで順次実行することを特徴とする内燃機関の制御装置。
【請求項２】
前記各プロセッサはそれぞれ格納手段を備えており、前記入力処理手段によって取得された前記前回クランク角における内燃機関の制御に関する情報はそれぞれの前記格納手段に格納されることを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項３】
前記マルチプロセッサは、前記所定のクランク角毎に、該所定のクランク角と前記今回クランク角と前記各プロセッサに割り当てられたプロセッサ識別情報とに基づいて前記入力処理手段と前記演算処理手段を実行するプロセッサを選択する選択手段を備えていることを特徴とする請求項１または２に記載の内燃機関の制御装置。
【請求項４】
前記選択手段は、前記各プロセッサに設けられており、前記各プロセッサは、前記選択手段を用いてそれぞれの前記入力処理手段と前記演算処理手段を実行するか否かを判定することを特徴とする請求項３に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の制御装置に関し、例えばマルチプロセッサを搭載した内燃機関の制御装置に関する。
【背景技術】
【０００２】
従来から、自動車等の車両の内燃機関は、クランク角センサやカム・ポジションセンサ等の各種センサを備えると共に、内燃機関の制御装置は、前記クランク角センサやカム・ポジションセンサ等により検出される検出値に基づいて内燃機関の制御に用いる演算値を算出し、内燃機関の燃料噴射量や点火時期等の各種パラメータを制御している。
【０００３】
ところで、近年、内燃機関の制御装置の性能を高めるために、マルチプロセッサを搭載した制御装置の開発が当該分野で進められている。
【０００４】
しかしながら、上記するように内燃機関の制御装置にマルチプロセッサを搭載した場合には、マルチプロセッサを構成する各プロセッサに演算処理の負荷を均等に分配することが困難であるといった問題が発生し得る。
【０００５】
このような問題に対して、各プロセッサに演算処理の負荷を均等に分配することを目的とした従来技術が特許文献１に開示されている。
【０００６】
特許文献１に開示されている内燃機関の制御装置は、マルチプロセッサを構成する各プロセッサがクランク角に同期して交互に演算処理等を含む割込みルーチンを実行する制御装置である。
【０００７】
特許文献１に開示されている内燃機関の制御装置によれば、内燃機関の回転数に関わらず、各プロセッサに対して演算処理の負荷を均等に分配することができると共に、クランク角同期処理の分配についての同期制御や排他制御等が不要となり、マルチプロセッサ全体における演算処理の負荷の増加を抑制することができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−１９６６１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、クランク角に同期して実行する各プロセッサの割込みルーチンでは、所定のクランク角間（例えば、演算処理を実行する今回クランク角と該今回クランク角よりも前の前回クランク角との間）で内燃機関の制御に関する情報を比較して演算処理を実行する場合がある。
【００１０】
特許文献1に開示されている内燃機関の制御装置においては、各プロセッサがクランク角に同期して交互に割り込みルーチンを実行しているため、前記割り込みルーチンを起動するプロセッサが所定のクランク角間（例えば、前回クランク角と今回クランク角）で相違しており、上記するように所定のクランク角間で内燃機関の制御に関する情報を比較する場合には、各プロセッサ間でその情報を共有できるようにする手段が必要となる。
【００１１】
このような情報を共有する手段としては、例えば各プロセッサに備えられたRAMを用いる手段や各プロセッサの外部に接続されたRAM等を用いる手段等が挙げられる。
【００１２】
図４は、前記情報を共有する手段として各プロセッサの外部に接続された共有RAMを用いる手段を適用した場合の従来の内燃機関の制御装置の処理フローを示したものである。なお、図４に示す従来の内燃機関の制御装置においては、マルチプロセッサが４つのプロセッサから構成され、所定のクランク角毎に各プロセッサが演算処理等のクランク角同期処理（割込みルーチン）を順次実行するようになっている。
【００１３】
図４に示す各プロセッサａ〜ｄの演算処理は、基本的に各プロセッサに備えられたRAMに格納された情報に基づいて実行される。一方で、各プロセッサ間で情報を共有する場合には、上記するように共有RAMを介して例えば前回クランク角における入力処理によって取得された情報を取得する。
【００１４】
具体的には、図示するように、従来の内燃機関の制御装置においては、プロセッサａがクランク角同期処理起動タイミングｔ１に同期して入力処理と共有RAM読み出し処理と演算処理と共有RAM書き込み処理とからなるクランク角同期処理を実行し、次のクランク角同期処理起動タイミングｔ２ではプロセッサｂがクランク角同期処理を実行する。すなわち、従来の内燃機関の制御装置においては、各プロセッサａ〜ｄの演算処理の終了後、入力処理で取得した情報を共有RAMに書き込む共有RAM書き込み処理を実行し、次のクランク角同期処理を行うプロセッサでは、クランク角同期処理起動タイミングに同期した入力処理によって当該クランク角での情報を取得すると共に、前回クランク角の情報を共有RAMから読み出す共有RAM読み出し処理を実行して演算処理を実行する。
【００１５】
このように、従来の内燃機関の制御装置においては、各プロセッサ間で情報を共有する場合、各プロセッサが入力処理によって取得した情報を共有RAMに書き込む共有RAM書き込み処理と例えば前回クランク角の情報を共有RAMから読み出す共有RAM読み出し処理とをクランク角度毎に実行する必要がある。そのため、外部に接続した共有RAMに対するアクセスに時間を要するといった課題や割込みルーチンの実行に時間を要しCPU負荷の増大に繋がるといった課題がある。
【００１６】
本発明は、前記問題に鑑みてなされたものであって、その目的とするところは、共有RAMを介した各プロセッサ間の情報共有の処理を抑制し、クランク角同期処理（割込みルーチン）の処理速度を高速化してCPU負荷を低減することのできる内燃機関の制御装置を提供することにある。
【課題を解決するための手段】
【００１７】
上記する課題を解決するために、本発明に係る内燃機関の制御装置は、複数のプロセッサから構成されるマルチプロセッサを搭載した内燃機関の制御装置であって、前記各プロセッサは、クランク角に同期して該クランク角における内燃機関の制御に関する情報を取得する入力処理手段と、該入力処理手段によって取得された情報に基づいて内燃機関の制御に用いる演算値を算出する演算処理手段と、を備え、前記入力処理手段は、前記演算処理手段を実行する今回クランク角と該今回クランク角よりも所定のクランク角だけ前の前回クランク角とにおいて、それぞれのクランク角における内燃機関の制御に関する情報を取得するようになっており、前記マルチプロセッサは、前記前回クランク角における前記入力処理手段の入力処理と前記今回クランク角における前記入力処理手段の入力処理及び前記演算処理手段の演算処理とからなるクランク角同期処理を所定のクランク角毎に前記各プロセッサで順次実行することを特徴とする。
【発明の効果】
【００１８】
以上の説明から理解できるように、本発明によれば、各プロセッサの入力処理手段が、演算処理手段を実行する今回クランク角と該今回クランク角よりも所定のクランク角だけ前の前回クランク角とにおいて内燃機関の制御に関する情報を取得する入力処理を実行することで、プロセッサが今回クランク角と前回クランク角とにおける内燃機関の制御に関する情報を用いて演算処理を実行する場合であっても、各プロセッサ間の情報共有に要する処理を抑制し、アクセス速度が遅い共有RAMの使用が不要となり、クランク角同期処理（割込みルーチン）の処理速度を格段に高速化して制御装置のCPU負荷を効果的に低減することができる。
【００１９】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００２０】
【図１】本発明に係る内燃機関の制御装置の内部構成を概略的に示した内部構成図。
【図２】図１に示すマルチプロセッサの内部構成を示した内部構成図。
【図３】図１に示す内燃機関の制御装置の処理フローの一例を示した図。
【図４】従来の内燃機関の制御装置の処理フローを示した図。
【発明を実施するための形態】
【００２１】
以下、本発明に係る内燃機関の制御装置の実施の形態について、図面を参照して説明する。
【００２２】
図１は、本発明に係る内燃機関の制御装置の内部構成を概略的に示したものである。なお、この制御装置１１１は、例えば自動車等の車両のエンジン制御に適用されるものである。
【００２３】
図示する制御装置１１１は、入力回路１１３と複数のプロセッサ２１１、２２１、２３１、２４１を有するマルチプロセッサ１１４と出力回路１１５とを備えている。
【００２４】
前記入力回路１１３は、クランク軸（不図示）に取付けられ、等間隔に設けられた歯に応じてパルス信号を出力するクランク角センサ１１からクランク角同期信号を受信し、そのクランク角同期信号をマルチプロセッサ１１４へ出力する。
【００２５】
マルチプロセッサ１１４は、入力回路１１３から入力されたクランク角同期信号に基づいて後述するクランク角同期処理を実行し、内燃機関の燃料噴射量や点火時期等の制御を行うための各種演算値を算出して、その演算値を出力回路１１５へ出力する。
【００２６】
そして、出力回路１１５は、マルチプロセッサ１１４から入力された各種演算値を点火コイル１２やインジェクタ１３等へ出力する。
【００２７】
図２は、図１に示すマルチプロセッサ１１４の内部構成を具体的に示したものである。なお、本実施の形態においては、マルチプロセッサ１１４が４つのプロセッサ２１１、２２１、２３１、２４１を有する形態について説明するが、マルチプロセッサ１１４を構成するプロセッサの基数は、当該制御装置１１１の処理能力や処理速度等に応じて適宜設定することができる。
【００２８】
図示するように、プロセッサ２１１はCPU（電子制御ユニット）２１２とRAM（Random Access Memory）２１３とROM（Read Only Memory）２１４とCRK（割込み信号発生装置）２１５を備えている。また、プロセッサ２１１と同様に、各プロセッサ２２１、２３１、２４１はそれぞれ、CPU２２２、２３２、２４２とRAM２２３、２３３、２４３とROM２２４、２３４、２４４とCRK（割込み信号発生装置）２２５、２３５、２４５とを備えている。そして、各プロセッサ２１１、２２１、２３１、２４１は、バス２５１を介して相互に接続されると共にマルチプロセッサ１１４に備えられた共有RAM２５２と接続されている。
【００２９】
図２に示すマルチプロセッサ１１４の処理フローについて説明すると、プロセッサ２１１のCRK（割込み信号発生装置）２１５は、入力回路１１３（図１参照）から入力されるクランク角同期信号に基づき所定のクランク角毎に割込み信号を発生してCPU２１２へ送信する。また、各プロセッサ２２１、２３１、２４１のCRK２２５、２３５、２４５は、プロセッサ２１１のCRK２１５と同様に、所定のクランク角毎に割込み信号を発生して各CPU２２２、２３２、２４２へ送信する。
【００３０】
ここで、プロセッサ２１１のROM２１４には、CPU２１２が実行するメインプログラムが格納されている。また、各プロセッサ２２１、２３１、２４１のROM２２４、２３４、２４４にも、プロセッサ２１１のROM２１４と同様に、各CPU２２２、２３２、２４１が実行するメインプログラムが格納されている。前記メインプログラムは、制御、演算、入出力等を行う各種プログラムの集合体であり、本実施の形態においては、前記各種プログラムの他、入力処理ルーチンを開始する入力処理開始手段や演算処理ルーチンを開始する演算処理開始手段等がメインプログラムに記述されている。したがって、各プロセッサ２１１、２２１、２３１、２４１のCPU２１２、２２２、２３２、２４２は、前記メインプログラムに従い、クランク角に同期して入力処理開始手段や演算処理開始手段を実行するようになっている。
【００３１】
そして、クランク角に同期して入力処理ルーチンを開始したプロセッサ２１１のCPU２１２は、そのROM２１４に格納されたメインプログラムに従い、入力処理手段２１６によって入力処理ルーチンを実行し、その入力処理ルーチンによって取得された割込み発生時刻等の内燃機関の制御に関する情報をRAM２１３に格納すると共に、演算処理手段２１７によって演算処理ルーチンを実行して内燃機関の制御に用いる各種パラメータの演算値を算出する。そして、その演算結果を出力回路１１５へ出力すると共にRAM２１３へ格納する。また、各プロセッサ２２１、２３１、２４１のCPU２２２、２３２、２４２は、プロセッサ２１１のCPU２１２と同様に、各入力処理手段２２６、２３６、２４６によって入力処理ルーチンを実行し、演算処理手段２２７、２３７、２４７によって演算処理ルーチンを実行し、入力処理ルーチンによって取得された内燃機関の制御に関する情報や演算処理ルーチンによって算出された演算結果を各RAM２２３、２３３、２４３に格納する。
【００３２】
ここで、各プロセッサ２１１、２２１、２３１、２４１に備えられたRAM２１３、２２３、２３３、２４３よりもアクセス速度が遅い共有RAM２５２を用いているものの、各プロセッサで演算処理を実行する場合には基本的に共有RAM２５２へアクセスしないようになっており、プロセッサ２１１での演算処理に用いる情報が格納されたRAM２１３へのアクセスはCPU２１２のみであり、同様にプロセッサ２２１での演算処理に用いる情報が格納されたRAM２２３へのアクセスはCPU２２２のみ、プロセッサ２３１での演算処理に用いる情報が格納されたRAM２３３へのアクセスはCPU２３２のみ、プロセッサ２４１での演算処理に用いる情報が格納されたRAM２４３へのアクセスはCPU２４２のみである。そのため、各プロセッサで演算処理等を実行する場合に、各プロセッサ間の排他制御を行う必要がなく、待機時間なく各CPUが必要なRAMへ逐次アクセスすることができる。
【００３３】
図３は、図１に示す内燃機関の制御装置の処理フロー（各プロセッサのクランク角同期処理）をより具体的に示したものである。
【００３４】
図示するように、クランク角センサ１１から出力されるクランク角同期信号は、所定の角度毎に立ち下がりエッジを有している。本実施の形態においては、クランク角同期信号のそれぞれの立ち下がりエッジをクランク角同期処理起動タイミングＴ１、Ｔ２、Ｔ３、Ｔ４とする。上記するように、クランク角同期信号は、入力回路１１３を介して各プロセッサ２１１、２２１、２３１、２４１のCRK２１５、２２５、２３５、２４５へ入力され、各CRK２１５、２２５、２３５、２４５は入力されたクランク角同期信号に基づいて所定のクランク角毎に割込み信号を発生し、それぞれのCPU２１２、２２２、２３２、２４２にその割込み信号を送信する。
【００３５】
各CPU２１２、２２２、２３２、２４２は、それぞれのROM２１４、２２４、２３４、２４４に格納されたメインプログラムに従い、各プロセッサ２１１、２２１、２３１、２４１に備えられた入力処理手段２１６、２２６、２３６、２４６や演算処理手段２１７、２２７、２３７、２４７を実行するか否かを判断する。
【００３６】
ここで、図４に基づいて説明した従来の制御装置においては、クランク角同期信号の所定のクランク角毎に実行する入力処理や共有RAM読み出し処理や演算処理や共有RAM書き込み処理といった各プロセッサのクランク角同期処理を、一つの処理モジュールとして構成していた。
【００３７】
一方で、図３に示す本実施の形態の制御装置１１においては、クランク角同期処理に含まれる入力処理と演算処理とを分離し、それぞれの処理を任意のタイミングにて実行できる構成としている。
【００３８】
具体的には、各プロセッサ２１１、２２１、２３１、２４１は、演算処理手段によって演算処理を実行するクランク角（今回クランク角）よりも所定のクランク角だけ前のクランク角（前回クランク角）のタイミングと、今回クランク角のタイミングと、において、同一のプロセッサで入力処理手段による入力処理を実行し、前回クランク角における内燃機関の制御に関する情報と今回クランク角における内燃機関の制御に関する情報を用いて今回クランク角のタイミングで演算処理手段にて演算処理を実行する。このように、同一のプロセッサで前回クランク角と今回クランク角といった異なるクランク角における入力処理を実行し、前回クランク角における入力結果は各プロセッサに備えられたRAMに記憶（格納）しておき、今回クランク角のタイミングで各RAMに格納された入力結果を用いて演算処理を実行する。
【００３９】
より具体的には、各プロセッサ２１１、２２１、２３１、２４１のCPU２１２、２２２、２３２、２４２は、所定のクランク角毎に、該所定のクランク角と今回クランク角と各プロセッサ２１１、２２１、２３１、２４１に割り当てられたプロセッサ識別情報とに基づいて、マルチプロセッサ１１４に内蔵された入力処理手段と演算処理手段を実行するプロセッサを選択する選択手段２１８、２２８、２３８、２４８（図２参照）を備えている。
【００４０】
前記各選択手段２１８、２２８、２３８、２４８は、各クランク角同期処理起動タイミングにおいて、（CA/ANG）/PENUMの剰余を算出し、入力処理と演算処理を実行するプロセッサの識別番号を示す演算値を算出して、そのタイミング（今回クランク角のタイミング）で入力処理と演算処理を実行するプロセッサを選択する。それと共に、各選択手段２１８、２２８、２３８、２４８は、（（CA/ANG）/PENUMの剰余）+1を算出し、前回クランク角における内燃機関の制御に関する情報を取得する入力処理を実行するプロセッサを選択する。ここで、CAは割込み信号検出時のクランク角（今回クランク角）、ANGは割込み信号を検出する前回クランク角と今回クランク角との差（所定のクランク角）、PENUMはプロセッサの数量（本実施の形態においては「4」）である。なお、上記いずれの計算式においても演算値が「4」となった場合には「0」と変換する。また、上記する各プロセッサに割り当てられたプロセッサ識別情報には、少なくとも前記プロセッサの識別番号とプロセッサの数量とが含まれるものとする。
【００４１】
例えば、プロセッサ２１１が識別番号「0」、プロセッサ２２１が識別番号「1」、プロセッサ２３１が識別番号「2」、プロセッサ２４１が識別番号「3」を有し、クランク角同期処理起動タイミングＴ１で、（CA／ANG）／PENUMの剰余の演算値が「0」である場合には、図３に示すように、識別番号「0」を有するプロセッサ２１１が、クランク角同期処理起動タイミングＴ１に同期して入力処理手段２１６と演算処理手段２１７を用いて入力処理と演算処理を実行する。また、（CA／ANG）／PENUMの剰余）+1は「1」となるため、識別番号「1」を有するプロセッサ２２１が、クランク角同期処理起動タイミングＴ１に同期して入力処理手段２２６にて入力処理のみを実行し、その入力結果をプロセッサ２２１のRAM２２３に格納する。
【００４２】
また、クランク角同期処理起動タイミングＴ１よりも所定のクランク角だけ遅れたクランク角同期処理起動タイミングＴ２では、（CA／ANG）／PENUMの剰余の演算値は「1」となるため、識別番号「1」を有するプロセッサ２２１が、クランク角同期処理起動タイミングＴ２に同期して入力処理手段２２６と演算処理手段２２７を用いて入力処理と演算処理を実行する。また、（CA／ANG）／PENUMの剰余）+1は「2」となるため、識別番号「2」を有するプロセッサ２３１が、クランク角同期処理起動タイミングＴ２に同期して入力処理手段２３６にて入力処理のみを実行し、その入力結果をプロセッサ２３１のRAM２３３に格納する。
【００４３】
このような前回クランク角の入力処理と今回クランク角の入力処理と演算処理からなるクランク角同期処理（割込みルーチン処理）を各プロセッサで順次実行することによって、所定のクランク角毎に各プロセッサが内燃機関の制御に用いる演算値を順次算出することができる。
【００４４】
ここで、例えばクランク角同期処理起動タイミングＴ２において、プロセッサ２２１が内燃機関の制御に用いる演算値を算出する際に前回クランク角における情報を使用する場合であっても、プロセッサ２２１の演算処理手段２２７はそのプロセッサ２２１に備えられたRAM２２３からクランク角同期処理起動タイミングＴ１における入力結果を読み込むことができる。これにより、前回クランク角における情報と今回クランク角における情報を用いた演算処理を共有RAM２５２を介することなく実行することができ、共有RAM読み出し処理や共有RAM書き込み処理といった処理が不要となり、クランク角同期処理の処理速度を格段に高速化して制御装置のCPU負荷を低減することができる。
【００４５】
このように、前回クランク角のクランク角同期処理起動タイミングで入力処理を実行したプロセッサが、今回クランク角のクランク角同期処理起動タイミングで演算処理を実行するため、前回クランク角における入力結果を用いて演算処理を実行する場合であっても、前回クランク角における入力結果を各プロセッサ２１１、２２１、２３１、２４１に備えられたRAM２１３、２２３、２３３、２４３から得ることができ、共有RAM２５２へのアクセスを抑制してクランク角同期処理の処理速度を格段に高速化することができる。
【００４６】
なお、本発明は上記した実施の形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００４７】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【産業上の利用可能性】
【００４８】
マルチプロセッサを搭載した自動車等の車両の内燃機関の電子制御装置に利用可能である。
【符号の説明】
【００４９】
１１…クランク角センサ
１２…点火コイル
１３…インジェクタ
１１１…内燃機関の制御装置
１１３…入力回路
１１４…マルチプロセッサ
１１５…出力回路
２１１、２２１、２３１、２４１…プロセッサ
２１２、２２２、２３２、２４２…CPU
２１３、２２３、２３３、２４３…RAM（格納手段）
２１４、２２４、２３４、２４４…ROM
２１５、２２５、２３５、２４５…CRK（割込み信号発生装置）
２１６、２２６、２３６、２４６…入力処理手段
２１７、２２７、２３７、２４７…演算処理手段
２１８、２２８、２３８、２４８…選択手段
２５１…バス
２５２…共有RAM
Ｔ１、Ｔ２、Ｔ３、Ｔ４…クランク角同期処理起動タイミング
【図１】
2013147998.tif 000003
【図２】
2013147998.tif 000004
【図３】
2013147998.tif 000005
【図４】
2013147998.tif 000006