高圧ポンプから吐出される高圧の燃料を燃料噴射弁に供給する高圧燃料通路と、前記高圧燃料通路内の燃圧が所定のリリーフ圧よりも高くなったときに開弁して前記高圧燃料通路内の燃圧を低下させるリリーフ弁とを備えた内燃機関の高圧燃料供給装置において、前記高圧ポンプの機能異常により前記リリーフ弁の開弁と閉弁が繰り返される状態のときに、前記燃料噴射弁の噴射時期を通常時とは異なるタイミングに設定するポンプ異常時噴射時期設定手段を備えていることを特徴とする内燃機関の高圧燃料供給装置。前記ポンプ異常時噴射時期設定手段は、前記燃料噴射弁の噴射時期を前記高圧燃料通路内の燃圧が所定の噴射許容範囲内になるタイミングに設定することを特徴とする請求項1に記載の内燃機関の高圧燃料供給装置。前記高圧ポンプは、内燃機関のカム軸で駆動され、内燃機関のクランク軸に対するカム軸の回転位相以下カム軸位相というを変化させることでバルブタイミングを変化させる可変バルブタイミング機構を備え、前記ポンプ異常時噴射時期設定手段は、内燃機関の回転速度と前記カム軸位相に基づいて前記高圧燃料通路内の燃圧が前記噴射許容範囲内になるタイミングを予測し、その予測結果に基づいて前記燃料噴射弁の噴射時期を設定することを特徴とする請求項2に記載の内燃機関の高圧燃料供給装置。前記高圧燃料通路内の燃圧を検出する燃圧検出手段を備え、前記ポンプ異常時噴射時期設定手段は、前記燃圧検出手段の燃圧検出信号に基づいて前記高圧燃料通路内の燃圧が前記噴射許容範囲内になるタイミングを学習し、その学習結果に基づいて前記燃料噴射弁の噴射時期を設定することを特徴とする請求項2に記載の内燃機関の高圧燃料供給装置。前記高圧ポンプは、内燃機関のカム軸で駆動され、内燃機関のクランク軸に対するカム軸の回転位相以下カム軸位相というを変化させることでバルブタイミングを変化させる可変バルブタイミング機構と、前記高圧燃料通路内の燃圧を検出する燃圧検出手段とを備え、前記ポンプ異常時噴射時期設定手段は、内燃機関の回転速度と前記カム軸位相に基づいて前記高圧燃料通路内の燃圧が前記噴射許容範囲内になるタイミングを予測すると共に、前記燃圧検出手段の燃圧検出信号に基づいて前記高圧燃料通路内の燃圧が前記噴射許容範囲内になるタイミングを学習し、その予測結果と学習結果に基づいて前記燃料噴射弁の噴射時期を設定することを特徴とする請求項2に記載の内燃機関の高圧燃料供給装置。ところで、本出願人は、高圧ポンプから吐出される高圧の燃料を燃料噴射弁に供給する高圧燃料通路と、この高圧燃料通路内の燃料をポンプ室へ戻す燃料戻し通路を設ける共に、この燃料戻し通路の途中にリリーフ弁を設け、高圧燃料通路内の燃圧が所定のリリーフ圧よりも高くなったときに、リリーフ弁が開弁して高圧燃料通路内の燃圧を低下させるシステムを研究開発しているが、次のような新たな課題が判明した。高圧ポンプの機能異常により高圧ポンプのフル吐出状態最大吐出量で燃料を吐出する状態が継続した状態になると、リリーフ弁の開弁と閉弁が交互に繰り返されて、高圧燃料通路内の燃圧がリリーフ圧付近で上下に変動する脈動状態となる。このような場合、燃料噴射弁の噴射時期を通常時と同じタイミング例えばエンジン運転状態等に応じて設定したタイミングにしたままだと、燃圧の脈動によって燃料噴射弁の噴射時期における燃圧が過度に高圧例えば燃料噴射弁や燃圧センサの正常動作範囲を越えるような燃圧になる可能性があり、内燃機関の運転に必要な燃料を噴射できない可能性がある。そこで、本発明が解決しようとする課題は、高圧ポンプの機能異常によりリリーフ弁の開弁と閉弁が繰り返される状態になった場合でも、内燃機関の運転に必要な燃料を確実に噴射することができる内燃機関の高圧燃料供給装置を提供することにある。上記課題を解決するために、請求項1に係る発明は、高圧ポンプから吐出される高圧の燃料を燃料噴射弁に供給する高圧燃料通路と、この高圧燃料通路内の燃圧が所定のリリーフ圧よりも高くなったときに開弁して高圧燃料通路内の燃圧を低下させるリリーフ弁とを備えた内燃機関の高圧燃料供給装置において、高圧ポンプの機能異常によりリリーフ弁の開弁と閉弁が繰り返される状態のときに、燃料噴射弁の噴射時期を通常時とは異なるタイミングに設定するポンプ異常時噴射時期設定手段を備えた構成としたものである。この構成では、高圧ポンプの機能異常によりリリーフ弁の開弁と閉弁が繰り返される状態のときつまり高圧燃料通路内の燃圧がリリーフ圧付近で上下に変動する脈動状態になっているときに、燃料噴射弁の噴射時期を通常時とは異なるタイミングに設定することで、燃料噴射弁の噴射時期における燃圧が過度に高圧例えば燃料噴射弁や燃圧センサの正常動作範囲を越えるような燃圧になることを回避することができ、内燃機関の運転に必要な燃料を確実に噴射することができる。この場合、請求項2のように、燃料噴射弁の噴射時期を高圧燃料通路内の燃圧が所定の噴射許容範囲内になるタイミング例えば高圧燃料通路内の燃圧がボトム値となるタイミングに設定するようにすると良い。このようにすれば、燃料噴射弁の噴射時期における燃圧を噴射許容範囲内にすることができる。具体的には、請求項3のように、高圧ポンプが内燃機関のカム軸で駆動され、内燃機関のクランク軸に対するカム軸の回転位相以下カム軸位相というを変化させることでバルブタイミングを変化させる可変バルブタイミング機構を備えている場合、内燃機関の回転速度とカム軸位相に基づいて高圧燃料通路内の燃圧が噴射許容範囲内になるタイミングを予測し、その予測結果に基づいて燃料噴射弁の噴射時期を設定するようにすると良い。内燃機関のカム軸で高圧ポンプを駆動する燃料供給システムでは、内燃機関の回転速度やカム軸位相によって高圧燃料通路内の燃圧脈動の位相が変化するため、内燃機関の回転速度とカム軸位相を用いれば、高圧燃料通路内の燃圧が噴射許容範囲内になるタイミングを予測することができ、その予測結果に基づいて燃料噴射弁の噴射時期を設定することで、燃料噴射弁の噴射時期を高圧燃料通路内の燃圧が噴射許容範囲内になるタイミングに設定することができる。また、高圧燃料通路内の燃圧脈動の位相は、燃料供給システム例えば高圧ポンプを駆動するカムやリリーフ弁等の個体差製造ばらつきや経時変化によっても変化する。そこで、請求項4のように、高圧燃料通路内の燃圧を検出する燃圧検出手段を備え、燃圧検出手段の燃圧検出信号に基づいて高圧燃料通路内の燃圧が噴射許容範囲内になるタイミングを学習し、その学習結果に基づいて燃料噴射弁の噴射時期を設定するようにしても良い。このようにすれば、燃料供給システムの個体差や経時変化によって高圧燃料通路内の燃圧脈動の位相が変化しても、燃圧検出手段で実際に検出した燃圧の挙動に基づいて高圧燃料通路内の燃圧が噴射許容範囲内になるタイミングを学習することができ、その学習結果に基づいて燃料噴射弁の噴射時期を設定することで、燃料噴射弁の噴射時期を高圧燃料通路内の燃圧が噴射許容範囲内になるタイミングに設定することができる。更に、請求項5のように、内燃機関の回転速度とカム軸位相に基づいて高圧燃料通路内の燃圧が噴射許容範囲内になるタイミングを予測すると共に、燃圧検出手段の燃圧検出信号に基づいて高圧燃料通路内の燃圧が噴射許容範囲内になるタイミングを学習し、その予測結果と学習結果に基づいて燃料噴射弁の噴射時期を設定するようにしても良い。このようにすれば、内燃機関の運転状態内燃機関の回転速度やカム軸位相及び燃料供給システムの個体差や経時変化に左右されずに、燃料噴射弁の噴射時期を高圧燃料通路内の燃圧が噴射許容範囲内になるタイミングに精度良く設定することができる。以下、本発明を実施するための形態を具体化した一実施例を説明する。まず、図1に基づいて筒内噴射式のエンジン内燃機関の高圧燃料供給装置全体の概略構成を説明する。燃料を貯溜する燃料タンク11内には、燃料を汲み上げる低圧ポンプ12が設置されている。この低圧ポンプ12は、バッテリ図示せずを電源とする電動モータ図示せずによって駆動される。この低圧ポンプ12から吐出される燃料は、燃料配管13を通して高圧ポンプ14に供給される。燃料配管13には、プレッシャレギュレータ28が接続され、このプレッシャレギュレータ28によって低圧ポンプ12の吐出圧高圧ポンプ14への燃料供給圧力が所定圧力に調圧され、その圧力を越える燃料の余剰分が燃料戻し管29により燃料タンク11内に戻されるようになっている。高圧ポンプ14は、円筒状のポンプ室15内でピストン16プランジャーを往復運動させて燃料を吸入/吐出するピストンポンプであり、ピストン16は、エンジン例えば4気筒エンジンのカム軸17に嵌着されたカム18例えば4つのカム山を有する4山カムの回転運動によって駆動される。この高圧ポンプ14の吸入口側には、燃圧制御弁19が設けられている。この燃圧制御弁19は、常開型の電磁弁であり、高圧ポンプ14の吸入行程ピストン16の下降時においては、燃圧制御弁19の弁体19aが開弁されてポンプ室15内に燃料が吸入され、高圧ポンプ14の吐出行程ピストン16の上昇時においては、燃圧制御弁19の弁体19aが閉弁する期間閉弁開始時期からピストン16の上死点までの閉弁状態のクランク角区間を制御することで、高圧ポンプ14の燃料吐出流量を制御して燃圧吐出圧力を制御する。例えば、燃圧を上昇させるときには、燃圧制御弁19の閉弁開始時期通電開始時期を進角させることで、燃圧制御弁19の閉弁期間を長くして高圧ポンプ14の吐出流量を増加させ、逆に、燃圧を低下させるときには、燃圧制御弁19の閉弁開始時期通電開始時期を遅角させることで、燃圧制御弁19の閉弁期間を短くして高圧ポンプ14の吐出流量を減少させる。この高圧ポンプ14の吐出口側には、吐出した燃料の逆流を防止する逆止弁20が設けられている。高圧ポンプ14から吐出される燃料は、高圧燃料配管21高圧燃料通路を通してデリバリパイプ22高圧燃料通路に圧送され、このデリバリパイプ22からエンジンの各気筒に取り付けられた筒内噴射用の燃料噴射弁23に高圧の燃料が分配される。デリバリパイプ22又は高圧燃料配管21には、高圧燃料配管21やデリバリパイプ22等の高圧燃料通路内の燃圧を検出する燃圧センサ24燃圧検出手段が設けられている。更に、高圧ポンプ14には、高圧燃料配管21やデリバリパイプ22等の高圧燃料通路内の燃料をポンプ室15へ戻す燃料戻し通路25が設けられ、この燃料戻し通路25の途中に、リリーフ弁26が設けられている。このリリーフ弁26は、スプリング27によって閉弁方向に付勢され、高圧燃料通路内の燃圧が所定のリリーフ圧よりも高くなったときに開弁して高圧燃料通路内の燃圧をリリーフ圧以下に低下させる。また、エンジンには、クランク軸図示せずに対するカム軸17の回転位相以下カム軸位相というを変化させることで、カム軸17によって開閉駆動される吸気バルブ又は排気バルブいずれも図示せずのバルブタイミング開閉タイミングを変化させる可変バルブタイミング機構30が設けられている。更に、エンジンには、吸入空気量を検出するエアフローメータ31や、クランク軸図示せずの回転に同期して所定クランク角毎にパルス信号を出力するクランク角センサ32が設けられていると共に、カム軸17の回転に同期してカム角信号を出力するカム角センサ33が設けられている。クランク角センサ32の出力信号に基づいてクランク角やエンジン回転速度が検出され、クランク角センサ32とカム角センサ33の出力信号に基づいてカム軸位相が検出される。これら各種センサの出力は、電子制御ユニット以下ECUと表記する34に入力される。このECU34は、マイクロコンピュータを主体として構成され、内蔵されたROM記憶媒体に記憶された各種のエンジン制御用のプログラムを実行することで、エンジン運転状態に応じて、燃料噴射量、点火時期、スロットル開度吸入空気量等を制御する。その際、ECU34は、図示しない燃圧制御ルーチンを実行することで、エンジン運転状態例えば、エンジン回転速度、エンジン負荷等に応じて目標燃圧をマップ又は数式等により算出し、燃圧センサ24で検出した高圧燃料通路内の実燃圧を目標燃圧に一致させるように高圧ポンプ14の燃料吐出流量燃圧制御弁19の通電時期をフィードバック制御する燃圧フィードバック制御を実行する。ところで、高圧ポンプ14の機能異常により高圧ポンプ14のフル吐出状態最大吐出量で燃料を吐出する状態が継続した状態になると、リリーフ弁26の開弁と閉弁が交互に繰り返されて、高圧燃料通路内の燃圧がリリーフ圧付近で上下に変動する脈動状態図2参照となる。このような場合、燃料噴射弁23の噴射時期を通常時と同じタイミング例えばエンジン運転状態等に応じて設定したタイミングにしたままだと、燃圧の脈動によって燃料噴射弁23の噴射時期における燃圧が過度に高圧例えば燃料噴射弁23や燃圧センサ24の正常動作範囲を越えるような燃圧になる可能性があり、エンジンの運転に必要な燃料を噴射できない可能性がある。この対策として、ECU34は、後述する図4のポンプ異常時噴射時期設定ルーチンを実行することで、高圧ポンプ14の機能異常によりリリーフ弁26の開弁と閉弁が繰り返される状態のときつまり高圧燃料通路内の燃圧がリリーフ圧付近で上下に変動する脈動状態になっているときに、燃料噴射弁23の噴射時期を通常時とは異なるタイミングに設定する。本実施例では、ポンプ異常時高圧ポンプ14の機能異常によりリリーフ弁26の開弁と閉弁が繰り返される状態のときに、燃料噴射弁23の噴射時期を高圧燃料通路内の燃圧が所定の噴射許容範囲内になるタイミング例えば高圧燃料通路内の燃圧がボトム値となるタイミングに設定する。図2及び図3を用いて、ポンプ異常時の噴射時期の設定方法を説明する。図2に示すように、ECU34は、第i気筒i例えばi=1~4の噴射セットタイミングになる毎に、第i気筒iの燃料噴射弁23の噴射時期が燃圧ボトム位置高圧燃料通路内の燃圧がボトム値となるタイミングになるように第i気筒iの燃料噴射弁23の噴射時期を算出する。ここで、第i気筒iの噴射セットタイミングは、例えば、第i気筒iの噴射実施行程吸気行程又は圧縮行程よりも進角側のTDC上死点に設定されている。具体的には、図3に示すように、燃圧ボトム位置予測部35で、エンジン回転速度とカム軸位相バルブタイミングに応じた燃圧ボトム位置をマップにより算出することで、第i気筒iの今回の噴射実施行程における燃圧ボトム位置を予測する。ここで、燃圧ボトム位置のマップは、予め試験データや設計データ等に基づいて作成され、ECU34のROMに記憶されている。エンジンのカム軸17カム18で高圧ポンプ14を駆動する燃料供給システムでは、エンジン回転速度やカム軸位相によって高圧燃料通路内の燃圧脈動の位相が変化するため、エンジン回転速度とカム軸位相を用いれば、燃圧ボトム位置を予測することができる。また、高圧燃料通路内の燃圧脈動の位相は、燃料供給システム例えば高圧ポンプ14を駆動するカム18やリリーフ弁26等の個体差製造ばらつきや経時変化によっても変化する。そこで、燃圧ボトム位置学習部36で、第i気筒iの前回の噴射実施行程における燃圧センサ24の燃圧検出信号図2参照に基づいて燃圧の所定時間当りの変化量ΔPrの絶対値が最小となるタイミングを燃圧ボトム位置として算出することで、第i気筒iの前回の噴射実施行程における燃圧ボトム位置を学習する。これにより、燃料供給システムの個体差や経時変化によって高圧燃料通路内の燃圧脈動の位相が変化しても、燃圧センサ24で実際に検出した燃圧の挙動に基づいて燃圧ボトム位置を学習することができる。この後、燃圧ボトム位置予測部35で予測した燃圧ボトム位置の予測値と、燃圧ボトム位置学習部36で学習した燃圧ボトム位置の学習値を偏差算出部37に入力して、この偏差算出部37で、燃圧ボトム位置の予測値と学習値との偏差を算出する。この偏差は、燃料供給システムの個体差や経時変化による燃圧ボトム位置のずれ分に相当する。この後、平均化処理部38で、燃圧ボトム位置の予測値と学習値との偏差を平均化処理なまし処理して学習項を求めた後、補正部39で、第i気筒iの今回の噴射実施行程における燃圧ボトム位置の予測値に学習項を加算することで、第i気筒iの今回の噴射実施行程における最終的な燃圧ボトム位置を求め、この最終的な燃圧ボトム位置を第i気筒iの燃料噴射弁23の噴射開始時期として設定する。以上説明したポンプ異常時の噴射時期の設定は、ECU34によって図4のルーチンに従って実行される。以下、このルーチンの処理内容を説明する。図4に示すポンプ異常時噴射時期設定ルーチンは、ECU34の電源オン期間中イグニッションスイッチのオン期間中に所定周期で繰り返し実行され、特許請求の範囲でいうポンプ異常時噴射時期設定手段としての役割を果たす。本ルーチンが起動されると、まず、ステップ101で、高圧ポンプ14がフル吐出状態リリーフ弁26の開弁と閉弁が繰り返される状態で且つフェールセーフ制御例えばエンジン回転速度制限制御やスロットル開度制限制御等の実行中であるか否かを判定する。ここで、高圧ポンプ14がフル吐出状態であるか否かは、例えば、燃圧センサ24で検出した燃圧が所定の閾値以上であるか否か、或は、燃圧センサ24で検出した燃圧のピーク値とボトム値との差が所定値以上であるか否か等によって判定する。このステップ101で、高圧ポンプ14がフル吐出状態で且つフェールセーフ制御の実行中であると判定された場合には、高圧燃料通路内の燃圧がリリーフ圧付近で上下に変動する脈動状態になっていると判断して、ポンプ異常時の噴射時期の設定を次のようにして実行する。まず、ステップ102で、各気筒1~4の燃料噴射弁23の噴射開始時期Isoi~Isoiをそれぞれ初期値例えばBTDC240CAにセットする。或は、各気筒1~4の燃料噴射弁23の噴射開始時期Isoi~Isoiをそれぞれ前回の燃圧ボトム位置の予測値にセットするようにしても良い。この後、ステップ103に進み、クランク角センサ32の出力信号パルス信号をカウントするクランクカウンタのカウント値に基づいて現在のクランク角位置Crnkposを特定した後、ステップ104に進み、現在のクランク角位置Crnkposが第1気筒1の噴射セットタイミングSetであるか否かを判定する。このステップ104で、現在のクランク角位置Crnkposが第1気筒1の噴射セットタイミングSetであると判定された場合には、前記図3で説明した方法で第1気筒1の燃料噴射弁23の噴射開始時期Isoiを設定する。まず、ステップ108で、エンジン回転速度とカム軸位相に基づいて第1気筒1の今回の噴射実施行程における燃圧ボトム位置を予測すると共に、第1気筒1の前回の噴射実施行程における燃圧センサ24の燃圧検出信号に基づいて第1気筒1の前回の噴射実施行程における燃圧ボトム位置を学習し、これらの燃圧ボトム位置の予測値と学習値とに基づいて第1気筒1の今回の噴射実施行程における最終的な燃圧ボトム位置を算出する。この後、ステップ109に進み、第1気筒1の今回の噴射実施行程における最終的な燃圧ボトム位置Prminを、第1気筒1の燃料噴射弁23の噴射開始時期Isoiとして設定する。Isoi=Prmin一方、上記ステップ104で、現在のクランク角位置Crnkposが第1気筒1の噴射セットタイミングSetではないと判定された場合には、ステップ105に進み、現在のクランク角位置Crnkposが第2気筒2の噴射セットタイミングSetであるか否かを判定する。このステップ105で、現在のクランク角位置Crnkposが第2気筒2の噴射セットタイミングSetであると判定された場合には、前記図3で説明した方法で第2気筒2の燃料噴射弁23の噴射開始時期Isoiを設定する。まず、ステップ110で、エンジン回転速度とカム軸位相に基づいて第2気筒2の今回の噴射実施行程における燃圧ボトム位置を予測すると共に、第2気筒2の前回の噴射実施行程における燃圧センサ24の燃圧検出信号に基づいて第2気筒2の前回の噴射実施行程における燃圧ボトム位置を学習し、これらの燃圧ボトム位置の予測値と学習値とに基づいて第2気筒2の今回の噴射実施行程における最終的な燃圧ボトム位置を算出する。この後、ステップ111に進み、第2気筒2の今回の噴射実施行程における最終的な燃圧ボトム位置Prminを、第2気筒2の燃料噴射弁23の噴射開始時期Isoiとして設定する。Isoi=Prmin一方、上記ステップ105で、現在のクランク角位置Crnkposが第2気筒2の噴射セットタイミングSetではないと判定された場合には、ステップ106に進み、現在のクランク角位置Crnkposが第3気筒3の噴射セットタイミングSetであるか否かを判定する。このステップ106で、現在のクランク角位置Crnkposが第3気筒3の噴射セットタイミングSetであると判定された場合には、前記図3で説明した方法で第3気筒3の燃料噴射弁23の噴射開始時期Isoiを設定する。まず、ステップ112で、エンジン回転速度とカム軸位相に基づいて第3気筒3の今回の噴射実施行程における燃圧ボトム位置を予測すると共に、第3気筒3の前回の噴射実施行程における燃圧センサ24の燃圧検出信号に基づいて第3気筒3の前回の噴射実施行程における燃圧ボトム位置を学習し、これらの燃圧ボトム位置の予測値と学習値とに基づいて第3気筒3の今回の噴射実施行程における最終的な燃圧ボトム位置を算出する。この後、ステップ113に進み、第3気筒3の今回の噴射実施行程における最終的な燃圧ボトム位置Prminを、第3気筒3の燃料噴射弁23の噴射開始時期Isoiとして設定する。Isoi=Prmin一方、上記ステップ106で、現在のクランク角位置Crnkposが第3気筒3の噴射セットタイミングSetではないと判定された場合には、ステップ107に進み、現在のクランク角位置Crnkposが第4気筒4の噴射セットタイミングSetであるか否かを判定する。このステップ107で、現在のクランク角位置Crnkposが第4気筒4の噴射セットタイミングSetであると判定された場合には、前記図3で説明した方法で第4気筒4の燃料噴射弁23の噴射開始時期Isoiを設定する。まず、ステップ114で、エンジン回転速度とカム軸位相に基づいて第4気筒4の今回の噴射実施行程における燃圧ボトム位置を予測すると共に、第4気筒4の前回の噴射実施行程における燃圧センサ24の燃圧検出信号に基づいて第4気筒4の前回の噴射実施行程における燃圧ボトム位置を学習し、これらの燃圧ボトム位置の予測値と学習値とに基づいて第4気筒4の今回の噴射実施行程における最終的な燃圧ボトム位置を算出する。この後、ステップ115に進み、第4気筒4の今回の噴射実施行程における最終的な燃圧ボトム位置Prminを、第4気筒4の燃料噴射弁23の噴射開始時期Isoiとして設定する。Isoi=Prmin尚、上記ステップ104~107で全てNoと判定された場合には、現在のクランク角位置Crnkposがいずれの気筒の噴射セットタイミングでもないと判断して、そのまま本ルーチンを終了する。以上説明した本実施例では、高圧ポンプ14の機能異常によりリリーフ弁26の開弁と閉弁が繰り返される状態のときつまり高圧燃料通路内の燃圧がリリーフ圧付近で上下に変動する脈動状態になっているときに、燃料噴射弁23の噴射時期を高圧燃料通路内の燃圧が噴射許容範囲内になるタイミング例えば燃圧ボトム位置に設定するようにしたので、燃料噴射弁23の噴射時期における燃圧を噴射許容範囲内にすることができて、燃料噴射弁23の噴射時期における燃圧が過度に高圧例えば燃料噴射弁23や燃圧センサ24の正常動作範囲を越えるような燃圧になることを回避することができ、エンジンの運転に必要な燃料を確実に噴射することができる。また、本実施例では、第i気筒iの燃料噴射弁23の噴射時期を算出する場合に、エンジン回転速度とカム軸位相に基づいて第i気筒iの今回の噴射実施行程における燃圧ボトム位置を予測すると共に、第i気筒iの前回の噴射実施行程における燃圧センサ24の燃圧検出信号に基づいて第i気筒iの前回の噴射実施行程における燃圧ボトム位置を学習し、これらの燃圧ボトム位置の予測値と学習値とに基づいて第i気筒iの今回の噴射実施行程における最終的な燃圧ボトム位置を算出し、この最終的な燃圧ボトム位置を第i気筒iの燃料噴射弁23の噴射開始時期として設定するようにしたので、エンジン運転状態エンジン回転速度やカム軸位相及び燃料供給システムの個体差や経時変化に左右されずに、燃料噴射弁23の噴射時期を燃圧ボトム位置に精度良く設定することができる。尚、上記実施例では、高圧燃料通路内の燃圧が噴射許容範囲内になるタイミング例えば燃圧ボトム位置の予測結果と学習結果の両方に基づいて燃料噴射弁23の噴射時期を設定するようにしたが、これに限定されず、例えば、高圧燃料通路内の燃圧が噴射許容範囲内になるタイミングの予測結果のみに基づいて燃料噴射弁23の噴射時期を設定するようにしたり、或は、高圧燃料通路内の燃圧が噴射許容範囲内になるタイミングの学習結果のみに基づいて燃料噴射弁23の噴射時期を設定するようにしても良い。また、上記実施例では、高圧燃料通路内の燃圧が噴射許容範囲内になるタイミングとして、燃圧ボトム位置高圧燃料通路内の燃圧がボトム値となるタイミングを採用するようにしたが、これに限定されず、例えば、高圧燃料通路内の燃圧が所定値以下になるクランク角範囲内のタイミングや、燃圧ボトム位置を含む所定クランク角範囲内のタイミングを採用するようにしても良い。また、本発明の適用範囲は、4気筒エンジンの燃料供給システムに限定されず、3気筒以下のエンジンの燃料供給システムや5気筒以上のエンジンの燃料供給システムに本発明を適用しても良い。その他、本発明は、燃料供給システムの構成を適宜変更しても良い等、要旨を逸脱しない範囲内で種々変更して実施できる。