(57)【要約】【課題】高分解能のＰＷＭ信号を小さな回路規模で生成できるＰＷＭ制御回路、マイクロコンピュータ、及び電子機器を提供すること。【解決手段】ＰＷＭ周期設定レジスタ１０、カウンタ１２、エッジ点設定レジスタ１４、第１のエッジ点においてＰＷＭ信号のレベルを変化させるＰＷＭ出力回路２０、エッジ点設定レジスタ１４の下位に付加して設けられ第１のエッジ点の遅延時間を特定する遅延設定レジスタ１６を含む。ＰＷＭ出力回路２０は、遅延設定レジスタ１６の設定値に応じて第１のエッジ点をＣＬＫの１クロック周期よりも短い期間だけ遅延させる。これによりＰＷＭ信号の分解能を向上できる。遅延設定レジスタ１６に１ビット又は２ビットの設定値を記憶させ、この設定値に応じて、１／２クロック周期だけ第１のエッジ点を遅延させたり、１／４、２／４、３／４クロック周期だけ第１のエッジ点を遅延させる。【選択図】　　　　図２
2004032732.tif 000002
【特許請求の範囲】
【請求項１】
ＰＷＭ信号を生成するためのＰＷＭ制御回路であって、
所与の動作クロックに基づいてカウント値をインクリメント又はデクリメントするカウンタと、
ＰＷＭ信号のレベルが変化する点である第１のエッジ点を特定するためのエッジ点設定値を記憶するエッジ点設定レジスタと、
前記カウンタからの前記カウント値と前記エッジ点設定レジスタからの前記エッジ点設定値とに基づいて、前記エッジ点設定値により特定される前記第１のエッジ点においてＰＷＭ信号のレベルを変化させるＰＷＭ出力回路と、
前記エッジ点設定レジスタの下位に付加して設けられ、前記第１のエッジ点の遅延時間を特定するための少なくとも１ビットの遅延設定値を記憶する遅延設定レジスタとを含み、
前記ＰＷＭ出力回路が、
前記遅延設定レジスタに記憶された前記遅延設定値に応じて、前記第１のエッジ点を、前記動作クロックの１クロック周期よりも短い期間だけ遅延させることを特徴とするＰＷＭ制御回路。
【請求項２】
請求項１において、
前記遅延設定レジスタが、
１ビットの遅延設定値を記憶し、
前記ＰＷＭ出力回路が、
前記遅延設定レジスタに記憶された前記１ビットの遅延設定値に応じて、前記動作クロックの１／２クロック周期だけ前記第１のエッジ点を遅延させることを特徴とするＰＷＭ制御回路。
【請求項３】
請求項２において、
前記ＰＷＭ出力回路が、
前記カウンタからの前記カウント値と前記エッジ点設定レジスタからの前記エッジ点設定値とを比較し、前記エッジ点設定値により特定される前記第１のエッジ点において信号レベルが変化する第１の信号を生成する比較回路と、
前記第１のエッジ点から前記動作クロックの１／２クロック周期だけ遅延した点において信号レベルが変化する第２の信号を、前記第１の信号と前記動作クロックとに基づき生成する遅延回路と、
前記遅延設定レジスタに記憶された前記１ビットの遅延設定値が第１のレベルである場合には、前記第１の信号を選択し、前記１ビットの遅延設定値が第２のレベルである場合には、前記第２の信号を選択するマルチプレクサとを含むことを特徴とするＰＷＭ制御回路。
【請求項４】
請求項１において、
前記遅延設定レジスタが、
Ｍビットの遅延設定値を記憶し、
前記ＰＷＭ出力回路が、
前記遅延設定レジスタに記憶された前記Ｍビットの遅延設定値に応じて、前記動作クロックの略１／２Ｍクロック周期、又は略２／２Ｍクロック周期・・・・又は略（２Ｍ−１）／２Ｍクロック周期だけ、前記第１のエッジ点を遅延させることを特徴とするＰＷＭ制御回路。
【請求項５】
請求項４において、
前記ＰＷＭ出力回路が、
前記カウンタからの前記カウント値と前記エッジ点設定レジスタからの前記エッジ点設定値とを比較し、前記エッジ点設定値により特定される前記第１のエッジ点において信号レベルが変化する第１の信号を生成する比較回路と、
前記第１のエッジ点から前記動作クロックの略１／２Ｍクロック周期だけ遅延した点において信号レベルが変化する第２の信号、及び前記第１のエッジ点から前記動作クロックの略２／２Ｍクロック周期だけ遅延した点において信号レベルが変化する第３の信号・・・・・・及び前記第１のエッジ点から前記動作クロックの略（２Ｍ−１）／２Ｍクロック周期だけ遅延した点において信号レベルが変化する第２Ｍの信号を、前記第１の信号と前記動作クロックと所与の遅延素子とに基づいて生成する遅延回路と、
前記遅延設定レジスタに記憶された前記Ｍビットの遅延設定値に応じて、前記第１〜第２Ｍの信号のいずれかを選択するマルチプレクサとを含むことを特徴とするＰＷＭ制御回路。
【請求項６】
情報処理を行うマイクロコンピュータであって、
請求項１乃至５のいずれかのＰＷＭ制御回路を内蔵するプログラマブルタイマと、
命令の実行処理を行うと共に、前記ＰＷＭ制御回路の前記エッジ点設定レジスタ及び前記遅延設定レジスタに対して前記エッジ点設定値及び前記遅延設定値を記憶させるための処理を行うプロセッサとを含むことを特徴とするマイクロコンピュータ。
【請求項７】
請求項６のマイクロコンピュータと、
前記マイクロコンピュータの処理対象となるデータの入力源と、
前記マイクロコンピュータが含む前記ＰＷＭ制御回路により生成されたＰＷＭ信号を用いてアナログ信号を出力する出力装置とを含むことを特徴とする電子機器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＰＷＭ制御回路、マイクロコンピュータ、及び電子機器に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
図１（Ａ）に示すようなＰＷＭ（パルス幅変調）信号を生成するためのＰＷＭ制御回路が従来より公知である。
【０００３】
例えば図１（Ｂ）に示す従来のＰＷＭ制御回路は、ＰＷＭ周期設定レジスタ９００、カウンタ９０２、エッジ点設定レジスタ９０４、比較回路９０６、９０８、ＲＳフリップフロップ９０９を含む。
【０００４】
ここでＰＷＭ周期設定レジスタ９００は、図１（Ｃ）に示すＰＷＭ信号の周期ＴＰを特定するための周期設定値を記憶するものである。カウンタ（アップカウンタ）９０２は、動作クロックＣＬＫに基づいてカウント動作を行い、カウント値をインクリメントするものである。エッジ点設定レジスタ９０４は、ＰＷＭ信号のレベルが例えばＬレベルからＨレベルに変化する点である図１（Ｃ）の第１のエッジ点（立ち上がりエッジ）９１０を特定するためのエッジ点設定値を記憶するものである。
【０００５】
比較回路９０６は、エッジ点設定レジスタ９０４からのエッジ点設定値とカウンタ９０２からのカウント値を比較し、一致した場合には、ＲＳフリップフロップ９０９の端子Ｓ（セット端子）に出力する信号をＨレベルにする。これにより、図１（Ｃ）の第１のエッジ点（立ち上がりエッジ）９１０に示すように、ＰＷＭ信号がＬレベルからＨレベルに変化する。
【０００６】
比較回路９０８は、ＰＷＭ周期設定レジスタ９００からの周期設定値とカウンタ９０２からのカウント値を比較し、一致した場合には、ＲＳフリップフロップ９０９の端子Ｒ（リセット端子）に出力する信号をＨレベルにする。これにより、図１（Ｃ）の第２のエッジ点（立ち下がりエッジ）９１２に示すように、ＰＷＭ信号がＨレベルからＬレベルに戻る。
【０００７】
しかしながら、この従来のＰＷＭ制御回路をマイクロコンピュータやＡＳＩＣに内蔵させた場合に、以下のような課題があることが判明した。
【０００８】
例えば、ＰＷＭ制御回路から出力されるＰＷＭ信号を、アナログの音信号に変換し、ゲーム装置におけるゲーム音の生成や、カーナビゲーションシステムにおけるガイド音声の生成に利用する場合を考える。この場合、折り消し雑音の混入を防ぎ、生成される音の高品質化を図るためには、ＰＷＭ信号の周波数ＦＰを８０ＫＨＺ以上に設定する必要がある。つまり、図１（Ｃ）に示すＰＷＭ信号の周期ＴＰを１／ＦＰ＝１２．５μｓ以下に設定する必要がある。
【０００９】
一方、図１（Ｂ）のカウンタ９０２を動作させる動作クロックＣＬＫの周波数ＦＣは、ＰＷＭ制御回路が内蔵されるマイクロコンピュータやＡＳＩＣの性能により、その上限が制限されてしまう。例えば、低コストを狙った現在の一般的なマイクロコンピュータの場合、動作クロックＣＬＫの周波数ＦＣは２０ＭＨＺ〜４０ＭＨＺ程度となる。
【００１０】
そして例えばＦＣ＝２０ＭＨＺの場合には、ＰＷＭ信号によるＤ／Ａ変換の分解能（変換精度）は、ＦＣ／ＦＰ＝（２０ラ１０６）／（８０ラ１０３）＝２５０の計算式から、２８程度となる。これは、８ビットのＤ／Ａ変換器の分解能に相当する。また、ＦＣ＝４０ＭＨＺの場合には、ＰＷＭ信号によるＤ／Ａ変換の分解能は、ＦＣ／ＦＰ＝（４０ラ１０６）／（８０ラ１０３）＝５００の計算式から、２９程度となる。これは、９ビットのＤ／Ａ変換器の分解能に相当する。従って、動作クロックＣＬＫの周波数ＦＣが２０ＭＨＺ〜４０ＭＨＺであるマイクロコンピュータでは、結局、８〜９ビットの分解能のＰＷＭ信号しか生成できないことになる。
【００１１】
しかしながら、近年、ゲーム装置やカーナビゲーションシステムなどの電子機器の音出力においては、１０ビット以上の分解能が要求される場合が多い。従って、上記のようにＣＬＫの周波数ＦＣが２０ＭＨＺ〜４０ＭＨＺであるマイクロコンピュータでは、結局、このような要求に応えることができない。このため、このような電子機器に組み込まれるマイクロコンピュータでは、ラダー抵抗型、逐次変換型等のアナログ方式のＤ／Ａ変換器を内蔵せざるを得なかった。そして、このアナログ方式のＤ／Ａ変換器は、回路規模が大きいと共に高性能を実現するための回路設計が難しい。従って、マイクロコンピュータの高コスト化、設計期間の長期化等の問題を招いていた。
【００１２】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、高分解能のＰＷＭ信号を小さな回路規模で生成できるＰＷＭ制御回路、マイクロコンピュータ、及び電子機器を提供することにある。
【００１３】
【課題を解決するための手段】
上記課題を解決するために本発明は、ＰＷＭ信号を生成するためのＰＷＭ制御回路であって、所与の動作クロックに基づいてカウント値をインクリメント又はデクリメントするカウンタと、ＰＷＭ信号のレベルが変化する点である第１のエッジ点を特定するためのエッジ点設定値を記憶するエッジ点設定レジスタと、前記カウンタからの前記カウント値と前記エッジ点設定レジスタからの前記エッジ点設定値とに基づいて、前記エッジ点設定値により特定される前記第１のエッジ点においてＰＷＭ信号のレベルを変化させるＰＷＭ出力回路と、前記エッジ点設定レジスタの下位に付加して設けられ、前記第１のエッジ点の遅延時間を特定するための少なくとも１ビットの遅延設定値を記憶する遅延設定レジスタとを含み、前記ＰＷＭ出力回路が、前記遅延設定レジスタに記憶された前記遅延設定値に応じて、前記第１のエッジ点を、前記動作クロックの１クロック周期よりも短い期間だけ遅延させることを特徴とする。
【００１４】
本発明では、エッジ点設定レジスタからのエッジ点設定値により第１のエッジ点が特定され、その第１のエッジ点において信号レベルが変化するＰＷＭ信号が生成される。そして、本発明によれば、上記第１のエッジ点が、遅延設定レジスタからの遅延設定値に応じて、動作クロックの１クロック周期よりも短い期間だけ遅延する。これにより、動作クロックの周波数を高くした場合に得られる分解能と同等の分解能を、動作クロックの周波数を高くすることなく得ることができるようになる。しかも、本発明によれば、このようなＰＷＭ信号の分解能の向上を、従来のＰＷＭ制御回路に小規模な回路を付加するだけで実現できる。従って、高分解能のＰＷＭ信号を小さな回路規模で生成できるようになる。
【００１５】
また本発明は、前記遅延設定レジスタが、１ビットの遅延設定値を記憶し、
前記ＰＷＭ出力回路が、前記遅延設定レジスタに記憶された前記１ビットの遅延設定値に応じて、前記動作クロックの１／２クロック周期だけ前記第１のエッジ点を遅延させることを特徴とする。このようにすれば、１ビットの遅延設定レジスタや、第１のエッジ点を遅延させる回路等の付加だけで、ＰＷＭ信号の分解能を１ビット分だけ向上できるようになる。
【００１６】
また本発明は、前記ＰＷＭ出力回路が、前記カウンタからの前記カウント値と前記エッジ点設定レジスタからの前記エッジ点設定値とを比較し、前記エッジ点設定値により特定される前記第１のエッジ点において信号レベルが変化する第１の信号を生成する比較回路と、前記第１のエッジ点から前記動作クロックの１／２クロック周期だけ遅延した点において信号レベルが変化する第２の信号を、前記第１の信号と前記動作クロックとに基づき生成する遅延回路と、前記遅延設定レジスタに記憶された前記１ビットの遅延設定値が第１のレベルである場合には、前記第１の信号を選択し、前記１ビットの遅延設定値が第２のレベルである場合には、前記第２の信号を選択するマルチプレクサとを含むことを特徴とする。このようにすれば、小規模の回路を付加するだけで、ＰＷＭ信号の分解能を１ビット分だけ向上できるようになる。しかも、遅延回路における信号遅延は、動作クロックに基づいて行われるため、精度の高いＰＷＭ信号を得ることができる。
【００１７】
また本発明は、前記遅延設定レジスタが、Ｍビットの遅延設定値を記憶し、前記ＰＷＭ出力回路が、前記遅延設定レジスタに記憶された前記Ｍビットの遅延設定値に応じて、前記動作クロックの略１／２Ｍクロック周期、又は略２／２Ｍクロック周期・・・・又は略（２Ｍ−１）／２Ｍクロック周期だけ、前記第１のエッジ点を遅延させることを特徴とする。このようにすれば、Ｍビットの遅延設定レジスタや、第１のエッジ点を遅延させる回路等の付加だけで、ＰＷＭ信号の分解能をＭビット分だけ向上できるようになる。
【００１８】
また本発明は、前記ＰＷＭ出力回路が、前記カウンタからの前記カウント値と前記エッジ点設定レジスタからの前記エッジ点設定値とを比較し、前記エッジ点設定値により特定される前記第１のエッジ点において信号レベルが変化する第１の信号を生成する比較回路と、前記第１のエッジ点から前記動作クロックの略１／２Ｍクロック周期だけ遅延した点において信号レベルが変化する第２の信号、及び前記第１のエッジ点から前記動作クロックの略２／２Ｍクロック周期だけ遅延した点において信号レベルが変化する第３の信号・・・・・・及び前記第１のエッジ点から前記動作クロックの略（２Ｍ−１）／２Ｍクロック周期だけ遅延した点において信号レベルが変化する第２Ｍの信号を、前記第１の信号と前記動作クロックと所与の遅延素子とに基づいて生成する遅延回路と、前記遅延設定レジスタに記憶された前記Ｍビットの遅延設定値に応じて、前記第１〜第２Ｍの信号のいずれかを選択するマルチプレクサとを含むことを特徴とする。このようにすれば、ＰＷＭ信号の分解能をＭビット分だけ向上できる。そして、この場合、遅延素子での素子遅延が変動してしまい、誤差が増大化する可能性がある。しかしながら、ＰＷＭ制御を用いる本発明では１クロックの幅については高い精度が確保されており、１クロック分のレベルの精度については非常に高い。また、誤差も下位のＭビット分だけの誤差となる。従って、トータルとしては、抵抗値によってその精度が決まる抵抗ラダー型Ｄ／Ａ変換などの他の方式に比べれば、より高い精度を得ることができる。
【００１９】
また本発明は、情報処理を行うマイクロコンピュータであって、上記のいずれかのＰＷＭ制御回路を内蔵するプログラマブルタイマと、命令の実行処理を行うと共に、前記ＰＷＭ制御回路の前記エッジ点設定レジスタ及び前記遅延設定レジスタに対して前記エッジ点設定値及び前記遅延設定値を記憶させるための処理を行うプロセッサとを含むことを特徴とする。このようにすれば、マイクロコンピュータが元来有しているプログラマブルカウンタに対して小規模の回路を付加するだけで、高分解能のＰＷＭ信号を生成できるＰＷＭ制御回路をマイクロコンピュータに内蔵させることが可能になる。
【００２０】
また本発明に係る電子機器は、上記のマイクロコンピュータと、前記マイクロコンピュータの処理対象となるデータの入力源と、前記マイクロコンピュータが含む前記ＰＷＭ制御回路により生成されたＰＷＭ信号を用いてアナログ信号を出力する出力装置とを含むことを特徴とする。このようにすれば、電子機器が出力する音などのアナログ信号の高品質化を図りながら、電子機器の低コスト化を図れるようになる。
【００２１】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。
【００２２】
１．第１の実施形態
図２（Ａ）に、本発明の第１の実施形態の構成例を示す。この第１の実施形態のＰＷＭ制御回路は、ＰＷＭ周期設定レジスタ１０、カウンタ１２、エッジ点設定レジスタ１４、遅延設定レジスタ１６、ＰＷＭ出力回路２０を含む。またＰＷＭ出力回路２０は遅延回路２２を含む。
【００２３】
ＰＷＭ周期設定レジスタ１０は、図２（Ｂ）に示すＰＷＭ信号の周期ＴＰを特定するための周期設定値を記憶するＮビットのレジスタである。カウンタ１２は、動作クロックＣＬＫに基づいてカウント動作を行い、カウント値をインクリメント又はデクリメントするＮビットのカウンタである。エッジ点設定レジスタ１４は、ＰＷＭ信号のレベルが例えばＬレベルからＨレベルに変化する点である図２（Ｂ）の第１のエッジ点２００を特定するためのエッジ点設定値を記憶するＮビットのレジスタである。
【００２４】
なお、ＰＷＭ周期設定レジスタ１０やエッジ点設定レジスタ１４としては、Ｄフリップフロップ、論理回路、或いは半導体メモリなどを用いた公知の構成のレジスタを採用できる。また、カウンタ１２としては、公知の構成のアップカウンタ、ダウンカウンタを採用できる。また、ＰＷＭ周期設定レジスタ１０は任意の構成要素であり、固定の周期設定値を出力する回路（例えばＮビットのスイッチ群）などで代替えできる。
【００２５】
ＰＷＭ出力回路２０は、カウンタ１２からのカウント値と、エッジ点設定レジスタ１４からのエッジ点設定値とに基づいて、エッジ点設定値によりその位置が特定される図２（Ｂ）の第１のエッジ点２００において、ＰＷＭ信号のレベルを変化させるものである。
【００２６】
そして本実施形態では、図１（Ｂ）の従来例と異なり、エッジ点設定レジスタ１４の下位に付加して、第１のエッジ点２００の遅延時間を特定するための１ビット又は複数ビットの遅延設定値を記憶する遅延設定レジスタ１６が設けられる。そして本実施形態の特徴は、遅延回路２２が、遅延設定レジスタ１６に記憶された遅延設定値に応じて、図２（Ｂ）のＤ１、Ｄ２に示すようにＰＷＭ信号の第１のエッジ点２００をＣＬＫの１クロック周期ＴＣよりも短い期間だけ遅延させる点にある。
【００２７】
遅延設定値が１ビットである場合を例にとると次のようになる。即ち、遅延設定値であるビット０が０の場合には、図２（Ｂ）のＤ１に示すようにＰＷＭ信号の第１のエッジ点２００を遅延させない。一方、遅延設定値であるビット０が１の場合には、Ｄ２に示すように例えば動作クロックＣＬＫの１／２クロック周期だけ第１のエッジ点２００を遅延させる。
【００２８】
このようにすることで、回路規模をそれほど大きくすることなく、ＰＷＭ信号の分解能（ＰＷＭ信号を利用したＤ／Ａ変換の変換精度）を高めることが可能になる。
【００２９】
即ち、図１（Ｂ）の従来例では前述のように、動作クロックＣＬＫの周波数ＦＣが２０ＭＨＺの場合には８ビットの分解能、４０ＭＨＺの場合には９ビットの分解能しか実現できなかった。
【００３０】
これに対して本実施形態によれば、ＣＬＫの周波数が２０ＭＨＺの場合には９ビット以上の分解能を、４０ＭＨＺの場合には１０ビット以上の分解能を実現できる。例えば遅延設定レジスタ１６の遅延設定値を１ビットとし、第１のエッジ点２００をＣＬＫの１／２クロック周期だけ遅延させる制御を行った場合には、ＣＬＫの周波数が２０ＭＨＺで９ビットの分解能を、４０ＭＨＺで１０ビットの分解能を実現できる。従って、９ビットや１０ビットの分解能を要求する電子機器に対して、本実施形態のＰＷＭ制御回路を有するマイクロコンピュータを組み込むことが可能になる。
【００３１】
しかも、本実施形態は、図１（Ｂ）の従来例の構成に、遅延設定レジスタ１６、遅延回路２２などの回路を付加するだけで実現できる。従って、回路の大規模化を最小限に抑えながら、ＰＷＭ信号の分解能を高めることができる。
【００３２】
特に、本実施形態のＰＷＭ制御回路をマイクロコンピュータに内蔵させる場合には、マイクロコンピュータが通常有するプログラマブルタイマに、最小限の回路（遅延設定レジスタ１６、遅延回路２２等）を付加するだけで、本実施形態のＰＷＭ制御回路を実現できる。そして、これらの遅延設定レジスタ１６、遅延回路２２の回路規模は、マイクロコンピュータの回路規模に比べてほとんど無視できるほど小さい。従って、これらの遅延設定レジスタ１６、遅延回路２２を付加しても、マイクロコンピュータの回路規模やコストはほとんど増加しない。従って、大規模で複雑なアナログ回路で構成されるＤ／Ａ変換器内蔵のマイクロコンピュータに比べて、回路の小規模化、低コスト化、設計期間の短縮化を図りながらも、９ビットや１０ビットの分解能を必要とする電子機器の要求に応えることができるようになる。
【００３３】
２．第２の実施形態
図３に、本発明の第２の実施形態の構成例を示す。この第２の実施形態のＰＷＭ制御回路は、１５ビットのＰＷＭ周期設定レジスタ３０、１５ビットのアップカウンタ３２、１５ビットのエッジ点設定レジスタ３４、１ビットの遅延設定レジスタ３６、ＰＷＭ出力回路４０を含む。またＰＷＭ出力回路４０は、遅延回路４２、比較回路５０、比較回路５２、マルチプレクサ５４を含む。
【００３４】
図２（Ａ）の第１の実施形態と主に異なるのは、アップカウンタ３２を用いている点、遅延設定レジスタ３６のビット数が１である点、及びＰＷＭ出力回路４０の詳細な構成例が示されている点である。なお、図３において図２（Ａ）と同名の名前が付されているブロックの機能、構成及び動作については、図２（Ａ）と同様であるため、ここでは説明を省略する。
【００３５】
図３において、比較回路５０は、アップカウンタ３２からのカウント値とＰＷＭ周期設定レジスタ３０からの周期設定値を比較する。そして、カウント値が周期設定値に一致した場合には、図４のＥ１、Ｅ２に示すように、信号ＲＥＳをＨレベルにする。
【００３６】
比較回路５２は、アップカウンタ３２からのカウント値とエッジ点設定レジスタ３４からのエッジ点設定値を比較する。そして、カウント値がエッジ点設定値に一致した場合には、Ｅ３に示すように、信号ＣＱ（第１の信号）を第１のエッジ点２１０においてＬレベルからＨレベルに変化させる。
【００３７】
なお、信号ＣＱは、Ｅ４、Ｅ５に示すように、カウント値が周期設定値に一致し、信号ＲＥＳがＨレベルになると、Ｌレベルにリセットされる。
【００３８】
遅延回路４２は、インバータ４３、Ｄフリップフロップ４４、ＡＮＤ４６を含む。
【００３９】
インバータ４３は、動作クロックＣＬＫを反転させるものであり、このＣＬＫの反転信号はＤフリップフロップ４４の端子Ｃに入力される。そして、Ｄフリップフロップ４４の端子Ｄには、比較回路５２からの信号ＣＱが入力され、Ｄフリップフロップ４４は、この信号ＣＱをＣＬＫの反転信号でサンプリングする（ＣＬＫの立ち下がりでサンプリングする）。従って、Ｄフリップフロップ４４の端子Ｑからは、図４のＥ６に示すように、ＣＬＫの１／２クロック周期だけ信号ＣＱを遅延させた信号であるＤＱが出力されることになる。
【００４０】
そして、信号ＣＱとＤＱはＡＮＤ４６に入力され、これにより図４に示すような信号ＡＱ（第２の信号）が生成される。この信号ＡＱは、信号ＤＱのＥ７、Ｅ８に示す部分をカットした信号になっている。
【００４１】
マルチプレクサ５４は、遅延設定レジスタ３６からの遅延設定値、即ちビット０に基づいて、信号ＣＱ及びＡＱのいずれかを選択し、選択した信号をＰＷＭ信号として出力する。即ち、ビット０（遅延設定値）が０である場合には、Ｅ９に示すように、信号ＣＱがＰＷＭ信号として選択され出力される。一方、ビット０が１である場合には、Ｅ１０に示すように、信号ＡＱがＰＷＭ信号として選択され出力される。
【００４２】
本実施形態によれば、図４の第１のエッジ点２１０は、エッジ点設定レジスタ３４に設定されたビット１５〜１（エッジ点設定値）により、その位置が変化する。そして、遅延設定レジスタ３６に設定されたビット０（遅延設定値）が０である場合には、第１のエッジ点２１０は遅延せず、ビット０が１である場合には、第１のエッジ点２１０は１／２クロック周期だけ遅延する。このようにすることで、ＰＷＭ信号の分解能を１ビット分だけ向上させることができるようになる。即ちＣＬＫの周波数が２０ＭＨＺの場合には、図１（Ｂ）の従来例では８ビットであった分解能を９ビットに向上でき、４０ＭＨＺの場合には、従来例では９ビットであった分解能を１０ビットに向上できる（ＰＷＭ信号の周波数が８０ＫＨＺの場合）。
【００４３】
しかも、本実施形態は、図１（Ｂ）の従来例に対して、遅延設定レジスタ３６、遅延回路４２、マルチプレクサ５４等の小規模の回路を付加するだけで実現できる。従って、回路規模の増大化を最小限に抑えながらＰＷＭ信号の分解能を向上できることになる。
【００４４】
また、本実施形態によれば、ビット０が１である場合に、第１のエッジ点２１０が、ほぼ正確に１／２クロック周期だけ遅延する。従って、量子化誤差を最適化できる。
【００４５】
なお、本実施形態と異なる手法として、ＰＷＭ周期設定レジスタ３０、アップカウンタ３２、エッジ点設定レジスタ３４、ＰＷＭ出力回路４０の全てを、ＣＬＫの１／２クロック周期で動作させる手法（ＣＬＫの立ち上がり及び立ち下がりエッジの両方を使用して動作させる手法）も考えることができる。この手法によってもＰＷＭ信号の分解能を１ビット分だけ向上できる。
【００４６】
しかしながら、この手法によると、ＰＷＭ周期設定レジスタ３０、アップカウンタ３２、エッジ点設定レジスタ３４、ＰＷＭ出力回路４０等の全ての回路を、高速で動作させる必要がある。例えばＣＬＫが２０〜４０ＭＨＺであった場合には、これらの全ての回路が４０〜８０ＭＨＺで動作するように、回路設計しなければならなくなる。このため、高コストの製造プロセスが必要になったり、回路設計が難しくなるという問題が生じる。
【００４７】
これに対して、本実施形態では、高速動作が要求されるのは遅延回路４２（特にＤフリップフロップ４４）だけである。従って、この遅延回路４２だけが、例えば４０〜８０ＭＨＺで動作するように回路設計しさえすればよい。即ち、ＰＷＭ周期設定レジスタ３０、アップカウンタ３２、エッジ点設定レジスタ３４、遅延設定レジスタ３６、比較回路５０、５２などについては、２０〜４０ＭＨＺで動作可能であれば十分となる。従って、本実施形態によれば、上記した手法に比べて、高コストの製造プロセスを採用することなく、ＰＷＭ信号の分解能を向上できるという利点を有する。
【００４８】
３．第３の実施形態
図５に、本発明の第３の実施形態の構成例を示す。図３の第２の実施形態と主に異なるのは、遅延設定レジスタ３６のビット数が２である点、遅延回路７２の構成が異なる点である。なお、図５において図３と同名の名前が付されているブロックの機能、構成及び動作については、図３と同様であるため、ここでは説明を省略する。
【００４９】
図５において、遅延回路７２は、インバータ７３、Ｄフリップフロップ７４、遅延素子７５、７６、ＡＮＤ７７、７８、７９を含む。
【００５０】
ここで遅延素子７５は、図６のＦ１に示すように、比較回路８２からの信号ＣＱを略１／４クロック周期だけ遅延させた信号ＤＱ１を出力する。またＤフリップフロップ７４は、Ｆ２に示すように、信号ＣＱを２／４クロック周期だけ遅延させた信号ＤＱ２を出力する。また遅延素子７６は、Ｆ３に示すように、信号ＣＱを略３／４クロック周期だけ遅延させた信号（ＤＱ２を略１／４クロック周期だけ遅延させた信号）ＤＱ３を出力する。
【００５１】
なお、遅延素子７５、７６の機能は、例えば複数のインバータを直列接続した構成等により実現できる。但し、温度変化やプロセス変動が生じた場合に、遅延素子７５、７６での素子遅延の変動がなるべく少なくなるように、回路設計に工夫を施すことが望ましい。
【００５２】
ＡＮＤ７７には、信号ＣＱ（第１の信号）と遅延素子７５からの信号ＤＱ１が入力される。これにより図６に示す信号ＡＱ１（第２の信号）が生成される。またＡＮＤ７８には、信号ＣＱとＤフリップフロップ７４からの信号ＤＱ２が入力される。これにより信号ＡＱ２（第３の信号）が生成される。またＡＮＤ７９には、信号ＣＱと遅延素子７６からの信号ＤＱ３が入力される。これにより信号ＡＱ３（第４の信号）が生成される。これらの信号ＡＱ１、ＡＱ２、ＡＱ３は、信号ＤＱ１、ＤＱ２、ＤＱ３のＦ４、Ｆ５、Ｆ６、Ｆ７、Ｆ８、Ｆ９に示す部分をカットした信号になっている。
【００５３】
マルチプレクサ８４は、遅延設定レジスタ６６からの２ビットの遅延設定値、即ちビット１、０に基づいて、信号ＣＱ、ＡＱ１、ＡＱ２、ＡＱ３のいずれかを選択し、選択した信号をＰＷＭ信号として出力する。即ち、ビット１、０が（００）であった場合には、ＣＱが選択され、ＣＱがＰＷＭ信号として出力される。また（０１）であった場合には、ＡＱ１が選択され、ＡＱ１がＰＷＭ信号として出力される。また（１０）であった場合には、ＡＱ２が選択され、ＡＱ２がＰＷＭ信号として出力される。また（１１）であった場合には、ＡＱ３が選択され、ＡＱ３がＰＷＭ信号として出力される。
【００５４】
以上のように本実施形態によれば、図６の第１のエッジ点２２０は、エッジ点設定レジスタ６４のビット１５〜２により、その位置が変化する。そして、遅延設定レジスタ６６のビット１、０が（００）である場合には、第１のエッジ点２２０は変化せず、（０１）である場合には略１／２クロック周期だけ遅延し、（１０）である場合には２／４クロック周期だけ遅延し、（１１）である場合には３／４クロック周期だけ遅延する。このようにすることで、ＰＷＭ信号の分解能を２ビット分だけ向上させることができるようになる。即ちＣＬＫの周波数が２０ＭＨＺの場合には、図１（Ｂ）の従来例では８ビットであった分解能を１０ビットに向上でき、４０ＭＨＺの場合には、従来例では９ビットであった分解能を１１ビットに向上できる（ＰＷＭ信号の周波数が８０ＫＨＺの場合）。
【００５５】
しかも、本実施形態は、図１（Ｂ）の従来例に対して、遅延設定レジスタ６６、遅延回路７２、マルチプレクサ８４等の小規模の回路を付加するだけで実現できる。従って、回路規模の増大化を最小限に抑えながらＰＷＭ信号の分解能を向上できることになる。
【００５６】
なお、図５では、遅延設定レジスタ６６が２ビットの場合を例にとり示したが、遅延設定レジスタ６６を３ビット以上にすることも可能である。即ち、遅延設定レジスタ６６がＭビットである場合には、Ｍビットの遅延設定値に応じて、ＣＬＫの略１／２Ｍクロック周期、又は略２／２Ｍクロック周期・・・・又は略（２Ｍ−１）／２Ｍクロック周期だけ、図６の第１のエッジ点２２０を遅延させるようにすればよい。より具体的には、第１のエッジ点からＣＬＫの略１／２Ｍクロック周期だけ遅延した点において信号レベルが変化する第２の信号、及び第１のエッジ点からＣＬＫの略２／２Ｍクロック周期だけ遅延した点において信号レベルが変化する第３の信号・・・・・・及び第１のエッジ点からＣＬＫの略（２Ｍ−１）／２Ｍクロック周期だけ遅延した点において信号レベルが変化する第２Ｍの信号を、遅延回路７２を用いて生成する。そして、第比較回路８２からの信号ＣＱ、及び第２〜第２Ｍの信号の中から、ＰＷＭ信号として出力する信号を、Ｍビットの遅延設定値に基づいてマルチプレクサ８４が選択するようにすればよい。
【００５７】
４．第４の実施形態
図７に、本発明の第４の実施形態の構成例を示す。図３の第２の実施形態と主に異なるのは、図３のアップカウンタ３２の代わりにダウンカウンタ９２を使用している点、図３の比較回路５０を設けずに、ＰＷＭ周期設定レジスタ９０の周期設定値をダウンカウンタ９２にロード可能な構成とした点である。なお、図７において図３と同名の名前が付されているブロックの機能、構成及び動作については、図３と同様であるため、ここでは説明を省略する。
【００５８】
図７では、まず初めに、ＰＷＭ周期設定レジスタ９０の周期設定値がダウンカウンタ９２にロードされる。そして、ダウンカウンタ９２のデクリメント動作が始まり、カウント値が、エッジ点設定レジスタ９４からのエッジ点設定値と一致すると、図４のＥ３と同様に信号ＣＱがＬレベルからＨレベルに変化する。
【００５９】
そして、ダウンカウンタ９２におけるデクリメントが進み、アンダーフローになると、信号ＵＤＦがＨレベルになる。すると、比較回路１１２の端子Ｒ（リセット端子）がＨレベルになるため、図４のＥ５と同様に信号ＣＱがＨレベルからＬレベルにリセットされる。また、ダウンカウンタ９２の端子ＬＤ（ロード端子）もＨレベルになるため、ＰＷＭ周期設定レジスタ９０の周期設定値が、ダウンカウンタ９２に再度ロードされる。そして、ダウンカウンタ９２のデクリメント動作が開始する。
【００６０】
図７の構成においても、遅延設定レジスタに記憶される１ビットの遅延設定値に応じて、マルチプレクサ１１４が信号ＣＱ、ＡＱのいずれかを選択するようにすることで、図１（Ｂ）の従来例に比べて、分解能を１ビット分だけ向上できるようになる。
【００６１】
なお、図５の構成においても、図７と同様に、アップカウンタ６２の代わりにダウンカウンタを設け、比較回路８０を設ける代わりにＰＷＭ周期設定レジスタの周期設定値をダウンカウンタにロード可能な構成とすることができる。
【００６２】
また、これまで説明した第１〜第４の実施形態において、周期設定レジスタ、エッジ点設定レジスタ、遅延設定レジスタへの設定値は、マイクロコンピュータなどを用いて、所望の値に設定されることになる。
【００６３】
５．マイクロコンピュータ
図８に、上記の第１〜第４の実施形態で説明したＰＷＭ制御回路を内蔵するマイクロコンピュータの構成例を示す。
【００６４】
このマイクロコンピュータは、命令の実行処理を行うＣＰＵ（広義にはプロセッサ）３００、ＲＯＭ３０２、ＲＡＭ３０４、クロックジェネレータ３０６、プリスケーラ３０８、プログラマブルタイマ３１０、リセット回路３１４、ＤＭＡコントローラ３１６、割り込みコントローラ３１８、バスコントローラ３２０、Ａ／Ｄ変換器３２２、入力ポート３２４、出力ポート３２６、Ｉ／Ｏポート３２８などを含む。
【００６５】
上記の第１〜第４の実施形態で説明したＰＷＭ制御回路３１２は、１６ビットのプログラマブルタイマ３１０に内蔵される。即ち、プログラマブルタイマ３１０が有するレジスタ、カウンタ、比較回路などを利用して、第１〜第４の実施形態のＰＷＭ制御回路３１２が実現される。そして、ＰＷＭ制御回路３１２からのＰＷＭ信号は外部に出力される。但し、ＰＷＭ信号を平滑化するためのローパスフィルターをマイクロコンピュータに内蔵させ、ローパスフィルタにより平滑化されたアナログ信号を外部に出力するようにしてもよい。
【００６６】
なお、ＰＷＭ制御回路３１２が有するＰＷＭ周期設定レジスタ、エッジ点設定レジスタ、遅延設定レジスタに対して周期設定値、エッジ点設定値、遅延設定値を記憶させるための処理は、所与のソフトウェアにより動作するＣＰＵ３００の機能により実現できる。
【００６７】
また、ＰＷＭ制御回路３１２が使用する動作クロックは、クロックジェネレータ３０６から供給してもよいし、外部クロックを用いてもよい。
【００６８】
第１〜第４の実施形態のＰＷＭ制御回路３１２をマイクロコンピュータに内蔵させ、このＰＷＭ制御回路３１２からのＰＷＭ信号を用いて音等のアナログ信号を生成するようにすれば、アナログ方式のＤ／Ａ変換器をマイクロコンピュータに内蔵する必要がなくなる。これによりマイクロコンピュータの低コスト化、マイクロコンピュータの設計期間の短縮化等を図れる。しかも、第１〜第４の実施形態のＰＷＭ制御回路３１２によれば高分解能のＰＷＭ信号を生成できる。従って、高分解能のアナログ信号を必要とする電子機器に最適であり且つ低コストな組み込み型マイクロコンピュータを提供できるようになる。
【００６９】
６．電子機器
次に、上述のマイクロコンピュータを含む電子機器に関して説明する。
【００７０】
例えば図９（Ａ）に、電子機器の１つであるカーナビゲーションシステムの内部ブロック図を示し、図１０（Ａ）に、その外観図を示す。カーナビゲーションシステムの操作はリモコン５１０を用いて行われ、ＧＰＳやジャイロからの情報に基づいて位置検出部５２０が車の位置を検出する。地図などの情報はＣＤＲＯＭ５３０（情報記憶媒体）に格納されている。メモリ５４０は画像処理や音声処理の際の作業領域になるメモリであり、生成された画像は画像出力部５５０を用いて運転者に表示される。また、生成されたカーナビゲーション用のガイド音声は、音出力部５３５を用いて運転者に出力される。マイクロコンピュータ５００は、リモコン５１０、位置検出部５２０、ＣＤＲＯＭ５３０などのデータ入力源からデータを入力し、種々の処理を行い、処理後のデータを、画像出力部５５０、音出力部５３５などの出力装置を用いて出力する。
【００７１】
図９（Ｂ）に、電子機器の１つであるゲーム装置の内部ブロック図を示し、図１０（Ｂ）に、その外観図を示す。このゲーム装置では、ゲームコントローラ５６０からのプレーヤの操作情報、ＣＤＲＯＭ５７０からのゲームプログラム、ＩＣカード５８０からのプレーヤ情報等に基づいて、メモリ５９０を作業領域としてゲーム画像やゲーム音を生成し、画像出力部６１０、音出力部６００を用いて出力する。
【００７２】
第１〜第４の実施形態のＰＷＭ制御回路を内蔵するマイクロコンピュータを電子機器に利用すれば、電子機器から出力される音などのアナログ信号の分解能を高めることができる。これにより、電子機器の商品力を高めることが可能になる。また電子機器に組み込まれるマイクロコンピュータを小規模化、低コスト化できるため、電子機器の低コスト化も図れるようになる。
【００７３】
なおマイクロコンピュータを適用できる電子機器としては、上記以外にも例えば、携帯電話（セルラーフォン）、ＰＨＳ、ページャ、オーディオ機器、電子手帳、電子卓上計算機、ＰＯＳ端末、タッチパネルを備えた装置、プロジェクタ、ワードプロセッサ、パーソナルコンピュータ、テレビ、ビューファインダ型、モニタ直視型のビデオテープレコーダ、又はプリンタなど種々のものを考えることができる。
【００７４】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【００７５】
例えば本発明のＰＷＭ制御回路の構成は、図２（Ａ）、図３、図５、図７で説明したものが特に望ましいが、これに限定されるものではなく、種々の変形実施が可能である。
【００７６】
また、カウンタ、エッジ点設定レジスタ、遅延設定レジスタのビット数も全く任意である。
【００７７】
また、本発明のＰＷＭ制御回路はマイクロコンピュータに内蔵させることが特に望ましいが、ＡＳＩＣなどに内蔵させるようにしてもよい。
【００７８】
また、本発明のＰＷＭ制御回路により生成されるＰＷＭ信号は、音の生成に利用することが特に望ましいが、ボリューム（音量）制御、選局制御、モータ制御などにも利用できる。
【００７９】
また、本発明のマイクロコンピュータや電子機器の構成も、図８〜図１０（Ｂ）で説明したものに限定されるものでなく、種々の変形実施が可能である。
【図面の簡単な説明】
【図１】図１（Ａ）、（Ｂ）、（Ｃ）は、従来のＰＷＭ制御回路の問題点について説明するための図である。
【図２】図２（Ａ）は、第１の実施形態のＰＷＭ制御回路の構成例を示す図であり、図２（Ｂ）は、その動作を説明するための信号波形図である。
【図３】第２の実施形態のＰＷＭ制御回路の構成例を示す図である。
【図４】第２の実施形態の動作を説明するための信号波形図である。
【図５】第３の実施形態のＰＷＭ制御回路の構成例を示す図である。
【図６】第３の実施形態の動作を説明するための信号波形図である。
【図７】第４の実施形態のＰＷＭ制御回路の構成例を示す図である。
【図８】第１〜第４の実施形態のＰＷＭ制御回路を内蔵するマイクロコンピュータの構成例を示す図である。
【図９】図９（Ａ）、（Ｂ）は、種々の電子機器の内部ブロック図の例である。
【図１０】図１０（Ａ）、（Ｂ）は、種々の電子機器の外観図の例である。
【符号の説明】
１０　ＰＷＭ周期設定レジスタ、　１２　カウンタ、
１４　エッジ点設定レジスタ、　１６　遅延設定レジスタ、
２０　ＰＷＭ出力回路、　２２　遅延回路、　３０　ＰＷＭ周期設定レジスタ、
３２　アップカウンタ、　３４　エッジ点設定レジスタ、
３６　遅延設定レジスタ、　４０　ＰＷＭ出力回路、　４２　遅延回路、
４３　インバータ、　４４　Ｄフリップフロップ、　４６　ＡＮＤ、
５０、５２　比較回路、　５４　マルチプレクサ、
６０　ＰＷＭ周期設定レジスタ、　６２　アップカウンタ、　６４　エッジ点設定レジスタ、　６６　遅延設定レジスタ、　７０　ＰＷＭ出力回路、
７２　遅延回路、　７３　インバータ、　７４　Ｄフリップフロップ、
７５、７６　遅延素子、　７７、７８、７９　ＡＮＤ、
８０、８２　比較回路、　８４　マルチプレクサ、
９０　ＰＷＭ周期設定レジスタ、　９２　ダウンカウンタ、
９４　エッジ点設定レジスタ、　９６　遅延設定レジスタ、
１００　ＰＷＭ出力回路、　１０２　遅延回路、　１０３　インバータ、　１０４　Ｄフリップフロップ、　１０６　ＡＮＤ、　１１２　比較回路、　１１４　マルチプレクサ、　２００、２１０、２２０　第１のエッジ点
【図１】
2004032732.tif 000003
【図２】
2004032732.tif 000004
【図３】
2004032732.tif 000005
【図４】
2004032732.tif 000006
【図５】
2004032732.tif 000007
【図６】
2004032732.tif 000008
【図７】
2004032732.tif 000009
【図８】
2004032732.tif 000010
【図９】
2004032732.tif 000011
【図１０】
2004032732.tif 000012