(57)【要約】      （修正有）【課題】即時出力固定要求を受け付けたときにＰＷＭ信号の出力レベルを即時出力固定要求に応じた指令固定レベルに即座に変更できるようにした電子制御装置を提供する。【解決手段】ＰＷＭ出力回路１９は、通常時、タイマカウンタ１４により初期値からカウント開始時に第１レベル「１」とし、カウント値が現在デューティレジスタ１２の値に達した時に第２レベル「０」とし、現在周期レジスタ１０の値に達した時に再度第１レベル「１」とする。エッジ極性切替部１８は、現在周期レジスタ１０を保持したまま、即時出力固定要求を受け付けたときに当該即時出力固定要求の指令固定レベル「ＯＮ」「ＯＦＦ」に応じて、エッジ極性を切替える。ＣＰＵ８は、即時出力固定要求の指令固定レベルに応じた固定デューティ値を次回デューティレジスタ１３に設定するときには、エッジ極性切替部１８によるエッジ極性に応じた固定デューティ値に設定する。【選択図】図２
2019016974.tif 000002
【特許請求の範囲】
【請求項１】
ＰＷＭ信号の指令周期を記憶する指令周期記憶部（１０）と、
現在のＰＷＭ信号の指令デューティ値を記憶する現在デューティ記憶部（１２）と、
前記現在デューティ記憶部に記憶値を転送可能に構成され次回のＰＷＭ信号の指令デューティを記憶する次回デューティ記憶部（１３）と、
前記指令周期記憶部に記憶された指令周期に対応した周期カウント値までカウントするカウンタ（１４）と、
通常時、前記カウンタにより初期値からカウント開始した時に第１レベルとし前記カウンタのカウント値が前記現在デューティ記憶部の指令デューティに応じたデューティ値に達した時に第２レベルとし、前記カウンタのカウント値が前記周期レジスタの指令周期に応じた周期カウント値に達した時に再度第１レベルとする出力部（１９）と、
前記指令周期記憶部に前記ＰＷＭ信号の指令周期を保持したまま即時出力固定要求を受け付けたときに当該即時出力固定要求の指令固定レベルに応じて、前記出力部の出力レベルにライズ／フォールのエッジ極性の変更有無を切替えるエッジ極性切替部（１８、Ｓ１０５ａ，Ｓ１０５ｂ）と、
前記即時出力固定要求の指令固定レベルに応じた固定デューティ値を前記次回デューティ記憶部に設定するブロックであって、当該固定デューティ値を設定するときには前記エッジ極性切替部によるエッジ極性の変更有無に応じた固定デューティ値に設定する次回デューティ値設定部（８，Ｓ１０２，Ｓ１０７）と、
を備える電子制御装置。
【請求項２】
フラグ設定されると前記カウンタのカウント値を前記現在デューティ記憶部の指令デューティに強制的に見做しマッチさせる強制デューティマッチ指令記憶部（１７）と、
前記エッジ極性切替部により極性を変更し（Ｓ１０５ａ）つつ、前記強制デューティマッチ指令記憶部にフラグ設定する（Ｓ１０８）強制デューティマッチ設定部（８）と、
をさらに備える請求項１記載の電子制御装置。
【請求項３】
フラグ設定されると前記カウンタのカウント値を前記現在デューティレジスタの指令デューティに強制的に見做しマッチさせる強制デューティマッチ指令記憶部（１７）と、
前記エッジ極性切替部による極性を変更せずに保持し（Ｓ１０５ｂ）つつ、前記強制デューティマッチ指令記憶部にフラグ設定する（Ｓ１０８）強制デューティマッチ設定部（８）と、
をさらに備える請求項１記載の電子制御装置。
【請求項４】
前記即時出力固定要求の指令固定レベルがオンレベルであるときには、前記エッジ極性切替部により極性を変更し（Ｓ１０５ａ）つつ、前記次回デューティ記憶部に次回の指令デューティ値を０に設定し（Ｓ１０７）、その後、前記強制デューティマッチ設定部により前記強制デューティマッチ指令記憶部にフラグ設定する（Ｓ１０８）請求項２記載の電子制御装置。
【請求項５】
前記即時出力固定要求の指令固定レベルがオフレベルであるときには、前記エッジ極性切替部による極性を保持し（Ｓ１０５ｂ）つつ、前記次回デューティ記憶部に次回の指令デューティ値を０に設定し（Ｓ１０２）、その後、前記強制デューティマッチ設定部により前記強制デューティマッチ指令記憶部にフラグ設定する（Ｓ１０８）請求項３記載の電子制御装置。
【請求項６】
前記指令周期記憶部及び前記現在デューティ記憶部は読取可能及び書換不能で、且つ前記次回デューティ記憶部が書換可能に構成されている請求項１から５の何れか一項に記載の電子制御装置。
【請求項７】
前記即時出力固定要求を受け付けたときに当該即時出力固定要求の指令固定レベルに応じて前記エッジ極性切替部によりエッジ極性を変更したときには、前記即時出力固定要求を解除し通常出力に復帰するための通常出力復帰要求を受け付けたときにはエッジ極性を復元するエッジ極性復元部（８，Ｓ２０３）をさらに備える請求項１から６の何れか一項に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パルス幅変調信号（以下、ＰＷＭ信号と称す）を生成する電子制御装置に関する。
【背景技術】
【０００２】
従来、ＰＷＭ信号を生成する電子制御装置は、ＣＰＵがＰＷＭタイマのカウント動作を開始指示することで動作開始し、ＰＷＭタイマのカウント値がデューティ設定レジスタの記憶値に達したときにＰＷＭ信号のレベルを戻し、ＰＷＭタイマのカウント値が周期設定レジスタの記憶値に達したときにＰＷＭタイマの一周期分のカウント動作を終了するように構成されている（例えば、特許文献１参照）。
【０００３】
この特許文献１記載によれば、現在の周期を記憶する周期設定レジスタ（ＲＥＧＣ）、次回のＰＷＭ用周期設定レジスタ（ＢＦＲＥＧＣ）、デューティ設定レジスタ（ＲＥＧＤ）、次回のＰＷＭ用デューティ設定レジスタ（ＢＦＲＥＧＤ）、を備えており、次回のＰＷＭ用周期設定レジスタの記憶値を周期設定レジスタに転送したり、次回のＰＷＭ用デューティ設定レジスタの記憶値をデューティ設定レジスタに転送したりすることが可能になっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−１６０８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、この種の電子制御装置は、例えばアプリケーションなどの上位層からＰＷＭ信号の指令周期を保持したまま、即時出力固定要求（例えば、即時オン固定要求又は即時オフ固定要求）を受付けることがあり、これらの即時出力固定要求を受け付けると、即時にＰＷＭ信号の出力レベルを即時出力固定要求に応じた指令固定レベル（例えば、オンレベル、オフレベル）に強制的に変更させることが要望されている。
【０００６】
しかしながら、発明者らが特許文献１記載の技術を用いて即時出力固定要求の技術を実現したものの、各種レジスタ（記憶部）に多数回アクセスする必要を生じており、複雑な制御を実行しなければならず、多大な処理時間を要することが判明している。このため、処理時間を極力少なくすることが望まれている。
【０００７】
本発明の目的は、各種記憶部に対し多数回アクセスしなくても良くなり、即時出力固定要求を受け付けたときにＰＷＭ信号の出力レベルを即時出力固定要求に応じた指令固定レベルに即座に設定できるようにした電子制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
請求項１記載の発明によれば、指令周期記憶部、現在デューティ記憶部、次回デューティ記憶部、カウンタ、出力部、エッジ極性切替部、及び次回デューティ値設定部、を備える。ここで指令周期記憶部はＰＷＭ信号の指令周期を記憶する。現在デューティ記憶部は、現在のＰＷＭ信号の指令デューティ値を記憶する。次回デューティ記憶部は、現在デューティ記憶部に記憶値を転送可能に構成され次回のＰＷＭ信号の指令デューティを記憶する。カウンタは、指令周期記憶部に記憶された指令周期に対応した周期カウント値までカウントする。
【０００９】
出力部は、通常時、カウンタにより初期値からカウント開始した時に第１レベルとしカウンタのカウント値が現在デューティレジスタの指令デューティに応じたデューティ値に達した時に第２レベルとし、カウンタのカウント値が周期レジスタの指令周期に応じた周期カウント値に達した時に再度第１レベルとする。即時出力固定要求を受け付けたときには、エッジ極性切替部は指令周期記憶部にＰＷＭ信号の指令周期を保持したまま当該即時出力固定要求の指令固定レベルに応じて、出力部の出力レベルにライズ／フォールのエッジ極性の変更有無を切替える。そして、次回デューティ値設定部は、即時出力固定要求の指令固定レベルに応じた固定デューティ値を次回デューティ記憶部に設定するときにはエッジ極性切替部によるエッジ極性の変更有無に応じた固定デューティ値に設定するようにしている。
【００１０】
したがって、エッジ極性切替部によるエッジ極性の変更有無に応じた固定デューティ値を設定することでＰＷＭ信号の出力レベルを即時出力固定要求に応じた指令固定レベルに即座に設定できるようになり、各種記憶部（例えば、指令周期記憶部、現在デューティ記憶部、次回デューティ記憶部）に多数回アクセスする必要がなくなり、即時出力固定要求を受け付けたときにも指令固定レベルに即座に設定できるようになる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態に係る電子制御装置の内部構成を概略的に示すブロック図
【図２】ＰＷＭ制御部の内部構成を概略的に示すブロック図
【図３】通常のＰＷＭ出力回路の出力状態と各記憶部の値の変化を示すタイミングチャート
【図４】強制デューティマッチ設定時の流れを示すタイミングチャート
【図５】即時固定要求を受け付けたときに実行する処理内容を示すフローチャート
【図６】即時オン固定要求を受け付けたときのＰＷＭ出力回路の出力状態と各記憶部の値の変化を示すタイミングチャート
【図７】即時オフ固定要求を受け付けたときのＰＷＭ出力回路の出力状態と各記憶部の値の変化を示すタイミングチャート
【図８】第２実施形態について、即時固定要求を受け付けた後に通常出力復帰要求を受け付けた場合の処理内容を示すフローチャート
【図９】即時オフ固定要求を受け付けた後に通常出力復帰要求を受け付けた場合のタイミングチャート
【図１０】即時オン固定要求を受け付けた後に通常出力復帰要求を受け付けた場合のタイミングチャート
【発明を実施するための形態】
【００１２】
以下、本発明の電子制御装置の幾つかの実施形態について図面を参照しながら説明する。第２実施形態以降においては、第１実施形態と同一又は類似部分に同一又は類似符号を付して必要に応じて説明を省略し、第２実施形態以降では第１実施形態と異なる部分を中心に説明する。
【００１３】
（第１実施形態）
図１から図７は第１実施形態の説明図を示している。図１は車両に搭載された多数の電子制御装置（ＥＣＵ）のうちの一部の電子制御装置１と、センサ２，３及びソレノイド４との接続関係を示している。
【００１４】
電子制御装置１は、例えばエンジンＥＣＵとして機能するもので内部にマイクロコンピュータ（以下、マイコンと略す）５、入力回路６、及び出力回路７を備える。この電子制御装置１には車速センサ２及び回転数センサ３が接続されている。車速センサ２は、車両の速度に応じた信号を検出しこの検出信号を電子制御装置１に出力する。回転数センサ３は、クランクセンサ（図示せず）の回転数に応じた信号を検出しこの検出信号を電子制御装置１に出力する。
【００１５】
マイコン５は、制御指令主体となるＣＰＵ８、及び、このＣＰＵ８による指令を受けて実質的に制御するＰＷＭ制御部９を備え、さらにＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ等による記憶部（図示せず）を備える。この記憶部は非遷移的実態的記録媒体として用いられる。このマイコン５は、車速センサ２及び回転数センサ３から入力回路６を通じて検出信号をＣＰＵ８に入力し、ＣＰＵ８は、記憶部に記憶されたプログラムに応じてソレノイド４をＰＷＭ駆動制御するために必要な値を演算処理する。ＣＰＵ８は記憶部に記憶されたプログラムを実行することに応じて、次回デューティ値設定部、強制デューティマッチ設定部としての機能を実現する。ＣＰＵ８は、この値をＰＷＭ制御部９に出力し、ＰＷＭ制御部９は出力回路７を通じてＰＷＭ信号を出力しソレノイド４をＰＷＭ駆動制御する。
【００１６】
図２はＰＷＭ制御部９の内部構成を概略的に示すブロック図である。ＰＷＭ制御部９は、指令周期記憶部及び現在周期記憶部としての現在周期レジスタ１０、次回周期記憶部としての次回周期レジスタ１１、現在デューティ記憶部としての現在デューティレジスタ１２、次回デューティ記憶部としての次回デューティレジスタ１３、タイマカウンタ（カウンタ相当）１４、第１比較器１５、第２比較器１６、強制デューティマッチ指令記憶部としての強制デューティマッチ生成レジスタ１７、エッジ極性切替部１８、及び、出力部としてのＰＷＭ出力回路１９、によるブロックを備える。
【００１７】
現在周期レジスタ１０及び現在デューティレジスタ１２は読取可能であるものの書換不能なレジスタであり、次回周期レジスタ１１及び次回デューティレジスタ１３は書換可能なレジスタである。ＣＰＵ８は次回周期レジスタ１１の記憶値を現在周期レジスタ１０に対し転送命令により転送可能になっており、次回デューティレジスタ１３の記憶値を現在デューティレジスタ１２に対し転送命令により転送可能になっている。
【００１８】
このため、現在周期レジスタ１０、現在デューティレジスタ１２の記憶値を更新、書換えるためには、一旦、次回周期レジスタ１１、次回デューティレジスタ１３に値を書換えた後、これらのレジスタ１１，１３の値をそれぞれ現在周期レジスタ１０、現在デューティレジスタ１２にリロードする。
【００１９】
タイマカウンタ１４は、ＣＰＵ８からクロック信号を入力するとカウントアップする。タイマカウンタ１４は、入力されるクロック信号の立上り又は立下りエッジ発生回数をカウントする。第１比較器１５は、タイマカウンタ１４のカウンタ値と現在デューティレジスタ１２の記憶値とを比較し、タイマカウンタ１４のカウンタ値が現在デューティレジスタ１２の記憶値を下回っているときには、通常時、第１レベル（例えば「１」）を比較結果としてエッジ極性切替部１８に出力し、タイマカウンタ１４のカウンタ値が現在デューティレジスタ１２の記憶値以上になると、通常時、第２レベル（例えば「０」）を比較結果としてエッジ極性切替部１８に出力する。
【００２０】
この第１比較器１５は、強制デューティマッチ生成レジスタ１７を強制デューティ指令記憶部として接続している。この強制デューティマッチ生成レジスタ１７は、ＣＰＵ８によりデューティマッチ指令用のフラグが設定されることに応じて、タイマカウンタ１４のカウンタ値が現在デューティレジスタ１２の記憶値よりも下回っていてもタイマカウンタ１４のカウント値を現在デューティレジスタ１２の指令デューティに強制的に見做しマッチさせる機能を備えており、第１比較器１５の比較結果を第２レベル（例えば「０」）に変更してエッジ極性切替部１８に出力する強制指令用のレジスタである。
【００２１】
第２比較器１６は、タイマカウンタ１４のカウンタ値と現在周期レジスタ１０の記憶値とを比較し、例えばタイマカウンタ１４のカウンタ値が現在周期レジスタ１０の記憶値を下回っているときには、通常時、第２レベル（例えば「０」）を比較結果としてエッジ極性切替部１８に出力し、タイマカウンタ１４のカウンタ値が現在周期レジスタ１０の記憶値以上になると、通常時、第１レベル（例えば「１」）を比較結果としてエッジ極性切替部１８に出力する。エッジ極性切替部１８は、ＣＰＵ８から入力される極性切替命令によりライズ／フォールのエッジ極性を切替可能になっている。このエッジ極性切替部１８は第１及び第２比較器１５及び１６の出力及び極性切替命令に応じて出力レベル「ON」「OFF」の何れかを設定しＰＷＭ出力回路１９に出力する。
【００２２】
このため、ＰＷＭ出力回路１９が設定された出力レベル（例えばオンレベル「ON」、オフレベル「OFF」）を出力すると、出力回路７は、この出力レベル「ON」「OFF」に対応した電圧をソレノイド４に印加することで当該ソレノイド４をＰＷＭ駆動制御できる。
前述した構成の動作の具体例について図３以降の図面を参照しながら説明する。
【００２３】
＜通常動作について＞
通常時、ＣＰＵ８が、次回周期レジスタ１１及び次回デューティレジスタ１３にそれぞれ値を設定し、現在周期レジスタ１０、及び現在デューティレジスタ１２に値が転送されると、ＰＷＭ制御部９は、これらのレジスタ１０〜１３に記憶された値に基づいて動作しＰＷＭ信号を出力する。
【００２４】
例えば図３に示すように、ＣＰＵ８が、次回周期レジスタ１１にＴ、次回デューティレジスタ１３にＴ／２を指令周期および指令デューティとして設定し、さらに、現在周期レジスタ１０にＴ、現在デューティレジスタ１２にＴ／２が転送された場合を例に挙げて説明する。前述したように、エッジ極性切替部１８によるエッジ極性はライズ／フォールに切替設定可能になっているが、例では初期状態をライズエッジとする。
【００２５】
タイマカウンタ１４は、ＣＰＵ８からクロック信号が与えられると初期値（例えば０）からカウントアップし、現在周期レジスタ１０の記憶値Ｔに達するまでカウントする（図３の期間Ｔａ，Ｔｂ等参照）。
【００２６】
タイマカウンタ１４がカウント開始すると、第２比較器１６は、現在周期レジスタ１０の記憶値Ｔとタイマカウンタ１４のカウンタ値とを比較し、タイマカウンタ１４のカウンタ値が現在周期レジスタ１０の記憶値Ｔを下回るときに第２レベル「０」を出力する。第１比較器１５は、現在デューティレジスタ１２の記憶値Ｔ／２とタイマカウンタ１４のカウンタ値とを比較し、タイマカウンタ１４のカウンタ値が現在デューティレジスタ１２の記憶値Ｔ／２を下回るときに第１レベル「１」を出力する。このため、エッジ極性切替部１８は、第１比較器１５により出力される第１レベル「１」をライズエッジ出力することでオンレベル「ON」を出力し、これに応じて、ＰＷＭ出力回路１９はオンレベル「ON」を出力する（図３の期間Ｔａ参照）。
【００２７】
タイマカウンタ１４のカウント値がＴ／２に達すると、この値Ｔ／２が現在デューティレジスタ１２の記憶値Ｔ／２に一致するため、第１比較器１５は第２レベル「０」を出力する。なお、タイマカウンタ１４のカウント値が、デューティに対応した値に一致することを、以下では必要に応じて「デューティマッチ」と称する。
【００２８】
エッジ極性切替部１８は、第１比較器１５により出力される第２レベル「０」をライズエッジ出力することでオフレベル「OFF」を出力し、これに応じて、ＰＷＭ出力回路１９はオフレベル「OFF」を出力する。これにより、タイマカウンタ１４のカウンタ値が、現在デューティレジスタ１２の指令デューティに応じたデューティ値Ｔ／２に達した時にオフレベル「OFF」を出力する（図３の期間Ｔｂ参照）。
【００２９】
さらに、タイマカウンタ１４のカウント値がＴに達すると、この値Ｔが現在周期レジスタ１０の記憶値Ｔに一致するため、第２比較器１６が第１レベル「１」を出力する。なお、タイマカウンタ１４のカウント値が、周期に対応した値に一致することを、以下では必要に応じて「周期マッチ」と称する。
【００３０】
タイマカウンタ１４は、この第２比較器１６の出力レベル「１」を入力し、タイマカウンタ１４を初期値（例えば０）にクリアする。ＣＰＵ８は、このクロック信号のカウント値Ｔを計数して周期マッチすると、一周期経過したと判断し、次回周期レジスタ１１の記憶値を現在周期レジスタ１０にリロードさせると共に、次回デューティレジスタ１３の記憶値を現在デューティレジスタ１２にリロードさせる。
【００３１】
したがって、通常時には、タイマカウンタ１４が初期値０からカウントをスタートすると、ＰＷＭ出力回路１９は、初期値からカウント開始した時に第１レベル「１」としタイマカウンタ１４のカウント値が現在デューティレジスタ１２の指令デューティに応じたデューティ値に達した時に第２レベル「０」とし、タイマカウンタ１４のカウント値が現在周期レジスタ１０の指令周期Ｔに応じた周期カウント値に達した時に再度第１レベル「１」を出力する。
【００３２】
したがって、図３の期間Ｔａ、Ｔｂの中で、次回デューティレジスタ１３が値Ｔ／２に設定されているときには、期間Ｔｃの始期に、次回デューティレジスタ１３の値Ｔ／２が現在デューティレジスタ１２に転送されることになり、ＰＷＭ出力回路１９は、期間Ｔｃ，Ｔｄにおいても周期Ｔ、デューティ値Ｔ／２（デューティ比５０％）のＰＷＭ信号を出力する。
【００３３】
ＣＰＵ８は、期間Ｔｃまたは期間Ｔｄにおいて次回デューティレジスタ１３に値Ｔ／４を設定すると、その次のＰＷＭ信号の出力期間Ｔｅ，Ｔｆにおいて、この次回デューティレジスタ１３の値Ｔ／４が現在デューティレジスタ１２に転送されることになる。このため、ＰＷＭ出力回路１９は、期間Ｔｅ，Ｔｆにおいて周期Ｔ、デューティ値Ｔ／４（デューティ比２５％）のＰＷＭ信号を出力する。
【００３４】
なお、ここでは詳細説明を省略するが、ＣＰＵ８が次回周期レジスタ１１に値Ｔとは異なる値（例えば２・Ｔとする）を設定することで、次周期のＰＷＭ信号の出力開始タイミングにおいて、この次回周期レジスタ１１の値２・Ｔが現在周期レジスタ１０にリロードされる。このとき、ＰＷＭ出力回路１９は、周期２・ＴのＰＷＭ信号を出力することになる。
【００３５】
＜強制デューティマッチの基本的機能＞
ＣＰＵ８が強制デューティマッチ生成レジスタ１７にフラグ設定すると、第１比較器１５は、この強制デューティマッチ生成レジスタ１７のセットフラグに応じてタイマカウンタ１４と現在デューティレジスタ１２のコンペアマッチを強制的に発生させることができる。
【００３６】
したがって図４に示すように、ＰＷＭ出力回路１９がオンレベル「ON」を出力しているときに、ＣＰＵ８が強制デューティマッチ生成レジスタ１７にフラグセットすると、第１比較器１５の比較結果に拘わらず、第１比較器１５は強制的に第２レベル「０」を出力するようになり、エッジ極性切替部１８は、第１比較器１５の出力「０」をライズエッジ極性として出力することでオフレベル「OFF」を出力し、これに応じて、ＰＷＭ出力回路１９はオフレベル「OFF」を次回のＰＷＭ信号を発生開始させるまで出力し続ける。これにより、特に次回デューティレジスタ１３に次回の値を設定することなく出力レベルをオフレベル「OFF」に固定でき、特に固定オフレベル「OFF」を出力するときに即時性が要求されるときには都合がよい。なお、この強制デューティマッチ生成レジスタ１７のフラグは、強制デューティマッチ設定処理を終了することでハードウェア的に即時クリアされる（図４のFlagSET参照）。
【００３７】
＜即時固定要求に応じた出力レベル固定機能＞
前述のとおり、ＣＰＵ８が、強制デューティマッチ生成レジスタ１７にフラグ設定すると、タイマカウンタ１４と現在デューティレジスタ１２とのコンペアマッチを強制的に発生させることができるが、ＰＷＭ出力回路１９がオフレベル「OFF」を出力しているときにオンレベル「ON」の出力に強制的に切替える場合には、強制デューティマッチ生成レジスタ１７にフラグ設定しても、第１比較器１５は第２レベル「０」を強制的に出力し続けることになりＰＷＭ出力回路１９はオフレベル「OFF」を出力し続けることになってしまう。
【００３８】
このため本実施形態では利便性を高めるため、アプリケーションによる上位層からの即時固定要求の指令固定レベルのオンレベル「ON」，オフレベル「OFF」の何れにも対応するため、ＣＰＵ８は、図５のフローチャートに示す処理を実行する。
【００３９】
まず図５に示すように、ＣＰＵ８は、即時固定要求の指令固定レベルがオンレベル「ON」であるか、オフレベル「OFF」であるかを判定する（Ｓ１００）。このときＣＰＵ８は、Ｓ１００において指令固定レベルがオンレベル「ON」であれば、一旦、デューティ比を１００％に設定し（Ｓ１０１）てから、Ｓ１０３に移行する。すなわち、現在周期レジスタ１０の記憶値が値Ｔに設定されていれば、ＣＰＵ８は、この周期の値Ｔのデューティ比１００％に対応するデューティ値Ｔを次回デューティレジスタ１３にセットしてからＳ１０３に移行する。逆にＣＰＵ８は、Ｓ１００において指令固定レベルがオフレベル「OFF」であれば、デューティ比を０％に設定し（Ｓ１０２）てから、Ｓ１０３に移行する。すなわちＣＰＵ８は、Ｓ１０２において次回デューティレジスタ１３に値０をセットしてＳ１０３に移行する。
【００４０】
＜Ｓ１０３の処理時点にて余裕時間を確保できない場合＞
ここでＣＰＵ８は、Ｓ１０３の処理を実行している時点で、周期マッチまでの時間が予め定められた余裕時間以上あるか否かを判定し（Ｓ１０３）、余裕時間以上なければ（ＮＯ）、この処理ルーチンを抜け、次回周期レジスタ１１及び次回デューティレジスタ１３の転送処理まで待機する。ここで、この「余裕時間以上ある」条件とは、「次回の周期マッチの予定時刻から現在時刻を減算した時間」と「設定に必要な時間」とを比較して前者が後者の時間以上ある条件を示している。
【００４１】
一旦処理ルーチンを抜けて転送処理に移行すると、次周期のＰＷＭ信号の出力開始タイミングにおいて、次回周期レジスタ１１及び次回デューティレジスタ１３の値が、それぞれ現在周期レジスタ１０及び現在デューティレジスタ１２にリロードされる。
【００４２】
これによりＰＷＭ出力回路１９は、デューティ比１００％又は０％のＰＷＭ信号、すなわちオンレベル「ON」又はオフレベル「OFF」を固定的に出力する。ＣＰＵ８は、周期マッチまでの時間＜余裕時間となるときに、少なくとも次回のＰＷＭ信号の出力開始タイミングにて即時固定要求に応えることができ、この固定レベル「ON」又は「OFF」を出力できるようになる。
【００４３】
＜Ｓ１０３の処理時点にて余裕時間を確保できる場合＞
他方ＣＰＵ８は、Ｓ１０３の処理を実行している時に、周期マッチまでの時間が余裕時間以上ある場合には（Ｓ１０３：ＹＥＳ）、設定されているデューティ比に応じた処理を実行する（Ｓ１０５ａ，Ｓ１０６ａ，Ｓ１０７：Ｓ１０５ｂ，Ｓ１０６ｂ）。
【００４４】
＜＜即時固定要求の指令固定レベルがオンレベル「ON」の場合：図６＞＞
図５において、指令固定レベルがオンレベル「ON」であり、Ｓ１０１においてデューティ比が１００％に設定されたときには、ＣＰＵ８はＳ１０４にてＹＥＳと判定し、エッジ極性切替部１８に極性変更指令し（Ｓ１０５ａ）、エッジ極性変更フラグをオンし（Ｓ１０６ａ）、次回のデューティ比を０％に対応したタイマカウンタ１４の値、すなわち値０に設定し（Ｓ１０７）、強制デューティマッチ生成レジスタ１７にフラグ設定する（Ｓ１０８）。
【００４５】
ＣＰＵ８はＳ１０５ａにおいてエッジ極性変更指令すると、図６に示すように、エッジ極性切替部１８はライズエッジをフォールエッジに切替変更する。そしてＣＰＵ８は、Ｓ１０６ａにおいてエッジ極性変更フラグをオンし、Ｓ１０７においてデューティ比を０％に設定するため次回デューティレジスタ１３に値０をセットする。そしてＣＰＵ８は、Ｓ１０８において強制デューティマッチ生成レジスタ１７にフラグ設定すると、第１比較器１５の比較結果に拘わらず、第１比較器１５は強制的に第２レベル「０」を出力する。エッジ極性切替部１８は、第１比較器１５の出力レベル「０」をフォールエッジ出力することでオンレベル「ON」を出力し、これに応じてＰＷＭ出力回路１９はオンレベル「ON」を出力する（図６のタイミングｔ１参照）。なお、この強制デューティマッチ生成レジスタ１７のフラグはハードウェア的に即時クリアされる。
【００４６】
この後、次の周期マッチのときには、図６のタイミングｔ２に示すように、次回デューティレジスタ１３の記憶値０が現在デューティレジスタ１２にリロードされデューティ比が０％とされ、このタイミングｔ２以降においても、即時固定要求に応じて出力されているオンレベル「ON」が継続して出力され続ける。
【００４７】
これにより、即時固定要求の指令固定レベルのオンレベル「ON」に応じて、ＰＷＭ出力回路１９はオンレベル「ON」を出力し続ける。このように、オンレベル「ON」を出力し続けるとき、現在周期レジスタ１０および次回周期レジスタ１１は変更されないため、要求受付時の指令周期Ｔを保ったまま、周期マッチを繰り返すことになる。
【００４８】
＜＜即時固定要求の指令固定レベルがオフレベル「OFF」の場合：図７＞＞
図５において、指令固定レベルがオフレベル「OFF」であるときに、Ｓ１０２においてデューティ比が０％に設定されているときには、この指令固定レベル「OFF」が実際にＰＷＭ出力回路１９が出力しているオフレベル「OFF」と等しくなる。このためエッジ極性切替部１８によるエッジ切替処理は不要となる。
【００４９】
したがってＣＰＵ８は、エッジ極性切替部１８による極性を保持し（Ｓ１０５ｂ：破線記載）、エッジ極性変更フラグをオフのままとする（Ｓ１０６ｂ：破線記載）。この破線記載部分はプログラムコード上で示されることはなく実質的に処理時間を要することはない。そしてＣＰＵ８は強制デューティマッチ生成レジスタ１７にフラグ設定する（Ｓ１０８）。
【００５０】
ＣＰＵ８は、Ｓ１０５ｂにてエッジ極性を保持し、Ｓ１０６ｂにて極性変更フラグをオフのまま保持し、Ｓ１０８において強制デューティマッチ生成レジスタ１７にフラグをセットする。すると、第１比較器１５の比較結果に拘わらず、第１比較器１５は強制的に第２レベル「０」を出力するようになり、エッジ極性切替部は、第１比較器１５の出力「０」をライズエッジ出力することでオフレベル「OFF」を出力し続ける。これに応じてＰＷＭ出力回路１９はオフレベル「OFF」を出力する（図７のタイミングｔ３参照）。
【００５１】
この後、次の周期マッチのときには、次回デューティレジスタ１３の値０が現在デューティレジスタ１２にリロードされ、その後においてもオフレベル「OFF」が出力され続けることになる（図７のタイミングｔ４以降参照）。これにより即時オフ固定要求に応じてＰＷＭ出力回路１９がオフレベル「OFF」を出力し続けることになる。このようにオフレベル「OFF」を出力し続けるときもまた、現在周期レジスタ１０および次回周期レジスタ１１は変更されないため、要求受付時の指令周期Ｔを保ったまま周期マッチを繰り返すことになる。
【００５２】
このように、ＣＰＵ８が更新設定すべきレジスタが、次回デューティレジスタ１３、エッジ極性切替部１８の設定レジスタ、強制デューティマッチ生成レジスタ１７だけであり、レジスタのアクセス回数を減らすことができると共に制御を簡素化でき、現在周期レジスタ１０および現在デューティレジスタ１２に書換不能なマイコン５を採用した場合においても、現在周期Ｔを固定しながら即時出力固定要求に即時対応できるようになる。
【００５３】
＜本実施形態の概念的なまとめ＞
要するに、本実施形態によれば次のような構成、作用効果を備える。現在周期レジスタ１０はＰＷＭ信号の指令周期（例えばＴ）を記憶しており、現在デューティレジスタ１０は現在のＰＷＭ信号の指令デューティ（例えばＴ／２）を記憶している。次回デューティレジスタ１３は、現在デューティレジスタ１２に記憶値を転送可能に構成されている。タイマカウンタ１４は、現在周期レジスタ１０に記憶された指令周期に対応した周期カウント値（例えばＴ）までカウントする。
【００５４】
通常時、ＰＷＭ出力回路１９は、タイマカウンタ１４が初期値からカウント開始した時にオンレベル「ON」とし、このタイマカウンタ１４のカウント値が指令デューティに応じたデューティ値（例えばＴ／２）に達した時に再度オフレベル「OFF」とする。さらにタイマカウンタ１４のカウント値が現在周期レジスタ１０の指令周期Ｔに応じた周期カウント値Ｔに達した時に再度オンレベル「ON」を出力する。
【００５５】
またエッジ極性切替部１８は、即時出力固定要求を受け付けたときに現在周期レジスタ１０にＰＷＭ信号の指令周期Ｔを保持したまま当該即時出力固定要求の指令固定レベルに応じて、出力レベルのライズ／フォールのエッジ極性の変更有無を切替える（Ｓ１０５ａ，Ｓ１０５ｂ）。
【００５６】
そしてＣＰＵ８は、指令固定レベル「ON」「OFF」に応じた固定デューティ値を次回デューティレジスタ１３に設定するが、この固定デューティ値を設定するときにはエッジ極性切替部１８によるエッジ極性の変更有無に応じた固定デューティ値「０」を次回デューティレジスタ１３に設定している（Ｓ１０２，Ｓ１０７）。
【００５７】
例えば、指令固定レベルがオンレベル「ON」であるときには、エッジ極性切替部１８によりエッジ極性をフォールエッジに変更しつつ（Ｓ１０５ａ）、次回デューティレジスタ１３に固定デューティ値「０」を設定している（Ｓ１０７）。逆に、例えば指令固定レベルがオフレベル「OFF」であるときには、エッジ極性切替部１８によりエッジ極性をライズエッジに保持しつつ（Ｓ１０５ｂ）、次回デューティレジスタ１３に固定デューティ値「０」を設定している（Ｓ１０２）。このため、指令固定レベル「ON」「OFF」を受け付けたときにエッジ極性の変更有無に応じた指令デューティ値「０」を次回デューティレジスタ１３に設定することで、ＰＷＭ出力回路１９によるＰＷＭ信号の出力レベルをそれぞれオンレベル「ON」又はオフレベル「OFF」に固定できる。
【００５８】
これにより、エッジ極性切替部１８によりエッジ極性を必要に応じて変更すると共に、次回デューティレジスタ１３に固定デューティ値「０」を設定することでＰＷＭ信号の出力レベルを即座にオンレベル「ON」又はオフレベル「OFF」に固定できる。これにより、レジスタへのアクセス回数を少なくすることができ処理速度を向上できる。
【００５９】
例えば指令固定レベルがオンレベル「ON」であるときには、ＣＰＵ８は、エッジ極性切替部１８によりエッジ極性を変更した後に、強制デューティマッチ生成レジスタ１７にフラグ設定する。このため、指令固定レベル「ON」とデューティマッチの発生後の出力状態「OFF」が異なる場合であっても、即時に出力レベルをオンレベル「ON」に固定できる。
【００６０】
例えば指令固定レベルがオフレベル「OFF」であるときには、ＣＰＵ８は、エッジ極性切替部１８によりエッジ極性を保持している条件下において、強制デューティマッチ生成レジスタ１７にフラグ設定する。このため、デューティ比の設定と強制デューティマッチの設定処理を行うだけで、即時に出力レベルをオフレベル「OFF」に固定できる。
【００６１】
また、本実施形態によれば、エッジ極性切替部１８によりエッジ極性を必要に応じて変更して強制デューティマッチ生成レジスタ１７にフラグ設定して強制的にデューティマッチさせ、次回デューティレジスタ１３に設定されたデューティ値「０」を現在デューティレジスタ１２に転送することで、ＰＷＭ出力回路１９が固定的な出力レベル「ON」又は「OFF」を即時出力できるようになる。したがって、たとえ現在周期レジスタ１０及び現在デューティレジスタ１２が読取可能で書換不能であったとしても要求を満たすことができる。
【００６２】
（第２実施形態）
図８から図１０は、第２実施形態の追加説明図を示している。第２実施形態では、即時出力固定要求を受け付けたときに当該即時出力固定要求の指令固定レベルに応じてエッジ極性切替部１８によりエッジ極性を変更した後、即時出力固定要求を解除し通常出力に復帰するための通常出力復帰要求を受け付けたときには、エッジ極性を復元しているところに特徴を備える。本実施形態ではＣＰＵ８がエッジ極性復元部としての機能を備える。
【００６３】
第１実施形態に示したように、ＣＰＵ８が即時出力固定要求を受け付けたときには、エッジ極性切替部１８により指令固定レベルに応じてエッジ極性をフォールエッジ／ライズエッジに変更又は保持する。このため、ＰＷＭ出力回路１９の出力レベルが固定された後であっても、さらに設定した周期及び設定デューティ比に応じて通常のＰＷＭ信号を出力復帰したいときに復帰できるようにすることが望ましい。そこで本実施形態においては、ＣＰＵ８は、指令固定レベルに出力を固定した後に通常出力復帰要求を受け付けたとき、図８に示す処理を実行することで通常の処理に復帰できるようにしている。
【００６４】
＜即時オフ固定要求「OFF」を受け付けた後に通常出力復帰要求を受け付けた場合＞
図９は即時オフ固定要求を受け付けた後に通常出力復帰要求を受け付けたときのタイミングチャートを概略的に示している。この図９は、タイミングｔ１１以降において周期Ｔ１且つデューティ値Ｔ１／２（デューティ比５０％）のＰＷＭ信号をオンレベル「ON」から出力し、タイミングｔ１２において現在デューティレジスタの値Ｔ１／２に応じて出力をオフレベル「OFF」に変化させた後に、タイミングｔ１３において即時オフ固定要求を受付け、さらにその後、タイミングｔ１４において周期Ｔ２且つデューティ値Ｔ２／２（デューティ比５０％）のＰＷＭ信号を出力復帰要求を受け付けた場合の例を示している。
【００６５】
ＣＰＵ８は、図９のタイミングｔ１３において上位層のアプリケーションから固定要求レベル「OFF」の即時固定要求を受付けると、図５のＳ１０５ａにおいてエッジ極性切替部１８によるエッジ極性を保持し、極性変更フラグをオフしたまま、Ｓ１０８において強制デューティマッチ生成レジスタ１７にフラグをセットする。これにより、ＰＷＭ出力回路１９の出力を「OFF」に固定できる（図９のタイミングｔ１３以降）。
【００６６】
この後、ＣＰＵ８が、図９のタイミングｔ１４にて通常出力復帰要求を受け付けると、ＣＰＵ８は、図８のＳ２０１においてエッジ極性変更フラグがオンされているか否かを判定する。そして、Ｓ２０１においてエッジ極性変更フラグがオフされていることを確認するとＳ２０１でＮＯと判定し、エッジ極性を変更することなく、Ｓ２０６において次回周期レジスタ１１の周期レジスタ値、及び、次回デューティレジスタ１３のデューティ値の更新処理を開始する。
【００６７】
すなわち、図９のタイミングｔ１４において、ＣＰＵ８は、次回周期レジスタ１１に値Ｔ２を設定し、そのデューティ比５０％に対応した値Ｔ２／２を次回デューティレジスタ１３に設定し、その後の周期Ｔ１を経過したタイミングｔ１５において、次回周期レジスタ１１の値を現在周期レジスタ１０にリロードすると共に、次回デューティレジスタ１３の値を現在デューティレジスタ１２にリロードする。これにより、現在周期レジスタ１０の値Ｔ２及び現在デューティレジスタ１２の値Ｔ２／２を更新でき、このタイミングｔ１５以降、ＰＷＭ出力回路１９は、これらの現在周期レジスタ１０の値Ｔ２及び現在デューティレジスタ１２の値Ｔ２／２に応じたＰＷＭ信号を出力できる。周期の値Ｔ１とＴ２は互いに同一値でも異なっていても良い。
＜即時オン固定要求「ON」を受け付けた後に通常出力復帰要求を受け付けた場合＞
【００６８】
図１０は、即時オン固定要求を受け付けた後に通常出力復帰要求を受け付けたときのタイミングチャートを概略的に示している。この図１０は、タイミングｔ１１以降において周期Ｔ１且つデューティ値Ｔ１／２（デューティ比５０％）のＰＷＭ信号をオンレベル「ON」から出力し、タイミングｔ１２において現在デューティレジスタの値Ｔ１／２に応じて出力をオフレベル「OFF」に変化させた後に、タイミングｔ２３において即時オン固定要求を受付けて出力をオンレベル「ON」に変更し、さらにその後、タイミングｔ２４において周期Ｔ２且つデューティ値Ｔ２／２（デューティ比５０％）のＰＷＭ信号を出力復帰要求を受け付けた場合の例を示している。
【００６９】
他方、ＣＰＵ８は、図１０のタイミングｔ２３において上位層のアプリケーションから固定要求レベル「ON」の即時固定要求を受付けると、図５のＳ１０５ａにおいてエッジ極性切替部１８にエッジ極性変更指令し、Ｓ１０６ａにおいてエッジ極性変更フラグをオンし、Ｓ１０７においてデューティ比が０％に対応した値（すなわち０）を次回デューティレジスタ１３に設定し、Ｓ１０８において強制デューティマッチ生成レジスタ１７にフラグをセットする。このため、エッジ極性切替部１８によるエッジ極性をフォールエッジとしつつオンレベル「ON」を固定出力できる（図１０のタイミングｔ２３参照）。この後、ＰＷＭ出力回路１９はオンレベル「ON」を出力し続ける。
【００７０】
その後、ＣＰＵ８が、図１０のタイミングｔ２４において通常出力復帰要求を受付けると、ＣＰＵ８は、周期マッチまでの時間が余裕時間以上確保されていることを条件として（図８のＳ２０２でＹＥＳ）、エッジ極性を復元する（Ｓ２０３）。すなわちＣＰＵ８は、エッジ極性切替部１８に極性復帰指令することでエッジ極性をライズエッジに復帰変更する。
【００７１】
そしてＣＰＵ８は、Ｓ２０４においてデューティ比を１００％に設定する。このＳ２０４の時点では現在周期レジスタ１０の値がＴ１に設定されているため、デューティ比を１００％に対応した値、すなわち現在周期レジスタ１０の値と同一の値Ｔ１を次回デューティレジスタ１３に設定する。そしてＣＰＵ８はＳ２０５においてエッジ極性変更フラグをオフに変更する（図１０のタイミングｔ２４参照）。
【００７２】
ステップＳ２０４において、デューティ比を一旦１００％に設定している理由は、エッジ極性を復元するためにエッジ極性フラグを変更した後にデューティを実際の値に更新するまでの間に、周期マッチを発生する場合を想定しているためである。この場合、例えばエッジ極性の変更後、固定オン要求に応じた「０」を次回デューティレジスタ１３に設定したまま、周期マッチを生じるとデューティ０％のＰＷＭ信号を一周期分出力してしまうことになる。固定オン要求に応じた出力レベル「ON」と逆の出力レベル「OFF」が１周期分出力されることを防ぐため、一旦デューティ比を１００％に設定してから、Ｓ２０５においてエッジ極性変更フラグをオフに設定している。
【００７３】
そしてＣＰＵ８は、Ｓ２０６において現在周期レジスタ１０及び現在デューティレジスタ１２を共に更新する。例えば、周期Ｔ２、デューティ比５０％の値Ｔ２／２を設定する場合には、ＣＰＵ８は、次回周期レジスタ１１に値Ｔ２を設定すると共にデューティ比５０％に対応した設定値Ｔ２／２を次回デューティレジスタ１３に設定する（図１０のタイミングｔ２４参照）。そしてＣＰＵ８は、タイマカウンタ１４のカウントに応じて周期マッチを生じるタイミングｔ２５において、次回周期レジスタ１１の格納値Ｔ２を現在周期レジスタ１０にリロードすると共に、次回デューティレジスタ１３の格納値Ｔ２／２を現在デューティレジスタ１２にリロードする。これにより、現在周期レジスタ１０の値Ｔ２及び現在デューティレジスタの値Ｔ２／２を更新でき、このタイミングｔ２５以降、ＰＷＭ出力回路１９は、これらの現在周期レジスタの値Ｔ２及び現在デューティレジスタの値Ｔ２／２に応じたＰＷＭ信号を出力することになる。
＜本実施形態に係る概念的なまとめ＞
【００７４】
要するに、本実施形態によれば、即時出力固定要求を受け付けたときに当該即時出力固定要求の指令固定レベル「ON」に応じてエッジ極性切替部１８によりエッジ極性を変更したときには、即時オン出力固定要求を解除し通常出力に復帰するための通常出力復帰要求を受け付けたときにはエッジ極性を復元する（Ｓ２０３）ようにしている。このため、たとえ即時出力固定要求に応じてエッジ極性切替部１８によりエッジ極性を変更した場合であっても、通常出力復帰要求を受け付けたときにはエッジ極性を復元するため、ＰＷＭ信号を通常通り出力できるようになる。
【００７５】
（他の実施形態）
本発明は、前述実施形態に限定されるものではなく、例えば、以下に示す変形又は拡張が可能である。前述した複数の実施形態の構成、機能を組み合わせても良い。前述実施形態の一部を、課題を解決できる限りにおいて省略した態様も実施形態と見做すことが可能である。また、特許請求の範囲に記載した文言によって特定される発明の本質を逸脱しない限度において考え得るあらゆる態様も実施形態と見做すことが可能である。
【００７６】
本開示は、前述した実施形態に準拠して記述したが、本開示は当該実施形態や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範畴や思想範囲に入るものである。
【符号の説明】
【００７７】
図面中、８はＣＰＵ（次回デューティ値設定部、強制デューティマッチ設定部、エッジ極性復元部）、１０は現在周期レジスタ（指令周期記憶部）、１２は現在デューティレジスタ（現在デューティ記憶部）、１３は次回デューティレジスタ（次回デューティ記憶部）、１４はタイマカウンタ（カウンタ）、１７は強制デューティマッチ生成レジスタ（強制デューティマッチ指令記憶部）、１８はエッジ極性切替部、１９はＰＷＭ出力回路（出力部）、を示す。
【図１】
2019016974.tif 000003
【図２】
2019016974.tif 000004
【図３】
2019016974.tif 000005
【図４】
2019016974.tif 000006
【図５】
2019016974.tif 000007
【図６】
2019016974.tif 000008
【図７】
2019016974.tif 000009
【図８】
2019016974.tif 000010
【図９】
2019016974.tif 000011
【図１０】
2019016974.tif 000012