(57)【特許請求の範囲】
【請求項１】
クロックに同期して入力するデータを異なる周期のクロックに同期して出力するクロッ
ク乗せ換え回路において、
独立して書込みと読出しが可能な２ポートRAMと、
書込クロックに同期して前記入力するデータの前記２ポートRAMへの書込アドレスを順
次に生成する書込アドレス生成部と、
読出クロックに同期して前記２ポートRAMの読出アドレスを順次に生成する読出アドレ
ス生成部と、
前記書込アドレスと前記読出アドレスの接近を常時監視して、所定の差分になると前記
書込アドレスと読出アドレスが前記所定の差分を超える差分となるように初期化するアドレス初期化検出部とを有し、
前記アドレス初期化検出部は、
前記書込アドレスをグレイコードに変換するグレイコードエンコード部と、
前記グレイコードエンコード化された書込アドレスを前記読出クロックでリタイミング
してバイナリーコードに変換するグレイコードデコード部と、
前記バイナリーコード化された書込アドレスの値と、前記読出アドレスを前記読出クロ
ックでリタイミングした読出アドレスの値とを比較し、その差分が所定の値以内であると
きは前記書込アドレス生成部と前記読出アドレス生成部へアドレス初期化信号を出力する
アドレス比較部とから成ることを特徴とするクロック位相乗せ換え回路。
【請求項２】
前記アドレス初期化は、前記２ポートRAMの前記書込アドレスの値と読出アドレスの値
が前記２ポートRAMのアドレスの深さの半分だけ隔てた差分になるように行なわれること
を特徴とする請求項１記載のクロック位相乗せ換え回路。
【請求項３】
基準クロックにより同期を確立して前記書込クロックを生成する書込クロックPLLおよ
び前記基準クロックにより同期を確立して前記読出クロックを生成する読出クロックPLL
を監視し、前記同期が同時に確立すると、前記書込アドレス生成部と前記読出アドレス生
成部へアドレス初期化信号を出力するPLLステータス検出部を付加したことを特徴とする
請求項１または請求項２記載のクロック位相乗せ換え回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック乗せ換え回路、特に、デジタル信号伝送において、クロックに同期して入力するデータを異なる周期のクロックに同期して出力するクロック乗せ換え回路に関する。
【背景技術】
【０００２】
従来のこの種のクロック乗せ換え回路（例えば、特許文献１参照）を図８に示す。書き込み及び読み出しの各々に同期したフレームパルス信号を監視することにより、同一メモリによる書き込みと読み出しを回避する構成をとる。
【０００３】
図８において、フレーム対応の複数のアドレス領域を備え、読出しと書込みが独立して行える２ポートRAM部50と、書込フレーム信号202および書込クロック205に基づき２ポートRAM部50へ入力データ200を書き込むためのアドレスを生成する書込アドレス生成部51と、読出フレーム信号206および読出クロック210に基づき２ポートRAM部50から出力データ201を読み出すためのアドレスを生成する読出アドレス生成部52と、読出制御信号209により読出動作を調停する読出制御部53を有する。
【０００４】
書込アドレス生成部51は、２ポートRAM部50のアドレス領域を示す上位書込アドレス204と、入力データ200のタイムスロットに対応したアドレスを示す下位書込アドレス204を生成し、２ポートRAM部50の上位書込アドレス204に対応したアドレス領域内の下位書込アドレス203に対応したアドレスに入力データ200を書き込むことが可能である。
【０００５】
読出制御部53は、上位書込アドレス204を監視して、読出アドレス生成部52から読出フレーム信号206の直前に入力する読出制御信号209毎に、上位書込アドレス204と重複しない上位読出アドレス208を生成することが可能である。
【０００６】
読出アドレス生成部52は出力データ201のタイムスロットに対応したアドレスを示す下位読出アドレス207と読出制御信号209を生成し、２ポートRAM部の上位読出アドレス208に対応したフレーム領域内の下位読出アドレス207に対応したアドレスより出力データ201を読み出すことが可能である。このようにして、書込クロック205と読出クロック210の位相の変化を吸収できるようにしている。
【０００７】
また、書込アドレスカウンタと読出アドレスカウンタを例えばパワーオン時にリセットし、書込アドレスカウンタのカウント値に基づいて書込アドレスを形成し、読出アドレスカウンタのカウント値に基づいて読出アドレスを形成して、デュアルポートメモリに供給することにより、書込アドレスと読出アドレスが充分に離れるようにし、読出しが書込みを追い越す等の誤動作を回避したクロック乗せ換え回路が知られている（例えば、特許文献２参照）。
【０００８】
更に、ある基本クロックに同期したデータを、それとは異なるクロックに同期するデータに変換する際、グレイコード等の採用により、メモリカウンタに計数値の変換に応じてカウンタを構成するビットが常に１ビットだけ変化するカウンタを用いることによって、ハードウェアの伝播遅延時間のばらつきの影響を受けることなくして、誤動作を防止したデータ変換技術が開示されている（例えば、特許文献３参照）。
【０００９】
【特許文献１】特開2004-140619（第４頁、図１）
【特許文献２】特開平８-274585（第４頁−第６頁、図１）
【特許文献３】特開平10-242949（第２頁、図２）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記の特許文献１記載のクロック乗せ換え回路では、書込クロック205と読出クロック210の位相が変化しても、書込みと読出しの競合を来たさないようにするための書込アドレスと読出アドレスの距離の確保を、外部から与えられる上位アドレスに依存して行なっているため、外部状況の変化があると所期の目的を達せられなくなる虞があるという第１の問題点がある。
【００１１】
更に、第２の問題点は、読出フレームパルスが読出クロックに同期して外部から入力されているため、外部に入力クロックに周波数同期（位相は同期していなくとも良い）した、読出フレームパルスを生成する回路を必要としているという第２の問題点がある。
【００１２】
また、特許文献２記載のクロック乗せ換え回路では、書込アドレスカウンタと読出アドレスカウンタが初期化されるのはパワーオン時等のみであり、その後は書込アドレスカウンタのカウント値，読出アドレスカウンタのカウント値に基づいて書込アドレス，読出アドレスを生成しているため、入力データや回路素子の変動があっても対応できず、誤動作を招きかねないという問題点がある。
【００１３】
また、特許文献３記載の周波数変換装置では、バイナリカウンタの場合には、ゲートの遅延時間のばらつき等により、カウント値が変化と同時にクロックが入力することがあり、その変化が２ビット以上であると、カウントアップの順序を逸脱したカウント値を取り込むことになるのを阻止するためにグレイコード等を採用したものであって、書込みと読み出しの調整を図ったものではない。
【００１４】
そこで、本発明の目的は、入力データがフレーム構成やパケット構成などによらず、２ポートRAM部の書込みと読出しのアドレス競合を回避し、入力データや回路素子の変動があっても常にクロックの乗せ換えを行うことができるクロック乗せ換え回路を提供することにある。
【課題を解決するための手段】
【００１５】
本発明のクロック位相乗せ換え回路は、クロックに同期して入力するデータを異なる周期のクロックに同期して出力するクロック乗せ換え回路において、独立して書込みと読出しが可能な２ポートRAMと、書込クロックに同期して入力するデータの２ポートRAMへの書込アドレスを順次に生成する書込アドレス生成部と、読出クロックに同期して２ポートRAMの読出アドレスを順次に生成する読出アドレス生成部と、書込アドレスと読出アドレスの接近を常時監視して、所定の差分になると書込アドレスと読出アドレスが所定の差分を超える差分となるように初期化するアドレス初期化検出部とを有することを特徴とする。
【００１６】
具体的には、アドレス初期化検出部（図１の７）は、書込アドレスをグレイコードに変換するグレイコードエンコード部（図１の４）と、グレイコードエンコード化された書込アドレスを前記読出クロックでリタイミングしてバイナリーコードに変換するグレイコードデコード部（図１の５）と、バイナリーコード化された書込アドレスの値と、読出アドレスを読出クロックでリタイミングした読出アドレスの値とを比較し、その差分が所定の値以内であるときは書込アドレス生成部と読出アドレス生成部へアドレス初期化信号を出力するアドレス比較部（図１の６）とから成る。
【００１７】
そして、アドレス初期化は、２ポートRAMの書込アドレスの値と読出アドレスの値が２ポートRAMのアドレスの深さの半分だけ隔てた差分になるように行なわれる。
【００１８】
また、本発明のクロック乗せ換え回路は、基準クロックにより同期を確立して書込クロックを生成する書込クロックPLL（図７の９）および基準クロックにより同期を確立して前記読出クロックを生成する読出クロックPLL（図７の１０）を監視し、同期が同時に確立すると、書込アドレス生成部（図１の２）と読出アドレス生成部（図１の３）へアドレス初期化信号を出力するPLLステータス検出部（図７の１１）を上記構成に付加するようにしてもよい。
【発明の効果】
【００１９】
本発明のクロック乗せ換え回路は、書込アドレスの値と読出アドレスの値の接近を常時監視して、所定の距離になると書込アドレスと読出アドレスを適度の距離をおくように初期化するため、入力データの構成によらず書込クロックと読出クロックの位相差の変化のみを原因にアドレスを初期化し、書込アドレスと読出アドレスの競合を自動的に防ぎ、入力データや回路素子の変動があってもデータにビットエラーが発生し続ける状態を防ぐことができるという効果を有する。
【発明を実施するための最良の形態】
【００２０】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【実施例１】
【００２１】
［構成の説明］
図１は、本発明のクロック乗せ換え回路の実施例１の構成を示すブロック図である。図１において、このクロック乗せ換え回路は２ポートRAM１，書込アドレス生成部２，読出アドレス生成部３，グレイコードエンコード部４，グレイコードデコード部５およびアドレス比較部６で構成されている。
【００２２】
このクロック乗せ換え回路は、書込クロック104に同期して入力データ100を２ポートRAM１に書き込み、読出クロック105に同期して２ポートRAM１から出力データ101を読み出すことにより、書込クロック104から読出105クロックへの乗せ換えを行なうものである。
【００２３】
２ポートRAM１は書込みと読出しが同時に行なえるが、読出しが書込みを追い越す等の誤動作があってはならず、そのためには、書込アドレス102と読出アドレス103が適度の距離を保つ必要がある。本実施例では、アドレス初期化検出部７がその任に当たり、書込アドレス102と読出アドレス103の差分が±1以内になると、書込アドレス生成部２と読出アドレス生成部３を初期化する。
【００２４】
２ポートRAM１は、書込みと読出しが相互に独立して行える。２ポートRAM１への書込みは、書込アドレス生成部２から出力される書込アドレス102により指定されるアドレスに、書込クロック104に応答して順次に入力データ100を書き込むことによって行なわれる。また、読出しは、読出アドレス生成部３から出力される読出アドレス103により指定されるアドレスから、読出クロック105に応答して順次に出力データ101を読み出すことによって行なわれる。
【００２５】
書込アドレス生成部２は、システム起動時およびアドレス比較部６から出力されるアドレス初期化信号106により‘0’（10進）に初期化される。初期化制御を受けない場合には、書込クロック104により+1ずつインクリメントされる書込アドレス102を生成し出力する。
【００２６】
読出アドレス生成部３は、システム起動時およびアドレス比較部６から出力されるアドレス初期化信号106により２ポートRAM１の深さの半分（深さが8ビットであれば‘4’）に初期化される。初期化制御を受けない場合には、読出クロック105により+1ずつインクリメントされる読出アドレス103を生成し出力する。
【００２７】
グレイコードエンコード部４は、書込アドレス102をグレイコードにエンコードし、書込アドレス（グレイコードエンコード後）107を出力する。この場合、書込アドレス102はインクリメントデータであるから、書込アドレス（グレイコードエンコード後）107の隣り合うデータは、１ビットしか変化しないという特徴を有する。
【００２８】
グレイコードデコード部５は、書込アドレス（グレイコードエンコード後）107を一度、読出クロック105でリタイミングしてグレイコードをデコードし、書込アドレス（グレイコードデコード後）108を出力する。読出クロック105でリタイミングする際、伝送路の揺らぎ等により、書込クロック104と読出105クロックが接近し、読むべき書込アドレス（グレイコードエンコード後）107より１クロック前の書込アドレス（グレイコードエンコ
ード後）107を読んでしまうことがあり得る。
【００２９】
アドレス比較部６は、書込アドレス（グレイコードデコード後）108と、読出アドレス103を１ビットリタイミングした信号（この信号103’はアドレス比較部６の内部信号）を比較し、値が一致もしくは±1のときに初期化信号106をアサートする。これにより、書込アドレス102と読出アドレス103の競合を回避することができる。
［動作の説明］
次に、図２〜図６を用いて本クロック乗せ換え回路の動作を説明する。
【００３０】
図２は２ポートRAM１の深さが8ビットであった場合のグレイコードデコード部５の動作を示すタイミングチャートである。グレイコードデコード部５は、書込クロック104に同期して入力される書込アドレス（グレイコードエンコード後）107を読出クロック105にてリタイミングを行い、その後にグレイコードをデコードして書込アドレス（グレイコードデコード後）108を得る。このとき、隣り合う値は必ず１ビットしか変化しないというグレイコードの特徴から、書込クロック104に対し、読出クロック105の位相が確定していない場合においても、必ずリタイミングすべき値、もしくは一つ前の値をリタイミングする。
【００３１】
なお、図２〜図６では、目視上は書込アドレス（グレイコードエンコード後）107の切替り時点と読出クロック105の立上り時点がずれているが、グレイコードデコード部５において、実際には両時点が接近してタイミングでリタイミングが行なわれる。そのために、リタイミングされる書込アドレス（グレイコードエンコード後）107の値が上述のように定まらなくなる。
【００３２】
図３〜図６は、書込クロック104と読出クロック105との遅速関係、およびタイミングされる値により４つに場合分けしたタイミングチャートである。
【００３３】
図３は書込クロック104が伝送路の揺らぎ等により読出クロック105よりも速まる場合であって、グレイコードデコード部５で前の値を読んでしまったときのタイミングチャートである。時刻T1に到るまでは、書込アドレス（グレイコードデコード後）108の値と読出アドレス（リタイミング後）103’の値の差分が±1を超えている。しかし、時刻T1では、書込アドレス（グレイコードデコード後）108の値は‘010’、読出アドレス（リタイミング後）103’の値は‘011’となって、その差分が±1以内となるため、時刻T2においてアドレス初期化信号106がアサートされる。
【００３４】
アドレス初期化信号106がアサートされると、書込アドレス生成部２は非同期で初期化され書込アドレス102の値は‘000’になり、読出アドレス生成部３も同様に非同期で初期化され読出アドレス103の値は‘100’になる。時刻T2から読出クロック105の１周期が経過する時刻T3までの間は、前の周期の値を引き継ぐため、書込アドレス（グレイコードデコード後）108の値と読出アドレス（リタイミング後）103’の値の差分が±1以内となる。
【００３５】
しかし、時刻T3では、初期化の効果が現れて、書込アドレス（グレイコードデコード後）108の値は‘000’、読出アドレス（リタイミング後）103’の値は‘100’となる。これにより、差分が±1を超えるので、アドレス初期化信号106は時刻T4でデゼーブルされ、当分の間は初期化の必要なく動作を続けることができる。初期化されるまでの出力データ101は破棄され、時刻T2以降の出力データ101が有効化される。
【００３６】
図４は書込クロック104が伝送路の揺らぎ等により読出105クロックよりも速まる場合であって、グレイコードデコード部５で本来の値を読んだときのタイミングチャートである。時刻T1に到るまでは、書込アドレス（グレイコードデコード後）108の値と読出アドレス（リタイミング後）103’の値の差分が±1を超えている。しかし、時刻T1では、書込アドレス（グレイコードエンコード後）103’の値は‘000’、読出アドレス（リタイミング後）103’の値は‘001’となって、その差分が±1以内となるため、時刻T2においてアドレス初期化信号106がアサートされる。
【００３７】
アドレス初期化信号106がアサートされると、書込アドレス生成部２は非同期で初期化され書込アドレス102の値は”000”になり、読出アドレス生成部３も同様に非同期で初期化され読出アドレス103の値は”100”になる。時刻T2から読出クロック105の１周期が経過する時刻T3までの間は、前の周期の値を引き継ぐため、書込アドレス（グレイコードデコード後）108の値と読出アドレス（リタイミング後）103’の値の差分が±1以内となる。
【００３８】
しかし、時刻T3では、初期化の効果が現れて、書込アドレス（グレイコードデコード後）108の値は‘000’、読出アドレス（リタイミング後）103’の値は‘100’となる。これにより、差分が±1を超えるので、アドレス初期化信号106は時刻T4でデゼーブルされ、当分の間は初期化の必要なく動作を続けることができる。初期化されるまでの出力データ101は破棄され、時刻T2以降の出力データ101が有効化される。
【００３９】
図５は書込クロック104が伝送路の揺らぎ等により読出クロック105よりも遅くなる場合であって、グレイコードデコード部５で前の値を読んでしまったときのタイミングチャートである。時刻T1に到るまでは、書込アドレス（グレイコードデコード後）108の値と読出アドレス（リタイミング後）103’の値の差分が±1を超えている。しかし、時刻T1では、書込アドレス（グレイコードエンコード後）108の値は‘111’、読出アドレス（リタイミング後）103’の値は‘110’となって、その値の差分が±1以内となるため、時刻T2においてアドレス初期化信号106がアサートされる。
【００４０】
アドレス初期化信号106がアサートされると、書込アドレス生成部２は非同期で初期化され書込アドレス102の値は”000”になり、読出アドレス生成部３も同様に非同期で初期化され読出アドレス103の値は”100”になる。時刻T2から読出クロック105の１周期が経過する時刻T3までの間は、前の周期の値を引き継ぐため、書込アドレス（グレイコードデコード後）108の値と読出アドレス（リタイミング後）103’の値の差分が±1以内となる。
【００４１】
しかし、時刻T3では書込アドレス（グレイコードデコード後）108の値は‘001’、読出アドレス（リタイミング後）103’の値は‘100’となって、差分が±1を超えるので、アドレス初期化信号106は時刻T4でデゼーブルされ、当分の間は初期化の必要なく動作を続けることができる。初期化されるまでの出力データ101は破棄され、時刻T2以降の出力データ101が有効化される。
【００４２】
図６は書込クロック104が伝送路の揺らぎ等により読出クロック105よりも遅くなる場合であって、グレイコードデコード部５で本来の値を読んだときのタイミングチャートである。時刻T1に到るまでは、書込アドレス（グレイコードデコード後）108の値と読出アドレス（リタイミング後）103’の値の差分が±1を超えている。しかし、時刻T1では、書込アドレス（グレイコードエンコード後）108の値は‘010’、読出アドレス（リタイミング後）103’の値は‘001’となって、その値の差分が±1以内となるため、時刻T2においてアドレス初期化信号106がアサートされる。
【００４３】
アドレス初期化信号106がアサートされると、書込アドレス生成部２は非同期で初期化され書込アドレスの値は”000”になり、読出アドレス生成部３も同様に非同期で初期化され読出アドレスの値は”100”になる。時刻T2から読出クロック105の１周期が経過する時刻T3までの間は、前の周期の値を引き継ぐため、書込アドレス（グレイコードデコード後）108の値と読出アドレス（リタイミング後）103’の値の差分が±1以内となる。
【００４４】
しかし、時刻T3では、初期化の効果が現れて、書込アドレス（グレイコードデコード後）108の値は‘000’、読出アドレス（リタイミング後）103’の値は‘100’になる。これにより、差分が±1を超えるので、アドレス初期化信号106は時刻T4でデゼーブルされ、当分の間は初期化の必要なく動作を続けることができる。初期化されるまでの出力データ101は破棄され、時刻T2以降の出力データ101が有効化される。
【００４５】
以上、詳細に説明したように、本発明では、２ポートRAM１の書込アドレス102と読出アドレス103の接近を監視し、所定の距離内になるとアドレス初期化信号106を生成して、書込アドレス生成部２と読出アドレス生成部３を適時に初期化することにより、書込アドレス102および読出アドレス103の競合を防ぎ、伝送路にエラーを発生し続ける可能性を自動で回避することができる。
【実施例２】
【００４６】
図７は、本発明のクロック乗せ換え回路の実施例２の構成を示すブロック図である。このクロック乗せ換え回路は、以上に説明したクロック乗せ換え回路（図１）にPLLステータス検出部１１を付加して、ここからもアドレス初期化信号112を供給できるようにしたものである。そして、その説明上、データ生成部８，書込クロック生成PLL９および読出クロック生成PLL１０を掲出している。
【００４７】
書込クロック104は書込クロック生成PLL９によって生成され、読出クロック105は読出クロック生成PLL１０により生成される。書込クロック生成PLL９および読出クロック生成PLL１０は、外部より入力される基準クロック109により、それぞれが同期を確立する構成をとる。なお、データ生成部８は書込クロック104に同期した入力データ100を出力する。
【００４８】
しかし、書込クロック生成PLL９と読出クロック生成PLL１０が非同期状態から同期状態に推移する際、同時に基準クロック109との同期が確立するとは限らない。従って、２ポートRAM１の書込アドレス102と読出アドレス103の差分が２ポートRAM１の深さの半分（深さ8ビットの場合は差分4となる）で安定状態となるとは限らない。そこで、ここではPLLステータス検出部１１を追加する構成をとる。
【００４９】
PLLステータス検出部11は、書込クロック生成PLL９の同期/非同期状態を示す書込クロック生成PLLロック/アンロック信号110および読出クロック生成部１０の同期/非同期状態を示す読出クロック生成PLLロック/アンロック信号111を監視し、両方のPLLがいずれも同期状態に推移した時点で、アドレス初期化信号（PLL同期）112をアサートし、書込アドレス生成部２と読出アドレス生成部３へ供給して初期化する。
【００５０】
以上のように、書込クロック102と読出クロック103の間で周波数同期が確立してから書込アドレス生成部２および読出アドレス生成部３の初期化を行うことにより、２ポートRAM１の深さの半分で安定状態となる。なお、以降の書込クロック102の揺らぎ等による周波数の変化に対する動作は実施例１で説明したとおりである。
【図面の簡単な説明】
【００５１】
【図１】本発明のクロック乗せ換え回路の実施例１の構成を示すブロック図
【図２】本発明のクロック乗せ換え回路におけるグレイコードデコード部５の動作を示すタイミングチャート
【図３】本発明のクロック乗せ換え回路の第１のタイミングチャート
【図４】本発明のクロック乗せ換え回路の第２のタイミングチャート
【図５】本発明のクロック乗せ換え回路の第３のタイミングチャート
【図６】本発明のクロック乗せ換え回路の第４のタイミングチャート
【図７】本発明のクロック乗せ換え回路の実施例２の構成を示すブロック図
【図８】従来のクロック乗せ換え回路の一レノ構成を示すブロック図
【符号の説明】
【００５２】
１    ２ポートRAM部
２    書込アドレス生成部
３    読出アドレス生成部
４    グレイコードエンコード部
５    グレイコードデコード部
６    アドレス比較部
７    アドレス初期化検出部
８    データ生成部
９    書込クロック生成部
１０  読出クロック生成部
１１  PLLステータス検出部
【図１】
0005177856.tif 000002
【図２】
0005177856.tif 000003
【図３】
0005177856.tif 000004
【図４】
0005177856.tif 000005
【図５】
0005177856.tif 000006
【図６】
0005177856.tif 000007
【図７】
0005177856.tif 000008
【図８】
0005177856.tif 000009