制御装置
【課題】信号を出力するタイミングの精度を細かく保ちつつ、かつ、タイマの1周期よりも先にある時刻を設定した場合にも、設定した時刻に信号を出力できる制御装置を提供する。
【解決手段】所定時間を計時するごとにリセットされるタイマと、制御信号の出力を許可するか否かの情報を記憶するコンペア許可レジスタと、制御信号の出力タイミングが、タイマが計時を開始した時刻またはタイマがリセットされた時刻からタイマの計時する所定時間以内にあるか否かを判定する判定処理と、前記制御信号の出力タイミングが所定時間以内である場合に、前記記憶部に制御信号の出力を許可する許可状態であることを示す情報を記憶させる設定処理とを実行する制御部と、コンペア許可レジスタが許可情報を記憶している場合に、タイマの計時する時刻と制御信号の出力タイミングが一致する時刻に制御信号を出力する出力部とを有する構成とした。
【解決手段】所定時間を計時するごとにリセットされるタイマと、制御信号の出力を許可するか否かの情報を記憶するコンペア許可レジスタと、制御信号の出力タイミングが、タイマが計時を開始した時刻またはタイマがリセットされた時刻からタイマの計時する所定時間以内にあるか否かを判定する判定処理と、前記制御信号の出力タイミングが所定時間以内である場合に、前記記憶部に制御信号の出力を許可する許可状態であることを示す情報を記憶させる設定処理とを実行する制御部と、コンペア許可レジスタが許可情報を記憶している場合に、タイマの計時する時刻と制御信号の出力タイミングが一致する時刻に制御信号を出力する出力部とを有する構成とした。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は制御装置に関する。
【背景技術】
【0002】
車両に搭載される制御装置は、回転角信号や車速信号などを入力し、これらの情報から、燃料噴射やエンジン点火のタイミングを算出する。制御装置は、算出したタイミングにパルス信号を出力して、インジェクタや点火プラグを作動させることで、燃料噴射やエンジン点火を行う。
算出したタイミングでインジェクタや点火プラグを作動させるために、制御装置は、パルス信号を出力したいタイミングをコンペアレジスタに設定する。制御装置は、タイマの値とコンペアレジスタに設定されたタイミングを比較し、タイマの値とコンペアレジスタに設定されたタイミングが一致した時に、インジェクタや点火プラグに対してパルス信号を出力する。例えば、特許文献1では、モータの駆動制御にコンペアレジスタを使用している。
【特許文献1】特開平10−105207号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
制御装置がコンペアレジスタに設定したタイミングと信号出力のタイミングとが、タイマの周期によってどのような影響を受けるかについて図1を用いて説明する。図1中、実線はタイマの計時する時刻の変化を示し、点線はコンペアレジスタの値の変化を示しており、両者の交点は、タイマの計時する時刻とコンペアレジスタに設定したタイミングとが一致していることを示す。
図1において、信号を出力したいタイミングをBの時刻と仮定した場合、制御装置はBの時刻をコンペアレジスタに設定する。タイマの計時するする時刻は、コンペアレジスタに値を設定したAの時刻からタイマの1周期以内に、Bの時刻に到達する。つまり、タイマの計時する時刻とコンペアレジスタに設定したタイミングとが初めて一致したBの時刻に信号を出力することとなり、信号を出力したいタイミングでの信号出力が可能である。しかし、信号を出力したいタイミングをCと仮定した場合、Cの時刻は、タイマの1周期が経過した時刻よりも先の時刻である。この場合、Cの時刻よりも前に、Bの時刻においてタイマの計時する時刻とコンペアレジスタに設定したタイミングとが一致してしまうため、設定時刻であるCの時刻よりも前のBの時刻に信号が出力されてしまう。
【0004】
ここで、タイマがカウントする時間の間隔(以後、1カウントの間隔という)はソフトウェアで設定可能である。そこで、タイマの1カウントの間隔を長くすることで、タイマの1周期の時間を長くし、Cの時刻を、タイマの1周期以内にむかえるようにすれば、Cの時刻に信号を出力することができる。したがって、信号を出力する時刻として現在時刻からどれだけ先の時刻が指定できるのか、つまり現在時刻から信号を出力する時刻までの時間幅は、タイマの周期に依存する。
しかし、図2の(A)のように1カウントの間隔を長くすると、タイマの1周期の時間は長くなるため、信号を出力する時刻までの時間幅は広がるが、細かいタイミングで信号を出力することはできなくなり、信号を出力するタイミングの精度が粗くなる。一方、図2の(B)のように1カウントの間隔を短くすると、細かいタイミングで信号を出力できるが、タイマの1周期の時間が短くなるため、信号を出力する時刻までの時間幅が狭くなってしまう。
【0005】
本発明は、上記の事情に鑑みて成されたものであり、その目的とするところは、信号を出力するタイミングの精度を細かく保ちつつ、かつ、タイマの1周期よりも先にある時刻を設定した場合にも、設定した時刻に信号を出力できる制御装置を提供することである。
【課題を解決するための手段】
【0006】
請求項1に係る発明は、外部装置の動作タイミングを制御する制御信号を出力する制御装置であって、設定された設定時間を計時するごとにリセットされるタイマと、前記制御信号の出力を許可するか否かの情報を記憶する記憶部と、前記制御信号の出力タイミングが、前記タイマが計時を開始した時刻または前記タイマがリセットされた時刻から前記タイマの計時する所定時間以内にあるか否かを判定する処理と、前記制御信号の出力タイミングが所定時間以内である場合に、前記記憶部に制御信号の出力を許可する許可状態にあることを示す情報を記憶させる設定処理とを実行する制御部と、前記制御信号の出力を許可する許可状態にあることを示す情報を前記記憶部が記憶している場合に、前記タイマの計時する時刻と前記制御信号の出力タイミングが一致する時刻に制御信号を出力する出力部とを備える構成とした。
この構成によれば、制御信号の出力タイミングが所定時間以内にない場合には、出力部は制御信号を出力しないため、タイマが計時できる所定時間よりも先の時刻を出力タイミングとして制御信号を出力できる。
【0007】
上記の制御装置において前記制御部は、前記タイマがリセットされる毎に、前記判定処理および前記設定処理を実行することを特徴としている。
この構成によれば、タイマがリセットされるごとに、制御信号の出力を許可するか否かを見直すため、タイマが計時する所定時間の複数倍先の時刻を出力タイミングとして制御信号を出力できる。
【0008】
上記の制御装置において、前記制御部は、前記タイマが前記設定時間を所定時間ごとに分割した時間を計時する毎に、前記判定処理と前記設定処理とを実行し、前記判定処理は、前記制御信号の出力タイミングが、前記設定時間を所定時間ごとに分割した時間以内にあるか否かを判定し、前記設定処理は、前記制御信号の出力タイミングが前記設定時間を所定時間ごとに分割した時間以内である場合に、前記記憶部に制御信号の出力を許可する許可状態にあることを示す情報を記憶させることを特徴としている。
この構成によれば、タイマが所定時間の2分の1の時間を計時する毎に、制御信号の出力を許可するか否かを見直すため、タイマが計時する所定時間の2分の1にあたる時間の複数倍先の時刻を出力タイミングとして制御信号を出力できる。
【発明の効果】
【0009】
本発明によれば、信号を出力するタイミングの精度を細かく保ちつつ、かつ、タイマの1周期よりも先にある時刻を設定した場合にも、設定した時刻に信号を出力できる。
【発明を実施するための最良の形態】
【0010】
以下、本発明の最良の実施形態について、添付図面を参照しつつ説明する。
【実施例1】
【0011】
図3に、本発明の制御装置をエンジンECU(Electronic Control Unit)に適用した実施例1の構成を示す。図3に示すように、エンジンECU10は、クロック30と、制御装置20aと、出力ポート40aおよび40bとを備えている。
【0012】
制御装置20aは、クロック30と、回転角センサ11と、車速センサ12と、スタータ13と、出力ポート40aおよび40bと接続される。制御装置20aは、回転角センサ11からエンジンの回転角を表す回転角信号を入力し、車速センサ12から車速を表す車速信号を入力し、スタータ13からエンジンのスタータ要求を表すスタータ信号を入力する。制御装置20aはこれらの信号から車両状態を推定し、最適な車両状態にするためにインジェクタ14、点火プラグ15を含む各種アクチュエータを制御するパルス信号を、出力ポート40aおよび40bに出力する。パルス信号を出力できるタイミングは、クロック30から入力されるクロック信号の周波数に依存する。
これらの構成部品は一例であって、制御装置20a(20b)は他の部品に接続可能である。
【0013】
次に制御装置20aの構成について図4を用いて説明する。図4は制御装置20aのシステム構成の一例を示している。制御装置20aは、タイマ21と、制御部22と、コンペアレジスタ23と、コンペア許可レジスタ24(記憶部)と比較部25と、出力部26とを備える。
タイマ21は、クロック30と制御部22と比較部25と接続される。タイマ21は、クロック30から一定周期で出力されるクロック信号を入力し、クロッをカウントすることによって時刻を計時する。タイマ21は、現在時刻を制御部22および比較部25へ出力する。また、タイマ21は、タイマ21が計時できる上限時刻を計時すると、オーバーフローしてリセットされる。つまり、タイマ21は、初期値から所定時間を計時するごとにリセットされる。以後、タイマ21が計時できる初期値から所定時間までの時間の間隔をタイマ21の1周期と呼ぶ。タイマ21は、オーバーフローすると、オーバーフロー信号を制御部22へ出力する。
【0014】
制御部22は、回転角センサ11と、車速センサ12と、スタータ13と、タイマ21と、コンペアレジスタ23と、コンペア許可レジスタ24と、出力部26と接続される。制御部22は、回転角センサ11と、車速センサ12と、スタータ13とから入力される各種入力信号からインジェクタ14、点火プラグ15を含む各種アクチュエータを制御する制御信号を出力するタイミングを算出する。そして、制御部22は、コンペアレジスタ23に制御信号の出力タイミングを書き込む。次に、制御部22は、制御信号の出力タイミングが、タイマ21の1周期以内であるかどうかを確認し、出力タイミングがタイマ21の1周期以内であった場合には、コンペア許可レジスタ24に制御信号の出力を許可する許可状態であることを示す情報(以後、許可情報という)を記憶させる。一方、制御信号の出力タイミングがタイマ21の1周期以内にない場合には、コンペア許可レジスタ24には制御信号の出力を許可しない不許可状態であることを示す情報(以後、不許可情報という)をコンペア許可レジスタ24に記憶させる。また、出力部26が制御信号を出力したことを表すコンペアマッチ割り込み信号を出力部26から入力した場合にも、制御信号の出力後に制御信号の出力を行わないように、制御部22は、コンペア許可レジスタ24に不許可状態を記憶させる。
【0015】
コンペア許可レジスタ24は、制御部22と出力部26と接続され、前述したように制御部22から設定された制御信号の出力を許可する許可情報または制御信号の出力を許可しない不許可情報を記憶する。出力部26は、コンペア許可レジスタ24に許可情報または不許可情報のどちらが記憶されているかを確認し、制御信号を出力するか否かを決定する。
【0016】
コンペアレジスタ23は、制御部22と比較部25と接続され、前述したように制御部22から書き込まれた制御信号の出力タイミングを記憶する。比較部25は、タイマ21と、コンペアレジスタ23と、出力部26と接続される。比較部25は、コンペアレジスタ23に書き込まれた制御信号の出力タイミングとタイマ21が計時する時刻が一致すると、一致信号を出力部26へ出力する。
【0017】
出力部26は、比較部25と、コンペア許可レジスタ24と、出力ポート40aおよび40bと、制御部22と接続される。以後、本実施例では、出力ポート40aおよび40bのうち、出力ポート40aへ制御信号を出力する場合について説明するが、出力ポート40bに対しても本実施例と同様の処理が可能である。出力部26は、比較部25から一致信号を入力すると、コンペア許可レジスタ24に許可情報が記憶されているか否かを確認する。そして、コンペア許可レジスタ24に許可情報が記憶されている場合には、制御信号を出力ポート40aに出力する。一方、比較部25から一致信号を入力しても、コンペア許可レジスタ24に不許可情報が記憶されている場合には、制御信号の出力は行わない。また、出力部26は制御信号を出力すると、制御信号を出力したことを制御部22へと通知するために、コンペアマッチ割り込み信号を制御部22へ出力する。
この構成によれば、制御部22は、出力タイミングがタイマ21の1周期以内にない場合にはコンペア許可レジスタ24に不許可情報を記憶させるため、出力部26は、比較部25から一致信号を入力しても制御信号を出力しない。その結果、制御信号の出力タイミングがタイマ21の1周期以上先である場合であっても、所望の出力タイミングで制御信号を出力することが可能となる。
【0018】
次に、制御部22のハードウェア構成の一例について説明する。図5は、制御部22のハードウェア構成の一例を示す図である。
制御部22は、信号の入出力を行う入出力部224と、ECUによる制御処理を実現するためのプログラムや、制御信号の出力タイミングがタイマ21の1周期以内であるかを判定するプログラム(詳細は後述)などが格納されたROM223と、ROM223に格納されたプログラムを読み込んで実行する中央処理装置(CPU)221と、プログラムを実行する際に使用される一時的なデータを保存するRAM222とから構成される。
また、ROM223に格納されたプログラムのCPU221による演算によって、図6に示す判定処理225a、設定処理226aおよび図12に示す判定処理225b、設定処理226bが構成される。
【0019】
図6は、上述したCPU221などのハードウェアとROM223に格納されたソフトウェアとの協働によって実現される制御部22の機能ブロック図の一例である。
制御部22は、判定処理225aと、設定処理226aとを実行する。
判定処理225aは、タイマ21と設定処理226aと接続される。判定処理225aは、タイマ21が計時した時刻と、制御信号の出力タイミングを比較し、制御信号の出力タイミングがタイマ21の1周期以内であるか否かを判定する。判定処理は、制御部22が、制御信号の出力タイミングを決定した場合と、タイマ21がオーバーフローし、オーバーフロー信号が判定処理225aに入力された場合に実行される。判定処理225aは、判定の結果を設定処理226aへと出力する。
次に、設定処理226aは、判定処理225aの判定結果に基づいてコンペア許可レジスタ24に制御信号の出力を許可するか否かの情報を記憶させる。判定処理225aが制御信号の出力タイミングがタイマ21の1周期以内であると判定した場合には、設定処理226aは、コンペア許可レジスタ24に制御信号の出力を許可する許可情報を記憶させる。一方、判定処理225aが制御信号の出力タイミングがタイマ21の1周期以内でないと判定した場合には、設定処理226aは、コンペア許可レジスタ24に制御信号の出力を許可しない不許可情報を記憶させる。
【0020】
次に、制御装置20aが指定時刻に制御信号を出力ポート40aに出力するために、制御部22が実行する処理について図7から図9に示されるフローチャートおよび図10に示されるタイムチャートを参照しながら説明する。図7は、制御部22に入力された各種入力信号から出力ポート40aに出力される制御信号の出力タイミングが算出された場合に、制御部22が実行する処理の一例を示したフローチャートである。
制御部22は、回転角センサ11等から入力される入力信号からインジェクタ14等を制御する制御信号を出力するタイミングを算出すると、コンペアレジスタに出力タイミングを書き込む(ステップS11)。次に、制御部22は、制御信号の出力タイミングが、タイマ21の1周期以内であるかどうかを判定する(ステップS12)。制御信号の出力タイミングがタイマ21の1周期以内である場合(ステップS12/YES)、制御部22は、コンペア許可レジスタ24に許可情報を記憶させる(ステップS13)。制御信号の出力タイミングがタイマ21の1周期以内ではない場合(ステップS12/NO)、コンペア許可レジスタ24に不許可情報を記憶させる(ステップS14)。
【0021】
本フローチャートで行う処理による出力ポート40aと、コンペア許可レジスタ24と、コンペアレジスタ23の変化について、図10のタイムチャートを用いて説明する。図10は、出力ポート40aと、コンペア許可レジスタ24と、コンペアレジスタ23と、タイマ21との関係を表したタイムチャートである。図10において、各実線は、上から出力ポート40aの値、コンペア許可レジスタ24に記憶されている許可情報または不許可情報、タイマ21が計時している時刻を示している。また、破線は、コンペアレジスタ23に設定される値を示している。
制御部22は、aの時刻に制御信号を出力するタイミングを算出したとする。また、その出力タイミングは図中Aで示される時刻であるとする。制御部22は、コンペアレジスタ23に出力タイミングAを書き込む。次に、制御部22は、制御信号の出力タイミングが、タイマの1周期以内であるか否かを判定する。図10において、制御信号の出力タイミングAは、aの時刻からタイマ21の1周期以上先であるから、制御部22は、コンペア許可レジスタ24に不許可情報を記憶させる。bの時刻に、コンペアレジスタ23に書き込まれた制御信号の出力タイミングと、タイマ21の計時する時刻は一致するため、比較部25は一致信号を出力部26に出力する。しかし、コンペア許可レジスタ24は不許可情報であるため、出力部26は制御信号を出力せず、出力ポート40aの出力はLoのままである。
【0022】
次に、タイマ21が所定時間を計時しオーバーフローした場合に、制御部22が実行する処理について説明する。図8は、タイマ21が所定時間を計時しオーバーフローした場合に、制御部22が実行する処理の一例を示したフローチャートである。
タイマ21は、タイマ21が計時できる上限の時刻を計時するとオーバーフローし、リセットされる。その際、オーバーフロー信号を制御部22へ出力する。制御部22は、タイマ21からオーバーフロー信号を入力すると(ステップS21/YES)、制御信号の出力タイミングが、タイマ21の1周期以内であるかどうかを判定する(ステップS22)。制御信号の出力タイミングがタイマ21の1周期以内である場合(ステップS22/YES)、制御部22は、コンペア許可レジスタ24に許可情報を記憶させる(ステップS23)。制御信号の出力タイミングがタイマ21の1周期以内ではない場合(ステップS22/NO)、制御部22は、コンペア許可レジスタ24に不許可情報を記憶させる(ステップS24)。
【0023】
本フローチャートで行う処理による出力ポート40aと、コンペア許可レジスタ24と、コンペアレジスタ23の変化について、再度、図10のタイムチャートを用いて説明する。図10において、タイマ21はcの時刻にタイマ21が計時できる時刻の上限を計時して、オーバーフローする。タイマ21は、オーバーフローするとオーバーフロー信号を制御部22に出力するとともに、リセットされ、初期値から再び計時を開始する。制御部22は、オーバーフロー信号を入力すると、制御信号の出力タイミングが、タイマの1周期以内であるか否かを判定する。cの時刻では、制御信号の出力タイミングはタイマ21の1周期以上先であるから、コンペア許可レジスタ24に不許可情報を記憶させる。dの時刻に、コンペアレジスタ23に書き込まれた制御信号の出力タイミングとタイマ21の計時する時刻とが一致するため、比較部25は一致信号を出力部26に出力する。しかし、コンペア許可レジスタ24は不許可情報を記憶しているため、出力部26は制御信号を出力せず、出力ポート40aの出力はLoのままである。
タイマ21は、eの時刻においてもオーバーフローするため、制御部22は、eの時刻に再び判定処理を実行する。eの時刻において、制御信号の出力タイミングはタイマ21の1周期以内にあるため、制御部22はコンペア許可レジスタ24に許可情報を記憶させる。fの時刻に、コンペアレジスタ23に書き込まれた制御信号の出力タイミングとタイマ21の計時する時刻とが一致するため、比較部25は一致信号を出力部26に出力する。fの時刻ではコンペア許可レジスタ24には許可情報が記憶されているため、出力部26は、fの時刻すなわち制御信号の出力タイミングAに制御信号を出力する。これにより、所望の出力タイミングで制御信号を出力できる。また、出力部26は、コンペアマッチ割り込み信号を制御部22へ出力する。
【0024】
次に、制御部22が、出力部26が出力したコンペアマッチ割り込み信号を入力した場合に、制御部22が実行する処理について説明する。図9は、制御部22がコンペアマッチ割り込み信号を入力した場合に実行する処理の一例を示したフローチャートである。
制御部22は、コンペアマッチ割り込み信号を入力すると(ステップS31/YES)、コンペア許可レジスタ24に信号出力を許可しない不許可情報を記憶させる(ステップS32)。出力タイミングAの時刻以後にコンペアレジスタ23の値とタイマ21のカウント値が一致しても、出力部26が制御信号を出力してしまわないようにするためである。
再度、図10を用いて上述の処理について説明すると、fの時刻において、出力部26は制御信号を出力する。ここで、コンペア許可レジスタ24に許可情報が記憶されたままであると、出力部26はgの時刻にも制御信号を出力してしまうため、fの時刻にて制御部22はコンペア許可レジスタ24に不許可情報を記憶させる。
【0025】
本実施例によれば、制御部22は、出力タイミングがタイマ21の1周期以内にない場合にはコンペア許可レジスタ24に不許可情報を記憶させることにより、出力部26は、比較部25から一致信号を入力しても制御信号を出力しない。その結果、制御信号の出力タイミングがタイマ21の1周期以上先である場合にも、所望の出力タイミングで制御信号を出力することが可能となる。また、制御信号の出力後は、コンペア許可レジスタ24に不許可情報を記憶させるので、出力タイミング以外のタイミングで制御信号が出力されることもない。
【実施例2】
【0026】
実施例1では、制御部22は、オーバーフロー信号の入力をトリガとして判定処理および設定処理を実行している。実施例2では、コンペアレジスタ23からの一致信号をトリガとしてタイマ21の半周期ごとに信号出力の許可を判定し、制御信号を出力する。
【0027】
実施例2のシステム構成およびハードウェア構成は、実施例1とほぼ同一であるため、実施例1と異なる点に絞って説明を行う。
図11は、実施例2に使用する制御装置20bのシステム構成の一例を示した図である。実施例1と異なる点は、比較部25と制御部22とが接続されている点である。比較部25は、タイマ21の計時する時刻とコンペアレジスタ23に書き込まれた出力タイミングとが一致する場合に、一致信号を出力部26に出力すると共に制御部22に対しても出力する。制御部22は、この一致信号を受けて判定処理および設定処理を行う。
また、図12は、実施例2における制御部22の機能ブロック図の一例である。判定処理225bは、タイマ21が計時した時刻と、制御信号の出力タイミングを比較し、制御信号の出力タイミングがタイマ21の半周期以内であるか否かを判定する。制御部22は、制御部22が制御信号の出力タイミングを決定した場合および比較部25から一致信号が入力された場合に、判定処理225bを実行する。判定処理225bは、判定の結果を設定処理226bへと出力する。
次に、判定処理225bとコンペア許可レジスタ24とに接続された設定処理226bは、判定処理225bの判定結果に基づいてコンペア許可レジスタ24に制御信号の出力を許可するか否かの情報を記憶させる。また、タイマ21の半周期ごとに制御部22が判定処理を実行するために、設定処理226bは、タイマ21の半周期先の時刻をコンペアレジスタ23に書き込む。判定処理225bが制御信号の出力タイミングがタイマ21の半周期以内であると判定した場合には、設定処理226bは、コンペア許可レジスタ24に制御信号の出力を許可する許可情報を記憶させるとともに、コンペアレジスタ23にタイマ21の半周期を経過した場合の時刻を書き込む。一方、判定処理225bが制御信号の出力タイミングがタイマ21の1周期以内でないと判定した場合には、設定処理226bは、コンペア許可レジスタ24に制御信号の出力を許可しない不許可情報を記憶させるとともに、タイマ21の半周期先の時刻をコンペアレジスタ23に書き込む。
【0028】
次に、制御部22が行う処理について図13と図14のフローチャートと、図15のタイムチャートを用いてさらに詳細に説明する。
図13は、制御部22に入力された各種入力信号から出力ポート40aに出力される制御信号の出力タイミングが算出された場合に、制御部22が実行する処理の一例を示したフローチャートである。
制御部22は、回転角センサ11等から入力される入力信号からインジェクタ14等を制御する制御信号を出力するタイミングを算出すると、コンペアレジスタに出力タイミングを書き込む(ステップS41)。次に、制御部22は、制御信号の出力タイミングが、タイマ21の半周期以内であるかどうかを判定する(ステップS42)。制御信号の出力タイミングがタイマ21の半周期以内である場合(ステップS42/YES)、制御部22は、コンペア許可レジスタ24に許可情報を記憶させる(ステップS43)。制御信号の出力タイミングがタイマ21の1周期以内ではない場合(ステップS42/NO)、コンペア許可レジスタ24に不許可情報を記憶させる(ステップS44)。
【0029】
本フローチャートで行う処理による出力ポート40aと、コンペア許可レジスタ24と、コンペアレジスタ23の変化について、図15のタイムチャートを用いて説明する。図15は、出力ポート40aと、コンペア許可レジスタ24と、コンペアレジスタ23と、タイマ21との関係を表したタイムチャートである。図15において、各実線は、上から出力ポート40aの値、コンペア許可レジスタ24に記憶されている許可情報または不許可情報、タイマ21が計時している時刻を示している。また、破線は、コンペアレジスタ23に設定される値を示している。
制御部22は、aの時刻に制御信号を出力するタイミングを算出したとする。また、その出力タイミングは図中Aで示される時刻であるとする。制御部22は、コンペアレジスタ23に出力タイミングを書き込む。次に、制御部22は、制御信号の出力タイミングが、タイマの半周期以内であるか否かを判定する。図15において、制御信号の出力タイミングAはaの時刻からタイマ21の半周期以上先であるから、制御部22は、コンペア許可レジスタ24に不許可情報を記憶させる。bの時刻に、コンペアレジスタ23に書き込まれた制御信号の出力タイミングと、タイマ21の計時する時刻は一致するため、比較部25は一致信号を出力部26に出力する。しかし、コンペア許可レジスタ24は不許可情報であるため、比較部25は制御信号を出力せず、出力ポート40aの出力はLoのままである。
【0030】
ここで、比較部25は、一致信号を出力部26だけでなく、制御部22に対しても出力する。そこで、次に、タイマ21が比較部25から一致信号を入力した場合に、制御部22が実行する処理について説明する。図14は、制御部22が比較部25から一致信号を入力した場合に、制御部22が実行する処理の一例を示したフローチャートである。
比較部25は、タイマ21が計時する時刻と、コンペアレジスタ23に書き込まれた出力タイミングが一致すると、一致信号を制御部22へ出力する。制御部22は、比較部25から一致信号を入力すると(ステップS51/YES)、制御信号の出力タイミングが、タイマ21の半周期以内であるかどうかを判定する(ステップS52)。制御信号の出力タイミングがタイマ21の半周期以内である場合(ステップS52/YES)、制御部22は、コンペア許可レジスタ24に許可情報を記憶させるとともに、コンペアレジスタ23の出力タイミングをタイマ21の半周期先の時刻に書き換える(ステップS23)。制御信号の出力タイミングがタイマ21の半周期以内ではない場合(ステップS22/NO)、コンペア許可レジスタ24に不許可情報を記憶させるとともに、コンペアレジスタ23の出力タイミングをタイマ21の半周期先の時刻に書き換える(ステップS24)。
【0031】
本フローチャートで行う処理による出力ポート40aと、コンペア許可レジスタ24と、コンペアレジスタ23の変化について、再度、図15のタイムチャートを用いて説明する。図15において、比較部25は、bの時刻において一致信号を制御部22に出力する。制御部22は、比較部25から一致信号を入力すると、制御信号の出力タイミングが、タイマ21の半周期以内であるか否かを判定する。bの時刻では、制御信号の出力タイミングは、タイマ21の半周期以上先であるから、コンペア許可レジスタ24に不許可情報を記憶させるとともに、コンペアレジスタ23の値を、タイマ21の半周期先の時刻に相当するcの時刻に書き換える。cの時刻に、コンペアレジスタ23に書き込まれた時刻とタイマ21の計時する時刻とは一致するため、比較部25は一致信号を出力部26に出力する。しかし、コンペア許可レジスタ24は不許可情報を記憶しているため、出力部26は制御信号を出力せず出力ポート40aの出力はLoのままである。また、比較部25は一致信号を制御部22にも出力する。制御部22は、一致信号を受けて、上述の処理を実行するが、cの時刻においても制御信号の出力タイミングはタイマ21の半周期よりも先であるので、コンペア許可レジスタ24には不許可情報を記憶させ、今回は、コンペアレジスタ23に出力タイミングとしてタイマ21の半周期先の時刻に相当するdの時刻を書き込む。
制御部22は、タイマ21の半周期ごとに上記の処理を繰り返す。そして、eの時刻において、制御信号の出力タイミングAがタイマ21の半周期以内となるため、制御部22は、コンペア許可レジスタ24に許可情報を記憶させる。また、出力タイミングAはeの時刻からタイマ21の半周期先の時刻となっているため、コンペアレジスタ23の出力タイミングをタイマ21の半周期先の時刻に書き換える。
fの時刻にコンペアレジスタ23に書き込まれた制御信号の出力タイミングとタイマ21の計時する時刻とが一致するため、出力部26は一致信号を出力部26に出力する。fの時刻ではコンペア許可レジスタ24には許可情報が記憶されているから、出力部26は、fの時刻すなわち制御信号の出力タイミングAに制御信号を出力する。また、出力部26は、コンペアマッチ割り込み信号を制御部22へ出力する。コンペアマッチ割り込み信号を入力した制御部22が実行する処理は、実施例1と同様である。
【0032】
実施例2によれば、制御部22がタイマ21の半周期ごとに判定処理および設定処理を実行することにより、タイマ21の1周期以上先の時刻を指定しても、制御信号を所望の出力タイミングで制御信号を出力できる。
なお、実施例2では、制御部22がタイマ21の半周期ごとに判定処理および設定処理を実行していたが、タイマ21の3分の1周期あるいは4分の1周期ごとに判定処理および設定処理を実行しても良い。
【0033】
以上、本発明の好ましい実施の形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
例えば、コンペア許可レジスタ24の代わりに制御信号の出力レベルを記憶する出力レベルレジスタを用いて制御信号の出力レベルを記憶し、出力部26は比較部25から一致信号を受けた場合に、出力レベルレジスタに記憶された出力レベルで制御信号を出力するようにしてもよい。
また、図16に示されるように点火装置の制御にあたり、点火プラグ15に接続された出力ポート40bが、ポート出力を行う時間間隔を設定するトリガとして、コンペアマッチ割り込み信号を利用することも可能である。図16は、回転角センサ11から入力される回転角信号と、タイマ21の計時する時刻と、コンペア許可レジスタ24の状態と、出力ポート40bとの関係を表したタイムチャートの一例である。図16において、回転角センサ11から入力される回転角信号の割り込み信号であるハードウェア割込2が入力されたAの時刻に、制御信号の出力タイミングBが決定されたとする。Aの時刻において、Bの時刻はタイマ21の1周期以内であるから、制御部22は、コンペア許可レジスタ24に許可情報を記憶させる。Bの時刻にて、タイマ21の計時する時刻とコンペアレジスタ21に書き込まれた制御信号の出力タイミングは一致し、かつコンペア許可レジスタ24は許可情報であるから、出力部26は制御信号を出力する。この際、出力部26はコンペアマッチ割り込み信号を制御部22に出力するので、制御部22は、コンペア許可レジスタ24に不許可情報を記憶させる。出力ポート40bのポート出力は、出力部26からの制御信号の入力によってHiになるが、一定の時間が経過した場合にLo出力を行うために、コンペアマッチ割り込み信号をトリガとして、出力ポート40bのポート出力をLoにするためのタイマセットを行うことができる。その結果、Bの時刻から一定時間経過後のCの時刻に、出力ポート40bは、ポート出力をHiからLoへと切替えることができる。
さらに、本実施例では本発明に係る制御装置をエンジンECUへ適用したが、外部装置の動作タイミングを制御する制御信号を出力する必要のあるシステム全般に対して本発明を適用することができる。
【0034】
制御部22が実行するプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供できる。
更に、制御部22がROM223に記憶されたソフトウェアプログラムを読み出して、CPU221により実行して実現するソフトウェア処理の一部又は全部をハードウェアにて実現しても良い。また、制御装置20aおよび20bを構成するハードウェアの一部又は全部をソフトウェアにて実現しても良い。
【図面の簡単な説明】
【0035】
【図1】コンペアレジスタの設定値と信号出力のタイミングの一例を表すタイムチャートである。
【図2】タイマの1カウントの間隔と周期の関係を模式的に表した図である。
【図3】本発明に係る制御装置が適用されるエンジン制御ECUのシステム構成の一例を表す図である。
【図4】実施例1に係る制御装置のシステム構成の一例を表す図である。
【図5】制御部のハードウェア構成の一例を示す図である。
【図6】制御部が有する機能の一例を示す機能ブロック図である。
【図7】制御部が制御信号の出力タイミングを算出した場合に行う処理の一例を示すフローチャートである。
【図8】制御部がオーバーフロー信号を入力した場合に行う処理の一例を示すフローチャートである。
【図9】制御部がコンペアマッチ割り込み信号を入力した場合に行う処理の一例を示すフローチャートである。
【図10】実施例1のタイムチャートの一例である。
【図11】実施例2に係る制御装置のシステム構成の一例を表す図である。
【図12】制御部が有する機能の一例を示す機能ブロック図である。
【図13】制御部が制御信号の出力タイミングを算出した場合に行う処理の一例を示すフローチャートである。
【図14】制御部が一致信号を入力した場合に行う処理の一例を示すフローチャートである。
【図15】実施例2のタイムチャートの一例である。
【図16】本発明を点火装置に適用した場合のタイムチャートの一例である。
【符号の説明】
【0036】
10…エンジンECU
11…回転角センサ
12…車速センサ
13…スタータ
14…インジェクタ
15…点火プラグ
20a、20b…制御装置
21…タイマ
22…制御部
23…コンペアレジスタ
24…コンペア許可レジスタ
25…比較部
26…出力部
30…クロック
40a、40b…出力ポート
221…CPU
222…RAM
223…ROM
224…入出力部
225a、225b…判定処理
226a、226b…設定処理
【技術分野】
【0001】
本発明は制御装置に関する。
【背景技術】
【0002】
車両に搭載される制御装置は、回転角信号や車速信号などを入力し、これらの情報から、燃料噴射やエンジン点火のタイミングを算出する。制御装置は、算出したタイミングにパルス信号を出力して、インジェクタや点火プラグを作動させることで、燃料噴射やエンジン点火を行う。
算出したタイミングでインジェクタや点火プラグを作動させるために、制御装置は、パルス信号を出力したいタイミングをコンペアレジスタに設定する。制御装置は、タイマの値とコンペアレジスタに設定されたタイミングを比較し、タイマの値とコンペアレジスタに設定されたタイミングが一致した時に、インジェクタや点火プラグに対してパルス信号を出力する。例えば、特許文献1では、モータの駆動制御にコンペアレジスタを使用している。
【特許文献1】特開平10−105207号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
制御装置がコンペアレジスタに設定したタイミングと信号出力のタイミングとが、タイマの周期によってどのような影響を受けるかについて図1を用いて説明する。図1中、実線はタイマの計時する時刻の変化を示し、点線はコンペアレジスタの値の変化を示しており、両者の交点は、タイマの計時する時刻とコンペアレジスタに設定したタイミングとが一致していることを示す。
図1において、信号を出力したいタイミングをBの時刻と仮定した場合、制御装置はBの時刻をコンペアレジスタに設定する。タイマの計時するする時刻は、コンペアレジスタに値を設定したAの時刻からタイマの1周期以内に、Bの時刻に到達する。つまり、タイマの計時する時刻とコンペアレジスタに設定したタイミングとが初めて一致したBの時刻に信号を出力することとなり、信号を出力したいタイミングでの信号出力が可能である。しかし、信号を出力したいタイミングをCと仮定した場合、Cの時刻は、タイマの1周期が経過した時刻よりも先の時刻である。この場合、Cの時刻よりも前に、Bの時刻においてタイマの計時する時刻とコンペアレジスタに設定したタイミングとが一致してしまうため、設定時刻であるCの時刻よりも前のBの時刻に信号が出力されてしまう。
【0004】
ここで、タイマがカウントする時間の間隔(以後、1カウントの間隔という)はソフトウェアで設定可能である。そこで、タイマの1カウントの間隔を長くすることで、タイマの1周期の時間を長くし、Cの時刻を、タイマの1周期以内にむかえるようにすれば、Cの時刻に信号を出力することができる。したがって、信号を出力する時刻として現在時刻からどれだけ先の時刻が指定できるのか、つまり現在時刻から信号を出力する時刻までの時間幅は、タイマの周期に依存する。
しかし、図2の(A)のように1カウントの間隔を長くすると、タイマの1周期の時間は長くなるため、信号を出力する時刻までの時間幅は広がるが、細かいタイミングで信号を出力することはできなくなり、信号を出力するタイミングの精度が粗くなる。一方、図2の(B)のように1カウントの間隔を短くすると、細かいタイミングで信号を出力できるが、タイマの1周期の時間が短くなるため、信号を出力する時刻までの時間幅が狭くなってしまう。
【0005】
本発明は、上記の事情に鑑みて成されたものであり、その目的とするところは、信号を出力するタイミングの精度を細かく保ちつつ、かつ、タイマの1周期よりも先にある時刻を設定した場合にも、設定した時刻に信号を出力できる制御装置を提供することである。
【課題を解決するための手段】
【0006】
請求項1に係る発明は、外部装置の動作タイミングを制御する制御信号を出力する制御装置であって、設定された設定時間を計時するごとにリセットされるタイマと、前記制御信号の出力を許可するか否かの情報を記憶する記憶部と、前記制御信号の出力タイミングが、前記タイマが計時を開始した時刻または前記タイマがリセットされた時刻から前記タイマの計時する所定時間以内にあるか否かを判定する処理と、前記制御信号の出力タイミングが所定時間以内である場合に、前記記憶部に制御信号の出力を許可する許可状態にあることを示す情報を記憶させる設定処理とを実行する制御部と、前記制御信号の出力を許可する許可状態にあることを示す情報を前記記憶部が記憶している場合に、前記タイマの計時する時刻と前記制御信号の出力タイミングが一致する時刻に制御信号を出力する出力部とを備える構成とした。
この構成によれば、制御信号の出力タイミングが所定時間以内にない場合には、出力部は制御信号を出力しないため、タイマが計時できる所定時間よりも先の時刻を出力タイミングとして制御信号を出力できる。
【0007】
上記の制御装置において前記制御部は、前記タイマがリセットされる毎に、前記判定処理および前記設定処理を実行することを特徴としている。
この構成によれば、タイマがリセットされるごとに、制御信号の出力を許可するか否かを見直すため、タイマが計時する所定時間の複数倍先の時刻を出力タイミングとして制御信号を出力できる。
【0008】
上記の制御装置において、前記制御部は、前記タイマが前記設定時間を所定時間ごとに分割した時間を計時する毎に、前記判定処理と前記設定処理とを実行し、前記判定処理は、前記制御信号の出力タイミングが、前記設定時間を所定時間ごとに分割した時間以内にあるか否かを判定し、前記設定処理は、前記制御信号の出力タイミングが前記設定時間を所定時間ごとに分割した時間以内である場合に、前記記憶部に制御信号の出力を許可する許可状態にあることを示す情報を記憶させることを特徴としている。
この構成によれば、タイマが所定時間の2分の1の時間を計時する毎に、制御信号の出力を許可するか否かを見直すため、タイマが計時する所定時間の2分の1にあたる時間の複数倍先の時刻を出力タイミングとして制御信号を出力できる。
【発明の効果】
【0009】
本発明によれば、信号を出力するタイミングの精度を細かく保ちつつ、かつ、タイマの1周期よりも先にある時刻を設定した場合にも、設定した時刻に信号を出力できる。
【発明を実施するための最良の形態】
【0010】
以下、本発明の最良の実施形態について、添付図面を参照しつつ説明する。
【実施例1】
【0011】
図3に、本発明の制御装置をエンジンECU(Electronic Control Unit)に適用した実施例1の構成を示す。図3に示すように、エンジンECU10は、クロック30と、制御装置20aと、出力ポート40aおよび40bとを備えている。
【0012】
制御装置20aは、クロック30と、回転角センサ11と、車速センサ12と、スタータ13と、出力ポート40aおよび40bと接続される。制御装置20aは、回転角センサ11からエンジンの回転角を表す回転角信号を入力し、車速センサ12から車速を表す車速信号を入力し、スタータ13からエンジンのスタータ要求を表すスタータ信号を入力する。制御装置20aはこれらの信号から車両状態を推定し、最適な車両状態にするためにインジェクタ14、点火プラグ15を含む各種アクチュエータを制御するパルス信号を、出力ポート40aおよび40bに出力する。パルス信号を出力できるタイミングは、クロック30から入力されるクロック信号の周波数に依存する。
これらの構成部品は一例であって、制御装置20a(20b)は他の部品に接続可能である。
【0013】
次に制御装置20aの構成について図4を用いて説明する。図4は制御装置20aのシステム構成の一例を示している。制御装置20aは、タイマ21と、制御部22と、コンペアレジスタ23と、コンペア許可レジスタ24(記憶部)と比較部25と、出力部26とを備える。
タイマ21は、クロック30と制御部22と比較部25と接続される。タイマ21は、クロック30から一定周期で出力されるクロック信号を入力し、クロッをカウントすることによって時刻を計時する。タイマ21は、現在時刻を制御部22および比較部25へ出力する。また、タイマ21は、タイマ21が計時できる上限時刻を計時すると、オーバーフローしてリセットされる。つまり、タイマ21は、初期値から所定時間を計時するごとにリセットされる。以後、タイマ21が計時できる初期値から所定時間までの時間の間隔をタイマ21の1周期と呼ぶ。タイマ21は、オーバーフローすると、オーバーフロー信号を制御部22へ出力する。
【0014】
制御部22は、回転角センサ11と、車速センサ12と、スタータ13と、タイマ21と、コンペアレジスタ23と、コンペア許可レジスタ24と、出力部26と接続される。制御部22は、回転角センサ11と、車速センサ12と、スタータ13とから入力される各種入力信号からインジェクタ14、点火プラグ15を含む各種アクチュエータを制御する制御信号を出力するタイミングを算出する。そして、制御部22は、コンペアレジスタ23に制御信号の出力タイミングを書き込む。次に、制御部22は、制御信号の出力タイミングが、タイマ21の1周期以内であるかどうかを確認し、出力タイミングがタイマ21の1周期以内であった場合には、コンペア許可レジスタ24に制御信号の出力を許可する許可状態であることを示す情報(以後、許可情報という)を記憶させる。一方、制御信号の出力タイミングがタイマ21の1周期以内にない場合には、コンペア許可レジスタ24には制御信号の出力を許可しない不許可状態であることを示す情報(以後、不許可情報という)をコンペア許可レジスタ24に記憶させる。また、出力部26が制御信号を出力したことを表すコンペアマッチ割り込み信号を出力部26から入力した場合にも、制御信号の出力後に制御信号の出力を行わないように、制御部22は、コンペア許可レジスタ24に不許可状態を記憶させる。
【0015】
コンペア許可レジスタ24は、制御部22と出力部26と接続され、前述したように制御部22から設定された制御信号の出力を許可する許可情報または制御信号の出力を許可しない不許可情報を記憶する。出力部26は、コンペア許可レジスタ24に許可情報または不許可情報のどちらが記憶されているかを確認し、制御信号を出力するか否かを決定する。
【0016】
コンペアレジスタ23は、制御部22と比較部25と接続され、前述したように制御部22から書き込まれた制御信号の出力タイミングを記憶する。比較部25は、タイマ21と、コンペアレジスタ23と、出力部26と接続される。比較部25は、コンペアレジスタ23に書き込まれた制御信号の出力タイミングとタイマ21が計時する時刻が一致すると、一致信号を出力部26へ出力する。
【0017】
出力部26は、比較部25と、コンペア許可レジスタ24と、出力ポート40aおよび40bと、制御部22と接続される。以後、本実施例では、出力ポート40aおよび40bのうち、出力ポート40aへ制御信号を出力する場合について説明するが、出力ポート40bに対しても本実施例と同様の処理が可能である。出力部26は、比較部25から一致信号を入力すると、コンペア許可レジスタ24に許可情報が記憶されているか否かを確認する。そして、コンペア許可レジスタ24に許可情報が記憶されている場合には、制御信号を出力ポート40aに出力する。一方、比較部25から一致信号を入力しても、コンペア許可レジスタ24に不許可情報が記憶されている場合には、制御信号の出力は行わない。また、出力部26は制御信号を出力すると、制御信号を出力したことを制御部22へと通知するために、コンペアマッチ割り込み信号を制御部22へ出力する。
この構成によれば、制御部22は、出力タイミングがタイマ21の1周期以内にない場合にはコンペア許可レジスタ24に不許可情報を記憶させるため、出力部26は、比較部25から一致信号を入力しても制御信号を出力しない。その結果、制御信号の出力タイミングがタイマ21の1周期以上先である場合であっても、所望の出力タイミングで制御信号を出力することが可能となる。
【0018】
次に、制御部22のハードウェア構成の一例について説明する。図5は、制御部22のハードウェア構成の一例を示す図である。
制御部22は、信号の入出力を行う入出力部224と、ECUによる制御処理を実現するためのプログラムや、制御信号の出力タイミングがタイマ21の1周期以内であるかを判定するプログラム(詳細は後述)などが格納されたROM223と、ROM223に格納されたプログラムを読み込んで実行する中央処理装置(CPU)221と、プログラムを実行する際に使用される一時的なデータを保存するRAM222とから構成される。
また、ROM223に格納されたプログラムのCPU221による演算によって、図6に示す判定処理225a、設定処理226aおよび図12に示す判定処理225b、設定処理226bが構成される。
【0019】
図6は、上述したCPU221などのハードウェアとROM223に格納されたソフトウェアとの協働によって実現される制御部22の機能ブロック図の一例である。
制御部22は、判定処理225aと、設定処理226aとを実行する。
判定処理225aは、タイマ21と設定処理226aと接続される。判定処理225aは、タイマ21が計時した時刻と、制御信号の出力タイミングを比較し、制御信号の出力タイミングがタイマ21の1周期以内であるか否かを判定する。判定処理は、制御部22が、制御信号の出力タイミングを決定した場合と、タイマ21がオーバーフローし、オーバーフロー信号が判定処理225aに入力された場合に実行される。判定処理225aは、判定の結果を設定処理226aへと出力する。
次に、設定処理226aは、判定処理225aの判定結果に基づいてコンペア許可レジスタ24に制御信号の出力を許可するか否かの情報を記憶させる。判定処理225aが制御信号の出力タイミングがタイマ21の1周期以内であると判定した場合には、設定処理226aは、コンペア許可レジスタ24に制御信号の出力を許可する許可情報を記憶させる。一方、判定処理225aが制御信号の出力タイミングがタイマ21の1周期以内でないと判定した場合には、設定処理226aは、コンペア許可レジスタ24に制御信号の出力を許可しない不許可情報を記憶させる。
【0020】
次に、制御装置20aが指定時刻に制御信号を出力ポート40aに出力するために、制御部22が実行する処理について図7から図9に示されるフローチャートおよび図10に示されるタイムチャートを参照しながら説明する。図7は、制御部22に入力された各種入力信号から出力ポート40aに出力される制御信号の出力タイミングが算出された場合に、制御部22が実行する処理の一例を示したフローチャートである。
制御部22は、回転角センサ11等から入力される入力信号からインジェクタ14等を制御する制御信号を出力するタイミングを算出すると、コンペアレジスタに出力タイミングを書き込む(ステップS11)。次に、制御部22は、制御信号の出力タイミングが、タイマ21の1周期以内であるかどうかを判定する(ステップS12)。制御信号の出力タイミングがタイマ21の1周期以内である場合(ステップS12/YES)、制御部22は、コンペア許可レジスタ24に許可情報を記憶させる(ステップS13)。制御信号の出力タイミングがタイマ21の1周期以内ではない場合(ステップS12/NO)、コンペア許可レジスタ24に不許可情報を記憶させる(ステップS14)。
【0021】
本フローチャートで行う処理による出力ポート40aと、コンペア許可レジスタ24と、コンペアレジスタ23の変化について、図10のタイムチャートを用いて説明する。図10は、出力ポート40aと、コンペア許可レジスタ24と、コンペアレジスタ23と、タイマ21との関係を表したタイムチャートである。図10において、各実線は、上から出力ポート40aの値、コンペア許可レジスタ24に記憶されている許可情報または不許可情報、タイマ21が計時している時刻を示している。また、破線は、コンペアレジスタ23に設定される値を示している。
制御部22は、aの時刻に制御信号を出力するタイミングを算出したとする。また、その出力タイミングは図中Aで示される時刻であるとする。制御部22は、コンペアレジスタ23に出力タイミングAを書き込む。次に、制御部22は、制御信号の出力タイミングが、タイマの1周期以内であるか否かを判定する。図10において、制御信号の出力タイミングAは、aの時刻からタイマ21の1周期以上先であるから、制御部22は、コンペア許可レジスタ24に不許可情報を記憶させる。bの時刻に、コンペアレジスタ23に書き込まれた制御信号の出力タイミングと、タイマ21の計時する時刻は一致するため、比較部25は一致信号を出力部26に出力する。しかし、コンペア許可レジスタ24は不許可情報であるため、出力部26は制御信号を出力せず、出力ポート40aの出力はLoのままである。
【0022】
次に、タイマ21が所定時間を計時しオーバーフローした場合に、制御部22が実行する処理について説明する。図8は、タイマ21が所定時間を計時しオーバーフローした場合に、制御部22が実行する処理の一例を示したフローチャートである。
タイマ21は、タイマ21が計時できる上限の時刻を計時するとオーバーフローし、リセットされる。その際、オーバーフロー信号を制御部22へ出力する。制御部22は、タイマ21からオーバーフロー信号を入力すると(ステップS21/YES)、制御信号の出力タイミングが、タイマ21の1周期以内であるかどうかを判定する(ステップS22)。制御信号の出力タイミングがタイマ21の1周期以内である場合(ステップS22/YES)、制御部22は、コンペア許可レジスタ24に許可情報を記憶させる(ステップS23)。制御信号の出力タイミングがタイマ21の1周期以内ではない場合(ステップS22/NO)、制御部22は、コンペア許可レジスタ24に不許可情報を記憶させる(ステップS24)。
【0023】
本フローチャートで行う処理による出力ポート40aと、コンペア許可レジスタ24と、コンペアレジスタ23の変化について、再度、図10のタイムチャートを用いて説明する。図10において、タイマ21はcの時刻にタイマ21が計時できる時刻の上限を計時して、オーバーフローする。タイマ21は、オーバーフローするとオーバーフロー信号を制御部22に出力するとともに、リセットされ、初期値から再び計時を開始する。制御部22は、オーバーフロー信号を入力すると、制御信号の出力タイミングが、タイマの1周期以内であるか否かを判定する。cの時刻では、制御信号の出力タイミングはタイマ21の1周期以上先であるから、コンペア許可レジスタ24に不許可情報を記憶させる。dの時刻に、コンペアレジスタ23に書き込まれた制御信号の出力タイミングとタイマ21の計時する時刻とが一致するため、比較部25は一致信号を出力部26に出力する。しかし、コンペア許可レジスタ24は不許可情報を記憶しているため、出力部26は制御信号を出力せず、出力ポート40aの出力はLoのままである。
タイマ21は、eの時刻においてもオーバーフローするため、制御部22は、eの時刻に再び判定処理を実行する。eの時刻において、制御信号の出力タイミングはタイマ21の1周期以内にあるため、制御部22はコンペア許可レジスタ24に許可情報を記憶させる。fの時刻に、コンペアレジスタ23に書き込まれた制御信号の出力タイミングとタイマ21の計時する時刻とが一致するため、比較部25は一致信号を出力部26に出力する。fの時刻ではコンペア許可レジスタ24には許可情報が記憶されているため、出力部26は、fの時刻すなわち制御信号の出力タイミングAに制御信号を出力する。これにより、所望の出力タイミングで制御信号を出力できる。また、出力部26は、コンペアマッチ割り込み信号を制御部22へ出力する。
【0024】
次に、制御部22が、出力部26が出力したコンペアマッチ割り込み信号を入力した場合に、制御部22が実行する処理について説明する。図9は、制御部22がコンペアマッチ割り込み信号を入力した場合に実行する処理の一例を示したフローチャートである。
制御部22は、コンペアマッチ割り込み信号を入力すると(ステップS31/YES)、コンペア許可レジスタ24に信号出力を許可しない不許可情報を記憶させる(ステップS32)。出力タイミングAの時刻以後にコンペアレジスタ23の値とタイマ21のカウント値が一致しても、出力部26が制御信号を出力してしまわないようにするためである。
再度、図10を用いて上述の処理について説明すると、fの時刻において、出力部26は制御信号を出力する。ここで、コンペア許可レジスタ24に許可情報が記憶されたままであると、出力部26はgの時刻にも制御信号を出力してしまうため、fの時刻にて制御部22はコンペア許可レジスタ24に不許可情報を記憶させる。
【0025】
本実施例によれば、制御部22は、出力タイミングがタイマ21の1周期以内にない場合にはコンペア許可レジスタ24に不許可情報を記憶させることにより、出力部26は、比較部25から一致信号を入力しても制御信号を出力しない。その結果、制御信号の出力タイミングがタイマ21の1周期以上先である場合にも、所望の出力タイミングで制御信号を出力することが可能となる。また、制御信号の出力後は、コンペア許可レジスタ24に不許可情報を記憶させるので、出力タイミング以外のタイミングで制御信号が出力されることもない。
【実施例2】
【0026】
実施例1では、制御部22は、オーバーフロー信号の入力をトリガとして判定処理および設定処理を実行している。実施例2では、コンペアレジスタ23からの一致信号をトリガとしてタイマ21の半周期ごとに信号出力の許可を判定し、制御信号を出力する。
【0027】
実施例2のシステム構成およびハードウェア構成は、実施例1とほぼ同一であるため、実施例1と異なる点に絞って説明を行う。
図11は、実施例2に使用する制御装置20bのシステム構成の一例を示した図である。実施例1と異なる点は、比較部25と制御部22とが接続されている点である。比較部25は、タイマ21の計時する時刻とコンペアレジスタ23に書き込まれた出力タイミングとが一致する場合に、一致信号を出力部26に出力すると共に制御部22に対しても出力する。制御部22は、この一致信号を受けて判定処理および設定処理を行う。
また、図12は、実施例2における制御部22の機能ブロック図の一例である。判定処理225bは、タイマ21が計時した時刻と、制御信号の出力タイミングを比較し、制御信号の出力タイミングがタイマ21の半周期以内であるか否かを判定する。制御部22は、制御部22が制御信号の出力タイミングを決定した場合および比較部25から一致信号が入力された場合に、判定処理225bを実行する。判定処理225bは、判定の結果を設定処理226bへと出力する。
次に、判定処理225bとコンペア許可レジスタ24とに接続された設定処理226bは、判定処理225bの判定結果に基づいてコンペア許可レジスタ24に制御信号の出力を許可するか否かの情報を記憶させる。また、タイマ21の半周期ごとに制御部22が判定処理を実行するために、設定処理226bは、タイマ21の半周期先の時刻をコンペアレジスタ23に書き込む。判定処理225bが制御信号の出力タイミングがタイマ21の半周期以内であると判定した場合には、設定処理226bは、コンペア許可レジスタ24に制御信号の出力を許可する許可情報を記憶させるとともに、コンペアレジスタ23にタイマ21の半周期を経過した場合の時刻を書き込む。一方、判定処理225bが制御信号の出力タイミングがタイマ21の1周期以内でないと判定した場合には、設定処理226bは、コンペア許可レジスタ24に制御信号の出力を許可しない不許可情報を記憶させるとともに、タイマ21の半周期先の時刻をコンペアレジスタ23に書き込む。
【0028】
次に、制御部22が行う処理について図13と図14のフローチャートと、図15のタイムチャートを用いてさらに詳細に説明する。
図13は、制御部22に入力された各種入力信号から出力ポート40aに出力される制御信号の出力タイミングが算出された場合に、制御部22が実行する処理の一例を示したフローチャートである。
制御部22は、回転角センサ11等から入力される入力信号からインジェクタ14等を制御する制御信号を出力するタイミングを算出すると、コンペアレジスタに出力タイミングを書き込む(ステップS41)。次に、制御部22は、制御信号の出力タイミングが、タイマ21の半周期以内であるかどうかを判定する(ステップS42)。制御信号の出力タイミングがタイマ21の半周期以内である場合(ステップS42/YES)、制御部22は、コンペア許可レジスタ24に許可情報を記憶させる(ステップS43)。制御信号の出力タイミングがタイマ21の1周期以内ではない場合(ステップS42/NO)、コンペア許可レジスタ24に不許可情報を記憶させる(ステップS44)。
【0029】
本フローチャートで行う処理による出力ポート40aと、コンペア許可レジスタ24と、コンペアレジスタ23の変化について、図15のタイムチャートを用いて説明する。図15は、出力ポート40aと、コンペア許可レジスタ24と、コンペアレジスタ23と、タイマ21との関係を表したタイムチャートである。図15において、各実線は、上から出力ポート40aの値、コンペア許可レジスタ24に記憶されている許可情報または不許可情報、タイマ21が計時している時刻を示している。また、破線は、コンペアレジスタ23に設定される値を示している。
制御部22は、aの時刻に制御信号を出力するタイミングを算出したとする。また、その出力タイミングは図中Aで示される時刻であるとする。制御部22は、コンペアレジスタ23に出力タイミングを書き込む。次に、制御部22は、制御信号の出力タイミングが、タイマの半周期以内であるか否かを判定する。図15において、制御信号の出力タイミングAはaの時刻からタイマ21の半周期以上先であるから、制御部22は、コンペア許可レジスタ24に不許可情報を記憶させる。bの時刻に、コンペアレジスタ23に書き込まれた制御信号の出力タイミングと、タイマ21の計時する時刻は一致するため、比較部25は一致信号を出力部26に出力する。しかし、コンペア許可レジスタ24は不許可情報であるため、比較部25は制御信号を出力せず、出力ポート40aの出力はLoのままである。
【0030】
ここで、比較部25は、一致信号を出力部26だけでなく、制御部22に対しても出力する。そこで、次に、タイマ21が比較部25から一致信号を入力した場合に、制御部22が実行する処理について説明する。図14は、制御部22が比較部25から一致信号を入力した場合に、制御部22が実行する処理の一例を示したフローチャートである。
比較部25は、タイマ21が計時する時刻と、コンペアレジスタ23に書き込まれた出力タイミングが一致すると、一致信号を制御部22へ出力する。制御部22は、比較部25から一致信号を入力すると(ステップS51/YES)、制御信号の出力タイミングが、タイマ21の半周期以内であるかどうかを判定する(ステップS52)。制御信号の出力タイミングがタイマ21の半周期以内である場合(ステップS52/YES)、制御部22は、コンペア許可レジスタ24に許可情報を記憶させるとともに、コンペアレジスタ23の出力タイミングをタイマ21の半周期先の時刻に書き換える(ステップS23)。制御信号の出力タイミングがタイマ21の半周期以内ではない場合(ステップS22/NO)、コンペア許可レジスタ24に不許可情報を記憶させるとともに、コンペアレジスタ23の出力タイミングをタイマ21の半周期先の時刻に書き換える(ステップS24)。
【0031】
本フローチャートで行う処理による出力ポート40aと、コンペア許可レジスタ24と、コンペアレジスタ23の変化について、再度、図15のタイムチャートを用いて説明する。図15において、比較部25は、bの時刻において一致信号を制御部22に出力する。制御部22は、比較部25から一致信号を入力すると、制御信号の出力タイミングが、タイマ21の半周期以内であるか否かを判定する。bの時刻では、制御信号の出力タイミングは、タイマ21の半周期以上先であるから、コンペア許可レジスタ24に不許可情報を記憶させるとともに、コンペアレジスタ23の値を、タイマ21の半周期先の時刻に相当するcの時刻に書き換える。cの時刻に、コンペアレジスタ23に書き込まれた時刻とタイマ21の計時する時刻とは一致するため、比較部25は一致信号を出力部26に出力する。しかし、コンペア許可レジスタ24は不許可情報を記憶しているため、出力部26は制御信号を出力せず出力ポート40aの出力はLoのままである。また、比較部25は一致信号を制御部22にも出力する。制御部22は、一致信号を受けて、上述の処理を実行するが、cの時刻においても制御信号の出力タイミングはタイマ21の半周期よりも先であるので、コンペア許可レジスタ24には不許可情報を記憶させ、今回は、コンペアレジスタ23に出力タイミングとしてタイマ21の半周期先の時刻に相当するdの時刻を書き込む。
制御部22は、タイマ21の半周期ごとに上記の処理を繰り返す。そして、eの時刻において、制御信号の出力タイミングAがタイマ21の半周期以内となるため、制御部22は、コンペア許可レジスタ24に許可情報を記憶させる。また、出力タイミングAはeの時刻からタイマ21の半周期先の時刻となっているため、コンペアレジスタ23の出力タイミングをタイマ21の半周期先の時刻に書き換える。
fの時刻にコンペアレジスタ23に書き込まれた制御信号の出力タイミングとタイマ21の計時する時刻とが一致するため、出力部26は一致信号を出力部26に出力する。fの時刻ではコンペア許可レジスタ24には許可情報が記憶されているから、出力部26は、fの時刻すなわち制御信号の出力タイミングAに制御信号を出力する。また、出力部26は、コンペアマッチ割り込み信号を制御部22へ出力する。コンペアマッチ割り込み信号を入力した制御部22が実行する処理は、実施例1と同様である。
【0032】
実施例2によれば、制御部22がタイマ21の半周期ごとに判定処理および設定処理を実行することにより、タイマ21の1周期以上先の時刻を指定しても、制御信号を所望の出力タイミングで制御信号を出力できる。
なお、実施例2では、制御部22がタイマ21の半周期ごとに判定処理および設定処理を実行していたが、タイマ21の3分の1周期あるいは4分の1周期ごとに判定処理および設定処理を実行しても良い。
【0033】
以上、本発明の好ましい実施の形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
例えば、コンペア許可レジスタ24の代わりに制御信号の出力レベルを記憶する出力レベルレジスタを用いて制御信号の出力レベルを記憶し、出力部26は比較部25から一致信号を受けた場合に、出力レベルレジスタに記憶された出力レベルで制御信号を出力するようにしてもよい。
また、図16に示されるように点火装置の制御にあたり、点火プラグ15に接続された出力ポート40bが、ポート出力を行う時間間隔を設定するトリガとして、コンペアマッチ割り込み信号を利用することも可能である。図16は、回転角センサ11から入力される回転角信号と、タイマ21の計時する時刻と、コンペア許可レジスタ24の状態と、出力ポート40bとの関係を表したタイムチャートの一例である。図16において、回転角センサ11から入力される回転角信号の割り込み信号であるハードウェア割込2が入力されたAの時刻に、制御信号の出力タイミングBが決定されたとする。Aの時刻において、Bの時刻はタイマ21の1周期以内であるから、制御部22は、コンペア許可レジスタ24に許可情報を記憶させる。Bの時刻にて、タイマ21の計時する時刻とコンペアレジスタ21に書き込まれた制御信号の出力タイミングは一致し、かつコンペア許可レジスタ24は許可情報であるから、出力部26は制御信号を出力する。この際、出力部26はコンペアマッチ割り込み信号を制御部22に出力するので、制御部22は、コンペア許可レジスタ24に不許可情報を記憶させる。出力ポート40bのポート出力は、出力部26からの制御信号の入力によってHiになるが、一定の時間が経過した場合にLo出力を行うために、コンペアマッチ割り込み信号をトリガとして、出力ポート40bのポート出力をLoにするためのタイマセットを行うことができる。その結果、Bの時刻から一定時間経過後のCの時刻に、出力ポート40bは、ポート出力をHiからLoへと切替えることができる。
さらに、本実施例では本発明に係る制御装置をエンジンECUへ適用したが、外部装置の動作タイミングを制御する制御信号を出力する必要のあるシステム全般に対して本発明を適用することができる。
【0034】
制御部22が実行するプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供できる。
更に、制御部22がROM223に記憶されたソフトウェアプログラムを読み出して、CPU221により実行して実現するソフトウェア処理の一部又は全部をハードウェアにて実現しても良い。また、制御装置20aおよび20bを構成するハードウェアの一部又は全部をソフトウェアにて実現しても良い。
【図面の簡単な説明】
【0035】
【図1】コンペアレジスタの設定値と信号出力のタイミングの一例を表すタイムチャートである。
【図2】タイマの1カウントの間隔と周期の関係を模式的に表した図である。
【図3】本発明に係る制御装置が適用されるエンジン制御ECUのシステム構成の一例を表す図である。
【図4】実施例1に係る制御装置のシステム構成の一例を表す図である。
【図5】制御部のハードウェア構成の一例を示す図である。
【図6】制御部が有する機能の一例を示す機能ブロック図である。
【図7】制御部が制御信号の出力タイミングを算出した場合に行う処理の一例を示すフローチャートである。
【図8】制御部がオーバーフロー信号を入力した場合に行う処理の一例を示すフローチャートである。
【図9】制御部がコンペアマッチ割り込み信号を入力した場合に行う処理の一例を示すフローチャートである。
【図10】実施例1のタイムチャートの一例である。
【図11】実施例2に係る制御装置のシステム構成の一例を表す図である。
【図12】制御部が有する機能の一例を示す機能ブロック図である。
【図13】制御部が制御信号の出力タイミングを算出した場合に行う処理の一例を示すフローチャートである。
【図14】制御部が一致信号を入力した場合に行う処理の一例を示すフローチャートである。
【図15】実施例2のタイムチャートの一例である。
【図16】本発明を点火装置に適用した場合のタイムチャートの一例である。
【符号の説明】
【0036】
10…エンジンECU
11…回転角センサ
12…車速センサ
13…スタータ
14…インジェクタ
15…点火プラグ
20a、20b…制御装置
21…タイマ
22…制御部
23…コンペアレジスタ
24…コンペア許可レジスタ
25…比較部
26…出力部
30…クロック
40a、40b…出力ポート
221…CPU
222…RAM
223…ROM
224…入出力部
225a、225b…判定処理
226a、226b…設定処理
【特許請求の範囲】
【請求項1】
外部装置の動作タイミングを制御する制御信号を出力する制御装置であって、
設定された設定時間を計時するごとにリセットされるタイマと、
前記制御信号の出力を許可するか否かの情報を記憶する記憶部と、
前記制御信号の出力タイミングが、前記タイマが計時を開始した時刻または前記タイマがリセットされた時刻から前記タイマの計時する所定時間以内にあるか否かを判定する処理と、
前記制御信号の出力タイミングが所定時間以内である場合に、前記記憶部に制御信号の出力を許可する許可状態にあることを示す情報を記憶させる設定処理とを実行する制御部と、
前記制御信号の出力を許可する許可状態にあることを示す情報を前記記憶部が記憶している場合に、前記タイマの計時する時刻と前記制御信号の出力タイミングが一致する時刻に制御信号を出力する出力部とを備える制御装置。
【請求項2】
前記制御部は、前記タイマがリセットされる毎に、前記判定処理および前記設定処理を実行する請求項1に記載の制御装置。
【請求項3】
前記制御部は、前記タイマが前記設定時間を所定時間ごとに分割した時間を計時する毎に、前記判定処理と前記設定処理とを実行し、
前記判定処理は、前記制御信号の出力タイミングが、前記設定時間を所定時間ごとに分割した時間以内にあるか否かを判定し、
前記設定処理は、前記制御信号の出力タイミングが前記設定時間を所定時間ごとに分割した時間以内である場合に、前記記憶部に制御信号の出力を許可する許可状態にあることを示す情報を記憶させる請求項1に記載の制御装置。
【請求項1】
外部装置の動作タイミングを制御する制御信号を出力する制御装置であって、
設定された設定時間を計時するごとにリセットされるタイマと、
前記制御信号の出力を許可するか否かの情報を記憶する記憶部と、
前記制御信号の出力タイミングが、前記タイマが計時を開始した時刻または前記タイマがリセットされた時刻から前記タイマの計時する所定時間以内にあるか否かを判定する処理と、
前記制御信号の出力タイミングが所定時間以内である場合に、前記記憶部に制御信号の出力を許可する許可状態にあることを示す情報を記憶させる設定処理とを実行する制御部と、
前記制御信号の出力を許可する許可状態にあることを示す情報を前記記憶部が記憶している場合に、前記タイマの計時する時刻と前記制御信号の出力タイミングが一致する時刻に制御信号を出力する出力部とを備える制御装置。
【請求項2】
前記制御部は、前記タイマがリセットされる毎に、前記判定処理および前記設定処理を実行する請求項1に記載の制御装置。
【請求項3】
前記制御部は、前記タイマが前記設定時間を所定時間ごとに分割した時間を計時する毎に、前記判定処理と前記設定処理とを実行し、
前記判定処理は、前記制御信号の出力タイミングが、前記設定時間を所定時間ごとに分割した時間以内にあるか否かを判定し、
前記設定処理は、前記制御信号の出力タイミングが前記設定時間を所定時間ごとに分割した時間以内である場合に、前記記憶部に制御信号の出力を許可する許可状態にあることを示す情報を記憶させる請求項1に記載の制御装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2010−116806(P2010−116806A)
【公開日】平成22年5月27日(2010.5.27)
【国際特許分類】
【出願番号】特願2008−289285(P2008−289285)
【出願日】平成20年11月11日(2008.11.11)
【出願人】(000237592)富士通テン株式会社 (3,383)
【Fターム(参考)】
【公開日】平成22年5月27日(2010.5.27)
【国際特許分類】
【出願日】平成20年11月11日(2008.11.11)
【出願人】(000237592)富士通テン株式会社 (3,383)
【Fターム(参考)】
[ Back to top ]