(57)【特許請求の範囲】
【請求項１】
入力制御信号にディレイを付加した信号と入力制御信号との論理演算に基づいて制御信号を発生する駆動パルス発生手段と、該駆動パルス発生手段からの制御信号に基づいて駆動対象素子の駆動を行なう駆動手段と、前記入力制御信号にディレイを付加した信号と入力制御信号との論理演算を施した信号のパルス幅を積分回路とコンパレータとを用いて評価する評価手段と、該評価手段の評価結果に基づいて前記パルス発生手段における前記ディレイ時間を制御するディレイ時間制御手段とを具えたことを特徴とする駆動回路。
【請求項２】
請求項１において、
前記駆動パルス発生手段は、１段以上のゲートを有し、前記ディレイ時間の制御を前記ゲートの段数または前記ゲート１段あたりの遅延時間または両者の組み合わせで行なうことを特徴とする駆動回路。
【請求項３】
請求項１において、
前記評価手段は、パルス幅の評価を前記入力制御信号に対する、前記入力制御信号にディレイを付加した信号と入力制御信号との論理演算を施した信号の立ち上りの遅れ時間または立ち下りの遅れ時間または両者の差を検出することによって行なうことを特徴とする駆動回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は光磁気ディスクやレーザービームプリンタなどに使用されるレーザー駆動回路のような高速スイッチング用の駆動回路に関するものである。
【０００２】
【従来の技術】
この種の駆動回路として本願人により特開平５−２４３６５４が出願されている。図１２に特開平５−２４３６５４に示されたカソードコモンタイプのレーザーの駆動回路を示す。図１３にレーザーダイオードの電流と光出力の関係を示す。
【０００３】
１００１は、レーザー半導体の駆動電流を決定するための基準電流源であり、通常レーザー発光素子の発光量をホトダイオード（図示せず）でモニターしてその出力電圧（すなわち発光量）が一定となるように制御される。１００２と１００３は、ＰＭＯＳトランジスタと抵抗で構成したカレントミラー回路であり、その入力は基準電流源１００１が接続され、この電流値が出力にミラーされる。トランジスタ１００３のドレイン出力はＮＰＮトランジスタ１００４のコレクタ−ベースショート端に入力される。ＮＰＮトランジスタ１００５のベースはＮＰＮトランジスタ１００４のコレクタ−ベースショート端に接続され、両トランジスタ１００４，１００５はカレントミラーを構成している。ここで両トランジスタのエミッタ面積の比を１：Ｎにしておくことにより両トランジスタ１００４，１００５の共通エミッタ端からはＰＭＯＳトランジスタ１００３のドレイン出力電流の（１＋Ｎ）倍の電流を出力できる。１００７はレーザーダイオードであり、そのカソードはＧＮＤ（接地）電位点１００９に接続され、アノードはＮＰＮトランジスタ１００４と１００５の共通エミッタに接続されている。ＮチャンネルのＭＯＳトランジスタ１００６は、スイッチング用トランジスタであり、制御信号入力端子１０１０がハイレベルの時オンし、ＰＭＯＳトランジスタ１００３の電流出力を吸い込む。
【０００４】
これによりＮＰＮトランジスタ１００４のコレクタベースショート端には電流は流れず、ＮＰＮトランジスタ１００４と１００５によって形成されるカレントミラー回路はオフする。よってレーザーダイオード１００７の駆動電流は抵抗１０１１で決まるアイドリング電流だけとなり、レーザーは点灯しない。ここでアイドリング電流とは、レーザーダイオード１００７に発光しない程度の微小な電流（図１３のＩｔｈ以下）を流すことによりレーザーダイオード１００７のアノードの電位を予め高めておき、スイッチングをより高速に行なおうとするものである。
【０００５】
また制御信号入力端子１０１０がローレベルのときＮＭＯＳトランジスタ１００６はオフするためＰＭＯＳトランジスタ１００３の電流出力はＮＰＮトランジスタ１００４と１００５からなるカレントミラー回路を駆動してレーザーダイオード１００７を駆動する。そしてこのＮＭＯＳトランジスタ１００６が高速にオン−オフすることによりレーザーダイオード１００７の光出力が高速スイッチングされる。
【０００６】
【発明が解決しようとする課題】
しかしながら上記従来例では、図１４に示すようにトランジスタ１００４と１００５からなるカレントミラー回路のオンとオフのスピードが異なったり、レーザーダイオードに固有なしきい値電流（図１３のＩｔｈ）に達するまで発光しないという理由により、入力制御パルス幅Ｗ１とレーザーダイオードの光のパルス幅Ｗ２が異なってしまうという問題がある。
【０００７】
このためこの駆動回路を用いてレーザービームプリンター等のレーザーダイオードを駆動した場合、レーザーの発光するパルス幅が制御信号と異なるため、プリントされた出力が所望の線幅と違ってくる（例えば細くなったりする）という問題が発生する。これは特に高速でスイッチングする場合や、基準電流源１００１の電流値が小さいときに顕著になる。
【０００８】
そこで本発明の目的は、入力制御信号に忠実に対応したレーザーダイオード等の駆動パルス、さらには発光信号を得られるような駆動回路を提供することにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するため、請求項１の発明は、入力制御信号にディレイを付加した信号と入力制御信号との論理演算に基づいて制御信号を発生する駆動パルス発生手段と、該駆動パルス発生手段からの制御信号に基づいて駆動対象素子の駆動を行なう駆動手段と、前記入力制御信号にディレイを付加した信号と入力制御信号との論理演算を施した信号のパルス幅を積分回路とコンパレータとを用いて評価する評価手段と、該評価手段の評価結果に基づいて前記パルス発生手段における前記ディレイ時間を制御するディレイ時間制御手段とを具えたことを特徴とする。
【００１０】
請求項２の発明は、請求項１において、前記駆動パルス発生手段は、１段以上のゲートを有し、前記ディレイ時間の制御を前記ゲートの段数または前記ゲート１段あたりの遅延時間または両者の組み合わせで行なうことを特徴とする。
【００１１】
請求項３の発明は、請求項１において、前記評価手段は、パルス幅の評価を前記入力制御信号に対する、前記入力制御信号にディレイを付加した信号と入力制御信号との論理演算を施した信号の立ち上りの遅れ時間または立ち下りの遅れ時間または両者の差を検出することによって行なうことを特徴とする。
【００１２】
【発明の実施の形態】
本発明は、従来の駆動回路に加えて入力制御信号に対してディレイ時間が可変なディレイ信号を発生し、前記入力制御信号との論理演算を行ない、駆動回路に制御信号を提供する駆動パルス発生回路と、駆動回路の出力をモニターし、所望のパルス幅が得られているかを判定する判定回路と、判定回路の出力をもとに前記駆動パルス発生回路内のディレイ時間を調整するディレイ時間制御回路を具備してなることを特徴とする。
【００１３】
上記構成において、駆動パルス発生回路は、ディレイ時間制御回路の出力に基づき駆動回路の出力が所望なパルス幅となるように入力制御信号のパルス幅を増減させた駆動回路の制御信号を生成する。判定回路は駆動回路の出力のパルス幅が所望の値に対して長いのか短かいのか、又はどの程度長いのか短かいのかの判定を行なう。ディレイ時間制御回路は、判定回路の出力に基づいて駆動パルス発生回路のディレイ時間を調整する。
【００１４】
【実施例】
（第１の実施例）
図１は本発明の特徴を最もよく表わす図面である。図１において１は駆動対象素子の駆動を行なうための基本となる入力制御信号である。２は駆動パルス発生回路であって、入力制御信号に対してディレイを付加した信号を生成し、入力制御信号と論理演算を行ない、実際に駆動対象素子の駆動を行なう駆動回路３の入力信号を生成するブロックであり、上記ディレイの値を変更できるように構成しているところに特徴がある。４は駆動回路３が駆動対象素子を実際に駆動している信号７のパルス幅が所望の値となっているか否かを判定するパルス幅判定回路であり、パルス幅の所望の値との差に対応する信号を２の駆動パルス発生回路内のディレイ値を制御するディレイ時間制御回路５に出力する。
【００１５】
図２に図１に示した実施例のより具体的な例を示す。図３には、図２の回路を動作させる際のタイミングチャートを示す。図２，図３を用いて詳細な説明を行なう。
【００１６】
図２において、ＶＩＮは入力制御信号１であり、駆動パルス発生回路２は、一定のディレイを作るためのインバータ３１〜３４と、可変ディレイを作るためのインバータ３５，３６，４０，４１，４５，４６と、アナログスイッチ３７，３８，４２，４３，４７，４８と、アナログスイッチを逆相で動かすためのインバータ３９，４４，４９と、入力制御信号１（ＶＩＮ）とディレイを付加された信号１０（ＶＤＥＬＡＹ）との論理演算を行なうＡＮＤゲート５０とから構成されている。
【００１７】
ここで一定のディレイ値を作るインバータ３１〜３４は無くても良いし、段数も必要とされるディレイの値に応じて増減してもよい。またこの例では可変ディレイとして３段（インバータ６個）分までのディレイを変えられるような例を示したが、必要に応じて段数は増減して良い。またディレイを発生させるためのゲートはインバータに限らずＮＡＮＤやＮＯＲといったゲートを用いても良い。
【００１８】
ディレイの変更の仕方について説明する。後述するディレイ時間制御回路５の出力１８〜２０のうち１８が“Ｌ”のとき、アナログスイッチ３８がオンしアナログスイッチ３７はオフする。従ってインバータ３４の出力はインバータ３５，３６を通り越してインバータ４０とアナログスイッチ４３に入力され、インバータ３５，３６はディレイに寄与しなくなる。
【００１９】
これに対して１８が“Ｈ”のとき、アナログスイッチ３８はオフし、アナログスイッチ３７はオンする。従ってインバータ３４の出力はインバータ３５，３６を経由してインバータ４０とアナログスイッチ４３に入力する。このためインバータ２段分のディレイが入力信号に対して加わることになる。インバータ４０，４１、及び４５，４６で形成される残りの２段についてもディレイ時間制御回路５の出力１９，２０の“Ｈ”，“Ｌ”によりディレイが付加されるか否かが決まる。図２の例の回路ではインバータ３１〜３４によるインバータ４個によるディレイの他に制御信号１８，１９，２０によりインバータ６個，８個，１０個のディレイを入力信号に付加するよう調整が可能となっている。
【００２０】
なお、インバータ１段あたりのディレイ時間は現在の半導体の製造プロセスを用いるとおおむね０．５〜１ｎｓｅｃのオーダーとなるが、この値よりも細かいステップでディレイの調整を行ないたい場合には図２中の３５〜３９で構成される１段のディレイ生成回路の全部または一部を図４，図６のようなユニットに置換えて、１段あたりの遅延時間を変化させれば良い。
【００２１】
図４はインバータの出力に容量を付けるか否かを切替てインバータの立ち上り立ち下り時間を変化させディレイ時間を変更する手段である。ディレイ時間制御回路５の出力はＣＯＮＴ端子７０に入力する。ＣＯＮＴが“Ｌ”のとき、アナログスイッチ７３がオフし、インバータ７１の出力に容量７４は接続されない。一方ＣＯＮＴが“Ｈ”のときアナログスイッチ７３がオンし、容量７４が接続されるため、インバータ７１の出力７６はなまり（図５の７６の波形参照）、立ち上り立ち下り時間が増加し、出力７７で観測されるディレイ時間も増大する。従ってＣＯＮＴ端子の“Ｈ”，“Ｌ”でディレイの大小を変更できる。
【００２２】
図６はインバータの実効的なゲート長を変えることによりディレイを可変とする構成である。ディレイ時間変更回路５の出力がＣＯＮＴ端子８０に入力する。ＣＯＮＴが“Ｌ”のときアナログスイッチ８５，８６がオンするため、インバータを構成するＰＭＯＳのゲート長はＰＭＯＳ８１のゲート長になり、ＮＭＯＳのゲート長はＮＭＯＳ８４のゲート長になる。これに対して、ＣＯＮＴ端子８０が“Ｈ”のときアナログスイッチ８５，８６がオフするためインバータを構成するＰＭＯＳのゲート長は、ＰＭＯＳ８１と８２のゲート長の和になり、ＮＭＯＳのゲート長はＮＭＯＳ８３と８４のゲート長の和になる。従って出力８８の寄生容量や次段のゲート容量を充電する際の時定数はＣＯＮＴ端子８０が“Ｈ”のときの方が、ＭＯＳの実効ゲート長が長くなり抵抗成分が大きくなるため長くなる。このため図４で容量が増加したケースと同様、出力８８がなまりディレイは増加する。
【００２３】
以上のようにインバータを構成するＭＯＳの実効的なゲート長を変化させることにより、ディレイ時間の変更が可能である。ここではＰＭＯＳとＮＭＯＳの両方のゲート長を変化させたが一方のみでも良い。また同様にゲート幅を変化させても同等の効果が得られる。
【００２４】
図２に戻って、３の駆動回路自体は従来例と同一なので構成要素に同一番号を付け説明を省略する。６の駆動対象素子としてはレーザーダイオードの例を示す。４のパルス幅判定回路は駆動回路３の出力信号７の“Ｈ”，“Ｌ”をモニターするためのコンパレータ５２、後述する積分回路の入力をコンパレータ５２の出力に基づいて異なる２つの基準電圧Ｖｒｅｆ１＋Ｖ１，Ｖｒｅｆ１−Ｖ１いずれかを選択するためのアナログスイッチ５５と５６及びインバータ５３，５４、前記２つの基準電圧の一方を入力とし、積分動作を行なうためのオペアンプ５８、抵抗５７、容量５９及び積分回路のリセットをリセット信号１５（ＲＥＳＥＴ２）により行なうスイッチ６０、積分回路の出力と基準電圧Ｖ０を比較するコンパレータ６１から構成される。
【００２５】
ここでコンパレータ５２のリファレンス電位Ｖ２は駆動回路３が駆動対象素子６を駆動する信号７の振幅の中間に設定する。この例では信号７は、Ｌｏｗレベルがレーザーダイオードのアイドリング時の順方向電圧ＶＦ（ＯＦＦ）、Ｈｉｇｈレベルがレーザーが発光しているときの順方向電圧ＶＦ（ＯＮ）となるので、この間の電圧に設定する。ＶＦ は電流値によって変化するが、この例ではレーザーダイオードの発光しているパルス幅をモニターしたいわけであるから、レーザーダイオードの発光を始める電流Ｉｔｈに対応したＶＦ（Ｉ＝Ｉｔｈ）にＶ２を設定すれば良い。このときコンパレータ５２はレーザーダイオードが発光しているとき“Ｈ”、していないとき“Ｌ”を出力する。
【００２６】
積分回路の入力はコンパレータ５２の出力が“Ｈ”のとき（レーザーダイオードがオンのとき）、Ｖｒｅｆ＋Ｖ１となり、アンプ５８の正転入力端子の入力がＶｒｅｆであるから積分回路の出力は単位時間あたりＶ１／ＣＲの割合で減少する。他方、コンパレータ５２の出力が“Ｌ”のとき（レーザーダイオードがオフのとき）、積分回路の入力はＶｒｅｆ−Ｖ１となり、積分回路の出力は単位時間あたりＶ１／ＣＲの割合で増加する。
【００２７】
このため、リセット信号１５を“Ｈ”とし積分回路の出力をＶｒｅｆ にリセットした後、周期Ｔでｎ回入力制御信号を入力したときの積分回路の出力は、
【００２８】
【数１】
0003814586.tif 000002
【００２９】
となる。ここで、ｔ１は一周期の中でコンパレータ５２の出力が“Ｈ”の時間である。つまり、
【００３０】
【数２】
0003814586.tif 000003
【００３１】
がコンパレータ５２の出力が“Ｈ”、即ちほぼレーザーダイオードがＯＮしている時間のデューティーとなる。式▲１▼又は▲２▼の中で、Ｃ，Ｒ，Ｖｒｅｆ，Ｖ１，Ｔ，ｎは設定できるので、積分回路の出力をモニターすることによって、駆動対象素子の駆動状態（ここではレーザーダイオードの発光パルス幅）がわかる。
【００３２】
例えば入力制御信号のデューティを５０％として、▲１▼式の
ＶＯＵＴ ＝Ｖｒｅｆ                         −▲３▼
のとき、レーザーダイオードはほぼデューティ５０％で発光しており、入力制御信号を忠実に反映していることがわかる。また
【００３３】
【数３】
0003814586.tif 000004
【００３４】
のとき、ｘ＝０．４５となり、デューティ４５％で発光していて、パルス幅が入力制御信号に対して１０％短かくなっていることがわかる。
【００３５】
本実施例では積分回路の出力１４（ＶＯＵＴ ）と基準電圧Ｖ０の比較をコンパレータ６１にて行ない、その結果に基づいて２の駆動パルス発生回路内のディレイ時間を調整し所望のパルス幅を得るようにしている。
【００３６】
Ｖ０は、▲１▼式又は▲２▼式を用いて必要な精度を考慮して決める。上記例を参考にすると、１０ＭＨｚで入力制御信号と発光パルスの幅の差を±５ｎｓｅｃ以上に調整したい場合が、レーザーダイオードの発光パルス幅をデューティ４５〜５５％に抑える場合に相当するので、▲４▼式を用いてデューティ４５％に相当する
【００３７】
【数４】
0003814586.tif 000005
【００３８】
と設定しておけばよい。ただし２の駆動パルス発生回路内のディレイの調整が５ｎｓｅｃ×２＝１０ｎｓｅｃ以下のステップで可能となるようにしておく必要がある。
【００３９】
４のパルス幅判定回路の出力をもとにしてディレイ時間を調整するのがディレイ時間制御回路５であり、本実施例では３つのフリップフロップを用いたシフトレジスタより構成されている。パルス幅判定回路４の出力ＣＯＭＰ２はＣＬＫ１７に同期してフリップフロップに取り込まれる。フリップフロップ６２〜６４の正転出力１８〜２０のＨ，Ｌにより前述のように２の駆動パルス発生回路内のディレイが変化する。
【００４０】
レーザーダイオードのパルス幅が短かいとき、リセット後、１サイクルの積分動作を行なった後の積分回路の出力ＶＯＵＴは、Ｖｒｅｆより大きくなる。ＶＯＵＴが▲５▼式のＶ０より大きくなるとコンパレータ６１の出力ＣＯＭＰ２は“Ｈ”となり、この信号がＣＬＫ１７によりフリップフロップ６２に取り込まれ、出力１８はＨとなる。したがってアナログスイッチ３７がオン、３８がオフし、インバータ３５，３６によるディレイが付加されパルス幅は延びる。これを繰りかえしてＶＯＵＴが▲５▼式のＶ０より小さくなるまで続ければ、レーザーダイオードのパルス幅の誤差は▲５▼式で代表される所定の誤差以内に収束するよう調整ができる。
【００４１】
図３を用いてパルス幅の調整の様子を詳しく説明する。
（１）まず積分回路とフリップフロップのリセットがＲＥＳＥＴ２（１５），ＲＥＳＥＴ１（１６）のパルスにより実行される。これで積分回路の出力はＶｒｅｆに、フリップフロップの出力は全て“Ｌ”になり、ディレイはインバータ３１〜３４だけに依存し、最も短かくなる。なお式▲５▼に応じてＶ０を設定しておく。
（２）ＲＥＳＥＴ１，ＲＥＳＥＴ２の立ち下りに略同期して、入力制御信号ＶＩＮをデューティ５０％で入力する。ディレイ回路の出力ＶＤＥＬＡＹはＶＩＮより遅れて変化する。
【００４２】
ＶＩＮとＶＤＥＬＡＹの論理積をとったＶＤＲＩＶＥはディレイ回路の分、“Ｌ”レベルの幅が伸びる。駆動回路の出力ＶＭＯＮはＶＤＲＩＶＥが“Ｈ”のときＮＭＯＳ１００６がＯＮしているため“Ｌ”レベルにある。
（３）ＶＤＲＩＶＥが“Ｌ”となると、ＰＭＯＳ１００３のドレイン電流によってＮＰＮトランジスタ１００５のコレクタ−ベース容量、ＮＰＮトランジスタ１００４のコレクタサブ容量等のＶＭＯＮのノードに付く寄生容量がチャージされ、電位は上昇し電流は指数関数的に増加し、レーザーダイオードの発光するレベルＩｔｈまで達すると発光を始め、さらにコンパレータ５２の出力ＣＯＭＰ１が反転する。
（４）ＰＭＯＳ１００３の定電流によるチャージはＮＭＯＳ１００６のドレイン電流によるディスチャージに比較して遅いため、レーザー光のパルス幅、さらにＣＯＭＰ１の“Ｈ”レベルの幅はＶＤＲＩＶＥの“Ｈ”レベルに比較して短かくなる。
（５）積分回路の出力ＶＯＵＴはＣＯＭＰ１が“Ｌ”のときＶｒｅｆ−Ｖ１が入力されるため増加し、“Ｈ”のときＶｒｅｆ＋Ｖ１が入力されるため減少するが、はじめはディレイ時間が最小となっているため、レーザー光のパルスの細りが顕著でＣＯＭＰ１が“Ｌ”の期間が長い（実際にはインバータ３１〜３４による最小のディレイはレーザー光のパルス幅が入力制御信号より長くならないように設定しておく）。従って、ＶＯＵＴはＶＩＮのパルスの立ち下りに同期したタイミングでみれば必ずＶｒｅｆより大きくなっている。
（６）本実施例ではＶＩＮを２サイクル入力した後、ＶＩＮの立ち下りに略同期してＶＯＵＴのレベルとＶ０の比較を行ない、コンパレータ６１の出力ＣＯＭＰ２をフリップフロップ６２にＣＬＫ１７により取り込んでいる。ＣＯＭＰ２の出力のサイクルは必ずしも２回である必要はなく、ＶＯＵＴが飽和しない範囲で増減して良い。当然その場合Ｖ０も▲５▼式を用いて変更する必要がある。
（７）ここでＶＯＵＴがＶ０より小さければ、レーザー光のパルス幅の誤差が許容値（本例ではＶＩＮを１０ＭＨｚで入力したとき５ｎｓｅｃ）以内ということで、フリップフロップ６２には“Ｌ”レベルが取り込まれディレイ値は変化しない。
【００４３】
図３の例ではＶＯＵＴ＞Ｖ０となっており、パルス幅が許容値に入っていないため、フリップフロップには“Ｈ”レベルが取り込まれ、インバータ３５，３６によるディレイがディレイ回路に付加されディレイが増加するよう調整される。
（８）次にＲＥＳＥＴ２の信号により積分回路がリセットされたあと、（２）〜（７）が繰り返えされ、フリップフロップの出力６２と６３を決めていく。
【００４４】
このとき（７）によりディレイ回路のディレイはインバータ２段分増加しているため、１回目よりはレーザー光のパルス幅は増加しており、これに対応してＣＯＭＰ１の“Ｈ”レベルの期間も増加する。このため、積分回路の出力の増加は抑えられる。
（９）本実施例ではＶＯＵＴ＜Ｖ０となり、これ以上ディレイの増加をしなくてもレーザー光のパルス幅は許容値に入るという例を示した。２回目でＶＯＵＴ＜Ｖ０とならなければ、さらにディレイを増やして３回目以降の調整に入ればよい。
【００４５】
本実施例では簡単のためディレイの変更は３段階までとなる回路構成を示したが、必要に応じて段数を増やしておけばさらに広い範囲でディレイの調整が可能である。
【００４６】
なお本実施例では入力制御信号と駆動対象素子の出力が許容範囲内で一致するような例を示したが、▲１▼式と▲２▼式を用いてＶ０の値を調整することによって入力制御信号に対して所定のパルス幅だけずれた駆動対象素子の出力を得ることも可能である。例えば、前記の１０ＭＨｚ動作でデューティ５０％の入力信号に対して、６５ｎｓｅｃ±５ｎｓｅｃの光出力を得るためには、積分の周期ｎ＝１のとき許容範囲の最小である６０ｎｓｅｃのパルス幅に対応する
【００４７】
【数５】
0003814586.tif 000006
【００４８】
▲６▼式にＶ０を設定すればよい。
【００４９】
また、駆動回路の出力としてノード（出力）７の電圧をコンパレータ５２に入力したが、ＮＰＮトランジスタ１００４のコレクタ−ベースショートのノードの電圧を入力しても、Ｖ２をＮＰＮトランジスタのＶＢＥ分高くしておけば同等の結果が得られる。
（第２の実施例）
図７に第２の実施例を示す。本実施例は図１の第１の実施例と構成要素は同じであるが、駆動パルス発生回路２の出力９１がパルス幅判定回路の入力となっている点が異なる。
【００５０】
図１及び図２の第１の実施例ではＰＭＯＳ１００３の定電流でチャージを行なうＮＰＮトランジスタ１００４のコレクタ−ベースショートのノードか又は１００４のエミッタのノードに、コンパレータ５２の入力が接続される。このためコンパレータ５２の入力容量分の余分な寄生容量をチャージしなければならないこととなり、基準電流源１００１の電流が小さいときや高速にスイッチングを行なう際に誤差を発生させる原因になる。これを避けるため、駆動パルス発生回路２の出力９１が入力制御信号１に対して図１４のＷ１−Ｗ２の分長くなっているか否かをパルス幅判定回路４で判定し、その結果をもとに駆動パルス発生回路２内のディレイを調整し出力９１が所定の幅に入るように自動調整しようとするものである。
【００５１】
図８に具体的な回路の例を示す。図２と同じ部分には同一の番号を付け説明を省略する。違いはＡＮＤ５０の出力がＮＭＯＳ１００６のゲートだけでなくコンパレータ９２の反転入力端子に入っている点と、基準電圧Ｖ２がコンパレータ９２の非反転入力端子に接続されている点と、Ｖ２がＡＮＤ５０の論理振幅の“Ｈ”レベルと“Ｌ”レベルの中間、望しくはＮＭＯＳ１００６のＶＴＨ近傍に設定されている点である。
【００５２】
ＮＰＮトランジスタ１００４のエミッタとＡＮＤ５０の出力は逆相で動くので、図２に対してモニターするＡＮＤ５０の出力をコンパレータ９２の反転入力端子に入力することで以下の動作は実施例１と同様となる。
【００５３】
基本動作は実施例１と同じなので省略する。動作上の改善点は基準電流源１００１の電流をＰＭＯＳ１００２，１００３のカレントミラー回路でおり返した電流でチャージするＮＰＮトランジスタ１００４のコレクタ−ベースショートのノードや、レーザーダイオードのアノードと共通のＮＰＮトランジスタ１００４のエミッタのノードにコンパレータの入力容量が付かないため、誤差が小さくなる点である。これを実現するため、駆動回路３の入力とレーザーダイオードの光出力のパルス幅の差分（図１４のＷ１−Ｗ２）を予め求めておき、これに合わせてＶ０の値を設定しておく。周期Ｔでデューティ５０％のＶＩＮをｎ回入力してコンパレータ６１でパルス幅の判定を行なう場合、レーザーダイオードが発光する、即ちＡＮＤ５０の出力が“Ｌ”であるパルス幅ｔ１を
ｔ１＝｛０．５＋（Ｗ１−Ｗ２）｝Ｔ                        −▲７▼
と伸しておけばよく、コンパレータ６１の比較レベルＶ０を
【００５４】
【数６】
0003814586.tif 000007
【００５５】
と設定しておけばよい。
【００５６】
本実施例では駆動回路３の出力を直接モニターするかわりに駆動パルス発生回路２のパルス幅をモニターし、そのパルス幅を所定値だけ変更することによって駆動回路の内部又は出力に余分な寄生容量を付けることなしに好適な駆動対象素子の出力が得られる。
（第３の実施例）
図９は第３の実施例の特徴を表わす図面である。実施例１では駆動対象素子６を駆動するパルス幅をモニターすることによって駆動対象素子のパルス幅を調整しようとしたものであるが、本実施例では直接的に駆動対象素子の出力自身をモニターしそのパルス幅を調整しようとするものである。
【００５７】
このため図９ではモニター回路９３を新たに設け、モニター回路９３の出力９４をパルス幅判定回路４に入力し、出力９４が所定のパルス幅となるように駆動パルス発生回路２の中のディレイを調整する。
【００５８】
図１０に本実施例の具体的な回路例を示す。実施例１，２との違いは
・駆動対象素子（この場合レーザーダイオード）の出力をモニターするため、フォトダイオード１４２，抵抗１４１，バッファ１４３からなるモニター回路９３が付加されている。
・駆動パルス発生回路２内の可変ディレイ回路がディレイを長くするだけでなく短かくすることも可能な構成となっている。
・入力制御信号に必ずしもデューティ５０％の入力を入れて、パルス幅の調整をしなくても良いように、入力制御信号の立ち下りにおける駆動対象素子６の出力の遅れ時間と入力制御信号の立ち上りにおける駆動対象素子６の出力の遅れ時間との差をとることによって、出力パルスの幅を評価する構成となっている。
【００５９】
以下図１０の構成の詳細な説明を行ない、その後図１１のタイミングチャートを用いて実際の動作の説明を行なう。従来例と同一部分には同一番号を付け説明を省略する。
【００６０】
駆動パルス発生回路２は可変ディレイを作るためのインバータ１０１，１０２，１０６，１０７，１１１，１１２，１１６，１１７、アナログスイッチ１０３，１０４，１０８，１０９，１１３，１１４，１１８，１１９、ペアとなるアナログスイッチを逆相で動かすためのインバータ１０５，１１０，１１５，１２０、入力制御信号１とディレイを付加された信号１０の論理演算を行なうＡＮＤ（ゲート）５０より構成されている。ここで可変ディレイを作るためのアナログスイッチとインバータは２つのグループに分けられ、１０１〜１１０と１１１〜１２０である。後述する５のパルス幅制御回路の出力１５１〜１５４はリセット時は全て“Ｌ”である。従ってアナログスイッチ１０４，１０９，１１３，１１８はオンとなり、１０３，１０８，１１４，１１９はオフとなる。このため、インバータ１０１，１０２，１０６，１０７はディレイに寄与せず、インバータ１１１，１１２，１１６，１１７がディレイに寄与する。
【００６１】
つまり、当初は入力制御信号１にインバータ４個分のディレイが加わった出力が５０のＡＮＤゲートに入力している。この状態で後述するようにパルス幅の判定を行ない、駆動対象素子６の出力が短かければ、パルス幅制御回路５の出力１５１や１５３を“Ｈ”とし、インバータ１０１，１０２，１０６，１０７がディレイに寄与するように変更することによって、出力パルス幅を調整できる。駆動対象素子６の出力が長ければパルス幅制御回路５の出力１５２や１５４を“Ｈ”とし、インバータ１１１，１１２，１１６，１１７がディレイに寄与しなくなるよう変更することで出力パルス幅を調整できる。
【００６２】
パルス幅判定回路４では、ＡＮＤ１２２とインバータ１２４を用いて入力制御信号１ＶＩＮの立ち下りとモニター回路９３の出力１５０の立ち下りの差の時間（ｔ３）だけアナログスイッチ５６がオンし、積分回路の入力がＶｒｅｆ−Ｖ１となるように制御している。またＡＮＤ１２１とインバータ１２３を用いて入力制御信号ＶＩＮの立ち上りとモニター回路の出力１５０の立ち上りの差の時間（ｔ４）だけアナログスイッチ５５がオンし、積分回路の入力がＶｒｅｆ＋Ｖ１となるよう制御している。両アナログスイッチ５５，５６がオフのとき、容量５９により積分回路の出力ＶＯＵＴは一定値に保たれる。
【００６３】
さらにパルス幅判定回路４には、積分回路の出力１４（ＶＯＵＴ）と基準電圧Ｖ２，Ｖ３（Ｖ２＞Ｖ３）の比較を行なうコンパレータ１２５と１２６が設けてある。Ｖ２，Ｖ３はそれぞれパルス幅の許容値の下限と上限に対応した基準電圧である。
【００６４】
積分回路をリセット後、入力制御信号をｎサイクル入力したときのＶＯＵＴは
【００６５】
【数７】
0003814586.tif 000008
【００６６】
となる。（ｔ３−ｔ４）が入力制御信号とモニター回路のパルス幅の差であるから、パルス幅に要求される精度と▲９▼式から、Ｖ２，Ｖ３が計算できる。
【００６７】
コンパレータ１２５，１２６の出力の組み合わせによりモニター回路のパルス幅が長い（コンパレータ出力“Ｈ”，“Ｈ”）か、許容範囲内（“Ｌ”，“Ｈ”）か、短い（“Ｌ”，“Ｌ”）かが判かる。
【００６８】
ディレイ時間制御回路５では、コンパレータ１２５，１２６の出力を受けて、インバータ１２７，１２８、ＡＮＤ１２９，１３０，１３１により上記３つの状態を判定する。
（１）モニター出力のパルス幅が所望の値より短いときはＡＮＤ１２９の出力が“Ｈ”となり、
（２）モニター出力のパルス幅が所望の値に入っているときＡＮＤ１３０の出力が“Ｈ”となり、
（３）モニター出力のパルス幅が所望の値より長いときはＡＮＤ１３１の出力が“Ｈ”となる。
【００６９】
入力制御信号の入力のｎサイクル分、積分を行なった後、ＣＬＫをＨとすることにより、上記３つの状態がフリップフロップ１３２，１３５，１３６，１３７，１３８に取りこまれる。
【００７０】
ＡＮＤ１３３は、状態（１）のときＡＮＤ１２９の出力をフリップフロップ１３５や１３６に取り込み、フリップフロップ１３７，１３８は変化させないための選択回路であり、ＡＮＤ１３４は、状態（３）のときＡＮＤ１３１の出力をフリップフロップ１３７，１３８に取り込み、フリップフロップ１３５，１３６は変化させないための選択回路である。なお、本例では、ディレイの調整を伸す方向、縮める方向とも２段階で行なえるようになっているため、フリップフロップ１３５，１３６及び１３７，１３８で構成するシフトレジスタは２ｂｉｔであるが、調整範囲に応じて段数は増減してよい。
【００７１】
それにともなってシフトレジスタの段数も増減すればよい。
【００７２】
シフトレジスタ１３５や１３６に“Ｈ”レベルが取り込まれると、駆動パルス発生回路内のアナログスイッチ１０３や１０８がオンし、１０４や１０９がオフするため、インバータ１０１，１０２や１０６，１０７がディレイに寄与することになり、駆動対象素子のパルス幅は広がる。逆にシフトレジスタ１３７や１３８に“Ｈ”レベルが取り込まれると、アナログスイッチ１１４，１１９がオンし、１１３，１１８がオフするため、インバータ１１１，１１２や１１６，１１７がディレイに寄与しなくなるため、パルス幅は狭まる。
【００７３】
パルス幅が許容範囲内に入っているとき、フリップフロップ１３２の出力が“Ｈ”となるので、調整の終了が検出される。
【００７４】
以上のようにしてパルス幅の調整が自動的に行なわれる。
【００７５】
図１１のタイミングチャートを用いて動作の説明を行なう。
（１）ＲＥＳＥＴ１，ＲＥＳＥＴ２のパルスにより積分回路とフリップフロップのリセットを実行する。
【００７６】
積分回路の出力ＶＯＵＴは、Ｖｒｅｆとなり、ディレイ回路ではインバータ１１１，１１２，１１６，１１７がディレイに寄与した状態で調整がはじまる。
（２）ＲＥＳＥＴ１，ＲＥＳＥＴ２の立ち下りに略同期して入力制御信号ＶＩＮを入力する。
【００７７】
なお、ディレイ回路の出力ＶＤＥＬＡＹとＶＤＲＩＶＥ、駆動回路の出力ＶＭＯＮおよびレーザーの出力については図３と同じなので省略する。
（３）レーザーダイオードが発光すると、フォトダイオード１４２に光電流が流れ、モニター回路の出力１５０は“Ｌ”レベルとなる。１５０とＶＩＮの信号に対して論理演算を行なったＡＮＤ１２２の出力１５６は、ＶＩＮの立ち下りから１５０の立ち下りの間“Ｈ”となり、ＡＮＤ１２１の出力１５７はＶＩＮの立ち上りから１５０の立ち上りの間“Ｈ”となり、積分回路の入力を切り替える。
（４）１５６が“Ｈ”の間、積分回路の出力ＶＯＵＴ は上昇し、１５７が“Ｈ”の間は減少する。
（５）本実施例ではＶＩＮを２サイクル入力したときＣＬＫを“Ｈ”とする。
【００７８】
このときＶＯＵＴは許容範囲を代表するＶ３とＶ２の間に入ってないため、フリップフロップ１３２の出力ＥＮＤは“Ｈ”とならず（この場合ＡＮＤ１２９の出力が“Ｈ”の例を示したので）、フリップフロップ１３５の出力が“Ｈ”となり、インバータ１０１，１０２がディレイに寄与し、パルス幅が伸びるような変更を行ない、ＲＥＳＥＴ２で積分回路のリセットを行なった後、再度（１）〜（４）を繰り返す。
（６）２回目にＣＬＫを“Ｈ”にした状態で、ＶＯＵＴが許容範囲内に入っているため、フリップフロップ１３２の出力ＥＮＤが“Ｈ”となり、調整は終了する。許容範囲に入ってなければ同様の調整を繰り返せばよい。
【００７９】
なお本実施例ではモニター回路の出力と入力制御信号の立ち上りの遅れ時間の差と立ち下りの遅れ時間の差を両方モニターしてパルス幅の比較を行なったが、必ずしも両方使用する必要はなく一方でも良い。本例の論理では、入力制御信号の立ち上りに対応する駆動パルスの立ち上りを変化させているので、立ち上りの遅れ時間の比較だけでもパルス幅は調整可能である。
【００８０】
以上示したように本回路を用いることにより、駆動対象素子の出力を直接モニターできるため、そのパルス幅と入力制御信号のパルス幅の差を所望の差により正確に調整することができる。
【００８１】
【発明の効果】
以上説明したように、本発明によれば、入力制御信号にディレイを付加した信号と入力信号の論理演算により駆動回路の入力信号を生成し、駆動回路の出力又は駆動回路の入力又は駆動対象素子の出力をモニターして入力制御信号のパルス幅との差を検出し、その差分が所定の範囲になるように上記ディレイ値を調整することによって、駆動回路内のカレントミラーのオンとオフの時間差やレーザーダイオードのしきい値電流のようなパルス幅を変動させる要因があっても、入力制御信号に忠実に対応した駆動対象素子の駆動パルス、さらには駆動対象素子の出力を得られるように制御された駆動回路が得られる。
【図面の簡単な説明】
【図１】第１の実施例を説明するブロック図である。
【図２】第１の実施例の具体的な回路構成例を示す図である。
【図３】同回路の動作を説明するタイミングチャートである。
【図４】本発明で使われるディレイ回路のその他の回路例を示す図である。
【図５】図４のディレイ回路の動作を説明するタイミングチャートである。
【図６】本発明で使われるディレイ回路の他の回路例を示す図である。
【図７】第２の実施例を説明するブロック図である。
【図８】第２の実施例の具体的な回路構成例を示す図である。
【図９】第３の実施例を説明するブロック図である。
【図１０】第３の実施例の具体的な回路構成例を示す図である。
【図１１】同回路の動作を説明するタイミングチャートである。
【図１２】従来例を説明する図である。
【図１３】従来例を説明する図である。
【図１４】従来例を説明する図である。
【符号の説明】
１  入力制御信号
２  駆動パルス発生回路
３  駆動回路
４  パルス幅判定回路
５  ディレイ時間制御回路
６  駆動対象回路
７  駆動回路の出力
１２，１３  コンパレータ出力
１４  積分回路
１８，１９，２０，１５１，１５２，１５３，１５４  ディレイ制御信号
３１，３２，３３，３４，３５，３６，３９，４０，４１，４４，４５，４６，４９，５３，５４，７１，７２，８９，１０１，１０２，１０５，１０６，１０７，１１０，１１１，１１２，１１５，１１６，１１７，１２０，１２３，１２４，１２７，１２８  インバータ
３７，３８，４２，４３，４７，４８，５５，５６，６０，７３，８５，８６，１０３，１０４，１０８，１０９，１１３，１１４，１１８，１１９  アナログスイッチ
５０，１２１，１２２，１２９，１３０，１３１  ＡＮＤ回路
５２，６１，１２５，１２６  コンパレータ
５７，１０１１，１１４１  抵抗
５８  オペアンプ
５９，７４  容量
６２，６３，６４，１３２，１３５，１３６，１３７，１３８  フリップフロップ
８１，８２，１００２，１００３  ＰＭＯＳトランジスタ
８３，８４，１００６  ＮＭＯＳトランジスタ
９３  モニター回路
１４２  フォトダイオード
１４３  バッファ
１００７  レーザーダイオード
１００１  基準電流源
１００４，１００５  ＮＰＮトランジスタ
【図１】
0003814586.tif 000009
【図２】
0003814586.tif 000010
【図３】
0003814586.tif 000011
【図４】
0003814586.tif 000012
【図５】
0003814586.tif 000013
【図６】
0003814586.tif 000014
【図７】
0003814586.tif 000015
【図８】
0003814586.tif 000016
【図９】
0003814586.tif 000017
【図１０】
0003814586.tif 000018
【図１１】
0003814586.tif 000019
【図１２】
0003814586.tif 000020
【図１３】
0003814586.tif 000021
【図１４】
0003814586.tif 000022