(57)【特許請求の範囲】
【請求項１】
第１計数値からカウント開始し第２計数値まで計数値を変化させることで変調パルスの周期を規定する変調周期計数手段（２０）と、
前記第１計数値と前記第２計数値との間に設定された計数閾値を記憶する記憶手段（１５）と、
前記変調周期計数手段の計数値が前記記憶手段の計数閾値に達したことを条件として、次回の変調パルスのデューティ比または／および周期の算出を開始する算出手段（７）と、を備え、
前記算出手段の最大算出時間は、前記変調周期計数手段の計数値が前記記憶手段の計数閾値に達したタイミングから前記第２計数値に達するタイミングまでの時間未満に予め設定されており、
変調パルスを印加することに応じて生じた検出値を取得する取得手段（９）を備え、
前記算出手段は、エンジンのクランク周期に応じた割込処理及びウォッチドックタイマ割込処理による処理を行うと共に、変調パルスのデューティ比または／および周期の算出割込処理を行うものであり、今回の変調パルスに応じて検出され前記取得手段が取得した検出値に基づいて、次回の変調パルスのデューティ比または／および周期の算出を開始することを特徴とするパルス信号生成装置。
【請求項２】
前記第１計数値を保持する第１計数値記憶手段（２１）と、
前記第２計数値を保持する第２計数値記憶手段（１４）と、を備え、
前記第１計数値記憶手段が変更可能に設定され、前記第２計数値記憶手段は定数に設定されていることを特徴とする請求項１記載のパルス信号生成装置。
【請求項３】
前記変調周期計数手段はアップカウンタまたはダウンカウンタを用いることを特徴とする請求項１または２記載のパルス信号生成装置。
【請求項４】
前記取得手段の検出値を複数回加算する加算手段（１１）と、を備え、
前記算出手段は、当該算出開始直前に前記加算手段により得られた真近の測定値を用いて算出することを特徴とする請求項１〜３の何れかに記載のパルス信号生成装置。
【請求項５】
前記加算手段（１１）は、ＦＩＲ（Finite Impulse Response）フィルタを用いることを特徴とする請求項４記載のパルス信号生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、変調パルス信号を発生するパルス信号生成装置に関する。
【背景技術】
【０００２】
例えばＰＷＭ信号（変調パルスに相当）は、例えばＣＰＵ、ＰＷＭタイマを用いて生成されている（例えば、特許文献１参照）。特許文献１記載の技術によれば、ＰＷＭパルスの単位波形をＲＡＭ内の記憶デューティ値とＰＷＭカウンタの出力値とのコンペアマッチによって生成し、コンペアマッチごとに次のデューティ値をＣＰＵの介在なしでＲＡＭからロードしている。これにより、ＰＷＭパルスの生成においてＣＰＵのバストラフィックの混雑の影響を避け、ＣＰＵからの書込みの一時的なトラップの発生を回避している。
【０００３】
ところで、特許文献１記載の技術に関連した技術として、変調パルスの単位波形毎にデューティ比または／および周期を逐次算出して設定する技術が提案されている。このとき、変調パルスの周期が長いことがあるため、変調パルスのデューティ比の算出処理を短い周期で行い、変調パルスのデューティ比または周期を頻繁に算出する等の処理を行うと良いが、処理負荷が大きくなり望ましくない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２８２８２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、処理負荷を極力大きくすることなく、変調パルスのデューティ比または／および周期を当該変調パルスの単位波形毎に逐次算出して設定できるようにしたパルス信号生成装置を提供することにある。
【課題を解決するための手段】
【０００６】
請求項１記載の発明によれば、変調周期計数手段は、第１計数値から第２計数値まで計数値を変化させるため変調パルスの周期をカウントできる。変調周期計数手段の計数値が計数閾値に達するときに、算出手段は次回の変調パルスのデューティ比または／および周期の算出を開始する。
【０００７】
算出手段の最大算出時間は、変調周期計数手段の計数値が計数閾値に達したタイミングから第２計数値に達するタイミングまでの時間未満に予め設定されている。このため、次回の変調パルスを発生させるときには算出手段の算出処理は終了している。したがって、処理負荷を極力大きくすることなく、変調パルスのデューティ比または／および周期を逐次算出して設定できる。
【０００８】
ところで、例えば負荷を制御するときには、一般にフィードバック制御を用いるが、直前の検出値を用いて行うことが望ましい。例えば、変調パルスの開始タイミングに同期してフィードバック用の算出手段の算出処理を開始し、この算出処理結果を、次回の変調パルスのデューティ比または／および周期の設定に用いることが考えられる。しかし、このような制御を行うときには、算出処理を開始する前の変調パルスに応じて生じた検出値を用いて算出処理を行う必要がある。すると、算出処理に用いられる検出値は、少なくとも２周期以上前の変調パルスに応じて生じた検出値となり、制御の応答性に劣る。
【０００９】
請求項１記載の発明によれば、取得手段は変調パルスに応じて生じた検出値を取得し、算出手段は、少なくとも今回の変調パルスに応じて生じた検出値に基づいて、次回の変調パルスのデューティ比または／および周期の算出を開始する。算出手段の最大算出時間は変調周期計数手段の計数値が計数閾値に達したタイミングから第２計数値に達するタイミングまでの時間未満に設定されている。このため、今回の検出値に基づき次回のデューティ比等を算出するための算出処理は、次回の変調パルスを発生させる前には終了している。これにより、直前（すなわち１周期前、今回）の変調パルスに応じて生じた検出値を用いて次回の変調パルスのデューティ比／周期を制御できる。
【００１０】
請求項２記載の発明によれば、第１計数値記憶手段の第１計数値を変更可能、第２計数値記憶手段の第２計数値を定数に設定しているため、変調パルスの周期を変更できる。しかも、計数閾値は算出手段の最大算出時間に応じて定数に設定することができ、当該計数閾値を変更する必要がなくなる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態を概略的に示す電気的構成図
【図２】マイクロコンピュータ内の電気的構成の一部を示すブロック図
【図３】デジタルフィルタの電気的構成を示すブロック図
【図４】動作を示すタイミングチャート
【図５】図４の比較例を示すタイミングチャート
【図６】加算回数を変更したときの動作を示すタイミングチャート
【図７】変調パルスの周期を変更したときの動作を示す図３相当図
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態について図１〜図７を参照しながら説明する。図１は、車両用のリニアソレノイドを駆動制御する駆動制御装置内の電気的構成を概略的に示している。
【００１３】
駆動制御装置１は、マイクロコンピュータ（以下マイコンと略す：パルス信号生成装置）２を備え、当該マイコン２内で生成されたパルス信号（例えばＰＷＭ信号）に応じてトランジスタ３を駆動する。駆動制御装置１内では電源＋Ｂの供給端子からトランジスタ３を通じて出力端子ＯＵＴに接続されている。出力端子ＯＵＴにはソレノイド４が接続されている。なお、トランジスタ３は、ＭＯＳトランジスタ、ＢＪＴ、ＩＧＢＴなどの各種のスイッチング素子を用いることができる。
【００１４】
ソレノイド４には、逆起電圧から保護するためのダイオード(図示せず)が接続されると共に電流検出用の抵抗５が接続されている。トランジスタ３がパルス信号に応じて駆動されソレノイド４に通電されると抵抗５にも電流が流れる。抵抗５は駆動制御装置１の入力端子ＩＮに接続されている。入力端子ＩＮには電流検出器６が接続されており抵抗５の通電電流を検出する。この電流検出器６のアナログ電流検出信号はマイコン２に与えられている。
【００１５】
マイコン（パルス信号生成装置）２は、ＣＰＵ（算出手段）７、タイマモジュール８、Ａ／Ｄ変換モジュール（取得手段）９、プリスケーラ１０、デジタルフィルタ（加算手段）１１、などの電気的構成を備え、クロック生成器１２から与えられるクロック信号に応じて動作する。
【００１６】
図２にタイマモジュール８内の電気的構成を示すように、タイマモジュール８は、デューティ比レジスタ１３、周期最終値レジスタ（第２計数値記憶手段）１４、割込設定レジスタ（記憶手段）１５、比較器１６〜１８、Ｈ／Ｌ出力器１９、変調周期カウンタ（変調周期計数手段）２０、周期初期値レジスタ（第１計数値記憶手段）２１を図示のように接続して構成されている。
【００１７】
プリスケーラ１０はクロック生成器１２の生成クロック信号を分周し、タイマモジュール８内の変調周期カウンタ２０に与える。変調周期カウンタ２０は、例えばダウンカウンタを備えて構成されるもので、プリスケーラ１０から与えられた分周クロックの発生タイミングに応じてカウント値（計数値）を初期値（第１計数値）から最終値（第２計数値）まで変化させる。
【００１８】
本実施形態では、変調周期カウンタ２０としてダウンカウンタを用いた一例を示す。本実施形態では初期値（第１計数値）＞最終値（第２計数値）であり、変調周期カウンタ２０は所定ステップ毎カウントダウンする。変調周期カウンタ２０の出力は比較器１６および１７に与えられている。
【００１９】
各レジスタ１３〜１５、２１はＣＰＵ７により書換可能であるが、デューティ比レジスタ１３および周期初期値レジスタ２１にはＣＰＵ７処理時の変数がそれぞれ保持され、周期最終値レジスタ１４および割込設定レジスタ１５にはＣＰＵ７処理時の定数がそれぞれ保持される。
【００２０】
デューティ比レジスタ１３はデューティ比に対応したカウント値（計数値）を保持する。周期最終値レジスタ１４は周期の最終値に対応したカウント値（計数値）を保持する。周期初期値レジスタ２１は周期の初期値に対応したカウント値（計数値）を保持する。
【００２１】
割込設定レジスタ１５は、周期開始のタイミングから予め定められた所定時間ｔ（図４参照）を遡る時間に対応したカウント値（計数値）を保持する。この所定時間ｔとは、ＣＰＵ７がデューティ比または／および周期を算出するのに必要な最大算出時間を超える時間であり詳細は後述する。
【００２２】
比較器１６は、変調周期カウンタ２０の出力カウント値ＣＮＴと、デューティ比レジスタ１３に保持される変数値とを比較する。比較器１６は、変調周期カウンタ２０のカウント値ＣＮＴがデューティ比レジスタ１３の保持する変数値よりも高いときには第１論理レベル（例えば「Ｈ」レベル）をＨ／Ｌ出力器１９に出力し、カウント値ＣＮＴがデューティ比レジスタ１３の保持変数値以下のときには第２論理レベル（例えば「Ｌ」レベル）をＨ／Ｌ出力器１９に出力する。
【００２３】
比較器１７は、変調周期カウンタ２０の出力カウント値ＣＮＴと、周期最終値レジスタ１４に保持される定数値とを比較する。比較器１７は、変調周期カウンタ２０のカウント値ＣＮＴが周期最終値レジスタ１４の保持する定数値よりも高いときには、第１論理レベル（例えば「Ｈ」レベル）をＨ／Ｌ出力器１９に出力し、カウント値ＣＮＴが周期最終値レジスタ１４の保持する定数値以下のときには第２論理レベル（例えば「Ｌ」レベル）をＨ／Ｌ出力器１９に出力する。
【００２４】
また、カウント値ＣＮＴが周期最終値レジスタ１４の保持する定数値以下となるときには、カウントクリア信号ＣＮＴＣＬＲとして変調周期カウンタ２０に第２論理レベル（例えば「Ｌ」レベル）を与える。この比較器１７の出力はＣＰＵ７にも与えられている。比較器１７の出力が第１論理レベルから第２論理レベルに変化すると当該第２論理レベルがレジスタ書換指令信号としてＣＰＵ７に与えられる。このときＣＰＵ７は、事前にソフトウェア算出処理で算出した指令デューティ比、指令周期に対応したカウンタの計数値を各レジスタ１３、２１に書換え設定する。変調周期カウンタ２０は、カウントクリア信号ＣＮＴＣＬＲが与えられると、設定された周期初期値レジスタ２１の保持する変数値を読出してカウント値ＣＮＴの初期値として設定する。
【００２５】
他方、Ｈ／Ｌ出力器１９は、比較器１６および１７の比較結果に基づいて「Ｈ」レベル／「Ｌ」レベルを切換えることでパルス信号を出力する。Ｈ／Ｌ出力器１９は、比較器１６の出力に応じてパルス信号のデューティ比を規定すると共に、比較器１７の出力に応じてパルス信号の周期を規定する。
【００２６】
比較器１８は、変調周期カウンタ２０の出力カウント値ＣＮＴと、割込設定レジスタ１５に保持される定数値とを比較する。比較器１８は、変調周期カウンタ２０のカウント値ＣＮＴが割込設定レジスタ１５の保持する定数値よりも高いときには、第１論理レベル（例えば「Ｈ」レベル）をＣＰＵ７に出力し、カウント値ＣＮＴが割込設定レジスタ１５の保持する定数値以下のときには、第２論理レベル（例えば「Ｌ」レベル）を割込信号としてＣＰＵ７に出力する。
【００２７】
ＣＰＵ７は、比較器１８から割込信号が与えられると、次回のデューティ比／周期の算出処理を開始する。この算出処理は、電流検出器６が検出したソレノイド４の通電電流に応じたフィードバック処理を示し例えば次のように行われる。
【００２８】
図１に示すように、電流検出器６が検出したアナログ電流検出信号はＡ／Ｄ変換モジュール９に与えられる。Ａ／Ｄ変換モジュール９は、電流検出器６によるアナログ電流検出信号を所定のサンプリング周期（例えば１ｍｓ間隔）でＡ／Ｄ変換する。このサンプリング周期は、パルス信号の単位波形の周期より短い周期であり、マイコン２の性能に応じて設定される。本実施形態では、サンプリング周期が、変調パルスの単位波形１周期に対してＡ／Ｄサンプリング数が数回（５回）の割合で設定されている。Ａ／Ｄ変換モジュール９はこのＡ／Ｄ変換結果をデジタルフィルタ１１に出力する。
【００２９】
図３は、デジタルフィルタ１１の電気的構成例を示している。このデジタルフィルタ１１は、所謂ＦＩＲ（有限インパルス応答）フィルタを用いて構成されており、Ａ／Ｄ変換モジュール９が過去にサンプリングしたデジタル電流値をＣＰＵ７内で平均化（例えば相加平均、または、過去のサンプリング値を所定比率で重み付けした加重平均）するために設けられている。
【００３０】
デジタルフィルタ１１は、複数段直列接続された遅延器２２と、これらの遅延器２２のそれぞれの出力を所定比率（例えば等比率）で重み付けする複数の乗算器２３と、これらの乗算器２３の出力を全て加算する（複数の）加算器２４とを備える。
【００３１】
複数段の遅延器２２は、Ａ／Ｄ変換値Ｘ［ｎ］を１サンプリングタイミングずつ遅延させる。乗算器２３はこれらの遅延器２２の出力値を、乗算器２３に予め設定された比例係数と乗算する。複数段の加算器２４はこれらの１段ずつの乗算器２３の出力を全て加算して加算電流値Ｙ［ｎ］とする。
【００３２】
この図３に示す乗算器２３の係数設定例では、真近のｋ（＝５：複数）サンプリング値を互いに等比率（１：１：１：１：１の比率）で加算する例を示しているが、互いに異なる比率で加重加算するようにしても良い。
【００３３】
図１に示すように、デジタルフィルタ１１の出力はＣＰＵ７に与えられている。ＣＰＵ７は、このデジタルフィルタ１１の出力加算電流値Ｙ［ｎ］を入力し、この加算電流値Ｙ［ｎ］をサンプリング数ｋで除して平均電流値を求める。マイコン２内では除算処理をハードウェアで構成するとその回路規模が大きくなるため、ＣＰＵ７がデジタルフィルタ１１で加算した加算値をソフトウェアによって除算処理している。
【００３４】
そして、ＣＰＵ７は、この平均電流値Ｙ［ｎ］／ｋを目標電流値に近付けるように次回の変調パルス（パルス信号）の単位波形のデューティ比および周期を算出し、タイマモジュール８内のデューティ比レジスタ１３、周期初期値レジスタ２１に対し、算出された指令デューティ比および指令周期に対応した値を設定する。この処理に応じて次回の変調パルス（パルス信号：ＰＷＦＭ信号）の単位波形の指令デューティ比／指令周期が設定される。
【００３５】
通常、変調パルスの単位波形の指令デューティ比のみの設定を行い指令周期の設定は行わない。しかし、車両エンジンのモータリング周期と、前記した変調パルスの周期の逓倍数が重なると所謂共振現象が生じる虞があり、このようなときには検出電流値が乱れることがある。この影響を避けるため、所望のエンジン回転数近辺で前記の変調パルスの周期をわずかに変更することがあり、本実施形態では、指令デューティ比のみに関わらず、指令周期をも設定できるようにしている。
【００３６】
前記構成の動作について説明する。図４のタイミングチャートに示すように、変調周期カウンタ２０のカウント値ＣＮＴがカウントクリア信号ＣＮＴＣＬＲの入力に応じて周期初期値レジスタ２１の保持値（初期値）に設定されると、変調周期カウンタ２０は所定ステップずつダウンカウントを開始する（図４（ａ）の（１）のタイミング参照）。
【００３７】
他方、Ｈ／Ｌ出力器１９は、変調周期カウンタ２０のカウント値ＣＮＴが初期値に設定されると、当該カウント値ＣＮＴがデューティ比レジスタ１３の保持値より高くなると共に周期最終値レジスタ１４の保持値よりも高くなることから第１論理レベル（「Ｈ」レベル）を出力する（図４（ｂ）の（１）のタイミング参照）。
【００３８】
また、変調周期カウンタ２０のカウント値ＣＮＴがデューティ比レジスタ１３に記憶された保持値以下となると、比較器１６が第２論理レベル（「Ｌ」レベル）を出力するため、Ｈ／Ｌ出力器１９はその出力を「Ｈ」レベルから「Ｌ」レベルに変化させる（図４（ｂ）、図４（ｅ）の（Ａ）のタイミング参照）。
【００３９】
また、変調周期カウンタ２０のカウント値ＣＮＴが周期最終値レジスタ１４に記憶された保持値以下となると、比較器１７が第２論理レベル（「Ｌ」レベル）をカウントクリア信号ＣＮＴＣＬＲとして出力するため、Ｈ／Ｌ出力器１９はその出力を「Ｌ」レベルから「Ｈ」レベルに変化させる（図４（ｂ）、図４（ｅ）の（４）のタイミング参照）。これにより、１周期が繰り返される。
【００４０】
この１周期の間、Ａ／Ｄ変換モジュール９は、クロック同期して発生するタスクに応じて電流検出器６の検出電流をサンプリングする。すなわち、ほぼ所定周期毎に検出電流をサンプリングする。
【００４１】
デジタルフィルタ１１はこのＡ／Ｄ変換モジュール９のサンプリング値が変更される度に、古いＡ／Ｄ変換値Ｘ［］を破棄し真近の新たなＡ／Ｄ変換値Ｘ［］を反映した真近のサンプリング数ｋのＡ／Ｄ変換値Ｘ［］を（加重）加算した加算電流値Ｙ［］をＣＰＵ７に出力する（図４（ｄ）の（２）のタイミング参照）。この間、ＣＰＵ７はこの加算電流値Ｙ［］をサンプリング数ｋで除算し平均電流値Ｙ［］／ｋを算出する。
【００４２】
１周期の開始タイミング（１）から、変調周期カウンタ２０のカウント値ＣＮＴが減り計数閾値Ｃｔに達すると、比較器１８は第２論理レベル（例えば「Ｌ」レベル）を割込信号としてＣＰＵ７に与える（図４（ｇ）の（３）のタイミング参照）。すると、ＣＰＵ７は次回の変調パルスの単位波形のデューティ比および周期を算出するための算出処理を開始する（図４（ｃ）参照）。この場合、ＣＰＵ７はデジタルフィルタ１１が出力した真近の加算電流値Ｙ［］を利用して次回の変調パルスの単位波形のデューティ比および周期を算出できる。
【００４３】
図３に示すように、デジタルフィルタ１１が真近のＡ／Ｄ変換値Ｘ［］をｋ（＝５）回加算した場合には、ＣＰＵ７は、図４（ｄ）に示す（３）のタイミングより前のｋ回のＡ／Ｄ変換値Ｘ［］の加算電流値Ｙ［］を利用して、次回（図４の（４）のタイミング以降）の変調パルスの単位波形のデューティ比および周期を算出する。
【００４４】
このとき、図４（ｄ）に示す（３）のタイミングの直前のｋ回のＡ／Ｄ変換値Ｘ［］の加算電流値Ｙ［］は、今回（図４の（１）〜（３）の範囲）の変調パルスに応じてソレノイド４に通電して電流検出器６から取得した検出電流を含んでいる。なお、ここで加算する加算電流値Ｙ［］は、それ以前（すなわち過去の図４の（１）のタイミング以前）の変調パルスに応じてソレノイド４に通電して電流検出値６により検出した検出電流を含んでいても良い。
【００４５】
したがって、ＣＰＵ７が図４（ｃ）に示すソフトウェア算出処理で求める次回（（４）のタイミング以降）の変調パルスの指令デューティ比および指令周期の値は、今回（（１）〜（３）のタイミング）の変調パルスに応じてソレノイド４に流れる通電電流の値を利用して算出した値となる。
【００４６】
ＣＰＵ７が、指令デューティ比および指令周期を算出するための算出時間は、ＣＰＵ７が処理するその他の処理の優先度によって毎回異なる。例えばエンジンのクランク周期に応じた割込処理（噴射処理）、ウォッチドックタイマ割込処理などは割込優先度が高いため優先的に処理が行われることが多い。このため、これらの影響を考慮し、ＣＰＵ７が算出処理を行うために必要とされる最大算出時間を予め求め、この最大算出時間を超える所定時間ｔだけ遡る時間に対応した計数値を割込設定レジスタ１５に設定しておくと良い。するとＣＰＵ７は、カウント値ＣＮＴが計数閾値Ｃｔに達してから所定時間ｔが経過するまでの間に次回の指令デューティ比、指令周期の算出処理を終了できる。
【００４７】
そして、ＣＰＵ７が図４（ｆ）の（Ｂ）のタイミングにおいて比較器１７からレジスタ書換指令信号を受信すると、ＣＰＵ７は算出処理で算出した次回の指令デューティ比、指令周期に対応した計数値を、それぞれデューティ比レジスタ１３、周期初期値レジスタ２１に書き換える。その後、変調周期カウンタ２０は次の周期のカウントを開始する。このようにして処理が繰り返される。
【００４８】
比較例を図５に示している。この図５に示すように、ＣＰＵ７が次回の変調パルスのデューティ比および周期のソフトウェア算出処理を変調パルスの立上りタイミングに同期して開始することを考慮する。このとき、ＣＰＵ７がソフトウェア算出処理に利用可能なＡ／Ｄ変換値Ｘ［］は、当該ＣＰＵ７がソフトウェア算出処理を開始する直前のｋ回のＡ／Ｄ変換値Ｘ［］である（図５（ｄ）の（６）のＡ／Ｄ変換値参照）。
【００４９】
したがって、ＣＰＵ７がソフトウェア算出処理を変調パルスの立上りタイミングに同期して開始したとしても指令デューティ比、指令周期を反映できるのは、次回の変調パルスの立上りタイミングであり、図５（ｄ）の（６）に示す範囲のＡ／Ｄ変換値Ｘ［］を利用してフィードバックするには２周期遅れてしまう。これにより、図４の制御動作に比較すれば制御の応答性に劣る。
【００５０】
本実施形態によれば、ＣＰＵ７は今回の変調パルスに応じた生じた電流検出器６のＡ／Ｄ変換値Ｘ［］を含む加算電流値Ｙ［］を用いて、次回の変調パルスのデューティ比／周期の算出を開始している。所定時間ｔはＣＰＵ７がデューティ比および周期を算出する最大算出時間を超える時間に設定されており、ＣＰＵ７は、カウント値ＣＮＴが計数閾値Ｃｔに達してから所定時間ｔが経過するまでの間に算出処理を終了できる。
【００５１】
したがって、変調パルスの単位波形の開始タイミングにおいて、ＣＰＵ７は、デューティ比レジスタ１３、周期初期値レジスタ２１に、それぞれ指令デューティ比、指令周期に対応した計数値を設定できる。これにより、今回の変調パルスのデューティ比、周期に応じて検出された検出電流値を用いて、次回の変調パルスの指令デューティ比、指令周期に反映させることができる。これにより、制御の応答性を向上できる。
【００５２】
図６および図７は、変調パルスの周期を変更したときの動作をタイミングチャートで示している。前述したように、ＣＰＵ７が指令周期を変更するときには、周期初期値レジスタ２１の計数値を変更することで指令周期を変更している。
【００５３】
図６に示す例では、初期値Ｃｓ１を初期値Ｃｓ２（＞Ｃｓ１）に変更している。ＣＰＵ７は、周期最終値レジスタ１４が保持する最終値Ｃｅを変更しても指令周期を変更できるが、最終値Ｃｅを変更することなく周期初期値レジスタ２１が保持する初期値Ｃｓを変更した方が良い。
【００５４】
これは、割込設定レジスタ１５の保持値が、最終値Ｃｅから最大算出時間を超える所定時間ｔに対応した計数値だけ遡って設定した定数値であるためであり、最終値Ｃｅを変更しなければ割込設定レジスタ１５の保持値も変更せず定数として扱えば済むためである。この場合、周期初期値レジスタ２１の保持値を変更するのみで指令周期を変更できる。
【００５５】
また、ＣＰＵ７が指令周期を大きくしたときには、この周期の増加数に応じてＡ／Ｄ変換値Ｘ［］の加算回数（サンプリング数ｋ）を増やすと良い。このとき、ＣＰＵ７は乗算器２３の係数の設定を変更する。図７に示す例では、ＣＰＵ７は、５段目の遅延器２２の直後の乗算器２３（図６には符号２３ａを付す）の係数値を「０」から「１」に変更している。これにより平均電流値の算出精度を向上できる。
【００５６】
以上説明したように、本実施例によれば、処理負荷を極力大きくすることなく、変調パルスの単位波形毎にデューティ比／周期を逐次算出して設定できる。また、直前の変調パルスに応じて生じた検出電流値を用いて次回の変調パルスのデューティ比／周期を制御できる。
【００５７】
（他の実施形態）
前述実施形態に限定されるものではなく、例えば、以下に示す変形または拡張が可能である。
前述実施形態に示した電気的構成（例えば、ＣＰＵ７、タイマモジュール８、Ａ／Ｄ変換モジュール９、デジタルフィルタ１１、等）の機能は、ハードウェアのみで構成しても、ソフトウェアを用いて実現しても良い。ソフトウェアを用いて実現したときには、例えばソフトウェア割込みを用いて、各種ハードウェアの割込信号（例えば比較器１７、１８が出力する割込信号）を生成すれば良い。
【００５８】
前述実施形態では、変調周期カウンタ２０としてダウンカウンタを用いた実施形態を示したが、これに限らず、アップカウンタを用いても良い。この場合、初期値（第１計数値）＜最終値（第２計数値）であり、変調周期カウンタ２０は所定ステップ毎にカウントアップする。この場合も、初期値Ｃｓのみを変更するだけでも変調パルスの指令周期を変更できる。
【００５９】
パルス信号は、デューティ比および周期を変動させるＰＷＦＭ信号に限られず、周期一定でデューティ比を変動させるＰＷＭ信号、デューティ比一定で周期を変動させるＰＦＭ信号に適用しても良い。したがって、周期初期値レジスタ２１、周期最終値レジスタ１４の保持値を共に定数値とすると共にデューティ比レジスタ１３の保持値を変数値とし、周期一定でデューティ比を変動させるＰＷＭ信号を生成する装置に適用しても良い。
【００６０】
また逆に、周期初期値レジスタ２１、周期最終値レジスタ１４の保持値を共に変数値とすると共にデューティ比レジスタ１３の保持値を定数値とし、デューティ比一定で周期を変動させるＰＦＭ信号を生成する装置に適用しても良い。
【００６１】
前述では、リニアソレノイド４の通電電流に応じたフィードバック処理に適用した実施形態を示しているが、その他のアプリケーションに適用しても良い。例えばモータコイルの通電電流のフィードバック処理に適用しても良い。トランジスタ３のオンオフタイミングにおいて通電電流が急激に変化するとリンギング現象を生じる虞があるが、この場合、Ａ／Ｄ変換モジュール９がサンプリングするタイミングは当該電流変化が安定した後とすると良い。したがって、Ａ／Ｄ変換モジュール９による過去のサンプリング値の加算回数（平均回数）はこれらの影響を勘案し適宜調整すると良い。
【００６２】
また、電流値ではなく温度等の他の物理量を測定し当該測定値をフィードバックして変調パルスのデューティ比／周期を算出処理するアプリケーション（例えばＡ／Ｆヒータ制御等）に適用しても良い。
【００６３】
また、電流値等をフィードバックすることなく、変調パルスのデューティ比／周期を逐次算出処理するアプリケーション（例えばＡＴ（Automatic Transmission）用リニアソレノイドバルブの制御等）に適用しても良い。
【符号の説明】
【００６４】
図面中、２はマイクロコンピュータ（パルス信号生成装置）、７はＣＰＵ（算出手段）、１４は周期最終値レジスタ（第２計数値記憶手段）、１５は割込設定レジスタ（記憶手段）、２０は変調周期カウンタ（変調周期計数手段）を示す。
【図１】
0005621795.tif 000002
【図２】
0005621795.tif 000003
【図３】
0005621795.tif 000004
【図４】
0005621795.tif 000005
【図５】
0005621795.tif 000006
【図６】
0005621795.tif 000007
【図７】
0005621795.tif 000008