(57)【要約】【課題】入力パルスのエッジ時刻を正確に計測する。【解決手段】電子制御装置１は、入力パルスが入力されることに応じて割り込み要求を通知するタイマプロセッサ９と、タイマプロセッサ９から割り込み要求が通知されると、割り込み処理を実行するメインプロセッサ８と、メインプロセッサ８及びタイマプロセッサ９がアクセス可能な共有記憶部１０と、を備える。ＴＰＵ９は、入力パルスのエッジ時刻をオンエッジ時刻とオフエッジ時刻とに区分してＳＤＭ１０に記憶させる。【選択図】図１
2018145871.tif 000002
【特許請求の範囲】
【請求項１】
入力パルスが入力されることに応じて割り込み要求を通知するタイマプロセッサ（９）と、
前記タイマプロセッサから割り込み要求が通知されると、割り込み処理を実行するメインプロセッサ（８）と、
前記メインプロセッサ及び前記タイマプロセッサがアクセス可能な共有記憶部（１０）と、を備え、
前記タイマプロセッサは、入力パルスのエッジ時刻をオンエッジ時刻とオフエッジ時刻とに区分して前記共有記憶部に記憶させる電子制御装置。
【請求項２】
前記タイマプロセッサは、入力パルスのエッジ方向を判定してオンエッジ又はオフエッジの割り込み要求を前記メインプロセッサに通知する請求項１に記載の電子制御装置。
【請求項３】
前記タイマプロセッサは、入力パルスのエッジが発生した回数を示すエッジ回数を前記共有記憶部に記憶させ、
前記メインプロセッサは、前記タイマプロセッサからオンエッジ又はオフエッジの割り込み要求が通知されると、前記共有記憶部に記憶されているエッジ回数を取得し、オンエッジ時刻又はオフエッジ時刻によるイベント通知を行う請求項２に記載の電子制御装置。
【請求項４】
内燃機関（２）へのインジェクタ（３）からの燃料噴射を制御するための噴射パルスを出力する出力部（５）を備え、
前記タイマプロセッサは、前記出力部から出力された噴射パルスがフィードバック入力されることに応じて割り込み要求を通知する請求項１から３の何れか一項に記載の電子制御装置。
【請求項５】
前記タイマプロセッサは、センサから出力されたパルスが入力パルスとして入力されることに応じて割り込み要求を通知する請求項１から３の何れか一項に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置に関する。
【背景技術】
【０００２】
近年の排ガス規制や燃費向上のため、例えばディーゼルエンジンでは短い期間で多くの噴射を行う多段噴射への要求が高まっている。燃料噴射を制御する電子制御装置のマイクロコンピュータ（以下、マイコンと称する）では、多段噴射の制御を精密に行うため、噴射パルスを入力パルスとしてフィードバック入力し、噴射パルスのエッジ時刻を捕捉して割り込み処理を行う。単位期間あたりの噴射回数が増えると、噴射パルスのエッジの間隔が短くなるので、割り込み処理の間隔が短くなり、単一のプロセッサでは処理負荷が高くなる。このような事情から、演算処理用のプロセッサとイベント処理用のプロセッサとを別々に設けたマイコンを使用する構成が供されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平４−１２１４４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
最近では更に短い期間でより多くの噴射を行う多段噴射への要求が強まっている。例えばソレノイドインジェクタを使用する従来の構成では、オン時間及びオフ時間が共に１００［μｓ］以上の噴射パルスを要求していたのに対し、例えばピエゾインジェクタを使用する最近の構成では、オン時間が７０［μｓ］であり、オフ時間が１００［μｓ］の噴射パルスを要求している。更に次世代の構成では、オン時間が７０［μｓ］であり、オフ時間が５０［μｓ］の噴射パルスを要求することも想定されている。
【０００５】
割り込み処理を実行する構成では、必ずしもエッジが発生したタイミングで割り込み処理を開始する訳ではなく、他の割り込み要因や割り込み禁止処理等の兼ね合いにより、エッジが発生したタイミングから遅れて割り込み処理を開始する場合があり、割り込み遅延が発生する場合がある。そのため、エッジの間隔が短い入力パルスのエッジを捕捉して割り込み処理を行う構成では、割り込み遅延時間が入力パルスのオン時間よりも長くなると、オンエッジの割り込み処理を開始する前にオフエッジが発生することになる。その結果、オフエッジの発生によりエッジ時刻が書き換わってしまい、エッジ時刻を正確に計測することができず、エッジ時刻を正確に計測できないことに起因して不具合が発生することになる。このような問題は、上記したような噴射パルスをフィードバック入力する電子制御装置に限らず、エッジの間隔が短い入力パルスを入力する電子制御装置であれば発生し得る。
【０００６】
本発明は、上記した事情に鑑みてなされたものであり、その目的は、入力パルスのエッジ時刻を正確に計測することができ、エッジ時刻を正確に計測できないことに起因する不具合の発生を未然に回避することができる電子制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
請求項１に記載した発明によれば、タイマプロセッサ（９）は、入力パルスが入力されることに応じて割り込み要求を通知する。メインプロセッサ（８）は、タイマプロセッサから割り込み要求が通知されると、割り込み処理を実行する。共有記憶部（１０）は、メインプロセッサ及びタイマプロセッサがアクセス可能である。タイマプロセッサは、入力パルスのエッジ時刻をオンエッジ時刻とオフエッジ時刻とに区分して共有記憶部に記憶させる。
【０００８】
割り込み遅延時間が入力パルスのオン時間よりも長くなり、オンエッジの割り込み処理理を開始する前にオフエッジが発生すると、そのオフエッジの発生によりエッジ時刻が書き換わってしまう。このようなエッジ時刻が書き換わることに対し、入力パルスのエッジ時刻をオンエッジ時刻とオフエッジ時刻とに区分して共有記憶部に記憶させるようにした。区分して記憶されているオンエッジ時刻とオフエッジ時刻とを参照することで、入力パルスのエッジ時刻を正確に計測することができ、エッジ時刻を正確に計測できないことに起因する不具合の発生を未然に回避することができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態を示す機能ブロック図
【図２】タイミングチャート（その１）
【図３】タイミングチャート（その２）
【図４】タイミングチャート（その３）
【図５】フローチャート
【図６】タイミングチャート（その４）
【図７】タイミングチャート（その５）
【発明を実施するための形態】
【００１０】
以下、本発明の一実施形態について図面を参照して説明する。
電子制御装置１は、車両のエンジン２（内燃機関に相当する）へのインジェクタ３からの燃料噴射を制御する装置である。電子制御装置１は、図示しない各種センサと電気的に接続されており、それら各種センサから入力する各種センサ信号に含まれる各種情報を適宜用い、燃料噴射を制御する。エンジン２は、例えば複数の気筒を有するディーゼルエンジン、ガソリンエンジン又はガスエンジン等である。
【００１１】
電子制御装置１は、マイコン４と、出力回路５（出力部に相当する）、入力回路６と、噴射ＩＣ７とを有する。マイコン４は、演算処理用のプロセッサとイベント処理用のプロセッサとを別々に設けたマイコンであり、演算処理用のプロセッサにおいて燃料の噴射タイミングや噴射量等を演算して燃料噴射を制御する。出力回路５は、マイコン４から出力指令を入力すると、燃料噴射を制御するための噴射パルス（入力パルスに相当する）を噴射ＩＣ７に出力する。出力回路５から出力された噴射パルスは、噴射ＩＣ７に入力されると共に、入力回路６を介してマイコン４に入力される。即ち、マイコン４は、出力回路５から出力された噴射パルスをフィードバック入力する。噴射ＩＣ７は、出力回路５から噴射パルスを入力すると、インジェクタ電流をインジェクタ３に供給する。インジェクタ３は、噴射ＩＣ７からインジェクタ電流が供給されると、図示しないアクチュエータにより噴射弁を開弁して燃料をエンジン２に噴射する。噴射ＩＣ７は、インジェクタ３に供給するインジェクタ電流の電流値を切り替えることで、インジェクタ３からエンジン２に噴射される燃料の噴射量を切り替える。
【００１２】
このように噴射パルスをフィードバック入力する構成において噴射パルスのエッジ時刻を計測する方法について説明する。噴射パルスのエッジが発生したタイミングで演算処理用のプロセッサが割り込み処理を実行する構成では、必ずしもエッジが発生したタイミングで割り込み処理を開始する訳ではなく、他の割り込み要因や割り込み禁止処理等の兼ね合いにより、エッジが発生したタイミングから遅れて割り込み処理を開始する場合があり、割り込み遅延が発生する場合がある。
【００１３】
ここで、単位期間あたりの噴射回数の要求が比較的少なく、即ち噴射パルスのオン時間が比較的長く設計されており、割り込み遅延時間が噴射パルスのオン時間よりも短ければ、何ら不具合は懸念されない。即ち、図２に示すように、噴射パルスのオン時間及びオフ時間が共に１００［μｓ］以上であり、割り込み遅延時間の最大値である最大割り込み遅延時間が１００［μｓ］であれば、ポートレベルとエッジ時刻とを割り込み処理で取得することで、エッジ時刻を正確に計測することができる。尚、最大割り込み遅延時間は、最大の高負荷状態であっても、これ以上の時間は割り込み遅延が起きないと定義された時間である。又、演算処理用のプロセッサがオンエッジの割り込み処理を実行することで、その内部でドライバからアプリケーションへのオンイベント通知を行え、演算処理用のプロセッサがオフエッジの割り込み処理を実行することで、その内部でドライバからアプリケーションへのオフイベント通知を行える。
【００１４】
しかしながら、単位期間あたりの噴射回数の要求が比較的多く、即ち噴射パルスのオン時間が比較的短く設計されており、割り込み遅延時間が噴射パルスのオン時間よりも長くなると、オンエッジの割り込み処理を開始する前にオフエッジが発生し、以下に示す不具合が懸念される。即ち、図３に示すように、噴射パルスのオン時間が７０［μｓ］であり、オフ時間が１００［μｓ］であり、最大割り込み遅延時間が１００［μｓ］であれば、オフエッジの発生によりポートレベルが反対となり、エッジ時刻が書き換わってしまうので、エッジ時刻を正確に計測することができない。又、演算処理用のプロセッサがオンエッジの割り込み処理を実行することで、オンイベント通知を行えるが、演算処理用のプロセッサがオフエッジの割り込み処理を実行せず、オフエッジの割り込み処理の抜けが発生してしまうので、オフイベント通知を行えない。
【００１５】
この点を考慮し、マイコン４は、噴射パルスのオンエッジ時刻とオフエッジ時刻とを区分して管理する。即ち、マイコン４は、上記した演算処理用のプロセッサとしてのＣＰＵ８（メインプロセッサに相当する）と、上記したイベント処理用のプロセッサとしてのＴＰＵ９（タイマプロセッサに相当する）と、ＳＤＭ１０（共有記憶部に相当する）と、Ｉ／Ｏ１０とを有し、それらが内部バス１１を介して相互接続されて構成されている。ＴＰＵ９は、ＣＰＵ８よりも応答性が高いプロセッサであり、ＣＰＵ８と非同期で動作する。
【００１６】
ＴＰＵ９は、エッジ時刻を１つだけ保持可能なレジスタ１３を有し、出力回路５から出力された噴射パルスを入力回路６を介してフィードバック入力し、その入力した噴射パルスのエッジの発生を検知すると、そのエッジの発生を検知した時刻をエッジ時刻としてレジスタ１３に書き込む。即ち、ＴＰＵ９は、噴射パルスのオンエッジの発生を検知すると、その時刻をオンエッジ時刻としてレジスタ１３に書き込み、噴射パルスのオフエッジの発生を検知すると、その時刻をオフエッジ時刻としてレジスタ１３に書き込む。この場合、レジスタ１３が保持可能なエッジ時刻が１つだけであるので、ＴＰＵ９は、噴射パルスのエッジの発生を検知する毎にレジスタ１３のエッジ時刻を書き換える。
【００１７】
ＣＰＵ８は、上記したように演算処理用のプロセッサであり、ＴＰＵ９から割り込み要求が通知されると、割り込み処理を実行する。ＣＰＵ８は、割り込み処理を実行することで、その内部でドライバからアプリケーションへのイベント通知を行う。又、ＣＰＵ８は、後述するエッジ回数を保持可能な第１のＲＡＭ１４とエッジ方向を保持可能な第２のＲＡＭ１５とに対してアクセス可能である。ＳＤＭ１０は、ＣＰＵ８及びＴＰＵ９の両方がアクセス可能であり、各種エッジ情報を記憶する。即ち、ＳＤＭ１０は、オンエッジ時刻を記憶するオンエッジ時刻記憶領域１６ａと、オフエッジ時刻を記憶するオフエッジ時刻記憶領域１６ｂと、エッジ回数を記憶するエッジ回数記憶領域１６ｃとを有する。
【００１８】
ＴＰＵ９は、上記したように噴射パルスのエッジの発生を検知すると、そのエッジの発生を検知した時刻をエッジ時刻としてレジスタ１３に書き込むことに加え、以下のように動作する。ＴＰＵ９は、図４に示すように、噴射パルスのオンエッジ又はオフエッジの発生を検知する毎に（ｔ１〜ｔ４）、タイマプロセッサ処理を実行する。タイマプロセッサ処理の実行時間は噴射パルスのオン時間に対して十分に短い時間である。ＴＰＵ９は、噴射パルスのオンエッジの発生を検知すると（ｔ１）、タイマプロセッサ処理を開始し、タイマプロセッサ処理を実行中に、レジスタ１３に保持されているエッジ時刻を参照し、その参照したエッジ時刻をオンエッジ時刻記憶領域１６ａに書き込み、エッジ回数記憶領域１６ｃに保持されているエッジ回数をインクリメントし、タイマプロセッサ処理を終了する（ｔ１１）。又、ＴＰＵ９は、噴射パルスのオンエッジの発生を検知すると、オンエッジの割り込み要求をＣＰＵ８に通知する。ＣＰＵ８は、ＴＰＵ９からオンエッジの割り込み要求が通知されると、オンエッジの割り込み処理を実行し、その内部でドライバからアプリケーションへのオンイベント通知を行う。
【００１９】
続いて、ＴＰＵ９は、噴射パルスのオフエッジの発生を検知すると（ｔ２）、タイマプロセッサ処理を開始し、タイマプロセッサ処理を実行中に、レジスタ１３に保持されているエッジ時刻を参照し、その参照したエッジ時刻をオフエッジ時刻記憶領域１６ｂに書き込み、エッジ回数記憶領域１６ｃに保持されているエッジ回数をインクリメントし、タイマプロセッサ処理を終了する（ｔ１２）。又、ＴＰＵ９は、噴射パルスのオフエッジの発生を検知すると、オフエッジの割り込み要求をＣＰＵ８に通知する。ＣＰＵ８は、ＴＰＵ９からオフエッジの割り込み要求が通知されると、オフエッジの割り込み処理を実行し、その内部でドライバからアプリケーションへのオフイベント通知を行う。ＴＰＵ９は、噴射パルスのオンエッジ又はオフエッジの発生を検知する毎に、上記した処理を繰り返す（ｔ３，ｔ１３，ｔ４，ｔ１４，…）。
【００２０】
次に、上記した構成の作用について図５から図７を参照して説明する。
ＣＰＵ８は、ＴＰＵ９から割り込み要求が通知されると、割り込み処理を開始し、ＳＤＭ１０に記憶されているエッジ情報を取得する（Ｓ１）。この場合、ＣＰＵ８がＳＤＭ１０から取得するエッジ情報は、オンエッジ時刻記憶領域１６ａに記憶されているオンエッジ時刻と、オフエッジ時刻記憶領域１６ｂに記憶されているオフエッジ時刻と、エッジ回数記憶領域１６ｃに記憶されているエッジ回数とを含む。ＣＰＵ８は、第１のＲＡＭ１４に保持されているエッジ回数を読み出し、その読み出したエッジ回数とＳＤＭ１０から取得したエッジ回数との差分を計算し、前回の割り込み処理から今回の割り込み処理までの期間で発生したエッジの回数の差分を計算する（Ｓ２）。又、ＣＰＵ８は、ＳＤＭ１０から取得したエッジ回数を今回の割り込み処理でのエッジ回数として第１のＲＡＭ１４に保持する（Ｓ３）。
【００２１】
ここで、割り込み遅延時間が噴射パルスのオン時間よりも短く、オンエッジの割り込み処理を開始した時点でオフエッジが未だ発生していなければ、前回の割り込み処理から今回の割り込み処理までの期間で発生したエッジの回数の差分は「１」となる。一方、割り込み遅延時間が噴射パルスのオン時間よりも長く、オンエッジの割り込み処理を開始した時点でオフエッジが既に発生していれば、前回の割り込み処理から今回の割り込み処理までの期間で発生したエッジの回数の差分は「２」となる。
【００２２】
ＣＰＵ８は、計算した差分が「１」であるか否かを判定し、割り込み処理の抜けが発生するか否かを判定する（Ｓ４）。ＣＰＵ８は、計算した差分が「１」であると判定し、割り込み処理の抜けが発生しないと判定すると（Ｓ４：ＹＥＳ）、第２のＲＡＭ１５に保持されているエッジ方向を読み出し、その読み出したエッジ方向にしたがってイベント処理用のプロセッサへのイベント通知を行う（Ｓ５）。即ち、ＣＰＵ８は、第２のＲＡＭ１５から読み出したエッジ方向がオン方向であればオンイベント通知を行い、第２のＲＡＭ１５から読み出したエッジ方向がオフ方向であればオフイベント通知を行う。ＣＰＵ８は、第２のＲＡＭ１５に保持されているエッジ方向を反転させ、今回の割り込み処理とは逆方向のイベント通知を次回の割り込み処理で行えるように準備し（Ｓ６）、割り込み処理を終了する。
【００２３】
このようにＣＰＵ８は、計算した差分が「１」であると判定し、割り込み処理の抜けが発生しないと判定すると、イベント通知を１回だけ行い、割り込み処理を終了する。即ち、図６に示すように、噴射パルスのオン時間が７０［μｓ］であり、オフ時間が１００［μｓ］であり、割り込み遅延時間が７０［μｓ］以下であり、割り込み遅延時間が噴射パルスのオン時間よりも短ければ、ＣＰＵ８は、噴射パルスのオフエッジが発生する前にオンエッジの割り込み処理を開始するので（ｔ２１）、割り込み処理の抜けが発生しないと判定し、割り込み処理においてイベント通知を１回だけ行う。
【００２４】
一方、ＣＰＵ８は、計算した差分が「１」でないと判定し、割り込み処理の抜けが発生すると判定すると（Ｓ４：ＮＯ）、計算した差分が「２」であるか否かを判定し、割り込み処理の抜けが１回だけ発生するか否かを判定する（Ｓ７）。ＣＰＵ８は、計算した差分が「２」であると判定し、割り込み処理の抜けが１回だけ発生すると判定すると（Ｓ７：ＹＥＳ）、第２のＲＡＭ１５に保持されているエッジ方向を読み出し、その読み出したエッジ方向にしたがってイベント通知を行う（Ｓ８）。続けて、ＣＰＵ８は、その読み出したエッジ方向とは反対方向のエッジ方向にしたがってイベント通知を行い（Ｓ９）、割り込み処理を終了する。
【００２５】
このようにＣＰＵ８は、計算した差分が「２」であると判定し、割り込み処理の抜けが１回だけ発生すると判定すると、イベント通知を２回続けて行い、割り込み処理を終了する。尚、ＣＰＵ８は、この場合は、異なる方向のイベント通知を２回続けて行うので、第２のＲＡＭ１５に保持されているエッジ方向を反転させる必要はない。即ち、ＣＰＵ８は、図７に示すように、噴射パルスのオン時間が７０［μｓ］であり、オフ時間が１００［μｓ］であり、割り込み遅延時間が１００［μｓ］であり、割り込み遅延時間が噴射パルスのオン時間よりも長ければ、ＣＰＵ８は、噴射パルスのオフエッジが発生してからオンエッジの割り込み処理を開始するので（ｔ３１）、割り込み処理の抜けが１回だけ発生すると判定し、割り込み処理においてイベント通知を２回続けて行う。イベント通知を２回続けて行うことで、割り込み処理の抜けが１回だけ発生しても不具合が懸念されることはない。尚、ＣＰＵ８は、計算した差分が「２」でないと判定すると（Ｓ７：ＮＯ）、ノイズによる影響があると判定し、割り込み処理を即座に終了する。
【００２６】
以上に説明したように本実施形態によれば、次に示す効果を得ることができる。
電子制御装置１において、噴射パルスのエッジ時刻をオンエッジ時刻とオフエッジ時刻とに区分してＳＤＭ１０に記憶させるようにした。割り込み遅延時間が噴射パルスのオン時間よりも長くなり、オンエッジの割り込み処理を開始する前にオフエッジが発生すると、エッジ時刻が書き換わってしまうが、オンエッジ時刻とオフエッジ時刻とを区分してＳＤＭ１０に記憶させるようにしたので、その区分して記憶されているオンエッジ時刻とオフエッジ時刻とを参照することで、オンエッジ時刻及びオフエッジ時刻を正確に計測することができる。
【００２７】
又、電子制御装置１において、ＴＰＵ９が噴射パルスのエッジ方向を判定してオンエッジ又はオフエッジの割り込み要求をＣＰＵ８に通知するようにした。ＴＰＵ９が例えばノイズ等による不要な割り込み要求をＣＰＵ８に通知してしまうのを未然に回避することができ、ＣＰＵ８の処理負荷を低減することができる。
【００２８】
又、電子制御装置１において、ＴＰＵ９からＣＰＵ８に割り込み要求が通知されると、ＣＰＵ８がＳＤＭ１０に記憶されているエッジ回数を取得してオンエッジ時刻又はオフエッジ時刻によるイベント通知を行うようにした。割り込み処理の抜けが発生する場合であっても、割り込み処理の抜けの発生に対して事前に対処することで、割り込み処理の抜けによる不具合の発生を未然に回避することができ、イベント通知を適切に行うことができる。
【００２９】
本開示は、実施例に準拠して記述されたが、当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、更には、それらに一要素のみ、それ以上、或いはそれ以下を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
【００３０】
本実施形態では、燃料噴射を制御する電子制御装置１に適用したが、他の動作を制御する電子制御装置に適用する構成でも良い。又、車載の用途に適用する構成に限らず、車載以外の用途に適用する構成でも良い。
【００３１】
本実施形態では、燃料噴射を制御するための噴射パルスを入力パルスとしてフィードバック入力する構成を例示したが、例えばセンサから出力されたパルスを入力パルスとして入力する構成でも良い。その場合、噴射パルスをフィードバック入力する入力回路６とセンサから出力されたパルスを入力する入力回路とが同じであっても良いし別々であっても良い。又、センサから出力されたパルスを車載ネットワークを介して入力しても良いし車載ネットワークを介さずに直接入力しても良い。又、ＴＰＵ９において、噴射パルスやセンサから出力されたパルスを入力パルスとして入力する構成に限らず、電子制御装置１の内部で発生したパルスを入力パルスとして入力する構成でも良く、即ち入力回路を省いた構成でも良い。
【符号の説明】
【００３２】
図面中、１は電子制御装置、２はエンジン（内燃機関）、３はインジェクタ、５は出力回路（出力部）、６は入力回路、８はＣＰＵ（メインプロセッサ）、９はＴＰＵ（タイマプロセッサ）、１０はＳＤＭ（共有記憶部）である。
【図１】
2018145871.tif 000003
【図２】
2018145871.tif 000004
【図３】
2018145871.tif 000005
【図４】
2018145871.tif 000006
【図５】
2018145871.tif 000007
【図６】
2018145871.tif 000008
【図７】
2018145871.tif 000009