(57)【特許請求の範囲】
【請求項１】
第１のクロック信号に同期した信号波の値を示す時系列の複数の入力データをタップにて保持し、タップ係数指定手段により指定された複数のタップ係数を前記タップに保持している該複数の入力データのそれぞれに乗算し、前記各タップの乗算の結果を加算して得られたデータを出力データとして、第２のクロック信号に同期して複数の出力データを出力する複数段のタップと、
前記第１のクロック信号に対する前記第２のクロック信号の位相遅れを位相差として該第２のクロック信号に同期して取得し、前記第２のクロック信号の該位相差を取得したタイミングにおける前記信号波の値を前記タップに保持されている入力データに基づいて算出するためのタップ係数を、前記位相差に応じて、前記第２のクロック信号に同期して指定するタップ係数指定手段と、
前記タップ係数指定手段により取得された前記位相差に基づいて、出力データのデータ飛びが生じる場合にデータ飛び通知信号を出力する制御信号出力手段と、を有し、
前記制御信号出力手段により前記データ飛び通知信号が出力されたならば、タップ係数を切り替えることにより、１つの入力データに異なる２つのタップ係数を乗算する、
クロック乗せ換え回路。
【請求項２】
前記クロック乗せ換え回路は、位相差ごとに、異なる組み合わせの複数のタップ係数を記載した複数のテーブルを更に有し、
前記タップ係数指定手段は、取得した前記位相差に対応する前記テーブルを指定し、
前記複数段のタップは、前記タップ係数指定手段により指定された前記テーブルに記載された組み合わせの各タップ係数を前記複数の入力データのそれぞれに乗算する、請求項１に記載のクロック乗せ換え回路。
【請求項３】
前記制御信号出力手段は、
前記タップ係数指定手段により取得された前記位相差に基づいて、同一の出力データの重複出力が生じる場合に重複出力通知信号を更に出力し、
前記制御信号出力手段により前記重複出力通知信号が出力されたならば、２つの入力データに対し、１つの出力データを出力する、請求項１に記載のクロック乗せ換え回路。
【請求項４】
前記タップ係数指定手段は、
前記第２のクロック信号を、所定の逓倍数で逓倍して逓倍クロック信号を生成する逓倍手段と、
前記第１のクロック信号のパルス幅を、前記逓倍手段により生成された前記逓倍クロック信号のパルス幅に変調するパルス幅変調手段と、
前記パルス幅変調手段により変調された前記第１のクロック信号に応じて初期値から計数を開始し、前記逓倍手段により生成された前記逓倍クロック信号に同期して、最大値まで計数する第１の計数手段と、
前記第２のクロック信号に同期して前記初期値から計数を開始し、前記逓倍手段により生成された前記逓倍クロック信号に同期して、前記最大値まで計数する第２の計数手段と、
前記第１の計数手段により計数された前記計数値を前記位相差として保持し、該位相差に応じたタップ係数を指定し、前記第２の計数手段により計数された前記計数値が所定値となったとき、保持した該位相差を更新する第１の保持手段と、
を有する、請求項３に記載のクロック乗せ換え回路。
【請求項５】
前記制御信号出力手段は、
前記第１の保持手段により保持された前記計数値を保持し、前記第２の計数手段により保持された前記計数値が前記所定値となったとき、保持する該計数値を更新する第２の保持手段と、
前記第１の保持手段により保持された前記計数値と、前記第２の保持手段により保持された前記計数値とに基づいて、前記データ飛び通知信号を出力する制御信号出力回路と、
を有する請求項４に記載のクロック乗せ換え回路。
【請求項６】
前記比較手段は、前記第１の保持手段により保持された計数値が前記初期値であり、且つ、前記第２の保持手段により保持された計数値が前記最大値であれば、前記データ飛び通知信号を出力する、請求項５に記載のクロック乗せ換え回路。
【請求項７】
前記比較手段は、前記第１の保持手段により保持された計数値が前記最大値であり、且つ、前記第２の保持手段により保持された計数値が前記初期値であれば、前記重複出力通知信号を出力する、請求項５又は６に記載のクロック乗せ換え回路。
【請求項８】
タップ係数指定手段が、前記第１のクロック信号に対する第２のクロック信号の位相遅れを位相差として該第２のクロック信号に同期して取得し、前記第２のクロック信号の該位相差を取得したタイミングにおける前記信号波の値を前記タップに保持されている入力データに基づいて算出するためのタップ係数を、前記位相差に応じて、前記第２のクロック信号に同期して指定し、
複数段のタップが、前記第１のクロック信号に同期した信号波の値を示す時系列の複数の入力データをタップにて保持し、タップ係数指定手段により指定された複数のタップ係数を前記タップに保持している該複数の入力データのそれぞれに乗算し、前記各タップの乗算の結果を加算して得られたデータを出力データとして、前記第２のクロック信号に同期して複数の出力データを出力し、
前記位相差に基づいて、出力データのデータ飛びが生じる場合にデータ飛び通知信号を出力し、
前記データ飛び通知信号が出力されたならば、タップ係数を切り替えることにより、１つの入力データに異なる２つのタップ係数を乗算する、クロック乗せ換え方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非同期のクロック間で信号波を乗せ換える技術に関する。
【背景技術】
【０００２】
ベースバンド信号のような信号波のデータのクロック乗せ換えを行う回路としてＤＰＲＡＭ(Dual Port Random Access Memory)をバッファとして用いたものがある（特許文献１参照）。クロック乗せ換えとは、あるクロック（入力クロック）に同期したデータ（入力データ）をそれと異なる周波数のクロック（出力クロック）に同期したデータ（出力データ）に変換することである。
【０００３】
入力クロックに同期した入力データをＤＰＲＡＭに書き込み、ＤＰＲＡＭ内のデータを出力クロックで読み出すことにより、クロック乗せ換えを行うことができる。更に、特許文献１に記載された回路では、読み出しアドレスと書き込みアドレスの競合を回避するために、書き込みアドレスと読み出しアドレスとが接近してきたら、それらのアドレスを初期化して遠ざける構成が採用されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２１８８８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＤＰＲＡＭを用いたクロック乗せ換え回路では、入力クロックと出力クロックの速度差により出力データの重複や抜け等の問題が起こる。例えば、入力クロックよりも出力クロックが遅ければ、いずれは入力側の書き込みアドレスが出力側の読み出しアドレスに追いついてしまう。そうなると、ＤＰＲＡＭの全てのアドレスが読み出し前のデータで満たされ、それ以上データを書き込めない。書き込めないデータは廃棄され、その結果としてデータの抜けが生じる。
【０００６】
また、入力クロックよりも出力クロックが速ければ、いずれは出力側の読み出しアドレスが入力側の書き込みアドレスに追いついてしまう。そうなるとＤＰＲＡＭ内に読み出すべきデータが無くなる。その場合、無効なデータが出力されるか、あるいは一度出力されたデータが再び出力されることになる。
【０００７】
容量の大きなＤＰＲＡＭを用いてバッファを深くしても、データの重複や抜けが起こる頻度を下げることはできるが、根本的な問題の解決にはならない。また、特許文献１で採用された構成も、アドレスの追い越しを防止することはできるが、入力すべきデータのデータ量と出力すべきデータのデータ量とが同じなので原理的にデータの重複や抜けを解消することはできない。
【０００８】
本発明は、データ飛び、および同一データの重複出力を確実に防止しつつ、非同期クロック間で信号波を乗せ換える技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明のクロック乗せ換え回路は、第１のクロック信号に同期した信号波の値を示す時系列の複数の入力データをタップにて保持し、タップ係数指定手段により指定された複数のタップ係数を前記タップに保持している該複数の入力データのそれぞれに乗算し、前記各タップの乗算の結果を加算して得られたデータを出力データとして、第２のクロック信号に同期して複数の出力データを出力する複数段のタップと、前記第１のクロック信号に対する前記第２のクロック信号の位相遅れを位相差として該第２のクロック信号に同期して取得し、前記第２のクロック信号の該位相差を取得したタイミングにおける前記信号波の値を前記タップに保持されている入力データに基づいて算出するためのタップ係数を、前記位相差に応じて、前記第２のクロック信号に同期して指定するタップ係数指定手段と、を有する。
【００１０】
本発明のクロック乗せ換え方法は、タップ係数指定手段が、前記第１のクロック信号に対する第２のクロック信号の位相遅れを位相差として該第２のクロック信号に同期して取得し、前記第２のクロック信号の該位相差を取得したタイミングにおける前記信号波の値を前記タップに保持されている入力データに基づいて算出するためのタップ係数を、前記位相差に応じて、前記第２のクロック信号に同期して指定し、複数段のタップが、前記第１のクロック信号に同期した信号波の値を示す時系列の複数の入力データをタップにて保持し、タップ係数指定手段により指定された複数のタップ係数を前記タップに保持している該複数の入力データのそれぞれに乗算し、前記各タップの乗算の結果を加算して得られたデータを出力データとして、前記第２のクロック信号に同期して複数の出力データを出力する、クロック乗せ換え方法である。
【発明の効果】
【００１１】
本発明によれば、クロック乗せ換え回路は、クロック間の位相差を取得し、第２のクロック信号の該位相差を取得したタイミングにおける前記信号波の値を算出するためのタップ係数を指定した複数段のタップに入力データを保持し、第２のクロック信号に同期して出力するので、非同期のクロック間で信号波を乗せ換えることができる。また、クロック乗せ換え回路は、DPRAMを使用しないので、アドレス空間の制限がなく、書き込みアドレスおよび読み出しアドレスが接近することがなくなり、データ飛び、または同一データの重複出力が確実に防止される。
【図面の簡単な説明】
【００１２】
【図１】本発明のクロック乗せ換え回路の一構成例を示すブロック図である。
【図２】本発明の位相比較部の一構成例を示すブロック図である。
【図３】本発明の位相比較部の一構成例を示すブロック図である。
【図４】本発明のパルス生成回路の一構成例を示すブロック図である。
【図５】本発明のラッチレジスタの動作の一例を示す表である。
【図６】本発明の比較回路の動作の一例を示す表である。
【図７】本発明のデジタルフィルタ部の一構成例を示すブロック図である。
【図８】本発明のフリップフロップの動作の一例を示す表である。
【図９】本発明のクロック乗せ換え回路で使用する信号のタイミングチャートの一例である。
【図１０】本発明のクロック乗せ換え回路の動作を説明するための図である。
【図１１】本発明のクロック乗せ換え回路で使用する信号のタイミングチャートの一例である。
【図１２】本発明のクロック乗せ換え回路の動作を説明するための図である。
【図１３】本発明のクロック乗せ換え回路で使用する信号のタイミングチャートの一例である。
【図１４】本発明のクロック乗せ換え回路の動作を説明するための図である。
【発明を実施するための形態】
【００１３】
本発明を実施するための形態について図面を参照して詳細に説明する。図１は、本実施形態のクロック乗せ換え回路１の一構成例を示すブロック図である。クロック乗せ換え回路１は、２つの非同期のクロック信号間で信号波を乗せ換えるための回路である。本実施形態では、信号波として、クロック信号に同期したデジタルベースバンド信号が用いられる。
【００１４】
同図を参照すると、クロック乗せ換え回路１は、位相比較部１０およびデジタルフィルタ部２０を有する。
【００１５】
図１において、クロック乗せ換え回路１に入力されるデジタルベースバンド信号を生成する回路は省略されている。また、クロック乗せ換え回路１から出力されたデジタルベースバンド信号を搬送波に乗せる場合、クロック乗せ換え回路１に加えて変調回路が必要となるが、本実施形態では、変調回路については省略する。
【００１６】
位相比較部１０には、入力側のデジタルベースバンド信号に同期するクロック信号CLK Aと、出力側のデジタルベースバンド信号に同期するクロック信号CLK Bとが入力される。本実施形態では、これらのクロック信号CLK A、およびCLK Bのそれぞれの周波数は、互いに異なる値である。
【００１７】
位相比較部１０は、クロック信号CLK A、CLK Bの各位相を比較し、CLK Aに対するCLK Bの位相遅れを、これらのクロック信号間の位相差として、CLK Bに同期して取得する。
【００１８】
位相比較部１０は、検出した位相差に基づいて、データ送り制御信号、TAP係数制御信号およびクロック信号CLK BXを生成し、デジタルフィルタ部２０へ出力する。
【００１９】
データ送り制御信号は、デジタルフィルタ部２０による、デジタルベースバンド信号のクロック乗せ換えの動作を制御するための信号である。
【００２０】
TAP係数制御信号は、デジタルフィルタ部２０の使用するTAP係数を指定する制御信号である。
【００２１】
クロック信号CLK BXは、クロック信号CLK Bの周波数を逓倍数２nで逓倍した周波数の信号である。クロック信号CLK BXは、デジタルフィルタ部２０内のフリップフロップの動作クロックとして使用される。
【００２２】
デジタルフィルタ部２０には、入力データが入力される。ここで、入力データは、クロック信号CLK Aに同期したデジタルベースバンド信号の波形上の値を示すデータである。入力データのビット数は、逓倍数２nより小さな値である。
【００２３】
デジタルフィルタ部２０は、データ送り制御信号、TAP係数制御信号およびクロック信号CLK BXに基づいて、出力データを出力する。ここで、出力データは、クロック信号CLK Bと同期するデジタルベースバンド信号の波形上の値を示すデータである。
【００２４】
図２および図３を参照して、位相比較部１０の構成について詳細に説明する。図２は、位相比較部１０の一構成例を示すブロック図である。同図を参照すると、位相比較部１０は、TAP係数指定部１１および不整合判断部１２を有する。
【００２５】
TAP係数指定部１１は、クロック信号CLK Bを逓倍して、クロック信号CLK BXを生成する。また、TAP係数指定部１１は、クロック信号CLK A、CLK Bとの間の位相差をクロック信号CLK Bに同期して検出する。本実施形態では、TAP係数指定部１１は、クロック信号CLK Bの各クロックの立ち上がりのタイミングで、位相差を検出する。そして、TAP係数指定部１１は、その位相差に応じたTAP係数を指定するTAP係数制御信号を生成する。
【００２６】
不整合判断部１２は、CLK Bに同期して検出された位相差の今回値と前回値とを比較する。不整合判断部１２は、この比較結果から、データ抜け、または同一データの重複送信が生じるか否かを判断する。不整合判断部１２は、比較結果に基づいて、データ抜け、または同一データの重複送信が生じないように、データ送り制御信号を生成する。
【００２７】
図３を参照して、TAP係数指定部１１および不整合判断部１２の構成について詳細に説明する。同図は、TAP係数指定部１１および不整合判断部１２を詳細に記載した、位相比較部１０の一構成例を示すブロック図である。
【００２８】
図３を参照すると、位相比較部１０は、クロック逓倍回路１１１、CLK Aパルス生成回路１１２、Nビット自走カウンタ１１３、Nビットカウンタ１１４、ラッチレジスタ１１５、ラッチレジスタ１２１および比較回路１２２を有する。
【００２９】
図２におけるTAP係数指定部１１は、図３におけるクロック逓倍回路１１１、CLK Aパルス生成回路１１２、Nビット自走カウンタ１１３、Nビットカウンタ１１４およびラッチレジスタ１１５を有する。図２における不整合判断部１２は、図３におけるラッチレジスタ１２１および比較回路１２２を有する。
【００３０】
クロック逓倍回路１１１には、クロック信号CLK Bが入力される。クロック逓倍回路１１１は、クロック信号CLK Bを逓倍数2nで逓倍する。クロック逓倍回路１１１は逓倍した信号をクロック信号CLK BXとして、CLK Aパルス生成回路１１２、Nビット自走カウンタ１１３、Nビットカウンタ１１４、ラッチレジスタ１１５、ラッチレジスタ１２１および比較回路１２２へ出力する。
【００３１】
図４を参照して、CLK Aパルス生成回路１１２について説明する。同図は、CLK Aパルス生成回路１１２の一構成例を示すブロック図である。同図を参照すると、CLK Aパルス生成回路１１２は、フリップフロップ１１２１、１１２２および１１２３と、インバータ１１２４と、ANDゲート１１２５とを有する。
【００３２】
フリップフロップ１１２１は、CLK Aの状態を保持し、クロック信号CLK BXの立ち上がりに応じて保持値を更新する。フリップフロップ１１２１は、保持値をフリップフロップ１１２２へ出力する。
【００３３】
フリップフロップ１１２２は、フリップフロップ１１２１から出力された値を保持し、クロック信号CLK BXの立ち上がりに応じて保持値を更新する。フリップフロップ１１２１は、保持値を、ANDゲート１１２５およびフリップフロップ１１２３へ出力する。
【００３４】
フリップフロップ１１２３は、フリップフロップ１１２２から出力された値を保持し、クロック信号CLK BXの立ち上がりに応じて保持値を更新する。フリップフロップ１１２３は、保持値をインバータ１１２４へ出力する。
【００３５】
インバータ１１２４は、フリップフロップ１１２３から出力された値を反転してANDゲート１１２５へ出力する。
【００３６】
ANDゲート１１２５は、フリップフロップ１１２２から出力された値と、インバータ１１２４から出力された値との論理積を出力する。
【００３７】
上述の構成により、クロック信号CLK Aは、フリップフロップ１１２１、１１２２の順に入力され、クロック信号CLK Bを2n倍に逓倍したクロック信号CLK Bにて叩き直される。この、フリップフロップ１１２１、１１２２からなる回路は、メタステーブル対策のための回路であり、一般に利用されているものである。
【００３８】
フリップフロップ１１２３、インバータ１１２４およびANDゲート１１２５からなる回路により、フリップフロップ１１２２からの出力信号は、微分される。この結果、CLK Aパルス生成回路１１２からの出力信号は、CLK Bの周波数を2n倍に逓倍した周波数の周期をパルス幅Ｔとして、CLK Aのパルス幅をＴとしたパルス信号となる。このパルス信号を、以下、パルス信号CLK AXと称する。CLK Aパルス生成回路１１２は、パルス信号CLK AXをNビットカウンタ１１４へ出力する。
【００３９】
図３に戻り、Nビット自走カウンタ１１３は、クロック逓倍回路１１１からのクロック信号CLK BXの立ち上がりに応じて、「N」ビット分のカウント値を計数する。最大値まで計数してから、クロック信号CLK BXの立ち上がりが生じたときは、Nビット自走カウンタ１１３は、カウント値を初期値にする。Nビット自走カウンタ１１３は、カウント値を、ラッチレジスタ１１５、ラッチレジスタ１２１および比較回路１２２へ出力する。
【００４０】
Nビットカウンタ１１４は、CLK Aパルス生成回路１１２からのクロック信号CLK AXによりロードされ、初期値から計数を開始する。Nビットカウンタ１１４は、クロック逓倍回路１１１からのクロック信号CLK BXの立ち上がりに応じて、初期値から「N」ビット分のカウント値を計数する。Nビットカウンタ１１４は、カウント値をラッチレジスタ１１５へ出力する。Nビットカウンタ１１４およびＮビット自走カウンタ１１３のカウント値の最大値（２N）は同じ値とする。
【００４１】
上述の構成により、Nビットカウンタ１１４は、出力側のクロック信号CLK Aの立ち上がりに応じてカウントを開始し、Nビット自走カウンタ１１３は、入力側のクロック信号CLK Bの立ち上がりに応じてカウントを開始する。このため、これらのカウンタのカウント値の差は、クロック信号CLK AとCLK Bとの間の位相差に近い値となる。カウント値の最大数「２N」を大きくするほど、高い精度で位相差が検出される。
【００４２】
ラッチレジスタ１１５は、各カウンタのカウント値をラッチできるレジスタである。例えば、各カウンタで、１０進数の「８」までカウントしたい場合、ラッチレジスタ１１５は、３ビットのレジスタとする。ラッチレジスタ１１５は、クロック逓倍回路１１１からのクロック信号CLK BXを動作クロックとし、入力端子「D」および「EN」と、出力端子「Q」を有する。入力端子「D」には、Nビットカウンタ１１４からの信号が入力される。入力端子「EN」には、Nビット自走カウンタ１１３からの信号が入力される。出力端子「Q」からは、ラッチレジスタ１１５、比較回路１２２およびデジタルフィルタ部２０へ信号が出力される。ラッチレジスタ１１５は、保持した値（位相差）を乗せた信号を、デジタルフィルタ部２０へTAP係数制御信号として出力する。
【００４３】
図５を参照して、ラッチレジスタ１１５の動作について説明する。同図を参照すると、Nビット自走カウンタ１１３からの信号の全てのビット値が「０」である場合、ラッチレジスタ１１５は、Nビットカウンタ１１４からの信号を透過し、ラッチレジスタ１１５へそのまま出力する。Nビット自走カウンタ１１３からの信号の全てのビットが「０」でない場合、ラッチレジスタ１１５は、Nビット自走カウンタ１１３からの信号の全てのビット値が「０」であるときの、Nビットカウンタ１１４からの信号を保持（ラッチ）し、保持値をラッチレジスタ１２１へ出力する。
【００４４】
図３に戻り、ラッチレジスタ１２１の構成は、ラッチレジスタ１１５と同様の構成である。ラッチレジスタ１２１の入力端子「D」には、ラッチレジスタ１１５からの信号が入力される。入力端子「EN」には、Nビット自走カウンタ１１３からの信号が入力される。出力端子「Q」からは、比較回路１２２へ信号が出力される。
【００４５】
上述の構成により、ラッチレジスタ１１５には、位相差の今回値が保持され、ラッチレジスタ１２１には、位相差の前回値が保持される。
【００４６】
比較回路１２２には、クロック逓倍回路１１１からのクロック信号CLK BXと、ラッチレジスタ１１５からの信号と、ラッチレジスタ１２１からの信号と、Nビット自走カウンタ１１３からの信号とが入力される。比較回路１２２は、これらの入力信号に基づいて、データ送り制御信号を生成する。
【００４７】
図６は、比較回路１２２の動作を説明するための図である。同図を参照すると、比較回路１２２は、Nビットカウントの信号の全てのビット値が「０」であるとき、ラッチレジスタ１１５の信号と、ラッチレジスタ１２１の信号とを比較する。
【００４８】
ラッチレジスタ１１５の出力信号が全て「１」で、且つ、ラッチレジスタ１２１の出力信号が全て「０」である場合の比較回路１２２の動作について説明する。前述したように、ラッチレジスタ１１５の保持値は、位相差の今回値であり、ラッチレジスタ１２１の保持値は、位相差の前回値である。このため、ラッチレジスタ１１５の出力信号の全てのビット値が「１」で、且つ、ラッチレジスタ１２１の出力信号の全てのビット値が「０」であることは、最大値の位相差が検出された後、最小値の位相差が検出されたことを意味する。
【００４９】
入力側のクロック信号CLK Aの周期が出力側のクロック信号CLK Bの周期より短いと、検出される両クロック間の位相差が最大値となる時点で入力側から送信されたデータが、位相差が最小値となる時点で再度送信される可能性がある。
【００５０】
そこで、比較回路１２２は、このような同一データの重複送信を防止するため、クロック信号CLK BXを使用して、パルス幅「２Ｔ」のハイパルスを有するパルス信号をデータ送り制御信号として生成する。「Ｔ」は、CLK AXのパルス幅と同じ値である。
【００５１】
このデータ送り制御信号が送信されたとき、デジタルフィルタ部２０は、最小値の位相差が検出された時点における入力側のデータを出力側へ出力しない。この動作により同一データの２回送信が防止される。
【００５２】
ラッチレジスタ１１５の出力信号の全てのビットが「０」で、且つ、ラッチレジスタ１２１の出力信号の全てのビットが「１」である場合の比較回路１２２の動作について説明する。ラッチレジスタ１１５の出力信号の全てのビット値が「０」で、且つ、ラッチレジスタ１２１の出力信号の全てのビット値が「１」であることは、最小値の位相差が検出された後、最大値の位相差が検出されたことを意味する。
【００５３】
入力側のクロック信号CLK Aの周期が出力側のクロック信号CLK Bの周期より長いと、検出される両クロック間の位相差が最小値となる時点で入力側からデータが送信された後、位相差が最大値となる時点のデータが送信されない可能性がある。
【００５４】
そこで、比較回路１２２は、このようなデータ飛びを防止するため、最小値の位相差が検出された時点のデータを出力しないパルス信号を有するデータ送り制御信号を生成する。このデータ送り制御信号が送信されたとき、デジタルフィルタ部２０は、最小値の位相差が検出された時点における入力側のデータを、TAP係数を変えて２回送信する。この動作により、データ飛びが防止される。
【００５５】
ラッチレジスタ１１５の出力信号の全てのビットが「１」となり、ラッチレジスタ１２１の出力信号の全てのビットが「０」となる組み合わせ以外の組み合わせの場合の比較回路１２２の動作について説明する。この場合、データ飛び、または同一データの重複送信が生じる可能性は低い。このため、比較回路１２２は、クロック信号CLK BXを使用して、パルス幅「１Ｔ」のハイパルスを有するパルス信号をデータ送り制御信号として生成する。このデータ送り制御信号が送信されたとき、デジタルフィルタ部２０は、クロック間の位相差に対応したTAP係数を選択して、入力側から送信された各データを出力側へ送信する。
【００５６】
続いて、図７を参照して、デジタルフィルタ部２０の構成について説明する。同図は、デジタルフィルタ部２０の一構成例を示すブロック図である。同図を参照すると、デジタルフィルタ部２０は、制御部２０１と、フリップフロップ２０２１、２０２２等のｋ個のフリップフロップと、乗算器２０３１、２０３２等のｋ個の乗算器と、加算器２０４１等のｋ−１個の加算器とを有する。
【００５７】
ここで、本実施形態では、フリップフロップ、乗算器および加算器からなる要素をタップと称する。上述の構成より、デジタルフィルタ部２０は、ｋ段のタップを有する。入力データが入力されるタップを１段目とし、出力データを出力するタップをｋ段目とする。但し、１段目のタップは、加算器を有しない。
【００５８】
ここで、デジタルフィルタ部２０内のタップの段数（ｋ）は、逓倍数2nと等しく、また、伝達関数へ入力する要素数である。例えば、伝達関数へ入力する要素数、即ちデータ数を２４の場合、タップは２４段とされる。各タップのフリップフロップが保持できるビット数は、各要素のデータのデータサイズに応じて決定される。
【００５９】
制御部２０１は、位相差ごとに、TAP係数テーブル２０１１などの、カウンタの最大値２Nに等しい個数のTAP係数テーブルを有する。これらのTAP係数テーブルのそれぞれにはｋ個の各タップのTAP係数h1〜hkが設定されている。
【００６０】
各テーブルは、入力データと、出力データとの間の位相差ごとに設けられる。各テーブルのTAP係数の値は、伝達関数の各項の係数に対応する。伝達関数は、位相差が取得された時点以前の複数の入力データに対応する出力データが、複数の中のいずれかの入力データの入力時点から、テーブルに対応する位相差だけ経過した各時点のデジタルベースバンド信号の波形上の値となるように、定義される。この結果、出力データは、位相差を検出した時点のデジタルベースバンド信号の波形上の値となる。伝達関数は、例えば、移動平均法を用いる関数である。この場合、デジタルフィルタ部２０は、各出力データについて、過去の複数の入力データの値から得られる移動平均線上で、いずれかの入力データに対応する時点から位相差が経過した時点にプロットされる値を算出し、その値を出力データの値とする。
【００６１】
タップ数を大きくするほど、一般にデジタルフィルタ部２０の応答速度は低速になるので、デジタルベースバンド信号の波形上のどの時点の値を算出するかは、タップ数に応じて決定される。本実施形態では、タップ数（２４）は十分に小さいので、デジタルフィルタ部２０は、最後の入力データから位相差が経過した時点の出力データを算出するものとする。
【００６２】
制御部２０１には、クロック間の位相差を示すTAP係数制御信号が入力される。制御部２０１は、TAP係数制御信号の示す位相差に対応するTAP係数テーブルを読み出し、そのTAP係数テーブルに設定されたTAP係数を各タップに設定する。
【００６３】
１段目のタップの構成について説明する。１段目のフリップフロップ２０２１は、クロック信号CLK BXを動作クロックとする。そして、フリップフロップ２０２１には、入力データおよびデータ送り制御信号が入力される。
【００６４】
図８は、データ送り制御信号がハイレベルの場合のフリップフロップ２０２１の動作を説明するための図である。同図を参照すると、CLK BX信号がローレベルである場合、フリップフロップ２０２１は、入力信号を、そのまま出力側へ透過する。同図において、「Ｄ」は入力信号の値であり、「Ｑ」は出力信号の値である。
【００６５】
CLK BX信号がハイレベルである場合、フリップフロップ２０２１は、データ送り制御信号がローレベルのときに保持した値を出力する。データ送り制御信号がローレベルの場合、フリップフロップ２０２１は無効になる。
【００６６】
２段目以降のフリップフロップの動作は、１段目のフリップフロップ２０２１の動作と同様である。
【００６７】
図７に戻り、データ送り制御信号がハイレベルの場合、１段目のフリップフロップ２０２１は、２段目のフリップフロップ２０２２と、１段目の乗算器２０３１とへ信号を出力する。
【００６８】
１段目の乗算器２０３１は、１段目のフリップフロップ２０２１から出力された信号の値と、TAP係数テーブルに設定された１段目のTAP係数ｈ1とを乗算して、２段目の加算器２０４１へ出力する。
【００６９】
２段目のフリップフロップ２０２２は、前段のフリップフロップ２０２１から出力された信号と、データ送り制御信号とに基づいて、後段のフリップフロップと、２段目の乗算器２０３２とへ信号を出力する。
【００７０】
２段目の乗算器２０３２は、２段目のフリップフロップ２０２２から出力された信号の値と、TAP係数テーブルに設定された２段目のTAP係数ｈ2とを乗算して、２段目の加算器２０４１へ出力する。
【００７１】
２段目の加算器２０４１は、前段の乗算器２０３１の出力値と、２段目の乗算器２０３２の出力値とを加算して、後段の加算器へ出力する。
【００７２】
３段目以降のタップ内の、フリップフロップ、乗算器および加算器の動作は、２段目のタップ内のフリップフロップ等の動作と同様である。
【００７３】
ｋは、前述したように逓倍数2nに等しいので、CLK BXに同期して動作するｋ段のタップからは、クロック信号CLK Bに同期して出力データが出力される。
【００７４】
図９〜図１４を参照して、クロック乗せ換え回路１の動作結果の一例について説明する。図９および図１０は、データ飛び、または同一データの重複送信が生じないと推測される場合における、位相比較部１０のタイミングチャートである。
【００７５】
図９を参照すると、クロック信号CLK A、CLK B間の位相差は、CLK Aの周期の、およそ２／８倍の値、または３／８倍の値である。
【００７６】
クロック逓倍回路１１１は、CLK Bを逓倍してクロック信号CLK BXを生成する。CLK Aパルス生成回路１１２は、図４に示した回路で生成されたクロック信号CLK AXを出力する。
【００７７】
Nビット自走カウンタ１１３は、クロック信号CLK BXの立ち上がりに応じて、Nビット分のカウント値を計数する。Nビットカウンタ１１４は、クロック信号CLK AXによりロードされ、クロック信号CLK BXの立ち上がりに応じて、Nビット分のカウント値を計数する。
【００７８】
ラッチレジスタ１１５は、Nビット自走カウンタ１１３のカウント値が２進数で「０００」の場合における、Nビット自走カウンタ１１３およびNビットカウンタ１１４のカウント値の差をTAP係数制御信号の値として保持する。ラッチレジスタ１２１は、ラッチレジスタ１２１の前回値を保持する。
【００７９】
図９に示すように、位相差が、クロック信号CLK Aの周期の、およそ２／８倍の値、または３／８倍の値となったとき、位相比較部１０は、それぞれ１０進数で「２」、「３」の値のTAP係数制御信号を出力する。
【００８０】
図１０（a）は、入力データ、出力データを、デジタルベースバンド信号に乗せるタイミングを示すグラフである。同図における、丸は入力データ、四角は出力データであり、同図の縦軸は、デジタルベースバンド信号の波の高さ、横軸は時間である。実線の波形は、デジタルベースバンド信号の波形である。
【００８１】
図１０（ｂ）は、図９に対応するデータ送り制御信号のタイミングチャートである。同図（ｂ）に示すように、クロック信号CLK A、CLK B間の位相差が、CLK Aの周期の２／８や３／８である場合、位相比較部１０は、パルス幅「１Ｔ」のハイパルスを有するデータ送り制御信号を生成する。
【００８２】
デジタルフィルタ部２０は、１Ｔの期間内に、位相差に応じたTAP係数を設定したタップを通過させ、CLK Bに同期したタイミングで出力する。
【００８３】
この結果、図１０（a）に示すように、クロック間の位相差に応じた時点の波形上の値を示す出力データが出力される。従って、出力側の回路からは、実線の波、すなわち信号波上のデータがシームレスにクロック乗せ換え回路１から出力されているように見える。
【００８４】
図１１および図１２は、同一データの重複送信が生じうる場合における、位相比較部１０のタイミングチャートである。
【００８５】
図１１を参照すると、クロック信号CLK A、CLK B間の位相差は、CLK Aの周期の０／８の値、または、７／８倍の値である。
【００８６】
図１１に示すように、位相比較部１０は、クロック間の位相差に応じて、１０進数で「０」、「７」の位相差に対応するTAP係数制御信号を出力する。
【００８７】
図１２（a）は、入力データ、出力データを、デジタルベースバンド信号に乗せるタイミングを示すグラフである。同図における、丸は入力データ、四角は出力データであり、同図の縦軸は、デジタルベースバンド信号の波の高さ、横軸は時間である。実線の波形は、デジタルベースバンド信号の波形である。
【００８８】
図１２（ｂ）は、図１１に対応するデータ送り制御信号のタイミングチャートである。図１２（ｂ）に示すように、クロック信号CLK A、CLK B間の位相差の前回値が１０進数で「７」で、今回値が「０」である場合、位相比較部１０は、パルス幅「２Ｔ」のハイパルスを有するデータ送り制御信号を生成する。
【００８９】
このとき、図１２（a）に示すように、デジタルフィルタ部２０は、１０進数で「０」の位相差が検出された時点における入力側のデータを出力しない。この動作により同一データの２回送信が防止される。
【００９０】
図１３および図１４は、データ飛びが生じうる場合における、位相比較部１０のタイミングチャートである。
【００９１】
図１３を参照すると、クロック信号CLK A、CLK B間の位相差は、CLK Aの周期の０／８倍の値、または、７／８倍の値である。
【００９２】
図１３に示すように、位相比較部１０は、ロック信号CLK A、CLK B間の位相差に応じて、１０進数で「０」、「７」の位相差に対応するTAP係数制御信号を出力する。
【００９３】
図１４（a）は、入力データ、出力データを、デジタルベースバンド信号に乗せるタイミングを示すグラフである。同図における、丸は入力データ、四角は出力データであり、同図の縦軸は、デジタルベースバンド信号の波の高さ、横軸は時間である。実線の波形は、デジタルベースバンド信号の波形である。
【００９４】
図１４（ｂ）は、図１３に対応するデータ送り制御信号のタイミングチャートである。図１４（ｂ）に示すように、クロック信号CLK A、CLK B間の位相差の前回値が１０進数で「０」で、今回値が「７」である場合、位相比較部１０は、データ飛びを防止するためのデータ送り制御信号を生成する。具体的には、位相比較部１０は、最小値の位相差が検出された時点のデータを出力しないパルス信号を有するデータ送り制御信号を生成する。
【００９５】
このとき、図１４（a）に示すように、デジタルフィルタ部２０は、１０進数で「０」の位相差が検出された時点における入力データに対応する出力データを、TAP係数を変えて２回送信する。この動作により、データ飛びが防止される。
【００９６】
なお、本実施形態では、不整合判断部１２は、データ飛びが生じる場合のパルス信号と、同一データの重複出力が生じる場合のパルス信号と、データ飛び等が生じない場合のパルス信号との３パターンのパルス信号を出力している。しかし、データ飛びが生じる場合のパルス信号と、同一データの重複出力が生じる場合のパルス信号とについては、いずれか一方のみを出力する構成としてもよい。
【００９７】
また、位相比較部１０の構成は、クロック信号CLKA, CLK Bに基づいて、CLK BX、TAP係数制御信号およびデータ送り制御信号を生成できるのであれば、図３に示した構成に限定されるものではない。
【００９８】
CLK Aパルス生成回路１１２の構成は、クロック信号CLK AXを生成できるのであれば、図４に示した構成に限定されるものではない。
【００９９】
本実施形態の不整合判断部１２は、本発明の制御信号出力手段に相当する。本実施形態のデータ送り制御信号は、本発明のデータ飛び通知信号および重複出力通知信号を含む。
【０１００】
以上説明したように、本実施形態によれば、クロック乗せ換え回路は、クロック間の位相差を取得し、第２のクロック信号の該位相差を取得したタイミングにおける前記信号波の値を算出するためのタップ係数を指定した複数段のタップに入力データを保持し、第２のクロック信号に同期して出力するので、非同期のクロック間で信号波を乗せ換えることができる。また、クロック乗せ換え回路は、DPRAMを使用しないので、アドレス空間の制限がなく、書き込みアドレスおよび読み出しアドレスが接近することがなくなり、データ飛び、または同一データの重複出力が確実に防止される。
【０１０１】
位相差ごとのタップ係数の組み合わせをテーブルに記載しておくので、クロック乗せ換え回路は、テーブルの切り替えにより、位相差に応じて、容易に伝達関数を切り替えることができる。
【０１０２】
クロック乗せ換え回路１は、位相差の今回値と前回値とから、データ飛びが生じうる場合に、１つの入力データについて、タップ係数を切り替えて、異なる出力データを２回出力するので、データ飛びをより確実に防止できる。
【０１０３】
クロック乗せ換え回路１は、位相差の今回値と前回値とから、同一データの重複出力が生じうる場合に、２つの入力データについて出力データを１回出力するので、同一データの重複出力を、より確実に防止できる。
【０１０４】
クロック乗せ換え回路１は、Nビット自走カウンタ１１３およびNビットカウンタ１１４間のカウント値の差を位相差として検出するので、カウント値の最大数を変更するだけで、容易に位相差の検出精度を変更することができる。
【符号の説明】
【０１０５】
１    クロック乗せ換え回路
１０    位相比較部
２０    デジタルフィルタ部
１１    TAP係数指定部
１２    不整合判断部
１１１    クロック逓倍回路
１１２    CLK Aパルス生成回路
１１３    Nビット自走カウンタ
１１４    Nビットカウンタ
１１５、１２１    ラッチレジスタ
１２２    比較回路
１１２１、１１２２、１１２３    フリップフロップ
１１２４    インバータ
１１２５    ＡＮＤゲート
２０１    制御部
２０１１    TAP係数テーブル
２０２１、２０２２    フリップフロップ
２０３１、２０３２    乗算器
２０４１    加算器
【図１】
0005560778.tif 000002
【図２】
0005560778.tif 000003
【図３】
0005560778.tif 000004
【図４】
0005560778.tif 000005
【図５】
0005560778.tif 000006
【図６】
0005560778.tif 000007
【図７】
0005560778.tif 000008
【図８】
0005560778.tif 000009
【図９】
0005560778.tif 000010
【図１０】
0005560778.tif 000011
【図１１】
0005560778.tif 000012
【図１２】
0005560778.tif 000013
【図１３】
0005560778.tif 000014
【図１４】
0005560778.tif 000015