(57)【要約】【課題】パルス信号を出力させる処理が優先度の低い処理に設定される装置であれ、パルス信号を基準信号の入力に応じたかたちで精度良く出力することのできるパルス信号出力装置を提供する。【解決手段】この装置は、周期的にＮＥ信号が入力されるとともに実行優先度の異なる複数のタスクを実行する中央処理装置を備える。複数のタスクにはＮＥ信号が入力されたことを条件にパルス出力時期Ｔｐｌを設定するべく実行される特定タスクが含まれる。特定タスクは複数のタスクの中でも実行優先度の低い中位タスクとして実行される。特定タスクでは、ＮＥ信号の入力から一定時間経過した基準時刻からの経過時間Ｔｐｓが求められるとともに、基準時刻を基準とする一定の遅延時間Ｔｄｙから経過時間Ｔｐｓを減算した時間がタイマ時間Ｔｒｓとして設定され、タイマ時間Ｔｒｓを現時刻に加算した時期がパルス出力時期Ｔｐｌとして設定される。【選択図】図５
2007309223.tif 000002
【特許請求の範囲】
【請求項１】
周期的に基準信号が入力されるとともに実行優先度の異なる複数のタスクを実行する中央処理装置を備え、前記複数のタスクは前記基準信号が入力されたことを条件にパルス信号の出力時期を設定するべく実行される特定タスクを含み、該特定タスクは前記複数のタスクの中でも実行優先度の低いタスクとして実行されるパルス信号出力装置において、
前記特定タスクでは、前記基準信号の入力から一定時間経過した基準時刻からの経過時間が求められるとともに、前記基準時刻を基準とする一定の遅延時間から前記経過時間を減算した時間がタイマ時間として設定され、該タイマ時間を現時刻に加算した時期が前記出力時期として設定される
ことを特徴とするパルス信号出力装置。
【請求項２】
請求項１に記載のパルス信号出力装置において、
前記基準時刻は、前記基準信号の入力に応じて実行される割り込みハンドラの実行が完了した時刻である
ことを特徴とするパルス信号出力装置。
【請求項３】
請求項１または２に記載のパルス信号出力装置において、
当該パルス信号出力装置は、内燃機関の出力軸が所定位相回転する毎に前記基準信号を出力する位相センサと前記パルス信号が入力されるとともに該入力されたパルス信号に基づいて前記出力軸の回転速度を演算して表示する表示器とを有する機関システムに適用されて、前記出力時期がＮ回訪れる毎に前記パルス信号を前記表示器に出力するものである
ことを特徴とするパルス信号出力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基準信号の入力に応じてパルス信号を周期的に出力するパルス信号出力装置に関するものである。
【背景技術】
【０００２】
従来、周期的に入力される基準信号に応じてパルス信号を出力するパルス信号出力装置が知られている（例えば特許文献１参照）。また、そうした信号変換を中央処理装置による演算処理を通じて行うパルス信号出力装置も知られている。この装置では、具体的には、基準信号が入力されたことを条件にパルス信号の出力時期を設定するための演算処理（特定タスク）が実行される。
【０００３】
通常、中央処理装置では、そうした特定タスクの他にも、重要度の異なる種々の演算処理がそれぞれの演算処理に適したタイミングで各別に実行される。そして、それら演算処理には優先度についての順位付けがなされており、優先度の高い演算処理から順に実行される。
【特許文献１】特開平５−２９６０９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ここで上述した装置にあっては、優先度の比較的低い演算処理（下位タスク）の実行中において優先度の高い演算処理（上位タスク）の実行が要求されると、下位タスクの実行が一時的に停止されるとともに、上位タスクが優先して実行される。そのため、上述した特定タスクが下位タスクに設定されている装置では、特定タスクの実行時期やパルス信号の出力時期が上位タスクの割り込みの発生状況によって不要に変化してしまう。こうした変化は、基準信号の入力周波数に応じた周波数のパルス信号を出力させる上では、その出力周波数にばらつきを生じさせる一因となるために好ましくない。
【０００５】
本発明は、そうした実情に鑑みてなされたものであり、その目的は、パルス信号を出力させる処理が優先度の低い処理に設定される装置であれ、パルス信号を基準信号の入力に応じたかたちで精度良く出力することのできるパルス信号出力装置を提供することにある。
【課題を解決するための手段】
【０００６】
以下、上記目的を達成するための手段及びその作用効果について説明する。
請求項１に記載の発明は、周期的に基準信号が入力されるとともに実行優先度の異なる複数のタスクを実行する中央処理装置を備え、前記複数のタスクは前記基準信号が入力されたことを条件にパルス信号の出力時期を設定するべく実行される特定タスクを含み、該特定タスクは前記複数のタスクの中でも実行優先度の低いタスクとして実行されるパルス信号出力装置において、前記特定タスクでは、前記基準信号の入力から一定時間経過した基準時刻からの経過時間が求められるとともに、前記基準時刻を基準とする一定の遅延時間から前記経過時間を減算した時間がタイマ時間として設定され、該タイマ時間を現時刻に加算した時期が前記出力時期として設定されることをその要旨とする。
【０００７】
上記構成では、パルス信号の出力時期を設定するための特定タスクが実行優先度の低い処理に設定されているために、基準信号が入力されてから特定タスクが実行されるまでに経過する時間が実行優先度の高いタスクの割り込みの発生状況に応じて異なったものになる。とはいえ上記構成によれば、パルス信号の出力時期を基準時刻、ひいては基準信号の入力時から所定の遅延時間が経過した後のほぼ一定の時期とすることができる。したがって、パルス信号を基準信号の入力に応じたかたちで精度良く出力することができるようになる。
【０００８】
請求項２に記載の発明は、請求項１に記載のパルス信号出力装置において、前記基準時刻は、前記基準信号の入力に応じて実行される割り込みハンドラの実行が完了した時刻であることをその要旨とする。
【０００９】
通常、基準信号の入力に応じて実行される割り込みハンドラはその実行が極力短い時間で完了するように処理内容が設定される。そのため、割り込みハンドラの実行に要する時間は、処理態様に応じて変化するとはいえ、その変化幅が小さくほぼ一定であると云える。そのため上記構成によれば、パルス信号の出力時期を、上記割り込みハンドラの実行完了時、ひいては基準信号の入力時から所定の遅延時間が経過した後のほぼ一定の時期とすることができる。
【００１０】
なお請求項１または２に記載の発明は、請求項３によるように、内燃機関の出力軸が所定位相回転する毎に前記基準信号を出力する位相センサと前記パルス信号が入力されるとともに該入力されたパルス信号に基づいて前記出力軸の回転速度を演算して表示する表示器とを有する機関システムに適用されて、前記出力時期がＮ回訪れる毎にパルス信号を表示器に出力するパルス信号出力装置において実現することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明にかかるパルス信号出力装置を具体化した一実施の形態について説明する。
ここでは先ず、図１を参照して、本実施の形態にかかるパルス信号出力装置が適用される車両の概略構成について説明する。
【００１２】
図１に示すように、車両１０には内燃機関１１が搭載されている。内燃機関１１の出力軸１２の近傍には、同出力軸１２の回転位相を検出するための位相センサ１３が設けられている。この位相センサ１３は、上記出力軸１２が所定位相（具体的には、３０°ＣＡ）回転する毎にパルス信号（ＮＥ信号）を出力する。また、車室内には上記出力軸１２の回転速度を表示する表示器１４が設けられている。さらに、車両１０には電子制御装置２０が設けられている。この電子制御装置２０は、車両１０や同車両１０に搭載される内燃機関１１の運転制御に関する各種制御などを実行する。
【００１３】
電子制御装置２０は、ＲＯＭ２１、ＣＰＵ２２、ＲＡＭ２３、入出力回路２４等を備えている。それらＲＯＭ２１、ＣＰＵ２２、ＲＡＭ２３、および入出力回路２４は、バス２５を介して互いに接続されている。
【００１４】
ＲＯＭ２１は各種制御プログラムや、それら各種制御プログラムを実行する際に参照されるマップ等が記憶された読み出し専用の半導体メモリである。
ＣＰＵ２２は、いわゆる中央処理装置であり、ＲＯＭ２１に記憶された各種制御プログラムやマップに基づいて上記各種制御に関する種々の演算処理を実行する。ＣＰＵ２２は、そうした演算処理の一つとして絶対時刻Ｔを逐次演算している。なおＣＰＵ２２には、入出力回路２４を介して上記位相センサ１３などの各種センサが接続されており、それらセンサの出力信号が取り込まれている。またＣＰＵ２２には入出力回路２４を介して上記表示器１４が接続されている。
【００１５】
ＲＡＭ２３は書き込み可能な半導体メモリであり、同ＲＡＭ２３には上記ＣＰＵ２２での演算結果や各種のセンサから入力されたデータ等が一時的に記憶される。
電子制御装置２０から表示器１４に対しては、周期的に入力されるＮＥ信号に基づき設定されるパルス信号であって、同ＮＥ信号の入力周波数を１／Ｎに分周した周波数のパルス信号が出力される。なお「Ｎ」は２以上の正の自然数であり、本実施の形態での「１／Ｎ」は「１／６」である。表示器１４は、入力されるパルス信号に基づいて前記出力軸１２の回転速度を演算して表示する。
【００１６】
このように電子制御装置２０からパルス信号を出力させるために、上記ＣＰＵ２２は、ＮＥ信号が入力される度にパルス信号の出力時期（パルス出力時期Ｔｐｌ）を設定するための演算処理（特定タスク）を実行する。
【００１７】
図２に、パルス信号を出力させるための演算処理（パルス出力処理）の実行手順を示す。なお上記パルス出力処理は、上記絶対時刻Ｔとパルス出力時期Ｔｐｌとが一致したことを条件に実行される。
【００１８】
同図２に示すように、この処理では先ず、上記絶対時刻Ｔとパルス出力時期Ｔｐｌとが一致した回数Ｃｎがカウントアップされる（ステップＳ１０１）。そして、その回数Ｃｎが「Ｎ／２」回（本実施の形態では、３回）になると（ステップＳ１０２：ＹＥＳ）、電子制御装置２０から表示器１４に出力されているパルス信号が「Ｌｏ」であるときには「Ｈｉ」に切り替えられる一方、同パルス信号が「Ｈｉ」であるときには「Ｌｏ」に切り替えられる（ステップＳ１０３）。このように形成されるパルス信号が表示器１４に出力される。なお、そのようにパルス信号が切り替えられたときには、上記回数Ｃｎが「０」にリセットされる（ステップＳ１０４）。
【００１９】
ところでＣＰＵ２２により実行される種々の演算処理には、その重要度に応じて、実行優先度についての順位付けがなされている。以下ではそれら演算処理を便宜上、実行優先度の高い順に「ハンドラ」、「上位タスク」、「中位タスク」、「下位タスク」といったように階層的に区別する。以下、それらハンドラ、上位タスク、中位タスク、および下位タスクについて各別に説明する。
【００２０】
「ハンドラ」は、最も重要な演算処理からなる処理ルーチンであり、ＮＥ信号（詳しくは、その立ち下がりエッジ）の入力に伴う割り込み処理として最優先で実行される。このハンドラに含まれる処理としては、例えばＮＥ信号の入力に応じて予め定められた順序で実行される複数のタスク（後述する中位タスク）を起床させる処理が挙げられる。
【００２１】
「上位タスク」は、比較的重要なタスクであり、上記ハンドラより実行優先度が低く、中位タスクより実行優先度が高いタスクである。この上位タスクとしては、例えば内燃機関１１における燃料噴射時期を設定するためのタスクや車両１０の走行速度ＳＰＤを算出するためのタスクなどが挙げられる。
【００２２】
「中位タスク」は、ＮＥ信号が入力されたことを条件に実行されるタスクであり、ハンドラの実行完了後において、上位タスクが実行されていない状況下で実行される。この中位タスクには前述した特定タスクが含まれる。なお中位タスクの実行中において上位タスクの実行が要求されると、中位タスクの実行が一時的に停止されるとともに上位タスクが優先して実行される。
【００２３】
「下位タスク」は、ハンドラ、上位タスクおよび中位タスクの何れにも含まれない重要度の低いタスクである。下位タスクは、ハンドラの実行完了後において、上位タスクおよび中位タスクが共に実行されていないことを条件に実行される。
【００２４】
ここで本実施の形態では、上記特定タスクが比較的低い実行優先度の中位タスクに設定されているために、ＮＥ信号が入力されてから特定タスクが実行されるまでに経過する時間が上位タスクの割り込みの発生状況に応じて異なったものになる。
【００２５】
そのため、特定タスクとしてその実行完了時がパルス出力時期になるといった内容の処理を実行する装置（比較例の装置）にあっては、図３にパターンａ、パターンｂ、パターンｃで示すように、上位タスクの割り込みの発生状況によって、ＮＥ信号の入力時期とパルス出力時期との関係（具体的には図中に矢印で示す間隔）が不要に変化してしまう。そして、こうした変化は、ＮＥ信号の入力周波数に応じた周波数のパルス信号を電子制御装置２０から表示器１４に出力させる上では、同パルス信号の出力周波数にばらつきを生じさせる一因となるために好ましくない。なお図３にあって「パターンａ」は上位タスクの割り込みが発生しない場合におけるＮＥ信号の入力時期とパルス出力時期との関係を示しており、「パターンｂ」および「パターンｃ」は共に上位タスクの割り込みが発生した場合における同関係の例を示している。
【００２６】
そこで、本実施の形態では、そうした不都合を回避するために、以下のような処理内容の特定タスクを採用して前記パルス出力時期Ｔｐｌを設定するようにしている。
図４に、本実施の形態にかかる特定タスクの処理内容を示す。
【００２７】
同図４に示すように、本実施の形態にかかる特定タスクでは先ず、ハンドラの実行完了時からの経過時間Ｔｐｓが算出されるとともに（ステップＳ２０１）、この経過時間Ｔｐｓを所定の遅延時間Ｔｄｙから減算した時間がタイマ時間Ｔｒｓ（＝Ｔｄｙ−Ｔｐｓ）として算出される（ステップＳ２０２）。なお上記遅延時間Ｔｄｙとしては、ハンドラの実行完了時を基準として上位タスクの割り込みが最大限発生した場合であっても特定タスクの実行が確実に完了される時間であり、そうした時間のうちで極力短い時間が設定される。この遅延時間Ｔｄｙとしては、上記要件を満たす一定の時間が実験結果などに基づき求められ、予め設定されている。
【００２８】
その後、このときの絶対時刻Ｔに上記タイマ時間Ｔｒｓを加算した時刻がパルス出力時期Ｔｐｌとして設定される（ステップＳ２０３）。
そして、前述したように上記パルス出力時期Ｔｐｌと絶対時刻Ｔとが「Ｎ／２」回一致する度に「Ｌｏ」と「Ｈｉ」とが切り替えられてパルス信号が形成され（図２参照）、同パルス信号が電子制御装置２０（図１）から表示器１４に出力される。
【００２９】
図５に、ＮＥ信号の入力時期とパルス出力時期Ｔｐｌとの関係を示す。
なお図５にあって「パターンＡ」は上位タスクの割り込みが発生しない場合における上記関係を示しており、「パターンＢ」および「パターンＣ」は共に上位タスクの割り込みが発生した場合における上記関係の例を示している。
【００３０】
同図５に示すように、本実施の形態では、上位タスクの割り込みの発生の有無にかかわらず、パルス出力時期Ｔｐｌが、経過時間Ｔｐｓやタイマ時間Ｔｒｓの算出を通じて、ハンドラの実行完了時から一定の遅延時間Ｔｄｙが経過した後の一定の時期に設定される。
【００３１】
通常、ＮＥ信号の入力に応じて実行される割り込みハンドラはその実行が極力短い時間で完了するように処理内容が設定される。そのためハンドラの実行に要する時間は、処理態様に応じて変化するとはいえ、その変化幅が小さくほぼ一定であると云える。
【００３２】
したがって本実施の形態によれば、パルス出力時期Ｔｐｌとして、ＮＥ信号の入力時から所定の遅延時間（「遅延時間Ｔｄｙ」＋「ハンドラの実行時間」）が経過した後のほぼ一定の時期を設定することができる。
【００３３】
図６に、ＮＥ信号とパルス信号との関係を示す。
なお図６にあって（ａ）はＮＥ信号の推移を示し、（ｂ）は本実施の形態のパルス信号の推移を示し、（ｃ）に前記比較例の装置（特定タスクとしてその実行完了時がパルス出力時期になるといった内容の処理を実行する装置（図３参照））のパルス信号の推移を示している。
【００３４】
本実施の形態では、前述のようにＮＥ信号が入力されてから同特定タスクが実行されるまでの経過時間が上位タスクの割り込みの発生状況に応じて異なったものになる。そのため比較例の装置にあっては、そうした経過時間の相違に起因してパルス出力時期の間隔、ひいてはパルス信号（同図（ｃ））のエッジ間隔が不要に変化してしまい、同パルス信号をＮＥ信号（同図（ａ））の入力に応じたかたちで精度良く出力することができない。
【００３５】
これに対して本実施の形態の装置では、ＮＥ信号の入力時から所定の遅延時間が経過した後のほぼ一定の時期がパルス出力時期Ｔｐｌとして設定されるために、同パルス出力時期Ｔｐｌの間隔、ひいてはパルス信号（同図（ｂ））のエッジ間隔をＮＥ信号の入力に応じた間隔とすることができる。したがって、ＮＥ信号の入力に応じてパルス信号を精度良く出力することができる。
【００３６】
以上説明したように、本実施の形態によれば、以下に記載する効果が得られるようになる。
（１）特定タスクにおいて、ハンドラの実行完了時からの経過時間Ｔｐｓを算出するとともに、同経過時間Ｔｐｓを一定の遅延時間Ｔｄｙから減算した時間をタイマ時間Ｔｒｓとして設定し、このタイマ時間Ｔｒｓを絶対時刻Ｔに加算した時期をパルス出力時期Ｔｐｌとして設定した。そのため、ＮＥ信号の入力時から所定の遅延時間が経過した後のほぼ一定の時期にパルス出力時期Ｔｐｌを設定することができ、パルス信号をＮＥ信号の入力に応じたかたちで精度良く出力することができる。
【００３７】
（２）経過時間Ｔｐｓの算出や遅延時間Ｔｄｙの設定の基準となる時刻（基準時刻）を、ＮＥ信号の入力に応じて実行されるハンドラの実行が完了した時刻とした。そのためパルス出力時期Ｔｐｌを、ハンドラの実行完了時、ひいてはＮＥ信号の入力時から所定の遅延時間が経過した後のほぼ一定の時期とすることができる。
【００３８】
なお、上記実施の形態は、以下のように変更して実施してもよい。
・上記基準時刻は、例えばハンドラの実行開始時や、ハンドラの実行開始直後、あるいはハンドラの実行途中の所定の時期など、ＮＥ信号が入力されてから一定時間経過した時期であれば、任意に変更可能である。
【００３９】
・ＮＥ信号が「Ｎ／２」回入力される毎にタイマ時間Ｔｒｓおよびパルス出力時期Ｔｐｌを設定し、同パルス出力時期Ｔｐｌと絶対時刻Ｔとが一致したときにパルス信号の「Ｌｏ」と「Ｈｉ」とを切り替えるようにしてもよい。
【００４０】
・本発明は、周期的に基準信号が入力されるとともに特定タスクを含む複数のタスクを実行するＣＰＵを備え、同特定タスクが複数のタスクの中でも実行優先度の低いタスクとして実行されるパルス信号出力装置であれば、適用可能である。
【００４１】
そうした装置としては、例えば走行速度ＳＰＤを表示するための表示器と車軸が所定位相回転する度にパルス信号（ＳＰＤ信号）を出力する車速センサとを備える車両に適用されて、電子制御装置２０から上記表示器に対し、ＳＰＤ信号の入力周波数を１／Ｎに分周した周波数のパルス信号を出力するパルス信号出力装置などが挙げられる。
【００４２】
・本発明は、正弦信号やスパイク信号を基準信号とするパルス信号出力装置や、基準信号が入力される度に一つのパルス信号を出力するパルス信号出力装置にも適用することができる。
【図面の簡単な説明】
【００４３】
【図１】本発明にかかるパルス信号出力装置の一実施の形態の概略構成を示す略図。
【図２】同実施の形態のパルス出力処理の実行手順を示すフローチャート。
【図３】比較例の装置におけるＮＥ信号の入力時期とパルス出力時期との関係を示すタイミングチャート。
【図４】本実施の形態の特定タスクの実行手順を示すフローチャート。
【図５】本実施の形態の装置におけるＮＥ信号の入力時期とパルス出力時期との関係を示すタイミングチャート。
【図６】（ａ）〜（ｃ）ＮＥ信号とパルス信号との関係を示すタイミングチャート。
【符号の説明】
【００４４】
１０…車両、１１…内燃機関、１２…出力軸、１３…位相センサ、１４…表示器、２０…電子制御装置、２１…ＲＯＭ、２２…ＣＰＵ、２３…ＲＡＭ、２４…入出力回路、２５…バス。
【図１】
2007309223.tif 000003
【図２】
2007309223.tif 000004
【図３】
2007309223.tif 000005
【図４】
2007309223.tif 000006
【図５】
2007309223.tif 000007
【図６】
2007309223.tif 000008