(57)【特許請求の範囲】
【請求項１】
所定の遅延時間を持つ単位回路を複数段従属接続した遅延回路と、外部から入力されるパルス信号と前記遅延回路の出力を反転した出力とのいずれかを選択してこの遅延回路に入力する第１の選択回路と、各前記単位回路の出力のうちの１つを選択する第２の選択回路と、前記遅延回路から出力されるパルス信号を所定の期間カウントするカウンタと、前記第１の選択回路に前記遅延回路の出力を反転した出力側を選択させ、前記カウンタのカウント値から前記単位回路１つ当たりの遅延時間を算出して目的とする遅延時間に対応するあるいはこれに最も近い遅延時間となる前記単位回路の出力を選択する信号を前記第２の選択回路に送出する制御回路とを備え、
前記遅延回路に入力される反転した出力は、前記遅延回路の最終段の単位回路の出力かこれに対応するものであり、前記単位回路は、インバータが２段接続されたものであり、前記遅延回路は、前記単位回路を２のｎ乗個（ただし、ｎは正の整数）有し、各前記単位回路の出力側にそれぞれ接続された２のｎ乗個のスリーステートバッファと、これらスリーステートバッファを前記単位回路のうち隣接する２個を１組として接続し、その各組みに対してトーナメント接続して１つの出力端子に接続する配線ラインと、前記単位回路の２個のインバータ間の接続点に接続された前記スリーステートバッファと等価のバッファとを備え、前記単位回路の初段の入力側を前記遅延回路の前記入力とし、前記出力端子を前記遅延回路の前記出力とし、前記第２の選択回路は、前記スリーステートバッファの１つを出力として選択するものであり、前記目的とする遅延時間が外部から設定される遅延時間制御回路。
【請求項２】
さらに、デコーダを有し、前記配線ラインのトーナメント配線の各段階が実質的に等しい長さで接続され、前記等価のバッファは、その制御端子に所定の電圧を加えることでハイインピーダンスに設定されるスリーステートバッファであり、前記デコーダは、前記単位回路の出力側に接続された前記スリーステートバッファの制御端子に所定の信号を加えることでその中の１つを出力として選択し、他をハイインピーダンスに設定する請求項１記載の遅延時間制御回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、遅延時間制御回路に関し、詳しくは、データ、クロック等のパルス信号に対する遅延量を高精度に設定することができ、特に、ＣＤ−Ｒ／ＲＷ（ＣＤ−レコーダブル／リライタブル）において、その書込みデータに対して適正な遅延時間を設定することでシステムが要求するタイミングを実現することができるような遅延時間制御回路に関する。
【０００２】
【従来の技術】
最近のＣＤ−Ｒ／ＲＷでは、データの書込み速度が２倍、４倍、８倍、…とその速度が高速化されてきている。
ＣＤ−Ｒ／ＲＷでは、通常、ホストコンピュータからＳＣＳＩやＡＴＰＩのインタフェースを通して転送された書込みデータがＥＦＭ変調されてレーザコントローラに加えられ、レーザコントローラにより書込用に制御されたレーザ光がＥＦＭ変調されたデータによってＯＮ／ＯＦＦされてＣＤの所定のトラックに照射されることでデータの書込みが行われる。書込まれたデータは、読出用に制御されたレーザ光が照射されて、その反射光を受光素子が受けることで行われ、この受光素子を経て読出アンプで増幅されたＥＦＭ信号を復調して読出データを得て、それをＳＣＳＩやＡＴＰＩのインタフェースを通してホストコンピュータ側に転送する。
【０００３】
この場合、ＥＦＭ変調されたデータをＣＤに書込む際に書込み倍速に応じて書込データの長さとデータあるいはクロックの周期とが相違してくる。そのためにデータあるいはクロックなどのタイミング調整が必要になる。このタイミング調整は、遅延回路により行われるが、ＣＤ−Ｒ／ＲＷ等の書込みの場合には、これに高い精度が要求される。しかも、データ、クロック等のパルス信号（１ビット）の立上がり、立下がり、双方において書込み倍速に応じた高精度な遅延制御をしなければならない。
この種の従来の遅延時間制御回路１０は、図２に示すように、所定の遅延時間を持つバッファからなる遅延回路Ｄａ〜遅延回路Ｄｈを従属接続して、初段の遅延回路Ｄａの入力を入力ＩＮとして、その段数で適正な遅延量を発生させるものであり、それぞれの遅延回路Ｄａ〜遅延回路Ｄｈの出力を入力として選択制御信号ＳＥＬに応じてセレクタ１１により入力の１つを選択して目的の遅延量をセレクタ１１の出力ＯＵＴに得る。選択制御信号ＳＥＬは、コントローラ等から送出されるデータをデコーダ１２がデコードすることで生成され、セレクタ１１の内部は、アンドゲートやオアゲートで構成されている。
【０００４】
【発明が解決しようとする課題】
この種の遅延時間制御回路は、通常、遅延素子がＣＭＯＳＩＣの内部回路としてＩＣ化され形成される関係で温度や電源電圧（印加電圧）に影響され、それらに応じて遅延時間が変化する問題がある。
特に、ＣＤ−Ｒ／ＲＷ等では、このような遅延素子を用いてデータやクロック等のパルス信号の遅延量をプログラム可能に設定できるような遅延時間制御回路が必要であり、かつ、その遅延時間は、７０ｎsec以下の分解能で、数十から数百ステップのダイナミックレンジにおいて遅延時間をプログラム設定できることが要求される。そのため、前記の温度変化や電源電圧変動などによる遅延時間の変動がいっそう大きく影響し、問題になる。
【０００５】
このようなことを回避するために、遅延補正を行うことが考えられるが、遅延量の各ステップに対応して補正回路を設けることは回路規模の増加をまねき、ＩＣとしては好ましくない。
この発明の目的は、このような従来技術の問題点を解決するものであって、データ、クロック等のパルス信号に対する遅延量を高精度に設定することができ、システムが要求するタイミングを容易に実現することができる遅延時間制御回路を提供することにある。
【０００６】
【課題を解決するための手段】
このような目的を達成するこの発明の遅延時間制御回路の特徴は、所定の遅延時間を持つ単位回路を複数段従属接続した遅延回路と、外部から入力されるパルス信号と遅延回路の出力を反転した出力とのいずれかを選択してこの遅延回路に入力する第１の選択回路と、各単位回路の出力のうちの１つを選択する第２の選択回路と、遅延回路から出力されるパルス信号を所定の期間カウントするカウンタと、第１の選択回路に遅延回路の出力を反転した出力側を選択させ、カウンタのカウント値から単位回路１つ当たりの遅延時間を算出して目的とする遅延時間に対応するあるいはこれに最も近い遅延時間となる単位回路の出力を選択する信号を第２の選択回路に送出する制御回路とを備えていて、
遅延回路に入力される反転した出力は、遅延回路の最終段の単位回路の出力かこれに対応するものであり、単位回路は、インバータが２段接続されたものであり、遅延回路は、単位回路を２のｎ乗個（ただし、ｎは正の整数）有し、各単位回路の出力側にそれぞれ接続された２のｎ乗個のスリーステートバッファと、これらスリーステートバッファを単位回路のうち隣接する２個を１組として接続し、その各組みトーナメント接続して１つの出力端子に接続する配線ラインと、単位回路の２個のインバータ間の接続点に接続されたスリーステートバッファと等価のバッファとを備え、単位回路の初段の入力側を遅延回路の入力とし、出力端子を遅延回路の出力とし、第２の選択回路は、スリーステートバッファの１つを出力として選択するものであり、目的とする遅延時間が外部から設定されるものである。
【０００７】
【発明の実施の形態】
このように、単位回路の遅延時間を算出して目的とする遅延時間に対応するあるいはこれに最も近い遅延時間となる単位回路の出力を選択するようにしているので、たとえそのときどきの温度や印加電圧に応じて単位回路の遅延時間が変化してもこの変化した状態の現在の遅延時間を得ることができる。そこで、温度や印加電圧に影響されずに入力されるパルス信号に対して適正な遅延時間を持つ出力パルス信号を発生させる単位回路の出力を複数段の出力の中から選択することが可能になる。
その結果、データ、クロック等のパルス信号に対する遅延量を高精度に設定することができ、システムが要求するタイミングを容易に実現することができる遅延時間制御回路を実現することができる。しかも、目的とする遅延時間を外部から自由に設定するようにすればプログラム設定が可能になる。
【０００８】
【実施例】
図１は、この発明を適用した一実施例の遅延時間制御回路のブロック図である。
図１において、１は、遅延時間制御回路であって、遅延回路２と、セクタ２０、カウンタ２１、コントローラ２２、そしてインバータ２３とからなり、遅延回路２は、入力端子４と出力端子６とを有している。
遅延回路２は、後述するように８個の単位遅延回路２ａ，２ｂ，２ｃ，…，２ｈが従属接続され、これら出力の１つを選択するデコーダ８を有している。セレクタ２０は、入力パルス信号Ｐinを端子２０ａに受け、遅延回路２の出力端子６から得られる出力パルス信号ＰOUTをインバータ２３を介して反転させた信号として入力端子２０ｂに受けていずれか一方を選択して遅延回路２の入力端子４に加える。
【０００９】
なお、セレクタ２０に対する選択信号は、外部からキャリブレーション信号ＣＡとして端子２４を介して与えられ、キャリブレーション信号ＣＡを受けたときにセレクタ２０は、出力パルス信号を受ける入力端子２０ｂ側を選択し、そうでないときには入力パルス信号Ｐinを受ける入力端子２０ａ側を選択する。そこで、キャリブレーション信号ＣＡにより入力端子２０ｂ側が選択されたときには、遅延時間制御回路１は、遅延回路２の出力パルス信号ＰOUTが入力に帰還されて発振回路となり、出力端子６には、遅延回路２の総接続段数で決定される遅延時間に応じて一定周期のパルス信号が得られる。
また、以上の場合、８個の単位遅延回路のうち最終段の単位遅延回路２ｈの出力が選択されて出力端子６に出力されているものとする。
【００１０】
カウンタ２１は、遅延回路２の出力端子６に発生するパルス信号をあらかじめ決められた所定の期間カウントするカウンタである。その一定期間は、コントローラ２２により設定される。コントローラ２２は、バスを介して接続されたＭＰＵ２２ａとメモリ２２ｂ等から構成され、キャリブレーション信号ＣＡを受けたときに、まず、コントローラ２２は、ＭＰＵ２２ａによりデコーダ８に最終段の単位遅延回路２ｈの出力を選択する信号として選択信号ＳＥＬを発生させる。
次に、カウンタ２１をリセットしてあらかじめ設定された一定期間後にカウンタ２１の値を読込み、この処理を所定回数、例えば、１０回、繰り返して、１０回分のカウント値の平均値を採る。さらに、現在の遅延回路２の総接続段数（この例では８個）の遅延時間を算出して、単位遅延回路１段あたりの遅延時間を算出し、プログラム設定として外部から入力された設定すべき遅延時間に対応するあるいはこれに最も近い段数の出力を選択する選択信号（データ）ＳＥＬをデコーダ８に送出する。
なお、単位遅延回路の遅延時間は、カウンタのカウント値をカウントする前記の一定期間が出力端子６に発生するパルス信号ＰOUTの周期より十分長ければ誤差はほとんどないが、これが短い場合には、出力端子６に発生するパルス信号に同期させてカウンタ２１のパルス信号発生の直後にカウント値を採取し、カウンタをリセットして一定期間の間のパルス信号ＰOUTをカウントするようにするとよく、この場合、最初のカウント値は、正確な値ではないので排除すれば算出される単位遅延回路の遅延時間は誤差が少なくて済む。
【００１１】
さて、ＭＰＵ２２ａが実行するそのための処理プログラムとして前記メモリ２２ｂに最適遅延時間設定プログラム２２ｃが格納され、外部から設定された遅延時間を記憶するデータ記憶領域２２ｅを有している。また、メモリ２２ｂには、外部から設定された遅延時間に対して現在の遅延時間が最適か否かを判定する遅延時間判定処理プログラム２２ｄが格納されている。
ＭＰＵ２２ａがこの処理プログラム２２ｄを実行することで、外部から入力された設定すべき遅延時間からカウンタ２１の前記の一定期間におけるカウント値を算出し、これを期待値として前記カウンタ２１のカウント値の平均値と比較して平均値が期待値から所定の判定基準値以上ずれているか否かの判定をする。判定基準値以上ずれているときには、セレクタ２０にキャリブレーション信号ＣＡと同様な制御信号Ｓを加えて遅延時間制御回路１を発振させる。そして、最適遅延時間設定プログラム２２ｃをコールして前記の外部から入力された設定すべき遅延時間に最も近い段数の出力を選択する選択信号ＳＥＬをデコーダ８に送出する。
なお、この遅延時間判定処理プログラム２２ｄは、外部からコントローラ２２に対して特定の制御信号が入力されたとき、あるいはコントローラ２２の動作開始時にＭＰＵ２２ａにより実行されるようにするとよい。
【００１２】
単位遅延回路２ａ，２ｂ，２ｃ，…，２ｈは、それぞれ従属接続された８個の単位遅延回路である。この例では２のｎ乗個の単位回路として８個の例を挙げる。各単位遅延回路２ａ〜２ｈは、所定の遅延時間を持つインバータ３ａ、３ｂが２段従属接続された回路であって、そのインバータ間の接続点には、負論理入力のスリーステートバッファ回路３ｃが接続されている。
初段の単位遅延回路２ａの入力側には入力端子（ＩＮ）４が接続され、各単位遅延回路２ａ〜２ｈの各接続点には、負論理入力のスリーステートバッファ５が出力側として接続されている。さらに、隣接した２つ１組ごとのスリーステートバッファ５は、各接続点Ａ，Ｂ，Ｃ，Ｄにおいて相互に接続され、さらに相互に接続された接続点Ａ，Ｂ，Ｃ，Ｄの隣接した２つ１組ごとに相互に接続点Ｅ，Ｆにおいて接続され、最後に接続点Ｅ，Ｆが接続されて出力端子（ＯＵＴ）６に接続される、トーナメント配線７により、いわゆるトーナメント配線接続がなされている。また、先のスリーステートバッファ回路３ｃは、スリーステートバッファ５と等価のダミー負荷回路となっている。
【００１３】
各スリーステートバッファ３ｃは、その各制御端子（負論理有意）３ｄが電源ラインＶDD（“Ｈ”）に接続され、ハイインピーダンスに設定されている。一方、各スリーステートバッファ５は、デコーダ８によりその各制御端子（負論理有意）５ａのうち選択された１つの制御端子５ａに“Ｌ”が設定され、出力として選択され、他の制御端子５ａが“Ｈ”にされてハイインピーダンスに設定される。制御端子５ａが“Ｌ”にされたスリーステートバッファ５の出力は、トーナメント配線７の各接続点Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆの選択された経路を経て出力端子６に供給され、出力される。
【００１４】
ここでのトーナメント配線７は、スリーステートバッファ５と各接続点Ａ，Ｂ，Ｃ，Ｄまでの接続配線の長さが実質的に等しく、また、接続点Ａ，Ｂから接続点Ｅまでと、接続点Ｃ，Ｄから接続点Ｆのまでのそれぞれの接続配線の長さが実質的に等しく、各接続点Ｅ，Ｆから出力端子６までの接続配線の長さが実質的に等しい。
これによりデコーダ８がどのスリーステートバッファ５の１つを選択したとしても、出力端子６までの配線長が等しくなり、かつ、入力端子４から単位遅延回路を介した遅延時間は、単位遅延回路の段数ｎ＋スリーステートバッファ５の１個の動作遅延時間＋スリーステートバッファ５から出力端子６までの配線長による遅延時間で決定される。
ここで、スリーステートバッファ５の１個の動作遅延時間＋スリーステートバッファ５から出力までの配線長による遅延時間は、ほぼ固定時間であり、それを一定時間ｔｄ（オフセット時間）とすれば、設定できる遅延時間は、ＴＤ＝ｎ×ｔ＋ｔｄとなる。ただし、ｔは、単位遅延回路１段の遅延時間、ｎは、入力から出力として選択されたスリーステートバッファ５までの単位遅延回路の接続段数。これにより、遅延時間は、単位遅延回路の段数分に相当する増減設定が可能になり、高精度な遅延時間の設定が可能になる。
なお、通常の遅延時間の場合には、ｔ>>ｔｄであるので無視できる。
【００１５】
先に説明したように、デコーダ８による出力選択信号は、コントローラ２２から送出される選択信号（データ）ＳＥＬにより行われる。これにより外部から入力された設定すべき遅延時間に最も近い段数の出力が選択され、キャリブレーション信号ＣＡを受けるごとにあるいは所定の制御信号を発生するごと、さらにはコントローラ２２の動作開始時に、そのときどきの温度や電源電圧の状態に応じて、単位遅延回路１段あたりの正確な遅延時間が算出され、その遅延分解能において単位遅延回路１段あたりの遅延時間の整数倍で外部からプログラム設定が可能になる。
これにより温度や電源電圧の状態に影響を受けることなく、精度のよい遅延制御ができる。
ところで、この実施例では、単位遅延回路１段あたりの正確な遅延時間を算出するときには、コントローラ２２から送出される選択信号（データ）ＳＥＬは、最終段の単位遅延回路１の出力が出力端子６に出力されるようにしているが、これは、複数段を経た出力を採用してもよく、必ずしも最終段の出力でなくてもよい。
【００１６】
ところで、各単位遅延回路のインバータ３ａ、３ｂは、それぞれ負荷としてスリーステートバッファ３ｃとスリーステートバッファ５とがそれぞれに接続されている。そこで、“Ｈ”，“Ｌ”のいずれの入力であっても、反転動作をする２段のインバータを経て出力されることになる。すなわち、入力側に“Ｈ”の信号が入力されたときには、最初のインバータで“Ｌ”にされ、この“Ｌ”を次のインバータが“Ｈ”にして出力する。また、“Ｌ”の信号が入力されたときには、最初のインバータで“Ｈ”にされ、この“Ｈ”を次のインバータが“Ｌ”にすることになる。そこで、いずれの場合も、インバータの動作は、“Ｈ”と“Ｌ”、“Ｌ”と“Ｈ”の反転動作の組み合わせになる。このような動作を経て出力されるので、データやクロック等のパルス信号（１ビット）の立上がり、立下がり双方の遅延時間が実質的に等しくなる。
なお、実施例では、ダミー負荷のスリーステートバッファ３ｃは、ハイインピーダンスに設定しているが、これは、適当な負荷を接続して動作状態に設定してもよいことはもちろんである。
【００１７】
特に、この実施例では、各単位回路の出力側のスリーステートバッファは、実質的に等しい長さのトーナメント接続され、どの出力を選択しても１個のスリーステートバッファを経て出力される。これによりこのスリーステートバッファから出力までの遅延時間を固定した一定遅延時間として扱うことができる。
その結果、データやクロック等のパルス信号（１ビット）の立上がり、立下がり双方の遅延時間が実質的に等しくでき、例えば、ＣＤ−Ｒ／ＲＷにおいてデータの書込み速度が２倍、４倍、８倍とその速度が高速化されても、デコーダ８によりそれぞれに対応する適正な遅延時間が設定でき、データ誤りが発生し難い。
【００１８】
以上説明してきたが、実施例では、各単位遅延回路のインバータ３ａ、３ｂにより構成され、ダミー負荷を設けて、パルス信号の立上がり、立下がり両者において遅延時間が実質的に等しくなるようにしているが、単位遅延回路としてはいずれか一方の遅延時間を正確に設定するだけであってもよい。したがって、単位遅延回路は、前記のようなダミー負荷をもつ２段のインバータに限定されるものではない。
言い換えれば、従来技術として図２において示した複数段接続の遅延回路が用いられてもよい。
また、実施例では、コントローラ２２としてＭＰＵとプログラムとにより演算を行い、遅延時間の設定をしているが、コントローラ２２は、ゲートアレイ等により実現されてもよいことはもちろんである。
【００１９】
【発明の効果】
この発明にあっては、単位回路の遅延時間を算出して目的とする遅延時間に対応するあるいはこれに最も近い遅延時間となる単位回路の出力を選択するようにしているので、たとえそのときどきの温度や印加電圧に応じて単位回路の遅延時間が変化してもこの変化した状態の現在の遅延時間を得ることができる。そこで、温度や印加電圧に影響されずに入力されるパルス信号に対して適正な遅延時間を持つ出力パルス信号を発生させる単位回路の出力を複数段の出力の中から選択することが可能になる。
その結果、データ、クロック等のパルス信号に対する遅延量を高精度に設定することができ、システムが要求するタイミングを容易に実現することができる遅延時間制御回路を実現することができる。
【図面の簡単な説明】
【図１】図１は、この発明を適用した一実施例の遅延時間制御回路のブロック図である。
【図２】図２は、従来の遅延時間制御回路のブロック図である。
【符号の説明】
１，１０…遅延時間制御回路、２…遅延回路、
２ａ，２ｂ，２ｃ，２ｈ…単位遅延回路、３ａ，３ｂ…インバータｅ
３ｃ，５…スリーステートバッファ回路、４…入力端子、
６…出力端子、７…トーナメント配線、
８，１２…デコーダ、１１…セレクタ。
【図１】
0003921000.tif 000002
【図２】
0003921000.tif 000003