(57)【要約】【課題】エンジン始動時において、始動性の悪化及び信頼性の低下を招くことなく、読出専用メモリのチェックを行う。【解決手段】起動後に少なくとも読出専用メモリにおける始動制御に必要なデータの記憶領域をチェックするための始動領域チェック処理を含むイニシャル処理と、イニシャル処理の終了後に、始動制御に必要なデータに基づいてエンジンの始動制御を行うための始動制御処理と、始動制御処理がなされていないタイミングで前記読出専用メモリにおける通常制御に必要なデータの記憶領域をチェックするための通常領域チェック処理と、始動制御処理及び通常領域チェック処理の終了後に、通常制御に必要なデータに基づいてエンジンの通常制御を行うための通常制御処理とを実行する。【選択図】図３
2010019232.tif 000002
【特許請求の範囲】
【請求項１】
エンジンの始動制御及び通常制御に必要なデータを記憶する読出専用メモリと、該読出専用メモリに記憶されているデータに基づいてエンジンの始動制御及び通常制御を行う制御処理部とを備えたエンジン制御装置であって、
前記制御処理部は、起動後に少なくとも前記読出専用メモリにおける始動制御に必要なデータの記憶領域をチェックするための始動領域チェック処理を含むイニシャル処理と、
前記イニシャル処理の終了後に、前記始動制御に必要なデータに基づいてエンジンの始動制御を行うための始動制御処理と、
前記始動制御処理がなされていないタイミングで前記読出専用メモリにおける通常制御に必要なデータの記憶領域をチェックするための通常領域チェック処理と、
前記始動制御処理及び前記通常領域チェック処理の終了後に、前記通常制御に必要なデータに基づいてエンジンの通常制御を行うための通常制御処理と、を実行することを特徴とするエンジン制御装置。
【請求項２】
前記制御処理部は、前記始動領域チェック処理及び前記通常領域チェック処理において、前記記憶領域から１度に読出可能な最大量のデータを読み出す読出処理と、該読出処理にて読み出したデータを１バイト単位に分割して加算する加算処理とを繰り返すことにより、当該記憶領域のチェックＳＵＭを算出することを特徴とする請求項１記載のエンジン制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジン制御装置に関し、特に起動時におけるイニシャル処理の１つとして、内部に設けられた読出専用メモリのチェック機能を有するエンジン制御装置に関する。
【背景技術】
【０００２】
ＥＣＵ(Engine Contorol Unit)に代表されるエンジン制御装置では、起動時におけるイニシャル処理の１つとして、内部に設けられたＲＯＭ(Read Only Memory)のＳＵＭチェックを行うことが一般的である。このようなエンジン制御装置におけるＲＯＭチェックの手法としては、（１）ＲＯＭ内部の全記憶領域に対するＳＵＭチェックを終えてから、エンジンの始動制御及び通常制御を行う手法、（２）エンジン始動後にＲＯＭチェックを行う手法（下記特許文献１参照）、（３）ＲＯＭチェック時において、ＲＯＭから１バイトずつデータを読み出してＳＵＭを行う手法、等がある。
【特許文献１】特開２００４−３０８４７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記（１）の手法では、エンジンの通常制御に移行するまでの時間が長くなり、バッテリレスシステムなど限られた電力で早期に通常制御に移行しなければならないシステムでは始動性が悪化するという問題がある。また、上記（２）の手法では、ＲＯＭ内におけるエンジン始動制御に関するデータの記憶領域がチェックされないままエンジン始動制御が実施されるため、信頼性の低下を招く可能性があり、信頼性を低下させないための対応が必要になり処理が複雑になる問題があった。また、上記（３）の手法では、ＲＯＭから１バイトのデータ読み出し→ＳＵＭという処理のループ回数が多くなるため、通常制御に移行するまでの時間が長くなり、始動性が悪化するという問題がある。
【０００４】
本発明は、上述した事情に鑑みてなされたものであり、エンジン始動時において、始動性の悪化及び信頼性の低下を招くことなく、読出専用メモリのチェックを行うことが可能なエンジン制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、エンジン制御装置に係る第１の解決手段として、エンジンの始動制御及び通常制御に必要なデータを記憶する読出専用メモリと、該読出専用メモリに記憶されているデータに基づいてエンジンの始動制御及び通常制御を行う制御処理部とを備えたエンジン制御装置であって、前記制御処理部は、起動後に少なくとも前記読出専用メモリにおける始動制御に必要なデータの記憶領域をチェックするための始動領域チェック処理を含むイニシャル処理と、前記イニシャル処理の終了後に、前記始動制御に必要なデータに基づいてエンジンの始動制御を行うための始動制御処理と、前記始動制御処理がなされていないタイミングで前記読出専用メモリにおける通常制御に必要なデータの記憶領域をチェックするための通常領域チェック処理と、前記始動制御処理及び前記通常領域チェック処理の終了後に、前記通常制御に必要なデータに基づいてエンジンの通常制御を行うための通常制御処理と、を実行することを特徴とする。
【０００６】
また、エンジン制御装置に係る第２の解決手段として、上記第１の解決手段において、前記制御処理部は、前記始動領域チェック処理及び前記通常領域チェック処理において、前記記憶領域から１度に読出可能な最大量のデータを読み出す読出処理と、該読出処理にて読み出したデータを１バイト単位に分割して加算する加算処理とを繰り返すことにより、当該記憶領域のチェックＳＵＭを算出することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、起動後のイニシャル処理において、従来のように、読出専用メモリにおける全記憶領域をチェックするのではなく、始動制御に必要なデータの記憶領域のチェックのみを行うことにより、イニシャル処理時間を短縮して早期に始動制御に移行することができる。すなわち、１回の始動操作による少ないクランキング期間で確実にエンジンを完爆状態にして通常制御に移行させることができ、その結果、始動性の悪化を防止することが可能となる。
【０００８】
また、本発明によれば、始動制御を行う前に、読出専用メモリにおける始動制御に必要なデータの記憶領域をチェックし、また、通常制御を行う前に、読出専用メモリにおける通常制御に必要なデータの記憶領域をチェックするため、信頼性の低下を防止することが可能となる。
また、本発明によれば、読出専用メモリのチェックを行う場合に、記憶領域から１度に読出可能な最大量のデータを読み出す読出処理と、該読出処理にて読み出したデータを１バイト単位に分割して加算する加算処理とを繰り返すことにより、チェックＳＵＭを算出するために必要な処理のループ回数を減らすことができるため、始動制御に必要なデータの記憶領域のチェック時間、つまりイニシャル処理時間をより短縮することができ、始動性の向上に寄与する。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して、本発明の一実施形態について説明する。
図１は、本実施形態におけるエンジン制御装置（以下、ＥＣＵと称する）を備えるエンジン制御システムの概略構成図である。この図１に示すように、本実施形態におけるエンジン制御システムは、エンジン１、電源供給部２、燃料供給部３、ＥＣＵ（Engine Control Unit）４から概略構成されている。なお、本実施形態におけるエンジン制御システムとして、バッテリを備えず、手動クランキング（例えばキック）によってエンジン始動を行うバッテリレスシステムを例示して説明する。
【００１０】
エンジン１は、４サイクル単気筒エンジンであり、シリンダ１０、ピストン１１、コンロッド１２、クランクシャフト１３、吸気バルブ１４、排気バルブ１５、点火プラグ１６、点火コイル１７、吸気管１８、排気管１９、エアクリーナ２０、スロットルバルブ２１、インジェクタ２２、吸気圧センサ２３、吸気温センサ２４、スロットル開度センサ２５、冷却水温センサ２６、クランク角度センサ２７から概略構成されている。
【００１１】
シリンダ１０は、内部に設けられたピストン１１を、吸気、圧縮、燃焼（膨張）、排気の４行程を繰り返すことによって往復運動させるための中空の円筒形状部材であり、空気と燃料との混合気を燃焼室１０ｂに供給するための流路である吸気ポート１０ａ、上記混合気を留め、圧縮行程において圧縮された混合気を燃焼行程において燃焼させるための空間である燃焼室１０ｂ、排気行程において燃焼室１０ｂから排気ガスを外部に排出するための流路である排気ポート１０ｃが設けられている。また、このシリンダ１０の外壁には、冷却水を循環させるための冷却水路１０ｄが設けられている。
【００１２】
ピストン１１には、ピストン１１の往復運動を回転運動に変換するためのクランクシャフト１３がコンロッド１２を介して連結されている。クランクシャフト１３は、ピストン１１の往復方向と直交する方向に延在しており、不図示のフライホイール、ミッションギア、手動でエンジン１を始動させるためのキックペダルと連結されたキックギア、後述する電源供給部２におけるロータ３０ａと連結されている。
【００１３】
吸気バルブ１４は、吸気ポート１０ａにおける燃焼室１０ｂ側の開口部を開閉するための弁部材であり、不図示のカムシャフトと連結されており、当該カムシャフトによって各行程に応じて開閉駆動される。排気バルブ１５は、排気ポート１０ｃにおける燃焼室１０ｂ側の開口部を開閉するための弁部材であり、不図示のカムシャフトと連結されており、当該カムシャフトによって各行程に応じて開閉駆動される。
【００１４】
点火プラグ１６は、電極を燃焼室１０ｂ側に向けて燃焼室１０ｂの最上部に設けられており、点火コイル１７から供給される高電圧の点火用電圧信号によって電極間に火花を発生する。点火コイル１７は、１次巻線と２次巻線からなるトランスであり、ＥＣＵ４から１次巻線に供給される点火用電圧信号を昇圧して２次巻線から点火プラグ１６に供給する。
【００１５】
吸気管１８は、空気供給用の配管であり、内部の吸気流路１８ａが吸気ポート１０ａと連通するようにシリンダ１０に連結されている。排気管１９は、排気ガス排出用の配管であり、内部の排気流路１９ａが排気ポート１０ｃと連通するようにシリンダ１０に連結されている。エアクリーナ２０は、吸気管１８の上流側に設けられており、外部から取り込まれる空気を清浄化して吸気流路１８ａに送り込む。スロットルバルブ２１は、吸気流路１８ａの内部に設けられており、不図示のスロットル（もしくはアクセル）によって回動する。つまり、スロットルバルブ２１の回動によって吸気流路１８ａの断面積が変化し、吸気量が変化する。インジェクタ２２は、噴射口を吸気ポート１０ａ側に向けて吸気管１８に設けられており、燃料供給部３から供給される燃料を、ＥＣＵ４から供給されるインジェクタ駆動信号に応じて噴射口から噴射する。
【００１６】
吸気圧センサ２３は、例えばピエゾ抵抗効果を利用した半導体圧力センサであり、スロットルバルブ２１の下流側において感度面を吸気流路１８ａに向けて吸気管１８に設けられており、吸気管１８内の吸気圧に応じた吸気圧信号をＥＣＵ４に出力する。吸気温センサ２４は、スロットルバルブ２１の上流側において感部を吸気流路１８ａに向けて吸気管１８に設けられており、吸気管１８内の吸気温度に応じた吸気温信号をＥＣＵ４に出力する。スロットル開度センサ２５は、スロットルバルブ２１の開度に応じたスロットル開度信号をＥＣＵ４に出力する。冷却水温センサ２６は、シリンダ１０の冷却水路１０ｄに感部を向けて設けられており、冷却水路１０ｄを流れる冷却水の温度に応じた冷却水温信号をＥＣＵ４に出力する。クランク角度センサ２７は、クランクシャフト１３の回転に同期して、クランクシャフト１３が所定角度回転する毎にクランク角信号を出力する。
【００１７】
電源供給部２は、発電機３０、レギュレートレクチファイヤ３２、コンデンサ３３から構成されている。発電機３０は、磁石式交流発電機であり、エンジン１のクランクシャフト１３と連結されて同期回転するロータ３０ａと、当該ロータ３０aの内周側に取り付けられた永久磁石３０ｂと、発電出力を得るための３相のステータコイル３０ｃ、３０ｄ、３０ｅを備えている。つまり、発電機３０において、固定されたステータコイル３０ｃ、３０ｄ、３０ｅに対して、ロータ３０ａ（つまり永久磁石３０ｂ）が回転することにより、ステータコイル３０ｃ、３０ｄ、３０ｅから電磁誘導によって３相交流電圧が発生し、この３相交流電圧はレギュレートレクチファイヤ３２に出力される。
【００１８】
図２に示すように、ロータ３０ａの外周には、複数の突起が回転方向に対して、各突起の後端が等角度間隔（例えば２０°間隔）になるように設けられている。また、上死点ＴＤＣに対応する位置から回転方向に前の位置、例えばＢＴＤＣ１０°すなわち上死点前１０°の位置を、クランク角基準位置とし、このクランク角基準位置に突起の後端が位置する突起は、他の突起より回転方向に長い（例えば２倍）突起（クランク角基準突起３０ａ１）が設けられている。以下では、クランク角基準突起３０ａ１以外の突起を補助突起３０ａ２と称する。また、ロータ３０ａの内周側には、６０°毎にＮ極及びＳ極が１セットずつ配置されるように、永久磁石３０ｂが取り付けられている。
【００１９】
上述したクランク角度センサ２７は、例えば電磁式ピックアップセンサであり、図２に示すように、ロータ３０ａの外周近傍に設けられ、クランク角基準突起３０ａ１及び補助突起３０ａ２がクランク角度センサ２７近傍を通過する毎に極性の異なる１対のパルス状のクランク角信号をＥＣＵ４に出力する。より詳細には、クランク角度センサ２７は、回転方向に対して各突起の前端が通過した場合、負極性の振幅を有するパルス信号を出力し、回転方向に対して各突起の後端が通過した場合、正極性の振幅を有するパルス信号を出力する。
【００２０】
図１に戻って説明すると、レギュレートレクチファイヤ３２は、整流回路３２ａ及び出力電圧調整回路３２ｂから構成されている。整流回路３２ａは、各ステータコイル３０ｃ、３０ｄ、３０ｅから入力される３相交流電圧を整流するための、３相ブリッジ接続された６個の整流素子から構成されており、上記３相交流電圧を直流電圧に整流して出力電圧調整回路３２ｂに出力する。出力電圧調整回路３２ｂは、上記整流回路３２ａから入力される直流電圧を調整してＥＣＵ４の電源電圧を生成し、当該電源電圧をＥＣＵ４に供給する。コンデンサ３３は、電源安定化用の平滑コンデンサであり、その両端は出力電圧調整回路３２ｂの出力端子間と接続されている。
【００２１】
燃料供給部３は、燃料タンク４０及び燃料ポンプ４１から構成されている。燃料タンク４０は、例えばガソリン等の燃料を溜めておくための容器である。燃料ポンプ４１は、燃料タンク４０内に設けられており、ＥＣＵ４から入力されるポンプ駆動信号に応じて、燃料タンク４０内の燃料を汲み出してインジェクタ２２に供給する。
【００２２】
ＥＣＵ４は、図３に示すように、波形整形回路５０、回転数カウンタ５１、Ａ／Ｄ変換器５２、ＲＯＭ(Read Only Memory：読出専用メモリ)５３、ＲＡＭ(Random Access Memory)５４、ＣＰＵ（Central Processing Unit：制御処理部）５５、点火回路５６、インジェクタ駆動回路５７、ポンプ駆動回路５８から構成されている。このような構成のＥＣＵ４は、電源供給部２から供給される電源電圧によって駆動するものであり、ＥＣＵ４のＶＩＧ端子は出力電圧調整回路３２ｂの正極側の出力端子と接続され、ＧＮＤ端子は出力電圧調整回路３２ｂの負極側の出力端子及びグランドラインと接続されている。
【００２３】
波形整形回路５０は、クランク角度センサ２７から入力されるパルス状のクランク角信号を、方形波（例えば負極性のクランク角信号をハイレベルとし、正極性及びグランドレベルのクランク角信号をローレベルとする）に波形整形して、回転数カウンタ５１及びＣＰＵ５５に出力する。つまり、この波形整形後のクランク角信号は、クランクシャフト１３が２０°回転する際に要した時間を周期とする信号である。以下では、この波形整形後のクランク角信号をタイミング信号と称す。回転数カウンタ５１は、タイミング信号に基づいてエンジン回転数を算出し、当該エンジン回転数を示す回転数信号をＣＰＵ５５に出力する。Ａ／Ｄ変換器５２は、吸気圧センサ２３、吸気温センサ２４、スロットル開度センサ２５及び冷却水温センサ２６の出力信号をデジタル変換することにより、吸気圧値、吸気温度値、スロットル開度値及び冷却水温値を生成してＣＰＵ５５に出力する。
【００２４】
ＲＯＭ５３は、エンジン１の始動制御及び通常制御に必要なデータ（例えば、制御プログラムやテーブルデータ、マップデータ等）を予め記憶している読出専用の不揮発性メモリである。このＲＯＭ５３の内部の記憶領域は、図３に示すように、始動制御に必要なデータ（以下、始動制御用データと称す）が記憶されている始動制御用データ記憶領域５３ａと、通常制御に必要なデータ（以下、通常制御用データと称す）が記憶されている通常制御用データ記憶領域５３ｂとに区分されている。ＲＡＭ５４は、ＣＰＵ５５が各種演算処理を行う際に、データの一時保存先に用いられるワーキングメモリである。
【００２５】
ＣＰＵ５５は、ＲＯＭ５３に記憶されている始動制御用データ及び通常制御用データ、波形整形回路５０から出力されるタイミング信号、回転数カウンタ５１から出力される回転数信号（つまりエンジン回転数）、Ａ／Ｄ変換器５２で変換された吸気圧値、吸気温度値、スロットル開度値及び冷却水温値に基づいてエンジン１を制御する。
【００２６】
詳細は後述するが、このＣＰＵ５３は、起動後に少なくともＲＯＭ５３における始動制御用データ記憶領域５３ａをチェック（ＳＵＭチェック）するための始動領域チェック処理を含むイニシャル処理と、該イニシャル処理の終了後に、始動制御用データに基づいてエンジン１の始動制御を行うための始動制御処理と、該始動制御処理がなされていないタイミングでＲＯＭ５３における通常制御用データ記憶領域５３ｂをチェック（ＳＵＭチェック）するための通常領域チェック処理と、始動制御処理及び通常領域チェック処理の終了後に、通常制御用データに基づいてエンジン１の通常制御を行うための通常制御処理とを実行する。なお、イニシャル処理の優先順位が最も高く、次いで始動制御処理及び通常制御処理の優先順位が高く、通常領域チェック処理の優先順位が最も低く設定されている。
【００２７】
ここで、「始動制御」とは、タイミング信号に基づいて予め決められたタイミングで初回燃料噴射（斉時噴射）及び初回通電・点火を行ってエンジン１を完爆状態に移行させるための制御を指す。また、「通常制御」とは、エンジン回転数、吸気圧値、吸気温度値、スロットル開度値及び冷却水温値などの各種エンジン情報に基づいて、燃料噴射量や燃料噴射タイミング、点火タイミングを演算処理によって求め、これらの演算結果を基にエンジン１を制御することを指す。
【００２８】
点火回路５６は、ＶＩＧ電圧、つまり電源供給部２から供給される電源電圧を蓄積するコンデンサ（図示せず）を備え、上記ＣＰＵ５５による制御の下、コンデンサに蓄積された電荷を点火用電圧信号として点火コイル１７の１次巻線に放電する。インジェクタ駆動回路５７は、上記ＣＰＵ５５による制御の下、インジェクタ２２から所定量の燃料を噴射させるためのインジェクタ駆動信号を生成し、当該インジェクタ駆動信号をインジェクタ２２に出力する。ポンプ駆動回路５８は、上記ＣＰＵ５５による制御の下、燃料ポンプ４１からインジェクタ２２に燃料を供給するためのポンプ駆動信号を生成し、当該ポンプ駆動信号を燃料ポンプ４１に出力する。
【００２９】
次に、上記のように構成された本実施形態のＥＣＵ４を備えるエンジン制御システムにおいて、エンジン１の始動時におけるＥＣＵ４（特にＣＰＵ５５）の動作について図４及び図５を参照して説明する。図４は、クランク角度センサ２７から出力されるクランク角信号と、波形整形回路５０から出力されるタイミング信号と、ＣＰＵ５５によって実行される各種処理との時間的な対応関係を示すタイミングチャートである。図５は、ＣＰＵ５５の起動後の動作を示すフローチャートである。
【００３０】
本実施形態では、バッテリレスのエンジン制御システムを想定しているため、クランクシャフト１３が回転して発電機３０から３相交流電圧が発生しなければ、ＥＣＵ４に電源電圧を供給することができない。従って、ユーザはエンジン１の始動時において所定の始動操作（本実施形態ではキックペダルのキック）を行い、クランクシャフト１３を回転させる必要がある。本実施形態では、図４に示すように、時刻ｔ１に始動操作が実施され、時刻ｔ２に電源供給部２からＥＣＵ４に供給される電源電圧が、ＥＣＵ４の起動に必要な電圧値に到達したものとする。つまり、時刻ｔ２にＥＣＵ４は起動し、ＣＰＵ５５は図５のフローチャートに示す動作を開始する。なお、始動操作実施後から電源電圧の上昇に伴ってクランク角信号は発生するが、ＥＣＵ４が起動しなければ波形整形回路５０は動作しないため、時刻ｔ１〜ｔ２の期間ではタイミング信号は発生しない。
【００３１】
図５に示すように、ＣＰＵ５５は、時刻ｔ２に起動すると、割込み入力を禁止する（ステップＳ１）。すなわち、ＥＣＵ４の起動後、ＣＰＵ５５にはタイミング信号が割込み信号として入力されるが、ＣＰＵ５５はこのタイミング信号の割込み入力を無視する。そして、ＣＰＵ５５は、起動後のイニシャル処理として、汎用レジスタのリード・ライト（Ｒ／Ｗ）チェック（ステップＳ２）、ＲＡＭ５４のＲ／Ｗチェック及びライトデータのクリア（ステップＳ３）、入出力ポートの設定などＣＰＵ５５の機能に関わる初期設定であるＳＦＲ初期設定（ステップＳ４）、ＲＯＭ５３における始動制御用データ記憶領域５３ａのＳＵＭチェック（ステップＳ５：始動領域チェック処理）、アプリケーションの初期化処理（ステップＳ６）を順次実行する。
【００３２】
ここで、本実施形態におけるＣＰＵ５５は、ＲＯＭ５３における始動制御用データ記憶領域５３ａのＳＵＭチェックを行う際に、始動制御用データ記憶領域５３ａから１度に読出可能な最大量のデータを読み出す読出処理と、該読出処理にて読み出したデータを１バイト単位に分割して加算する加算処理とを繰り返すことにより、始動制御用データ記憶領域５３ａのチェックＳＵＭを算出する。図６は、例えば３２ビットのＣＰＵ５５を想定し、始動制御用データ記憶領域５３ａから１度に４バイトずつデータを読み出した場合のチェックＳＵＭの算出手法を示している。
【００３３】
この図６に示すように、ＣＰＵ５５は、始動制御用データ記憶領域５３ａから１度に４バイトのデータを読み出し（ロード）、その内、下位の「０」番目の１バイトデータをチェックＳＵＭに加算し、続いて、１バイト右にシフトして「１」番目の１バイトデータをチェックＳＵＭに加算する。これを上位の「３」番目の１バイトデータまで繰り返した後、再度、始動制御用データ記憶領域５３ａから次の４バイト分のデータを読み出し、上記と同様にチェックＳＵＭに順次加算していく。ＣＰＵ５５は、以上のようにして最終的に得られるチェックＳＵＭの値と所定の基準値とを比較することにより、ＲＯＭ５３の始動制御用データ記憶領域５３ａに記憶されている始動制御用データに異常がないか否かを判断する。
【００３４】
図５に戻って説明を続けると、ＣＰＵ５５は、上述したイニシャル処理が時刻ｔ３（図４参照）に終了した場合、割込み入力を許可する（ステップＳ７）。すなわち、ＣＰＵ５５は、時刻ｔ３以降、タイミング信号の割込み入力を監視し、予め決められたタイミングで初回燃料噴射（斉時噴射）及び初回通電・点火を行ってエンジン１を完爆状態に移行させるための始動制御処理を開始する（ステップＳ８）。
【００３５】
具体的には、ＣＰＵ５５は、イニシャル処理終了後、最初のタイミング信号の立ち下がりエッジに同期して斉時噴射を行うように、インジェクタ駆動回路５７及びポンプ駆動回路５８を制御する。しかしながら、例えば、図４に示すように、最初のタイミング信号の立ち下がりエッジが発生する時刻をｔ４とし、イニシャル処理終了時刻ｔ３からｔ４まで始動制御処理を実施しない期間が存在すると、ＣＰＵ５５は、このｔ３からｔ４までの期間を優先順位の最も低い通常領域チェック処理の実行タイミングと判断し、このｔ３からｔ４までの期間、つまり最初のタイミング信号の立ち下がりエッジが発生するまでの期間において、ＲＯＭ５３における通常制御用データ記憶領域５３ｂのＳＵＭチェックを行う（ステップＳ９：通常領域チェック処理）。
【００３６】
このステップＳ９において、ＣＰＵ５５は、ステップＳ５の始動領域チェック処理と同様に、通常制御用データ記憶領域５３ｂから１度に読出可能な最大量のデータを読み出す読出処理と、該読出処理にて読み出したデータを１バイト単位に分割して加算する加算処理とを繰り返すことにより、通常制御用データ記憶領域５３ｂのチェックＳＵＭを算出する。なお、図４に示すように、ｔ３からｔ４までの期間において、通常領域チェック処理は完全に終了しないものとする。
【００３７】
このように、通常領域チェック処理が完全に終了しないまま、時刻ｔ４に最初のタイミング信号の立ち下がりエッジが発生すると、ＣＰＵ５５は、優先順位の高い始動制御処理として斉時噴射を行うように、インジェクタ駆動回路５７及びポンプ駆動回路５８を制御する。そして、ＣＰＵ５５は、時刻ｔ５に斉時噴射が終了すると、再び優先順位の低い通常領域チェック処理の実行タイミングと判断して、引き続きＲＯＭ５３における通常制御用データ記憶領域５３ｂのＳＵＭチェックを行う。
【００３８】
そして、時刻ｔ６において、圧縮上死点ＴＤＣの前１０°の位置であるクランク角基準位置ＢＴＤＣに対応するタイミング信号の立ち下がりエッジが発生すると、ＣＰＵ５５は、このタイミング信号の立ち下がりエッジに同期して、優先順位の高い始動制御処理として初回通電・点火を行うように点火回路５６を制御する。なお、この時点で通常制御用データ記憶領域５３ｂのＳＵＭチェックが終了していなければ、初回通電・点火の後、引き続きＲＯＭ５３における通常制御用データ記憶領域５３ｂのＳＵＭチェックが行われる。
【００３９】
上記のような始動制御処理が終了してエンジン１が完爆状態となり、且つ通常制御用データ記憶領域５３ｂのＳＵＭチェックも終了した時刻をｔ７とすると、ＣＰＵ５５は、この時刻ｔ７以降、エンジン回転数、吸気圧値、吸気温度値、スロットル開度値及び冷却水温値などの各種エンジン情報に基づいて、燃料噴射量や燃料噴射タイミング、点火タイミングを演算処理によって求め、これらの演算結果を基にエンジン１を制御する（ステップＳ１０：通常制御処理）。
【００４０】
以上、始動操作実施以降におけるＥＣＵ４（ＣＰＵ５５）の動作について説明したが、図４に示すように、始動制御における斉時噴射及び通電・点火は、クランクシャフト１３が７２０°回転（つまり２回転）する間に実行される。これは、クランクシャフト１３が２回転する間に、点火タイミングである圧縮上死点は１回だけ到来するためである。
【００４１】
本実施形態のように、キックペダル等を用いた手動クランキングにより始動させるエンジンであって、大排気量もしくは高圧縮比エンジンの場合、１回の始動操作でクランク３回転程度しかクランキングできない場合が多い。従って、１回の始動操作でイニシャル処理及び始動制御処理を終了（エンジン完爆状態への移行）するためには、クランク１回転の間にイニシャル処理を終了して、残りのクランク２回転の間に始動制御処理を終了することが望まれる。さらに、バッテリレスシステムの場合、図７に示すように、ＥＣＵ起動から圧縮上死点までの期間にエンジンが完爆状態に移行せず、エンジン回転数が低下すると、それに伴って電源電圧も低下してＥＣＵが動作停止に陥ってしまうため、早期にイニシャル処理及び始動制御処理を終了して通常制御処理に移行する必要がある。
【００４２】
しかしながら、従来技術のように、ＲＯＭ内部の全記憶領域に対するＳＵＭチェックを終えてから、エンジンの始動制御及び通常制御を行う手法では、イニシャル処理にかかる時間が長くなってしまい、残りのクランキングでは点火タイミングである圧縮上死点が到来せず、始動操作を何回も実施しなければならなくなる（始動性の悪化）。
【００４３】
この点、本実施形態によれば、起動後のイニシャル処理において、ＲＯＭ５３における始動制御用データ記憶領域５３ａのＳＵＭチェックのみを行うことにより、イニシャル処理時間を短縮することができる。すなわち、始動操作が実施されてＥＣＵ４が起動した後、早期（少なくともクランク１回転以内）にイニシャル処理が終了して始動制御処理に移行し、残りのクランキング期間（クランク２回転）の多くを始動制御処理用に割り当てられるため、１回の始動操作でエンジン１を完爆状態にして通常制御に移行させることができ、始動性の悪化を防止することが可能となる。
【００４４】
また、本実施形態によれば、始動制御を行う前に、始動制御に必要なデータが記憶されている始動制御用データ記憶領域５３ａのＳＵＭチェックを行い、また、通常制御を行う前に、通常制御に必要なデータが記憶されている通常制御用データ記憶領域５３ｂのＳＵＭチェックを行うため、信頼性の低下を防止することが可能となる。さらに、本実施形態では、ＲＯＭ５３のＳＵＭチェックを行う場合に、ＲＯＭ５３から１度に読出可能な最大量のデータ（本実施形態では４バイト）を読み出す読出処理と、該読出処理にて読み出したデータを１バイト単位に分割して加算する加算処理とを繰り返すことにより、チェックＳＵＭを算出するために必要な処理のループ回数を減らすことができるため、始動制御用データ記憶領域５３ａのＳＵＭチェック時間、つまりイニシャル処理時間をより短縮することができ、始動性の向上に寄与する。
【００４５】
なお、上記実施形態では、ＲＯＭ５３のＳＵＭチェックを行う際に、３２ビットのＣＰＵ５５を想定して、ＲＯＭ５３から１度に読出可能な最大量のデータを４バイトとしたが、このＲＯＭ５３から１度に読出すデータ量はＣＰＵ５５の性能に応じて適宜変更しても良い。例えば、６４ビットのＣＰＵ５５を使用する場合は８バイトずつデータを読み出し、１６ビットのＣＰＵ５５を使用する場合は２バイトずつデータを読み出せば良い。また、必ずしも数バイトずつデータを読み出す必要はなく、従来のように１バイトずつデータを読み出すようにしても良い。
【００４６】
また、上記実施形態では、バッテリレスシステムを例示して説明したが、バッテリを備えるエンジン制御システムであっても、バッテリの残電圧がスタータを動作不能なレベルまで低下した場合に、手動（キックペダル等）により始動操作を行うことが可能なシステムであれば、同様な問題点が生じるため本発明を適用することができる。
【図面の簡単な説明】
【００４７】
【図１】本発明の一実施形態に係るエンジン制御装置（ＥＣＵ４）を備えたエンジン制御システムの構成概略図である。
【図２】本発明の一実施形態に係る発電機３０を構成するロータ３０ａの詳細説明図である。
【図３】本発明の一実施形態に係るエンジン制御装置（ＥＣＵ４）の構成ブロック図である。
【図４】本発明の一実施形態に係るエンジン制御装置（ＥＣＵ４）の動作を表すタイミングチャートである。
【図５】本発明の一実施形態に係るエンジン制御装置（ＥＣＵ４）の動作を表すフローチャートである。
【図６】本発明の一実施形態に係るエンジン制御装置（ＥＣＵ４）によるＲＯＭ  ＳＵＭチェックの手法を表す説明図である。
【図７】バッテリレスのエンジン制御システムの問題点を示す補足説明図である。
【符号の説明】
【００４８】
１…エンジン、２…電源供給部、３…燃料供給部、４…ＥＣＵ（Engine Control Unit）、１０…シリンダ、１１…ピストン、１２…コンロッド、１３…クランクシャフト、１４…吸気バルブ、１５…排気バルブ、１６…点火プラグ、１７…点火コイル、１８…吸気管、１９…排気管、２０…エアクリーナ、２１…スロットルバルブ、２２…インジェクタ、２３…吸気圧センサ、２４…吸気温センサ、２５…スロットル開度センサ、２６…冷却水温センサ、２７…クランク角度センサ、３０…発電機、３２…レギュレートレクチファイヤ、３３…コンデンサ、４０…燃料タンク、４１…燃料ポンプ、５０…波形整形回路、５１…回転数カウンタ、５２…Ａ／Ｄ変換器、５３…ＲＯＭ(Read Only Memory)、５４…ＲＡＭ(Random Access Memory)、５５…ＣＰＵ（Central Processing Unit）、５６…点火回路、５７…インジェクタ駆動回路、５８…ポンプ駆動回路
【図１】
2010019232.tif 000003
【図２】
2010019232.tif 000004
【図３】
2010019232.tif 000005
【図４】
2010019232.tif 000006
【図５】
2010019232.tif 000007
【図６】
2010019232.tif 000008
【図７】
2010019232.tif 000009