(57)【要約】      （修正有）【課題】警報音を発生するためにＲＡＭに記憶されるデータの書き換え処理が、当該データの読み出し開始タイミングまでに完了できない場合であっても、走行状態に応じて適切にデータを書き換えることが可能な車両接近警報装置を提供する。【解決手段】マイコンは、定期周期タイミングが到来すると、定期周期タイミングルーチンを実行する。この定期周期タイミングルーチンは、ＰＷＭ信号生成部からの最初のデータ要求に応じてＰＷＭデータを転送するタイミングまでに、すべてのＰＷＭデータの書き換えが完了できなかった場合に、発生中の警報音が一貫性を失わないように、未書き換えのＰＷＭデータの書き換えを実行するためのものである。従って、この定期周期タイミングルーチンにより、発生される警報音の一貫性を保ちながら、ＰＷＭデータを書き換えることができる。【選択図】図９
2015080967.tif 000002
【特許請求の範囲】
【請求項１】
車両の走行時に、当該車両の接近を知らせるための警報音をスピーカ（９）から発生する車両接近警報装置（３）であって、
前記警報音は、前記車両の走行状態に応じて、一周期毎に更新されるものであり、その一周期分の警報音は、複数のＰＷＭデータに基づいて発生され、
前記一周期分の警報音を発生するための並び順に従って、前記複数のＰＷＭデータを記憶するＲＡＭ（１１）と、
前記ＲＡＭに記憶された前記複数のＰＷＭデータを、その並び順の先頭から順番に読み出して、順次、後述のＰＷＭ信号生成部（１３）へ与えるダイレクトメモリアクセス部（１２）と、
前記ダイレクトメモリアクセス部によって順次与えられるＰＷＭデータの各々に対応するＰＷＭ信号を生成するＰＷＭ信号生成部（１３）と、
前記ＰＷＭ信号に応じた電流を生成して前記スピーカに通電することにより、前記車両の走行状態に応じて設定された前記一周期分の警報音を発生させる通電電流生成部（６）と、
前記ＲＡＭに記憶された全てのＰＷＭデータが読み出された後、前記ＲＡＭに記憶された前記複数のＰＷＭデータを書き換えることにより、前記警報音を更新する更新手段（１０）と、を備え、
前記更新手段は、
前記複数のＰＷＭデータの書き換え処理が、前記ダイレクトメモリアクセス部によって、前記一周期分の警報音を発生する複数のＰＷＭデータの先頭のＰＷＭデータの読み出しが行われる読み出しタイミングまでに完了するか否かを判定する判定手段（Ｓ１１０、Ｓ１４０）を有し、
前記判定手段により、前記複数のＰＷＭデータの書き換え処理が、前記読み出しタイミングまでに完了しないと判定された場合、前記ダイレクトメモリアクセス部により読み出される前記複数のＰＷＭデータに基づく前記警報音の発生期間中に、一定時間毎に、書き換え処理タイミングを定め、その書き換え処理タイミングにおいて、発生中の前記警報音が一貫性を失わないように、前記ＰＷＭデータの書き換え処理（Ｓ２１０、Ｓ２３０）を実行することを特徴とする車両接近警報装置。
【請求項２】
前記更新手段（１０）は、前記書き換え処理タイミングにおいて、前記ダイレクトメモリアクセス部によって既に読み出されたＰＷＭデータを対象として書き換え処理（Ｓ２１０）を実行することを特徴とする請求項１に記載の車両接近警報装置。
【請求項３】
前記更新手段（１０）は、前記判定手段により、前記複数のＰＷＭデータの書き換え処理が、前記読み出しタイミングまでに完了するか否かを判定したときの前記車両の走行状態に応じた警報音を発生するための複数のＰＷＭデータを用いて、前記書き換え処理タイミングにおいて、前回の書き換え処理タイミングにて書き換えが完了したＰＷＭデータの次のＰＷＭデータから、前記ダイレクトメモリアクセス部により読み出し対象となっているＰＷＭデータの直前のＰＷＭデータまでの範囲において、書き換え処理（Ｓ２１０）を実行することを特徴とする請求項２に記載の車両接近警報装置。
【請求項４】
前記ダイレクトメモリアクセス部によって、前記ＲＡＭに記憶された全てのＰＷＭデータが読み出された後、先頭のＰＷＭデータの読み出しが行われる読み出しタイミングまでに、前記複数のＰＷＭデータの書き換え処理が完了しないとの判定が連続してなされた場合、前記更新手段（１０）は、その判定時もしくは最初の前記書き換え処理タイミングにおいて、前記複数のＰＷＭデータの内、書き換えが行われなかった最後尾までのＰＷＭデータの書き換え処理（Ｓ１８０）を実行することを特徴とする請求項３に記載の車両接近警報装置。
【請求項５】
前記更新手段は、前記書き換え処理タイミングが到来するごとに、その時点の前記車両の走行状態に応じた警報音を発生するための複数のＰＷＭデータを用いて、前回までの書き換え処理タイミングにて書き換え処理が行われたＰＷＭデータを含め、書き換え対象のＰＷＭデータをすべて書き換える書き換え処理を実行することを特徴とする請求項２に記載の車両接近警報装置。
【請求項６】
前記判定手段（Ｓ１４０）は、少なくとも、最初の前記書き換え処理タイミングまでに前記ダイレクトメモリアクセス部によって読み出される分の一部のＰＷＭデータの書き換え処理が、読み出しタイミングまでに実行可能であるかも判定するものであり、
当該判定手段によって、前記一部のＰＷＭデータの書き換え処理が、前記読み出しタイミングまでに実行可能であると判定された場合、前記更新手段（１０）は、前記並び順の先頭から、少なくとも前記一部のＰＷＭデータの書き換え処理（Ｓ１５０）を行うとともに、前記書き換え処理タイミングにおいて、未書き換えのＰＷＭデータを対象として、前記ダイレクトメモリアクセス部による前記ＰＷＭデータの読み出しよりも先行するように、前記ＰＷＭデータの書き換え処理（Ｓ２３０）を行うことを特徴とする請求項１に記載の車両接近警報装置。
【請求項７】
前記更新手段は、前記未書き換えのＰＷＭデータの書き換えを、複数回の前記書き換え処理タイミングにおいて分散して実行することを特徴とする請求項６に記載の車両接近警報装置。
【請求項８】
前記ダイレクトメモリアクセス部は、前記ＲＡＭに記憶された全てのＰＷＭデータの読み出しが完了すると、読み出し完了通知を出力するものであり、
前記判定手段は、前記読み出し完了通知の受領時（Ｔｄｍａ）から前記ＰＷＭ信号の１周期分の時間（Ｔｆ）が経過した時点を前記読み出しタイミングとみなし、判定を行なう時点（Ｔｃｕｒ）から前記読み出しタイミングまでの時間差に基づいて、前記複数のＰＷＭデータの書き換え処理が、前記読み出しタイミングまでに完了するか否かを判定することを特徴とする請求項１乃至７のいずれか１項に記載の車両接近警報装置。
【請求項９】
前記判定手段は、前回の前記読み出しタイミング（前回Ｔｐｗｍ）から、前記複数のＰＷＭデータによるＰＷＭ信号の周期を積算した時間が経過した時点（今回Ｔｐｗｍ）を前記読み出しタイミングとみなし、判定を行なう時点（Ｔｃｕｒ）から前記読み出しタイミングまでの時間差に基づいて、前記複数のＰＷＭデータの書き換え処理が、前記読み出しタイミングまでに完了するか否かを判定することを特徴とする請求項１乃至７のいずれか１項に記載の車両接近警報装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両の走行時に、当該車両の接近を知らせるための警報音をスピーカから発生する車両接近警報装置に関する。
【背景技術】
【０００２】
近年、ハイブリッド車や電気自動車が広く普及するようになっている。これらハイブリッド車や電気自動車は、二酸化炭素や大気汚染物質の排出量が、従来のガソリンや軽油を燃料とする内燃機関を動力源とする車両（従来車両）に比較して少ないので、環境保護などの面で従来車両よりも優れているためである。
【０００３】
また、ハイブリッド車の中には、モータのみで車両を走行させるＥＶモードを備えるものがある。このようなＥＶモードを備えるハイブリッド車両及び電気自動車は、内燃機関の排気音などが発生する従来車両よりも走行時の騒音が小さいという特徴がある。これは、ハイブリッド車や電気自動車の乗員にとっては車室環境の快適性の向上につながり、メリットとなるが、その反面、歩行者などが、接近しているハイブリッド車や電気自動者に気付きにくいという問題を生じさせる。
【０００４】
そのため、ハイブリッド車や電気自動車の接近を歩行者などに気付かせるために、例えば、特許文献１に示されるような、擬似的な走行音などを発生させる車両接近警報装置が、ハイブリッド車両などに搭載されるようになっている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１７１４６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記特許文献１の装置では、マイクロコンピュータに汎用的に備えられているＲＡＭとダイレクトメモリアクセス部およびＰＷＭ生成機能部とによってＰＷＭ波形を自動的に出力する。つまり、ＰＷＭ波形出力に用いるデータがＲＡＭに保持されると共に、ダイレクトメモリアクセス部によってＰＷＭ生成機能部に対してＲＡＭに保持されたデータ（以下、ＲＡＭデータ）を定期的に自動書込みする。その結果、マイクロコンピュータにてＰＷＭ波形が自動的に出力される。そして、マイクロコンピュータから出力されるＰＷＭ波形によって駆動回路部を制御し、スピーカへの電流供給量を調整して、警報音（擬似的な走行音など）を発生させる。
【０００７】
上記のように、特許文献１の装置では、ダイレクトメモリアクセス部が、ＣＰＵの介在なしにＲＡＭデータを順次読み出して、ＰＷＭ生成機能部に書き込む。このような構成において、走行状態に応じた警報音を発生させるには、マイクロコンピュータにおいて、ＲＡＭデータを、走行状態に見合ったものとなるように、定期的に書き換える必要がある。このＲＡＭデータの書き換えは、例えば、ダイレクトメモリアクセス部が、すべてのＲＡＭデータの読み出しを完了した時点から、次に、最初からＲＡＭデータの読み出しを開始するタイミングまでの期間内に行うことが考えられる。その期間内にＲＡＭデータの書き換えが行われれば、警報音を途切れなく発生させつつ、走行状態の変化に対応するように警報音を変化させることが可能となるためである。
【０００８】
ここで、マイクロコンピュータが、車両接近警報装置としての用途のみに用いられる場合には、上述した期間内に、遅滞なくＲＡＭデータを書き換えることは可能である。しかし、コストの低減や、搭載スペースの関係から、車両接近警報装置として機能するマイクロコンピュータが、他の制御用途にも兼用される場合、例えば、より高い優先度の制御の実行により、ＲＡＭデータの書き換え処理の開始が遅れる可能性が生じる。そのような場合、上述した期間内にＲＡＭデータの書き換えを行うことができず、走行状態に見合わない警報音の出力を継続したり、あるいは、強制的にＲＡＭデータを書き換えた場合には、発生途中の警報音が変化してしまい、乗員などに違和感を生じさせたりするという問題が生じる。
【０００９】
本発明は、上述した点に鑑みてなされたものであり、警報音を発生するためにＲＡＭに記憶されるデータの書き換え処理が、当該データの読み出し開始タイミングまでに完了できない場合であっても、走行状態に応じて適切にデータを書き換えることが可能な車両接近警報装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明に係る車両接近警報装置（３）は、車両の走行時に、当該車両の接近を知らせるための警報音をスピーカ（９）から発生するものであって、
警報音は、車両の走行状態に応じて、一周期毎に更新されるものであり、その一周期分の警報音は、複数のＰＷＭデータに基づいて発生され、
一周期分の警報音を発生するための並び順に従って、複数のＰＷＭデータを記憶するＲＡＭ（１１）と、
ＲＡＭに記憶された複数のＰＷＭデータを、その並び順の先頭から順番に読み出して、順次、後述のＰＷＭ信号生成部（１３）へ与えるダイレクトメモリアクセス部（１２）と、
ダイレクトメモリアクセス部によって順次与えられるＰＷＭデータの各々に対応するＰＷＭ信号を生成するＰＷＭ信号生成部（１３）と、
ＰＷＭ信号に応じた電流を生成してスピーカに通電することにより、車両の走行状態に応じて設定された一周期分の警報音を発生させる通電電流生成部（６）と、
ＲＡＭに記憶された全てのＰＷＭデータが読み出された後、ＲＡＭに記憶された複数のＰＷＭデータを書き換えることにより、警報音を更新する更新手段（１０）と、を備え、
更新手段は、
複数のＰＷＭデータの書き換え処理が、ダイレクトメモリアクセス部によって、一周期分の警報音を発生する複数のＰＷＭデータの先頭のＰＷＭデータの読み出しが行われる読み出しタイミングまでに完了するか否かを判定する判定手段（Ｓ１１０、Ｓ１４０）を有し、
判定手段により、複数のＰＷＭデータの書き換え処理が、読み出しタイミングまでに完了しないと判定された場合、ダイレクトメモリアクセス部により読み出される複数のＰＷＭデータに基づく警報音の発生期間中に、一定時間毎に、書き換え処理タイミングを定め、その書き換え処理タイミングにおいて、発生中の警報音が一貫性を失わないように、ＰＷＭデータの書き換え処理（Ｓ２１０、Ｓ２３０）を実行することを特徴とする。
【００１１】
このように、本発明に係る車両接近警報装置では、複数のＰＷＭデータの書き換え処理がＰＷＭデータの読み出しタイミングまでに完了するか否かを判定する判定手段を備える。この判定手段により、複数のＰＷＭデータの書き換え処理が、ＰＷＭデータの読み出しタイミングまでに完了しないと判定された場合、更新手段は、ＲＡＭに記憶された複数のＰＷＭデータに基づく警報音の発生期間中に、一定時間毎に、書き換え処理タイミングを定める。そして、その書き換え処理タイミングにおいて、発生中の警報音が一貫性を失わないように、ＰＷＭデータの書き換え処理を実行する。従って、複数のＰＷＭデータの書き換え処理がＰＷＭデータの読み出しタイミングまでに間に合わない場合であっても、発生される警報音の一貫性を保ちながら、ＰＷＭデータを書き換えることができる。そのため、車両の走行状態に見合わない警報音の出力が継続されることを防止することができる。また、ＰＷＭデータの書き換えは、発生中の警報音が一貫性を失わないように実行されるので、乗員などに違和感を生じさせることもない。
【００１２】
発生中の警報音が一貫性を失わないように、ＰＷＭデータを書き換えるには、例えば、書き換え処理タイミングにおいて、ダイレクトメモリアクセス部によって既に読み出されたＰＷＭデータを対象として書き換え処理を実行すれば良い。すなわち、ダイレクトメモリアクセス部によるＰＷＭデータの読み出しを後追いするように、ＰＷＭデータを書き換えれば良い。このようにすると、ＰＷＭデータの書き換え処理を行いながら、一周期分の警報音を発生するためのＰＷＭデータについて、これから警報音の発生に用いられるＰＷＭデータを書き換えてしまうことがない。このため、乗員などが違和感を生じさせるような警報音の変化を防ぐことができる。
【００１３】
また、発生中の警報音が一貫性を失わないように、ＰＷＭデータを書き換えるには、例えば、以下に記載するようにしても良い。まず、少なくとも、最初の書き換え処理タイミングまでにダイレクトメモリアクセス部によって読み出される分のＰＷＭデータの書き換え処理が、読み出しタイミングまでに実行可能であるか判定する。実行可能であると判定された場合、並び順の先頭から、少なくとも最初の書き換え処理タイミングまでにダイレクトメモリアクセス部によって読み出される分のＰＷＭデータの書き換え処理を行う。そして、書き換え処理タイミングにおいては、未書き換えのＰＷＭデータを対象として、ダイレクトメモリアクセス部によるＰＷＭデータの読み出しよりも先行するように、ＰＷＭデータの書き換え処理を行う。これにより、ダイレクトメモリアクセス部によってＰＷＭデータが読み出されるときには、そのＰＷＭデータは書き換えられたものとなっている。そのため、乗員などが違和感を生じさせるような警報音の変化を防ぐことができる。
【００１４】
なお、上記括弧内の参照番号は、本発明の理解を容易にすべく、後述する実施形態における具体的な構成との対応関係の一例を示すものにすぎず、なんら本発明の範囲を制限することを意図したものではない。
【００１５】
また、上述した特徴以外の、特許請求の範囲の各請求項に記載した技術的特徴に関しては、後述する実施形態の説明及び添付図面から明らかになる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態に係る車両接近警報装置を含むシステム全体の構成を示した構成図である。
【図２】マイコンの内部構成を概略的に示したブロック図である。
【図３】ダイレクトメモリアクセス部によるＰＷＭデータの転送動作を説明するための説明図である。
【図４】警報音を発生するためにスピーカに通電される駆動電流波形の一例を示す波形図である。
【図５】ＣＰＵによるＰＷＭデータの書き換え処理が、他の処理によって遅延されることなく実施されたときの各部の動作を示すタイムチャートである。
【図６】遅延したタイミングで、ＰＷＭデータの書き換えが実行されてしまった場合に発生する問題を説明するための説明図である。
【図７】ＲＡＭへのＰＷＭデータの書き込み処理を示すフローチャートである。
【図８】定期周期タイミングについて説明するための説明図である。
【図９】定期周期タイミングが到来するごとに実行される定期周期タイミングルーチンを示すフローチャートである。
【図１０】書き込みモードが後追いモードであるときの、各部の動作を示すタイムチャートである。
【図１１】後追いモードにおいて、ＲＡＭのＰＷＭデータが書き換えられる様子を示した説明図である。
【図１２】後追いモードが継続したときの各部の動作を示すタイムチャートである。
【図１３】後追いモードが継続したときに、ＲＡＭのＰＷＭデータが書き換えられる様子を示した説明図である。
【図１４】書き込みモードが先行モードであるときの、各部の動作を示すタイムチャートである。
【図１５】先行モードにおいて、ＲＡＭのＰＷＭデータが書き換えられる様子の一例を示した説明図である。
【図１６】図７のフローチャートのステップＳ１１０における具体的な判定手法の一例を説明するための説明図である。
【図１７】図７のフローチャートのステップＳ１１０における具体的な判定手法の他の例を説明するための説明図である。
【図１８】変形例１を説明するためのフローチャートである。
【図１９】変形例１による処理を行わない場合の問題点を説明するためのタイムチャートである。
【図２０】変形例１の動作を示したタイムチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態に係る車両接近警報装置について図面を参照しつつ説明する。図１は、本実施形態に係る車両接近警報装置３を含むシステム全体の構成を示した構成図である。
【００１８】
図１に示すように、車両接近警報装置３は、車載バッテリ１からの電力供給によって動作する。車両接近警報装置３は、車両の走行状態を検出する走行状態検出部２から検出結果を受領する。そして、車両接近警報装置３は、車両の走行状態に応じた警報音がスピーカ９から発せられるように、スピーカ９に駆動電流を通電する。その結果、車両接近警報装置３は、車両の接近を周囲の歩行者などに警報することができる。
【００１９】
走行状態検出部２は、車両の走行状態を検出するとともに、検出した走行状態を表す信号を車両接近警報装置３に対して出力する。この走行状態検出部２として、例えば車速センサやアクセル開度センサなどのセンサを用いることができる。
【００２０】
車両接近警報装置３は、５Ｖレギュレータ４、マイクロコンピュータ（以下、マイコン）５、及び駆動回路部６を有している。レギュレータ４は、車載バッテリ１から供給されるバッテリ電圧に基づいて、５Ｖの定電圧を発生する。このレギュレータ４によって発生される定電圧が、マイコン５及び駆動回路部６に動作電圧として供給される。但し、本実施形態では、マイコン５は、車両接近警報装置３において、警報音の発生を制御する用途だけに用いられる訳ではなく、他の制御対象の制御や、他のＥＣＵの動作の監視など、他の制御用途にも兼用される。
【００２１】
マイコン５は、図２に示すように、ＣＰＵ１０、ＲＡＭ１１、ダイレクトメモリアクセス部（ＤＭＡ）１２、及びＰＷＭ信号生成部（ＰＷＭ）１３を備えている。また、マイコン５は、図示しない内部メモリを有し、警報音を発生するための基本データを記憶している。この基本データとして、警報音の大きさをデータコードに符号化したＰＣＭ（パルス符号変調）などのデータを用いても良いし、警報音を発生するために用いられるＰＷＭ信号を生成するためのデューティ比とＰＷＭ周期とからなるＰＷＭデータを用いても良い。
【００２２】
この基本データは、走行状態検出部２によって検出された車両走行状態に応じて、演算式やマップなどを用いて加工される。その結果、基本データから、車両走行状態に対応した、出力すべきＰＷＭ信号のデューティ比及びＰＷＭ周期を示すＰＷＭデータが生成される。この生成されたＰＷＭデータは、図３に示すように、特許請求の範囲の更新手段としてのＣＰＵ１０によってＲＡＭ１１に書き込まれて記憶される。
【００２３】
なお、マイコン５の内部メモリに、各種の車両走行状態に応じた警報音を発生するためのＰＷＭデータを全て記憶させておき、検出された走行状態に対応するＰＷＭデータを選択するようにしても良い。このようにしても、車両走行状態に応じた警報音を発生することができる。
【００２４】
また、ＰＷＭデータとして、各ＰＷＭ信号でデューティ比及びＰＷＭ周期が異なるＰＷＭデータを用いても良いし、ＰＷＭ周期は一定であるが、デューティ比だけが変化するＰＷＭデータを用いても良い。さらに、後述する警報音の出力周期を単位として、ＰＷＭ周期が変化するようにしても良い。すなわち、警報音の一出力周期間においては、ＰＷＭ周期は一定であり、出力周期が満了するタイミングで、前の出力周期とは異なるＰＷＭ周期を定めても良い。
【００２５】
駆動回路部６は、特許請求の範囲の通電電流生成部に相当するもので、マイコン５が出力するＰＷＭ信号に基づいてスピーカ９へ通電する駆動電流を制御する。本実施形態では、駆動回路部６は、ＮチャネルＭＯＳＦＥＴ７及び抵抗８によって構成されている。ＭＯＳＦＥＴ７のドレインは、レギュレータ４に接続され、ＭＯＳＦＥＴ７のソースはＧＮＤに接続されている。従って、マイコン５のＰＷＭ信号が抵抗８を介してＭＯＳＦＥＴ７のゲート電圧として入力されることで、スピーカ９への駆動電流の通電が制御される。つまり、ＰＷＭ信号がハイレベルであるときＭＯＳＦＥＴ７がオンする。これにより、ＭＯＳＦＥＴ７を通じてスピーカ９に駆動電流が通電される。逆に、ＰＷＭ信号がローレベルであるとき、ＭＯＳＦＥＴ７がオフし、スピーカ９への駆動電流が遮断される。従って、ＰＷＭデータのデューティ比に応じて、スピーカ９に通電される駆動電流を調節することができる。
【００２６】
なお、駆動回路部６は、ＰチャネルＭＯＳＦＥＴによって構成しても良い。さらに、ＰチャネルＭＯＳＦＥＴとＮチャネルＭＯＳＦＥＴとを直列接続した、いわゆるＣＭＯＳによって構成することもできる。
【００２７】
スピーカ９は、通電される駆動電流値が変化することによって、振動紙や振動板などの振動面が振動して、音を発生する。発生する音は、駆動電流値が大きくなるほど大きくなる。また、ＰＷＭ周期や、警報音の出力周期によって音程が変化する。
【００２８】
上述したように構成される車両接近警報装置３におけるマイコン５の作動について、さらに詳細に説明する。
【００２９】
マイコン５のダイレクトメモリアクセス部１２は、ダイレクトメモリアクセス方式によるデータ転送、つまりＣＰＵ１０を介さずに、ＲＡＭ１１とＰＷＭ信号生成部１３との間で直接データ転送を行うものである。ダイレクトメモリアクセス部１２は、ＣＰＵ１０から転送開始指示を受けると、データ転送が実行可能な状態となる。このデータ転送実行可能状態において、ＰＷＭ信号生成部１３からデータ要求を受けると、図２及び図３に示すように、ダイレクトメモリアクセス部１２は、ＲＡＭ１１からＰＷＭデータ（デューティ比及びＰＷＭ周期）を読み出す。そして、ダイレクトメモリアクセス部１２は、読み出したＰＷＭデータに含まれるデューティ比及びＰＷＭ周期を、ＰＷＭ信号生成部１３のデューティ比設定レジスタ１３ａ及びＰＷＭ周期設定レジスタ１３ｂにそれぞれ書き込む。
【００３０】
ＰＷＭ信号生成部１３は、ダイレクトメモリアクセス部１２によって書き込まれたデューティ比及びＰＷＭ周期を有するＰＷＭ信号を発生させる。そして、ＰＷＭ信号生成部１３は、発生したＰＷＭ信号を駆動回路部６に出力するとともに、そのＰＷＭ信号の出力が終了するとき、つまり、そのＰＷＭ信号のＰＷＭ周期の満了時に、次のＰＷＭ信号を発生すべく、ダイレクトメモリアクセス部１２に対してデータ要求を出力する。
【００３１】
ここで、図４に示すように、警報音を発生するためにスピーカ９に通電される駆動電流は、複数のＰＷＭ信号を連続的に出力することによって生成される。本実施形態では、警報音の出力周期を定め、原則として、その出力周期毎に、ＲＡＭ１１に記憶されるＰＷＭデータを書き換える。これにより、警報音は、出力周期毎に車両走行状態に応じて更新される。そのため、車両走行状態に対して応答性良く警報音を変化させることができる。
【００３２】
例えば、図４に示すような、警報音の出力周期一周期分の駆動電流波形は、２５６個のＰＷＭ信号によって形成される。その場合、警報音の出力周期は、例えば８ｍｓ程度となる。ＲＡＭ１１は、その２５６個のＰＷＭ信号を生成するためのＰＷＭデータを記憶する記憶領域を有している。ＣＰＵ１０は、警報音の更新時に、上記の記憶領域に、一出力周期分の警報音を発生するための並び順に従って、複数のＰＷＭデータを書き込む。ダイレクトメモリアクセス部１２は、ＣＰＵ１０から転送開始指示を受けると、ＲＡＭ１１のＰＷＭデータ記憶領域の先頭番地を、ＰＷＭデータの転送位置に定める。そして、ＰＷＭ信号生成部１３からのデータ要求に応じて、転送位置のＰＷＭデータを読み出してＰＷＭ信号生成部１３に出力するとともに、転送位置を一番地進める。これにより、ダイレクトメモリアクセス部１２は、ＰＷＭ信号生成部１３からのデータ要求を受けるごとに、記憶領域の先頭から順番にＰＷＭデータを読み出して、順次、ＰＷＭ信号生成部１３へ与えることができる。
【００３３】
そして、図５に示すように、記憶領域に書き込まれた最後尾のＰＷＭデータを要求するデータ要求ｎに応答して、最後尾のＰＷＭデータの転送が完了すると、ダイレクトメモリアクセス部１２は、転送完了通知をＣＰＵ１０に出力する。ＣＰＵ１０は、転送完了通知を受けたときに、ＲＡＭ１１へのＰＷＭデータの書き込みよりも優先度の高い上位タスクを実行していなければ、図５に示すように、即座にＰＷＭデータの書き換えの実行を開始する。この場合、ＣＰＵ１０は、転送された最後尾のＰＷＭデータのＰＷＭ周期が満了し、ＰＷＭ信号生成部１３から次の警報音出力周期の最初のデータ要求１が出力されるまでに、ＲＡＭ１１へのＰＷＭデータの書き込みを終了させることができる。
【００３４】
なお、図５においては、ＰＷＭデータの数がｎ個であり、警報音の一出力周期中のＰＷＭ周期が一定である例を示している。この場合、図５に示すように、警報音の出力周期は、ＰＷＭ周期×ｎとなる。警報音の一出力周期中のＰＷＭ周期が異なる場合には、各ＰＷＭ周期を積算することにより、警報音の出力周期を求めることができる。
【００３５】
本実施形態では、上述したように、マイコン５は、警報音の発生を制御する用途に加え、他の制御用途にも兼用される。このため、ダイレクトメモリアクセス部１２が転送完了通知を出力したときに、ＣＰＵ１０が、ＲＡＭ１１へのＰＷＭデータの書き込みよりも優先度の高い上位タスクを実行していることも起こりえる。この場合、ＣＰＵ１０は、その上位タスクの実行終了後に、ＰＷＭデータの書き換えを行うことになる。この際、ＣＰＵ１０が、ＰＷＭデータの書き換えを開始するタイミングによっては、発生される警報音が一貫性の無いものとなり、乗員などに違和感を与える可能性がある。
【００３６】
例えば、図６に示すように、警報音の出力周期が始まり、いくつかのＰＷＭデータが転送された後に（図６には、データ要求１，２に応じて２個のＰＷＭデータが転送された例が示されている）、ＰＷＭデータの書き換えが実行されてしまうと、発生途中の警報音が変化してしまうという問題が生じる。つまり、書き換え前のＰＷＭデータによる警報音と、書き換え後のＰＷＭデータによる警報音とが一貫性を喪失するように、警報音が突然変化してしまうのである。
【００３７】
このような問題を防ぐために、例えば、上位タスクの実行により、ＰＷＭデータの書き換えタイミングが遅れた場合には、ＰＷＭデータの書き換えをキャンセルすることが考えられる。ただし、単純に、ＰＷＭデータの書き換えをキャンセルしてしまうと、車両走行状態に見合わない警報音の出力を継続してしまう可能性が生じる。
【００３８】
そこで、本実施形態による車両接近警報装置３では、ＰＷＭデータの書き換えタイミングが遅れた場合であっても、警報音が一貫性を失わず、ＰＷＭデータの書き換えを可能とした点に特徴がある。以下、その特徴点について、図面を参照しつつ詳細に説明する。
【００３９】
図７は、マイコン５が実行する、ＲＡＭ更新処理（ＰＷＭデータの書き込み処理）を示すフローチャートである。このフローチャートに示す処理は、ダイレクトメモリアクセス部１２から転送完了通知を受領したことに応じて実行される。ただし、転送完了通知の受領時に、上位タスクが実行されている場合には、その上位タスクの実行終了後に実行される。
【００４０】
まず、ステップＳ１００では、走行状態検出部２によって検出される車両走行状態を記憶し、保持しておく。続くステップＳ１１０では、警報音の新たな出力周期における最初のデータ要求に応答して、ＰＷＭデータの読み出しを開始するタイミングの前に、ＲＡＭ１１の記憶領域において、全てのＰＷＭデータの書き換えを完了することが可能か否かを判定する。この判定方法の具体例は、後に詳細に説明する。
【００４１】
ステップＳ１１０において、全てのＰＷＭデータの書き換えを完了することが可能と判定された場合には、ステップＳ１２０の処理に進む。このステップＳ１２０では、ＣＰＵ１０が、ＲＡＭ１１の記憶領域の全てのＰＷＭデータの書き換え処理を実行する。つまり、記憶された車両走行状態を用いて基本データを加工することによりＰＷＭデータを生成し、その生成したＰＷＭデータをＲＡＭ１１に書き込む。このようなＰＷＭデータの生成、及びＲＡＭ１１への書き込みを、ＰＷＭデータの個数分だけ繰り返す。この場合、図５に示すように、ＰＷＭデータの書き換え処理は、警報音の新たな出力周期の最初のデータ要求１の前に完了する。従って、データ要求１〜ｎに対して、ダイレクトメモリアクセス部１２は、書き換え後のＰＷＭデータをＲＡＭ１１から読み出して、ＰＷＭ信号生成部１３に出力することができる。
【００４２】
続くステップＳ１３０では、ＲＡＭ１１の書き換えモードを示す書き換えモードフラグＭＯＤＥを、先行モードであることを示す「０」に設定する。書き換えモードについては、後に詳細に説明する。
【００４３】
ステップＳ１１０にて、全てのＰＷＭデータの書き換えを完了することは不可能と判定された場合、ステップＳ１４０の処理が実行される。ステップＳ１４０では、最初の定期周期タイミングまでにＲＡＭ１１から読み出されるＰＷＭデータの書き換えが、最初のデータ要求に応じてＰＷＭデータの読み出しを開始する前に、実行可能か否かを判定する。なお、定期周期タイミングについては、後に詳細に説明する。
【００４４】
ステップＳ１４０において、最初のデータ要求までの間に、最初の定期周期タイミングまでにＲＡＭ１１から読み出されるＰＷＭデータの書き換えが実行可能と判定された場合、ステップＳ１５０の処理に進む。ステップＳ１５０では、全てのＰＷＭデータではないが、書き換え可能と判定された一部のＰＷＭデータの書き換えを実行する。このＰＷＭデータの書き換え処理自体は、ステップＳ１２０と同様に行われる。また、以下に説明する定期周期タイミングにおけるＰＷＭデータの書き換え処理も、ステップＳ１２０と同様に行われる。そして、ステップＳ１６０において、書き換えモードフラグＭＯＤＥを、先行モードであることを示す「０」に設定する。
【００４５】
一方、ステップＳ１４０において、最初のデータ要求までの間に、最初の定期周期タイミングまでにＲＡＭ１１から読み出されるＰＷＭデータの書き換えが実行不可能と判定された場合、ステップＳ１７０の処理に進む。ステップＳ１７０では、書き換えモードフラグＭＯＤＥが、後追いモードであることを示す「１」に設定されているか否かを判定する。この判定処理において、書き換えモードフラグＭＯＤＥが「１」ではないと判定されると、ステップＳ１９０において、書き換えモードフラグＭＯＤＥが「１」に設定される。
【００４６】
一方、ステップＳ１７０において、書き換えモードフラグが「１」であると判定されると、ステップＳ１８０に進んで、前回の警報音出力周期中の定期周期タイミングにおけるＰＷＭデータの書き換え処理にて書き換えられなかった、未書き換えのＰＷＭデータの書き換えを実行する。このようにステップＳ１７０からステップＳ１８０に処理が進む状況は、ステップＳ１４０において、連続して、否定的な判定がなされた場合である。すなわち、連続して、最初のデータ要求が出されるまでの間に、ＰＷＭデータの書き換えが不可能と判定された場合である。このような場合、詳しくは後述するが、定期周期タイミングにおける書き換え処理では未書き換えのＰＷＭデータが残るので、次の警報音の出力周期のＲＡＭ更新処理において、未書き換えのＰＷＭデータの書き換えを行う。ただし、この未書き換えのＰＷＭデータの書き換えは、定期周期タイミングで実行しても良い。
【００４７】
ここで、定期周期タイミングについて、図８を参照して説明する。本実施形態に係る車両接近警報装置３においては、図８に示すように、警報音の発生のため、警報音の一出力周期分のｎ個のＰＷＭデータを記憶したＲＡＭ１１の記憶領域から、ダイレクトメモリアクセス部１２によって順番にＰＷＭデータが読み出されて、転送される。本実施形態では、ＰＷＭデータの転送が開始されてから、すべてのＰＷＭデータの転送が完了するまでの時間中に、複数回、定期周期タイミングが発生するように、定期周期タイミングの間隔Ｎ（ｍｓ）を事前に定めている。例えば、この定期周期タイミングの間隔Ｎは、１ｍｓに設定される。
【００４８】
なお、図８において、最初のＰＷＭデータの読み出しから最初の定期周期タイミングまでの時間間隔がＮより短くなっている。これは、例えば、図７のフローチャートに示すＲＡＭ更新処理を開始した時点から、最初の定期周期タイミングまでの時間のカウントが開始されるためである。
【００４９】
この定期周期タイミングが到来すると、マイコン５は、図９に示す定期周期タイミングルーチンを実行する。この定期周期タイミングルーチンは、図７のＲＡＭ更新処理において、最初のデータ要求に応じてＰＷＭデータを読み出すタイミングまでに、すべてのＰＷＭデータの書き換えが完了できなかった場合に、発生中の警報音が一貫性を失わないように、未書き換えのＰＷＭデータの書き換えを実行するためのものである。すなわち、定期周期タイミングが、特許請求の範囲の書き換え処理タイミングに相当する。従って、この定期周期タイミングルーチンの実行により、発生される警報音の一貫性を保ちながら、ＰＷＭデータを書き換えることができる。そのため、車両の走行状態に見合わない警報音の出力が継続されることを防止することができる。また、ＰＷＭデータの書き換えは、発生中の警報音が一貫性を失わないように実行されるので、乗員などに違和感を生じさせることもない。
【００５０】
定期周期タイミングルーチンでは、まずステップＳ２００において、書き換えモードフラグＭＯＤＥが、後追いモードを示す「１」に設定されているか否かを判定する。この判定処理において、書き換えモードフラグＭＯＤＥが、後追いモードを示す「１」に設定されていると判定された場合、ステップＳ２１０の処理に進む。ステップＳ２１０では、最大で、ダイレクトメモリアクセス部１２による現在の転送対象となっているＰＷＭデータの直前のＰＷＭデータまでを対象として、書き換え処理を実行する。
【００５１】
一方、ステップＳ２００の判定処理において、書き換えモードフラグＭＯＤＥが「１」ではなく、先行モードを示す「０」に設定されていると判定された場合、ステップＳ２２０の処理に進む。ステップＳ２２０では、前回までの定期周期タイミングルーチンの実行により、全てのＰＷＭデータの書き換えが完了しているか否かを判定する。この判定処理において、全てのＰＷＭデータの書き換えが完了していないと判定された場合、ステップＳ２３０の処理に進む。一方、全てのＰＷＭデータの書き換えが完了していると判定された場合には、図９のフローチャートに示す定期周期タイミングルーチンを終了する。
【００５２】
ステップＳ２３０では、少なくとも、次の定期周期タイミングまでにＲＡＭ１１から読み出されるＰＷＭデータを対象として、ＰＷＭデータの書き換えを実行する。既に、次の定期周期タイミングまでに読み出されるＰＷＭデータが書き換えられている場合には、その後に読み出される予定の未書き換えのＰＷＭデータの書き換えを行う。この書き換えにおいて、ＣＰＵ１０が、残りの全てのＰＷＭデータを書き換えるための処理時間を確保できるのであれば、全てのＰＷＭデータの書き換えを一度に実行しても良い。あるいは、ＣＰＵ１０の負荷を平準化するため、例えば書き換えるＰＷＭデータの上限数を設定するなどして、幾つかの定期周期タイミングルーチンにＰＷＭデータの書き換えを分散させても良い。
【００５３】
ここで、書き換えモードについて説明する。定期周期タイミングルーチンにおいて、発生中の警報音が一貫性を失わないようにＰＷＭデータを書き換える一態様としては、ダイレクトメモリアクセス部１２によって既に読み出されたＰＷＭデータを対象として書き換え処理を実行すれば良い。すなわち、ダイレクトメモリアクセス部１２によるＰＷＭデータの読み出しを後追いするように、ＰＷＭデータを書き換えれば良い。これが、書き換えモードの後追いモードである。このようにすると、ＰＷＭデータの書き換え処理を行いながら、一周期分の警報音を発生するためのＰＷＭデータについて、これから警報音の発生に用いられるＰＷＭデータを書き換えてしまうことがない。このため、乗員などが違和感を生じさせるような警報音の変化を防ぐことができる。
【００５４】
また、定期周期タイミングルーチンにおいて、発生中の警報音が一貫性を失わないようにＰＷＭデータを書き換えるもう一つの態様としては、ダイレクトメモリアクセス部１２によるＰＷＭデータの読み出しよりも先行するように、ＰＷＭデータの書き換え処理を実行すれば良い。図７のＲＡＭ更新処理のステップＳ１５０が実行された場合、少なくとも、最初のデータ要求までの間に、最初の定期周期タイミングまでにＲＡＭ１１から読み出される分のＰＷＭデータの書き換えは処理済みとなっている。従って、定期周期タイミングルーチンにおいて、少なくとも、次の定期周期タイミングまでにＲＡＭ１１から読み出される分のＰＷＭデータの書き換え処理を行うことで、ＰＷＭデータの読み出しよりも先行するように、ＰＷＭデータの書き換え処理を実行することができる。これが、書き換えモードの先行モードである。これにより、ダイレクトメモリアクセス部１２によってＰＷＭデータが読み出されるときには、そのＰＷＭデータは書き換えられたものとなっている。そのため、乗員などが違和感を生じさせるような警報音の変化を防ぐことができる。
【００５５】
以下、書き込みモードにおける、後追いモード及び先行モードについて、図面を参照しつつ、さらに詳細に説明する。
【００５６】
図１０及び図１１は、後追いモードを説明するための図面であり、図１０は、後追いモードにおける各部の動作を示すタイムチャートであり、図１１は、後追いモードにおいて、ＲＡＭ１１のＰＷＭデータが書き換えられる様子を示した説明図である。
【００５７】
図１０（ａ）に示すように、警報音Ｂの出力周期が終了する時点Ｃにおいて、図７に示したＲＡＭ更新処理が実行される。ただし、この時点Ｃにおいては、図１０（ｂ）に示すように、上位タスク処理の実行により、転送完了通知を受領しても即座にＲＡＭ更新処理を開始することができない。そして、上位タスクの処理が終了して、ＲＡＭ更新処理を開始したときには、すでに、ＰＷＭ信号生成部１３から最初のデータ要求１が出力されている。このように、図１０（ｂ）に示す例では、データ要求１に対してＰＷＭデータの書き換えが間に合わない。このため、ＣＰＵ１０は、この時点ではＰＷＭデータの書き換えを行なわず、単に書き換えモードフラグＭＯＤＥを後追いモードを示す「１」に設定して処理を終える。
【００５８】
書き換えモードフラグＭＯＤＥが「１」に設定されている場合、定期周期タイミングが到来したとき、図９の定期周期タイミングルーチンにより、例えば図１１に示すように、前回の定期周期タイミングで転送位置となっていたＰＷＭデータから、現在の転送位置の直前のＰＷＭデータまでを対象として、書き換え処理が実行される。従って、ＰＷＭデータの書き換えを行いながら、発生中の警報音が、一貫性を喪失するように突然変化してしまうことを防止することができる。
【００５９】
なお、書き換えモードが後追いモードとなった場合、警報音は、図１０（ａ）に示すように、前回の出力周期の警報音（警報音Ｂ）と同じ警報音（警報音Ｂ）が出力される。ただし、後追いモードにてＰＷＭデータを書き換えておくことで、後追いモードが継続した場合であっても、出力周期ごとに警報音を変化させることができる。
【００６０】
次に、書き込みモードとして、後追いモードが継続した場合について、図１２及び図１３に基づいて説明する。図１２は、後追いモードが継続したときの各部の動作を示すタイムチャートであり、図１３は、後追いモードが継続したときに、ＲＡＭ１１のＰＷＭデータが書き換えられる様子を示した説明図である。
【００６１】
図１２（ａ）の時点Ｂにおいて、ＰＷＭデータの書き換えができない場合、時点Ｂから時点Ｃまでの警報音の出力周期では、書き込みモードが後追いモードとなる。この場合、上述したように、時点Ｂから時点Ｃまでの出力周期における警報音は、前回の出力周期の警報音Ａと同じになる。ただし、ＰＷＭデータは、後追いモードにて、警報音Ｂを発生するためのＰＷＭデータに書き換えられる。
【００６２】
そして、時点Ｃにおいても、ＰＷＭデータの書き換えが、最初のデータ要求１以前に実行できない場合、図１２（ｂ）に示すように、ＲＡＭ更新処理において、時点Ｂから時点Ｃまでの出力周期中の定期周期タイミングルーチンにて書き換えられなかったＰＷＭデータの書き換えを実行する。上述したように、後追いモードでは、最大で、定期周期タイミング時点での転送位置の直前までのＰＷＭデータの書き換えしか実行しない。従って、時点Ｂから時点Ｃまでの出力周期が終了したとき、図１３に示すように、最後尾のＰＷＭデータを含むいくつかのＰＷＭデータが未書き換えのまま残されることになる。この未書き換えのＰＷＭデータをそのまま残しておくと、図１２（ａ）に一点鎖線で示すように、時点Ｃからの警報音の出力周期の最終段階で、警報音が変化（警報音Ｂ→警報音Ａ）してしまうことになる。そのような警報音の変化を防止するために、図１３に示すように、未書き換えのまま残された警報音ＡのＰＷＭデータを、警報音ＢのＰＷＭデータに書き換えるのである。
【００６３】
なお、図１２（ａ）に示す、時点Ｃから始まる警報音の出力周期では、図１０及び図１１を用いて説明した例と同様に、ＰＷＭデータに基づき警報音Ｂを発生しつつ、次の出力周期において警報音Ｃを発生できるように、ダイレクトメモリアクセス部１２によって転送済みのＰＷＭデータを対象として書き換え処理（警報音ＢのＰＷＭデータ→警報音ＣのＰＷＭデータ）が行われる。
【００６４】
次に、図１４及び図１５を参照しつつ、先行モードについて説明する。図１４は、先行モードにおける各部の動作を示すタイムチャートであり、図１５は、先行モードにおいて、ＲＡＭ１１のＰＷＭデータが書き換えられる様子の一例を示した説明図である。
【００６５】
図１４（ａ）に示すように、警報音Ｂの出力周期が終了する時点Ｃにおいて、図７に示したＲＡＭ更新処理が実行される。ただし、この時点Ｃにおいては、図１４（ｂ）に示すように、上位タスク処理の実行により、転送完了通知を受領しても即座にＲＡＭ更新処理を開始することができない。そして、上位タスクの処理が終了して、ＲＡＭ更新処理を開始したときには、最初のデータ要求１が出力されるまでに、全てのＰＷＭデータを更新可能なだけの時間は残されていない。しかし、少なくとも、最初の定期周期タイミングまでにＲＡＭ１１から読み出されるＰＷＭデータを書き換えるだけの時間はある。
【００６６】
このような場合、図１４（ｂ）に示すように、最初の定期周期タイミングまでに読み出されるＰＷＭデータを含む一部のＰＷＭデータの書き換えが実行される。そして、定期周期タイミングが到来したときには、図１５に示すように、少なくとも次の定期周期タイミングまでに読み出されるＰＷＭデータを対象として、ＰＷＭデータの書き換えを実行する。既に、次の定期周期タイミングまでに読み出されるＰＷＭデータが書き換えられている場合には、その後に読み出される予定の未書き換えのＰＷＭデータの書き換えを行う。これにより、ダイレクトメモリアクセス部１２によってＰＷＭデータが読み出されるときには、そのＰＷＭデータは書き換えられたものとなっている。そのため、乗員などが違和感を生じさせるような警報音の変化を防ぐことができる。
【００６７】
次に、図１６及び図１７を参照して、図７のフローチャートのステップＳ１１０における具体的な判定手法、すなわち、最初のデータ要求に応答して、ＰＷＭデータの読み出しを開始するタイミングの前に、全てのＰＷＭデータの書き換えを完了することが可能か否かを判定する手法について説明する。
【００６８】
まず、第１の判定手法について、図１６を参照して説明する。図１６において、Ｔｄｍａは、ダイレクトメモリアクセス部１２から転送完了通知が出力された時刻を示している。Ｔｃｕｒは、ＲＡＭ更新処理が開始された時刻、より正確には、図７のフローチャートのステップＳ１１０の判定がなされるときの現在時刻を示している。Ｔｆは、前回の出力周期の最後のデータ要求ｎに対して転送されたＰＷＭデータのＰＷＭ周期を示している。そして、Ｔｃａｌは、ＲＡＭ１１における全てのＰＷＭデータの書き込みに要する時間を示している。
【００６９】
このとき、以下の数式１が成り立つ場合には、全てのＰＷＭデータの書き換えが可能と判定することができ、成り立たない場合には、書き換え不可能と判定することができる。
（数１）
（Ｔｄｍａ＋Ｔｆ）−Ｔｃｕｒ＞Ｔｃａｌ＋α
ただし、αは、多少の時間的なズレを吸収するために設定されたマージンである。
【００７０】
次に、第２の判定手法について、図１７を参照して説明する。図１７において、Ｔｆは、前回の警報音の出力周期における各ＰＷＭデータのＰＷＭ周期であり、このＰＷＭ周期ＴｆにＰＷＭ信号数ｎを乗算することにより、前回の警報音の出力周期を求めている。ただし、各ＰＷＭデータのＰＷＭ周期が異なる場合には、各ＰＷＭ周期を積算することによって、警報音の出力周期を求めれば良い。Ｔｃｕｒは、図７のフローチャートのステップＳ１１０の判定がなされるときの現在時刻を示している。Ｔｃａｌは、ＲＡＭ１１におけるＰＷＭデータの書き込みに要する時間を示している。そして、Ｔｐｗｍは、各警報音の出力周期において、最初のデータ要求１が発生する時刻を示している。そして、今回Ｔｐｗｍは、以下の数式２から求めることができる。
（数２）
今回Ｔｐｗｍ＝前回Ｔｐｗｍ＋（Ｔｆ×ｎ）
そして、以下の数式３が成り立つ場合には、全てのＰＷＭデータの書き換えが可能と判定することができ、成り立たない場合には、書き換え不可能と判定することができる。
（数３）
今回Ｔｐｗｍ−Ｔｃｕｒ＞Ｔｃａｌ＋α
ただし、αは、多少の時間的なズレを吸収するために設定されたマージンである。
【００７１】
なお、上述した判定手法は、図７のフローチャートのステップＳ１４０の判定処理にも適用可能である。この場合、数式１又は数式３におけるＴｃａｌを、最初の定期周期タイミングまでにＲＡＭ１１から読み出される一部のＰＷＭデータの書き換えに要する時間に置き換えれば良い。
【００７２】
以上、本発明の好ましい実施形態について説明したが、本発明は、上述した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することができる。以下に、上述した実施形態の幾つかの変形例について説明する。
【００７３】
（変形例１）
上述した実施形態では、ダイレクトメモリアクセス部１２が、ＣＰＵ１０から転送開始指示を受けると、全てのＰＷＭデータの転送を完了して転送完了通知を出力しても、自動的に、転送動作を繰り返すものであった。
【００７４】
しかし、ダイレクトメモリアクセス部として、このような自動的な転送繰り返し機能を有さないものもある。このような場合、図１８のフローチャートに示すように、ダイレクトメモリアクセス部１２から転送完了通知を受領したときに、ＣＰＵ１０が、最優先度にてダイレクトメモリアクセス部１２に転送開始指示を行い（ステップＳ３００）、その後、任意の優先度にて、ＲＡＭ更新処理を行うようにすれば良い（ステップＳ３１０）。
【００７５】
ＣＰＵ１０が、転送完了ごとに、ダイレクトメモリアクセス部１２に対して転送開始を指示しなければならない場合、その転送開始指示が、上位タスクの実行により遅れてしまうと、図１９に示すように、ＰＷＭ信号生成部１３からのデータ要求に対して、ダイレクトメモリアクセス部１２がＰＷＭデータを転送することができなくなる。
【００７６】
それに対して、図１８のフローチャートのように、転送開始指示だけは最優先度にて行うようにすれば、図２０に示すように、上位タスクが実行されている場合であっても、ダイレクトメモリアクセス部１２が転送不能状態とならずに済む。
【００７７】
（変形例２）
上述した実施形態では、図７のフローチャートのステップＳ１００において、走行状態検出部２によって検出される車両走行状態を記憶し、保持していた。そして、その後、ＰＷＭデータを書き込む段階で、その車両走行状態を用いて、基本データから書き込むべきＰＷＭデータを生成していた。しかしながら、ステップＳ１００において、車両走行状態に応じた全てのＰＷＭデータを生成して、保持するようにしても良い。そして、ＰＷＭデータを書き込む段階では、保持されたＰＷＭデータを用いて、ＲＡＭ１１への書き込みを行っても良い。
【００７８】
（変形例３）
上述した実施形態では、図７のフローチャートのステップＳ１００において、走行状態検出部２によって検出される車両走行状態を記憶し、保持していた。そして、その後、後追いモードにて、ＰＷＭデータを書き換えるときには、保持された車両走行状態を用いて生成されたＰＷＭデータを用いて、ＲＡＭ１１への書き込みを行った。この場合、書き換え対象となるＰＷＭデータは、前回の定期周期タイミングで転送位置となっていたＰＷＭデータから、現在の転送位置の直前のＰＷＭデータまでである。
【００７９】
しかしながら、定期周期タイミングが到来するごとに、その時点の車両の走行状態に応じた警報音を発生するための複数のＰＷＭデータを生成し、前回までの定期周期タイミングにて書き換え処理が行われたＰＷＭデータを含め、転送位置の直前までのＰＷＭデータをすべて書き換えるようにしても良い。このようにすると、車両走行状態と警報音とのズレを極力小さくすることができる。
【符号の説明】
【００８０】
２  走行状態検出部
３  車両接近警報装置
５  マイクロコンピュータ
６  駆動回路部
９  スピーカ
１０  ＣＰＵ
１１  ＲＡＭ
１２  ダイレクトメモリアクセス部
１３  ＰＷＭ信号生成部
【図１】
2015080967.tif 000003
【図２】
2015080967.tif 000004
【図３】
2015080967.tif 000005
【図４】
2015080967.tif 000006
【図５】
2015080967.tif 000007
【図６】
2015080967.tif 000008
【図７】
2015080967.tif 000009
【図８】
2015080967.tif 000010
【図９】
2015080967.tif 000011
【図１０】
2015080967.tif 000012
【図１１】
2015080967.tif 000013
【図１２】
2015080967.tif 000014
【図１３】
2015080967.tif 000015
【図１４】
2015080967.tif 000016
【図１５】
2015080967.tif 000017
【図１６】
2015080967.tif 000018
【図１７】
2015080967.tif 000019
【図１８】
2015080967.tif 000020
【図１９】
2015080967.tif 000021
【図２０】
2015080967.tif 000022