(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-31
(45)【発行日】2023-08-08
(54)【発明の名称】伝送システム、伝送装置、及びクロック同期方法
(51)【国際特許分類】
H04L 7/00 20060101AFI20230801BHJP
【FI】
H04L7/00 160
(21)【出願番号】P 2019191856
(22)【出願日】2019-10-21
【審査請求日】2022-06-29
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(73)【特許権者】
【識別番号】399035766
【氏名又は名称】エヌ・ティ・ティ・コミュニケーションズ株式会社
(74)【代理人】
【識別番号】100087480
【氏名又は名称】片山 修平
(72)【発明者】
【氏名】相谷 昌紀
(72)【発明者】
【氏名】滝澤 雄二
(72)【発明者】
【氏名】安藤 雅
(72)【発明者】
【氏名】湯澤 慶輝
【審査官】阿部 弘
(56)【参考文献】
【文献】特開2014-216706(JP,A)
【文献】特開2011-172001(JP,A)
【文献】特開2013-183271(JP,A)
【文献】特開2007-013950(JP,A)
【文献】特開2005-318014(JP,A)
【文献】米国特許第05446416(US,A)
【文献】特開2015-052560(JP,A)
【文献】特開2000-078121(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 7/00
(57)【特許請求の範囲】
【請求項1】
データ信号からパケットを生成して送信する第1伝送装置と、
前記パケットを受信して前記パケットから前記データ信号を再生する第2伝送装置とを有し、
前記第1伝送装置は、
前記データ信号から入力データクロック信号を抽出する抽出部と、
前記入力データクロック信号を逓倍することにより逓倍クロック信号を生成する逓倍部と、
前記入力データクロック信号の位相として、前記逓倍クロック信号のパルスをカウントする第1カウンタと、
第1装置クロック信号を生成する第1生成部と、
前記入力データクロック信号を分周することにより分周クロック信号を生成する分周部と、
前記分周クロック信号の周期の間、前記第1装置クロック信号
のパルスをカウントすることにより
、前記入力データクロック信号の第1周波数を測定する第1測定部と、
前記パケットが送信されるとき
、前記逓倍クロック信号のパルスのカウント値
、及び
前記第1装置クロック信号のパルスのカウント値を前記パケットに付与する付与部とを有し、
前記第2伝送装置は、
前記パケットから
、前記逓倍クロック信号のパルスのカウント値
、及び
前記第1装置クロック信号のパルスのカウント値を取得する取得部と、
出力データクロック信号を生成する第2生成部と、
前記パケットから再生された前記データ信号を前記出力データクロック信号に同期して出力する出力部と、
前記逓倍クロック信号のパルスのカウント値
、及び
前記第1装置クロック信号のパルスのカウント値に基づき前記出力データクロック信号の周波数を制御する制御部とを有することを特徴とする伝送システム。
【請求項2】
前記第2伝送装置は、
前記出力データクロック信号の位相として、前記出力データクロック信号
のパルスをカウントする第2カウンタと、
第2装置クロック信号を生成する第3生成部と、
前記出力データクロック信号の周期の間、前記第2装置クロック信号のパルスをカウントすることにより、前記出力データクロック信号の第2周波数
を測定する第2測定部とを有し、
前記制御部は、
前記第2周波数を、
前記逓倍クロック信号のパルスのカウント値と、前記パケットが受信されたとき
の前記出力データクロック信号のパルスのカウント値との比較結果に応じた目標値に近づけるように制御し、
前記第1装置クロック信号のパルスのカウント値から得られる前記第1周波数と、前記第2周波数との差分に基づき前記目標値の範囲を制限することを特徴とする請求項1に記載の伝送システム。
【請求項3】
前記制御部は、前記第1周波数と前記第2周波数の差分が、前記第1装置クロック信号及び前記第2装置クロック信号の各精度に基づく測定誤差の範囲を超える場合、前記目標値の範囲を制限することを特徴とする請求項2に記載の伝送システム。
【請求項4】
前記制御部は、前記目標値の範囲から、前記第1装置クロック信号及び前記第2装置クロック信号の各精度に基づく測定誤差が異常と判断される範囲を除くことを特徴とする請求項3に記載の伝送システム。
【請求項5】
データ信号からパケットを生成し、前記パケットから前記データ信号を再生する他の伝送装置に送信する伝送装置において、
前記データ信号から入力データクロック信号を抽出する抽出部と、
前記入力データクロック信号を逓倍することにより逓倍クロック信号を生成する逓倍部と、
前記入力データクロック信号の位相として、前記逓倍クロック信号のパルスをカウントするカウンタと、
第1装置クロック信号を生成する生成部と、
前記入力データクロック信号を分周することにより分周クロック信号を生成する分周部と、
前記分周クロック信号の周期の間、前記第1装置クロック信号
のパルスをカウントすることにより
、前記入力データクロック信号の第1周波数を測定する測定部と、
前記パケットが送信されるとき
、前記逓倍クロック信号のパルスのカウント値
、及び
前記第1装置クロック信号のパルスのカウント値を前記パケットに付与する付与部とを有することを特徴とする伝送装置。
【請求項6】
データ信号からパケットを生成して送信する第1伝送装置と、前記パケットを受信して前記パケットから前記データ信号を再生する第2伝送装置との間のクロック同期方法において、
前記第1伝送装置は、
前記データ信号から入力データクロック信号を抽出し、
前記入力データクロック信号を逓倍することにより逓倍クロック信号を生成し、
前記入力データクロック信号の位相として、前記逓倍クロック信号のパルスをカウントし、
第1装置クロック信号を生成し、
前記入力データクロック信号を分周することにより分周クロック信号を生成し、
前記分周クロック信号の周期の間、前記第1装置クロック信号
のパルスをカウントすることにより
、前記入力データクロック信号の第1周波数を測定し、
前記パケットが送信されるとき
、前記逓倍クロック信号のパルスのカウント値
、及び
前記第1装置クロック信号のパルスのカウント値を前記パケットに付与し、
前記第2伝送装置は、
前記パケットから
、前記逓倍クロック信号のパルスのカウント値
、及び
前記第1装置クロック信号のパルスのカウント値を取得し、
出力データクロック信号を生成し、
前記パケットから再生された前記データ信号を前記出力データクロック信号に同期して出力し、
前記逓倍クロック信号のパルスのカウント値
、及び
前記第1装置クロック信号のパルスのカウント値に基づき前記出力データクロック信号の周波数を制御することを特徴とするクロック同期方法。
【発明の詳細な説明】
【技術分野】
【0001】
本件は、伝送システム、伝送装置、及びクロック同期方法に関する。
【背景技術】
【0002】
例えばストリーミング配信されるような音声及び映像などのデータ信号は、パケット化されて一定の伝送速度で経路上の各ノード間を伝送される。送信側ノード及び受信側ノードの各伝送装置の間では、データ信号を伝送するためのクロック信号の周波数が同期しなければ、データ信号の遅延及び出力停止が生じてストリーミング配信サービスの品質が低下するおそれがある。
【0003】
このため、例えば専用回線などの同期ネットワークの場合、各ノードの伝送装置には、信号伝送に用いる高精度のリファレンスクロックが供給されるが、専用回線はコストが高いため、近年では比較的安価で汎用性の高いイーサネット回線などの非同期ネットワークが用いられる。非同期ネットワークの場合、各ノードの伝送装置はPTP(Precision Time Protocol)やSync-Eなどの手段、あるいはノードまたは拠点ごとにGPS(Global Positioning System)クロックやセシウムクロックなどを設けることで、高精度のリファレンスクロックへの同期を得ることができる。
【0004】
しかし、非同期ネットワークを用いる場合でも高精度のリファレンスクロックを用いるとネットワークや装置のコスト等が増加する。このため、各ノードの伝送装置は、リファレンスクロックを用いずに、例えばデータ信号から抽出したクロック信号のカウント値を用いて位相同期制御を行う(例えば特許文献1を参照)。位相同期制御によると、データ信号の遅延時間が伝送路の状態に応じて変動しても、クロック信号の周波数はその変動に追従することができる。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、クロック信号の周波数は、データ信号の入力元装置の状態によって大きく変化する場合がある。この場合、送信側ノード及び受信側ノードの各伝送装置におけるクロック信号の周波数に誤差が生じ、位相同期制御によって周波数の誤差を迅速に収束させてクロック信号の周波数を同期させることが難しい。このため、送信側ノードの伝送装置に対するデータ信号の入力レートと、受信側ノードの伝送装置からのデータ信号の出力レートとの間には誤差が生ずる。
【0007】
これに対し、各ノードの伝送装置に、レート差を十分に吸収できる程度のパケット量を格納するバッファを設けることもできるが、バッファ量が増加するほど、伝送装置内のパケットの滞留時間が延びるため、データ信号の遅延時間が増加するおそれがある。
【0008】
本件は、伝送装置間のクロック周波数の同期性能を向上させることができる伝送システム、伝送装置、及びクロック同期方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
1つの態様では、伝送システムは、データ信号からパケットを生成して送信する第1伝送装置と、前記パケットを受信して前記パケットから前記データ信号を再生する第2伝送装置とを有し、前記第1伝送装置は、前記データ信号から入力データクロック信号を抽出する抽出部と、前記入力データクロック信号を逓倍することにより逓倍クロック信号を生成する逓倍部と、前記入力データクロック信号の位相として、前記逓倍クロック信号のパルスをカウントする第1カウンタと、第1装置クロック信号を生成する第1生成部と、前記入力データクロック信号を分周することにより分周クロック信号を生成する分周部と、前記分周クロック信号の周期の間、前記第1装置クロック信号のパルスをカウントすることにより、前記入力データクロック信号の第1周波数を測定する第1測定部と、前記パケットが送信されるとき、前記逓倍クロック信号のパルスのカウント値、及び前記第1装置クロック信号のパルスのカウント値を前記パケットに付与する付与部とを有し、前記第2伝送装置は、前記パケットから、前記逓倍クロック信号のパルスのカウント値、及び前記第1装置クロック信号のパルスのカウント値を取得する取得部と、出力データクロック信号を生成する第2生成部と、前記パケットから再生された前記データ信号を前記出力データクロック信号に同期して出力する出力部と、前記逓倍クロック信号のパルスのカウント値、及び前記第1装置クロック信号のパルスのカウント値に基づき前記出力データクロック信号の周波数を制御する制御部とを有する。
【0010】
1つの態様では、伝送装置は、データ信号からパケットを生成し、前記パケットから前記データ信号を再生する他の伝送装置に送信する伝送装置において、前記データ信号から入力データクロック信号を抽出する抽出部と、前記入力データクロック信号を逓倍することにより逓倍クロック信号を生成する逓倍部と、前記入力データクロック信号の位相として、前記逓倍クロック信号のパルスをカウントするカウンタと、第1装置クロック信号を生成する生成部と、前記入力データクロック信号を分周することにより分周クロック信号を生成する分周部と、前記分周クロック信号の周期の間、前記第1装置クロック信号のパルスをカウントすることにより、前記入力データクロック信号の第1周波数を測定する測定部と、前記パケットが送信されるとき、前記逓倍クロック信号のパルスのカウント値、及び前記第1装置クロック信号のパルスのカウント値を前記パケットに付与する付与部とを有する。
【0011】
1つの態様では、クロック同期方法は、データ信号からパケットを生成して送信する第1伝送装置と、前記パケットを受信して前記パケットから前記データ信号を再生する第2伝送装置との間のクロック同期方法において、前記第1伝送装置は、前記データ信号から入力データクロック信号を抽出し、前記入力データクロック信号を逓倍することにより逓倍クロック信号を生成し、前記入力データクロック信号の位相として、前記逓倍クロック信号のパルスをカウントし、第1装置クロック信号を生成し、前記入力データクロック信号を分周することにより分周クロック信号を生成し、前記分周クロック信号の周期の間、前記第1装置クロック信号のパルスをカウントすることにより、前記入力データクロック信号の第1周波数を測定し、前記パケットが送信されるとき、前記逓倍クロック信号のパルスのカウント値、及び前記第1装置クロック信号のパルスのカウント値を前記パケットに付与し、前記第2伝送装置は、前記パケットから、前記逓倍クロック信号のパルスのカウント値、及び前記第1装置クロック信号のパルスのカウント値を取得し、出力データクロック信号を生成し、前記パケットから再生された前記データ信号を前記出力データクロック信号に同期して出力し、前記逓倍クロック信号のパルスのカウント値、及び前記第1装置クロック信号のパルスのカウント値に基づき前記出力データクロック信号の周波数を制御する方法である。
【発明の効果】
【0012】
1つの側面として、伝送装置間のクロック周波数の同期性能を向上させることができる。
【図面の簡単な説明】
【0013】
【
図1】非同期ネットワークの一例を示す構成図である。
【
図3】パケットにタイムスタンプを付与する処理の一例を示すタイムチャートである。
【
図4】出力データクロック信号の周波数を目標値に近づける制御の一例を示すタイムチャートである。
【
図5】パケット送信処理の一例を示すフローチャートである。
【
図6】出力データクロック信号の周波数の制御処理の一例を示すフローチャートである。
【
図7】目標値の決定処理の一例を示すフローチャートである。
【
図8】入力データクロック信号及び出力データクロック信号の各周波数の時刻に対する変化の例を示す図である。
【発明を実施するための形態】
【0014】
図1は、非同期ネットワークの一例を示す構成図である。非同期ネットワークは、一例としてデータ伝送サービスに用いられる。データ伝送サービスの設備としては、例えば送信所90及び受信所91が設けられる。
【0015】
送信所90及び受信所91には、それぞれ、1台以上の伝送装置1が設けられる。伝送装置1は、デジタルデータをデータ信号に収容して伝送する。送信所90及び受信所91の間の伝送路では、データ信号はパケット化されて伝送される。
【0016】
データ信号は、送信所90から受信所91に伝送され、受信所91の出力側に接続される機器(不図示)に伝送される。
【0017】
非同期ネットワークには、伝送装置1に供給される共通のリファレンスクロックの設備が設けられていない。このため、送信所90及び受信所91の伝送装置1の間でデータ信号を伝送するクロック信号の周波数同期が確立される。
【0018】
周波数同期が確立されない場合、例えば、送信所90の伝送装置1のクロック信号の周波数が受信所91の伝送装置1のクロック信号の周波数より高い場合、送信所90の伝送装置1に対するデータ信号の入力レートが受信所91の伝送装置1からの出力レートより高くなるため、受信所91の伝送装置1内でデータ信号の損失が発生する。また、送信所90の伝送装置1のクロック信号の周波数が受信所91の伝送装置1のクロック信号の周波数より低い場合、送信所90の伝送装置1に対するデータ信号の入力レートが受信所91の伝送装置1からの出力レートより低くなるため、データ信号の出力が中断してしまう。
【0019】
これに対し、伝送装置1内にレート差を十分に吸収できる程度のパケット量を格納するバッファを設けることもできる。しかし、バッファ量が増加するほど、伝送装置1内のパケットの滞留時間が延びるため、データ信号の遅延時間が増加するおそれがある。特にストリーミング配信の場合、データ信号の遅延時間の増加によりサービス品質が低下するおそれがある。
【0020】
そこで、送信所90の伝送装置1は、入力されたデータ信号から抽出されたクロック信号の位相及び周波数を示す各カウント値をパケットごとに付与して受信所91の伝送装置1に送信する。受信所91の伝送装置1は、データ信号を出力するためのクロック信号の周波数を各カウント値に基づき制御する。周波数同期の併用により、送信所90の伝送装置1と受信所91の伝送装置1の間のクロック信号の周波数の同期性能が、位相同期制御だけを行う場合より向上する。
【0021】
図2は、伝送システムの一例を示す構成図である。伝送システムは、LAN(Local Area Network)ケーブルや光ファイバなどの伝送路9を介して互いに接続された送信ユニット2及び受信ユニット3を含む。送信ユニット2は、第1伝送装置の一例であり、送信所90の伝送装置1に設けられる。受信ユニット3は、第2伝送装置の一例であり、受信所91の伝送装置1に設けられる。なお、伝送装置1には、送信ユニット2及び受信ユニット3以外のユニットを適宜設けてもよい。
【0022】
送信ユニット2は、入力されたデータ信号Sから入力データクロック信号CLKsを抽出する。送信ユニット2は、入力データクロック信号CLKsの位相に関するカウント値としてタイムスタンプTS#1を生成し、入力データクロック信号CLKsの周波数に関するカウント値としてタイムスタンプTS#2を生成する。送信ユニット2は、データ信号Sからパケット(PKT)を生成し、パケットの送信時にタイムスタンプTS#1,TS#2をパケットに付与する。
【0023】
受信ユニット3は、送信ユニット2からパケットを受信して、パケットからタイムスタンプTS#1,TS#2を取得し、タイムスタンプTS#1,TS#2に基づき出力データクロック信号CLKrの周波数Frを制御する。受信ユニット3は、パケットからデータ信号Sを再生し、出力データクロック信号CLKrに同期して出力する。以下に送信ユニット2及び受信ユニット3の構成を述べる。
【0024】
送信ユニット2は、データ書込み部20、バッファ(BUFF)21、送信部22、クロック(CLK)抽出部23、タイムスタンプ(TS)付与部24、位相タイムスタンプ生成部25、周波数タイムスタンプ生成部26、及び送信装置クロック源27を有する。データ書込み部20、送信部22、CLK抽出部23、TS付与部24、位相タイムスタンプ生成部25、周波数タイムスタンプ生成部26は、例えばFPGAやASICなどの回路により形成される。
【0025】
データ信号Sは、不図示の他の機器からデータ書込み部20及びCLK抽出部23に入力される。データ信号Sは、連続的なデジタル信号であり、音声データや映像データなどが収容されている。
【0026】
データ書込み部20はデータ信号Sをバッファ21に書き込む。バッファ21は、例えばメモリに割り当てられた映像データや音声データの格納空間である。
【0027】
送信部22は、例えばバッファ21に1個のパケットのペイロード分のデータが蓄積されたとき、バッファ21からデータを読み出してヘッダを付与することによりパケットPKTを生成して伝送路9に出力する。パケットPKTとしては、例えばIP(Internet Protocol)パケットが挙げられるが、これに限定されない。
【0028】
送信部22は、例えばパケットPKTの電気信号を光信号に変換するための光源及び光変調器などを有してもよい。電気信号や光信号は伝送路9から受信ユニット3に入力される。
【0029】
CLK抽出部23は、データ信号Sから入力データクロック信号CLKsを抽出する。CLK抽出部23は、例えばPLL(Phase Locked Loop)回路などを備える。CLK抽出部23は、入力データクロック信号CLKsを位相タイムスタンプ生成部25及び周波数タイムスタンプ生成部26に出力する。
【0030】
位相タイムスタンプ生成部25は、逓倍回路250及びクロック(CLK)カウンタ251を有する。逓倍回路250は、逓倍部の一例であり、入力データクロック信号CLKsを逓倍することにより逓倍クロック信号CLKsaを生成する。逓倍回路250は、逓倍クロック信号CLKsaをCLKカウンタ251に出力する。
【0031】
CLKカウンタ251は、第1カウンタの一例であり、入力データクロック信号CLKsに同期してカウント値Naをカウントする。例えばCLKカウンタ251は、逓倍クロック信号CLKsaのパルスが入力されるたびにカウント値Naを1つ増加させる。これにより、CLKカウンタ251は、逓倍クロック信号CLKsaの周期を単位として入力データクロック信号CLKsの位相をカウント値Naにより検出することができる。
【0032】
カウント値Naは、入力データクロック信号CLKsの位相を示すタイムスタンプTS#1として用いられる。CLKカウンタ251は、カウント値NaをTS付与部24に出力する。
【0033】
周波数タイムスタンプ生成部26は、分周回路260及び周波数測定部261を有する。分周回路260は、分周部の一例であり、入力データクロック信号CLKsをn分周(n:2以上の整数)することにより分周クロック信号CLKsbを生成する。分周回路260は、分周クロック信号CLKsbを周波数測定部261に出力する。
【0034】
周波数測定部261は、第1測定部の一例であり、入力データクロック信号CLKsの周波数Fsを、送信装置クロック信号CLK1dに同期してカウント値Nbをカウントすることにより測定する。
【0035】
送信装置クロック源27は、第1生成部の一例であり、送信装置クロック信号CLK1dを生成して周波数測定部261に出力する。送信装置クロック源27としては、例えば発振周波数が固定された水晶発振器が挙げられる。なお、入力データクロック信号CLKsの周波数Fsは第1周波数の一例であり、送信装置クロック信号CLK1dは第1装置クロック信号の一例である。
【0036】
周波数測定部261は、分周クロック信号CLKsbの周期をカウント値Nbとしてカウントすることにより入力データクロック信号CLKsの周波数Fsを測定する。このため、周波数測定部261は、入力データクロック信号CLKsの周期をカウントする場合より高精度に周波数Fsを測定することができる。
【0037】
周波数測定部261は、例えばカウンタ回路であり、送信装置クロック信号CLK1dに同期してカウント値Nbをカウントする。周波数測定部261は、分周クロック信号CLKsbの1周期ごとカウント値Nbを保持し、分周クロック信号CLKsbの1周期の長さを示すカウント値NbとしてTS付与部24に出力する。
【0038】
TS付与部24は、付与部の一例であり、送信部22からパケットが送信されるときのカウント値Na,NbをタイムスタンプTS#1,TS#2としてそれぞれパケットに付与する。送信部22は、パケットを送信するタイミングを示す送信パルス信号PLsをTS付与部24に出力する。つまり、送信部22は、パケット送信のタイミングをTS付与部24に通知する。
【0039】
TS付与部24は、送信パルス信号PLsの入力時のカウント値Na,NbをそれぞれタイムスタンプTS#1,TS#2として送信部22に出力する。送信部22は、タイムスタンプTS#1,TS#2をパケットのヘッダに挿入する。
【0040】
図3は、パケットにタイムスタンプTS#1,TS#2を付与する処理の一例を示すタイムチャートである。
【0041】
符号Gaは、タイムスタンプTS#1の付与処理を示す。CLKカウンタ251は、逓倍クロック信号CLKsaのパルスが入力されるたびにカウント値Naを1つ増加させる。カウント値NaはTS付与部24に出力される。
【0042】
また、送信部22は、例えば送信対象のパケットPKT#1,#2の先頭位置を示す送信パルス信号PLsをTS付与部24に出力する。なお、送信パルス信号PLsが示す位置に限定はなく、例えば送信パルス信号PLsはパケットPKT#1,PKT#2の最後尾を示してもよい。
【0043】
TS付与部24は、時刻t2において送信パルス信号PLsが入力されると、時刻t2のカウント値Na=9をタイムスタンプTS#1としてパケットPKT#1に付与する。また、TS付与部24は、時刻t4において送信パルス信号PLsが入力されると、時刻t4のカウント値Na=902をタイムスタンプTS#1としてパケットPKT#2に付与する。
【0044】
このように、タイムスタンプTS#1は、パケットPKT#1,PKT#2が送信されるときの逓倍クロック信号CLKsaのカウント値Naを示すため、パケットPKT#1,PKT#2が送信される時刻t2,t4を基準とする入力データクロック信号CLKsの位相に該当する。
【0045】
符号Gbは、タイムスタンプTS#2の付与処理を示す。周波数測定部261は、送信装置クロック信号CLK1dのパルスが入力されるたびにカウント値Nbを1つ増加させる。周波数測定部261は、分周クロック信号CLKsbの1周期ごとにカウント値Nbを保持して1にリセットする。周波数測定部261は、送信パルス信号PLsが入力されたとき、保持したカウント値Nb(保持値)をTS付与部24に出力する。
【0046】
周波数測定部261は、時刻t1において分周クロック信号CLKsbの立下りエッジが入力されると、入力時のカウント値Nb=103を保持した後、カウント値Nbを1にリセットする。TS付与部24は、時刻t2(>t1)において送信パルス信号PLsが入力されると、時刻t2のカウント値Nb=103(保持値)をタイムスタンプTS#2としてパケットPKT#1に付与する。
【0047】
また、周波数測定部261は、時刻t3において分周クロック信号CLKsbの立下りエッジが入力されると、入力時のカウント値Nb=102を保持した後、カウント値Nbを1にリセットする。TS付与部24は、時刻t4(>t3)において送信パルス信号PLsが入力されると、時刻t4のカウント値Nb=102(保持値)をタイムスタンプTS#2としてパケットPKT#2に付与する。
【0048】
このように、タイムスタンプTS#2は、パケットPKT#1,PKT#2が送信されるときの分周クロック信号CLKsbの1周期分のカウンタ値Nbを示すため、パケットPKT#1,PKT#2が送信される時刻t2,t4を基準とする入力データクロック信号CLKsの周波数Fsに該当する。
【0049】
再び
図2を参照すると、タイムスタンプTS#1,TS#2が付与されたパケットは伝送路9から受信ユニット3に入力される。
【0050】
受信ユニット3は、受信部30、バッファ(BUFF)31、信号再生部32、位相制御部33、周波数比較部34、及び受信装置クロック源35を有する。受信部30、信号再生部32、位相制御部33、周波数比較部34は、例えばFPGAやASICなどの回路により形成される。
【0051】
受信部30は、伝送路9から入力されるパケットを受信する。受信部30は、例えば光信号を電気信号に変換してパケットを再生するための光源及び復調器を有してもよい。
【0052】
受信部30は、パケットからヘッダを除去し、パケットのペイロードからデータを取り出してバッファ31に格納する。バッファ31は、例えばメモリに割り当てられた映像データや音声データの格納空間である。バッファ31の容量は、例えば伝送路9内でのパケットの遅延時間の変動量、及び入力データクロック信号CLKsと出力データクロック信号CLKrの位相差に基づき設定される。
【0053】
信号再生部32は、出力部の一例であり、パケットから再生されたデータ信号Sを出力データクロック信号CLKrに同期して不図示の他のユニットに出力する。信号再生部32は、出力データクロック信号CLKrに従ってバッファ31からデータを読み出すことによりデータ信号Sを再生する。データ信号Sは、出力データクロック信号CLKrの周波数Frに従ったレートで出力される。
【0054】
また、受信部30は、取得部の一例であり、パケットのヘッダからタイムスタンプTS#1,TS#2を取得する。つまり、受信部30は、各パケットが送信されたときのカウント値Na,Nbを取得する。受信部30は、タイムスタンプTS#1を受信パルス信号PLrとともに位相制御部33に出力し、タイムスタンプTS#2を周波数比較部34に出力する。
【0055】
位相制御部33は、位相差算出部330、平滑化処理部331、目標値設定部332、電圧制御部333、VCO(Voltage-Controlled Oscillator)334、及びクロック(CLK)カウンタ335を有する。なお、これらの処理の一部は、ハードウェアに代えて、CPU(Central Processing Unit)がメモリからプログラムを読み込むソフトウェア処理で実現されてもよい。
【0056】
VCO334は、第2生成部の一例であり、電圧制御部333が制御する電圧Vcに応じた周波数Frの出力データクロック信号CLKrを生成する。出力データクロック信号CLKrの周波数Frは、入力データクロック信号CLKsの周波数Fsに、位相制御部33による位相制御の誤差Δfを加えた数値となる。出力データクロック信号CLKrはCLKカウンタ335、信号再生部32、及び周波数比較部34に入力される。
【0057】
CLKカウンタ335は、第2カウンタの一例であり、出力データクロック信号CLKrに同期してカウント値Nrをカウントする。カウント値Nrは、パケットが受信された時刻を基準とする出力データクロック信号CLKrの位相に該当する。CLKカウンタ335はカウント値Nrを位相差算出部330に出力する。
【0058】
位相差算出部330は、受信パルス信号PLrの入力に応じて、タイムスタンプTS#1のカウント値NaとCLKカウンタ335のカウント値Nrを比較する。つまり、位相差算出部330は、カウント値Naと、パケットが受信されたときのカウント値Nrとを比較する。受信パルス信号PLrは、パケットの先頭位置を示すが、これに限定されず、例えば最後尾を示してもよい。
【0059】
位相差算出部330は、各カウント値Na,Nrの差分ΔNを算出する。各カウント値Na,Nrの差分ΔNは、入力データクロック信号CLKsと出力データクロック信号CLKrの位相差を示す。差分ΔNは平滑化処理部331に出力される。
【0060】
平滑化処理部331は差分ΔNを平滑化する。これにより、伝送路9内のパケットの遅延時間の変動による出力データクロック信号CLKrの周波数Frの制御への影響が抑制される。平滑化処理部331は、例えば差分ΔNの時間平均または所定数のパケットごとの平均から平滑化差分ΔNmを算出する。平滑化差分ΔNmは目標値設定部332に出力される。
【0061】
目標値設定部332は、カウント値Na,Nrの比較結果に応じて目標値Foを設定する。例えば目標値設定部332は、平滑化差分ΔNmに基づき出力データクロック信号CLKrの周波数Frの目標値Foを設定する。目標値Foは電圧制御部333に入力される。
【0062】
電圧制御部333は、目標値Foに応じてVCO334の電圧Vcを制御する。これにより、目標値設定部332及び電圧制御部333は、出力データクロック信号CLKrの周波数Frを目標値Foに近づけるように制御する。
【0063】
図4は、出力データクロック信号CLKrの周波数Frを目標値Foに近づける制御の一例を示すタイムチャートである。なお、本例では、差分ΔNが平滑化差分ΔNmと同じ値であると仮定する。
【0064】
また、CLKカウンタ335は、出力データクロック信号CLKrと同期してカウント値Nrをカウントする。例えばCLKカウンタ335は、出力データクロック信号CLKrのパルスが入力されるたびにカウント値Nrを1つ増加させる。
【0065】
位相差算出部330は、受信パルス信号PLrの入力に応じてパケットのヘッダからタイムスタンプTS#1を取得する。例えば位相差算出部330は、受信パルス信号PLrが入力された時刻t5において、カウント値Na=9を示すタイムスタンプTS#1を取得する。位相差算出部330は、時刻t5のカウント値Nr=12と、タイムスタンプTS#1のカウント値Na=9の差分ΔN=-3(=9-12)を算出する。
【0066】
目標値設定部332は、差分ΔN=-3に基づきカウント値Nrがカウント値Naより進んでいると判断し、出力データクロック信号CLKrの周波数Frの目標値Foを所定の基準値より低い値に設定する。電圧制御部333は、目標値Foに応じた電圧VcをVCO334に印加する。
【0067】
また、位相差算出部330は、受信パルス信号PLrが入力された時刻t6において、カウント値Na=902を示すタイムスタンプTS#1を取得する。位相差算出部330は、時刻t6のカウント値Nr=903と、タイムスタンプTS#1のカウント値Na=902の差分ΔN=-1(=902-903)を算出する。
【0068】
目標値設定部332は、差分ΔN=-1に基づきカウント値Naに対するカウント値Nrの進み具合が減ったと判断し、出力データクロック信号CLKrの周波数Frの目標値Foを、前回の制御値(例えば-30)より高い値(例えば-10)に設定する。電圧制御部333は、目標値Foに応じた電圧VcをVCO334に印加する。
【0069】
例えば目標値設定部332は、新たな平滑化差分ΔNmから前回の平滑化差分ΔNmを差し引いた値を周波数Frの制御量として算出する。電圧制御部333は、周波数Frが制御量だけ変化するように電圧Vcを制御する。
【0070】
また、目標値設定部332は、PID(Proportional-Integral-Differential)制御により周波数Frの制御量を算出してもよい。この場合、目標値設定部332は、複数個の差分ΔNの平均値から、P項(比例項)に用いる周波数Frの差分、I項(積分項)に用いる周波数Frの位相誤差、及びD項(微分項)に用いる周波数Frの変化速度をそれぞれ算出する。
【0071】
目標値設定部332は、P項、I項、及びD項と各々の係数の積の合計を周波数Frの制御量として算出する。電圧制御部333は、周波数Frの制御量が0となるように電圧Vcを制御する。これにより、出力データクロック信号CLKrの周波数Frは、上記の場合より滑らかに目標値Foに追従する。
【0072】
このように、位相制御部33は、出力データクロック信号CLKrの周波数Frをカウント値Na,Nrの比較結果に応じた目標値Foに近づけるように制御する。このため、位相制御部33は、入力データクロック信号CLKsの位相変動に出力データクロック信号CLKrの位相を追従させることができる。
【0073】
しかし、伝送路9内のパケットの遅延時間が変動した場合や、入力データクロック信号CLKsの周波数Fsが大きく変化した場合、入力データクロック信号CLKsの周波数Fsと出力データクロック信号CLKrの周波数Frの誤差である位相制御の誤差Δfが増加するため、データ信号Sの送信ユニット2への入力レート及び受信ユニット3からの出力レートの差分も増加する。
【0074】
これに対し、受信ユニット3に、レート差を十分に吸収できる程度のパケット量を格納するバッファを設けることもできるが、バッファ量が増加するほど、受信ユニット3内のパケットの滞留時間が延びるため、データ信号Sの遅延時間が増加するおそれがある。
【0075】
そこで、
図2に示される目標値設定部332及び電圧制御部333は、タイムスタンプTS#1,#2が示すカウント値Na,Nbに基づき出力データクロック信号CLKrの周波数Frを制御する。このため、出力データクロック信号CLKrの周波数Frは、カウント値Naが示す入力データクロック信号CLKsの位相と、カウント値Nbが示す入力データクロック信号CLKsの周波数Fsの測定値とから制御される。
【0076】
ここで、カウント値Nbは、送信ユニット2の送信装置クロック信号CLK1dによりカウントされるため、周波数Fsの測定値は伝送路9内のパケットの遅延時間の変動に影響されない。このため、入力データクロック信号CLKsの周波数Fsが大きく変化した場合でも、カウント値Naに基づく出力データクロック信号CLKrの位相制御に加え、カウント値Nbによる出力データクロック信号CLKrの周波数Frの迅速な制御が可能となる。
【0077】
したがって、送信ユニット2及び受信ユニット3の間のクロック周波数の同期性能が向上する。なお、目標値設定部332及び電圧制御部333は制御部の一例である。
【0078】
目標値設定部332は、周波数比較部34から入力される周波数差Δfdに基づき目標値Foの範囲を制限する。周波数比較部34は、タイムスタンプTS#2に基づき入力データクロック信号CLKs及び出力データクロック信号CLKrの周波数差Δfdを検出する。周波数差Δfdは、入力データクロック信号CLKsの周波数Fsと出力データクロック信号CLKrの周波数Frの誤差である位相制御の誤差Δfを推定した値である。周波数差Δfdには、送信ユニット2の送信装置クロック信号CLK1d及び受信ユニット3の受信装置クロック信号CLK2dの各精度による測定誤差が含まれる。
【0079】
周波数比較部34は、周波数推定部340、誤差検出部341、及び周波数測定部342を有する。なお、これらの処理の一部は、ハードウェアに代えて、CPUがメモリからプログラムを読み込むソフトウェア処理で実現されてもよい。
【0080】
周波数推定部340は、タイムスタンプTS#2から入力データクロック信号CLKsの周波数Fsを推定する。
【0081】
Nb=T×F1d ・・・式(1)
T≒n/Fs ・・・式(2)
Fs=n×F1d/Nbm ・・・式(3)
【0082】
タイムスタンプTS#2が示すカウント値Nbは、分周クロック信号CLKsbの周期T及び送信装置クロック信号CLK1dの周波数F1dから上記の式(1)により表される。ここで、周期Tは、量子化誤差を含んだ値であるが、分周クロック信号CLKsbの分周数nと入力データクロック信号CLKsの周波数Fsから上記の式(2)のように表される。つまり、分周クロック信号CLKsbの周期Tは、入力データクロック信号CLKsの周期(1/Fs)のn倍となる。
【0083】
したがって、入力データクロック信号CLKsの周波数Fsは、式(1)と式(2)から式(3)のように算出することができる。ここで、Nbmは、カウント値Nbの一定時間ごとの平均値である。例えば一定時間内に受信された2個のパケットから、カウント値Nb=103,102を示すタイムスタンプTS#2がそれぞれ取得された場合、平均値Nbmは102.5(=(103+102)/2)となる。
【0084】
周波数推定部340は、式(3)により入力データクロック信号CLKsの周波数Fsを推定する。このように、周波数FsはタイムスタンプTS#2のカウント値Nbから得られる。
【0085】
周波数測定部261で生ずる周波数Fsの測定誤差は、伝送路9内のパケットの遅延時間の変動には依存しないが、送信ユニット2の送信装置クロック信号CLK1dの周波数F1dの精度ΔFosc(>0)にほぼ一致する。周波数推定部340は周波数Fsを誤差検出部341に通知する。
【0086】
また、周波数測定部342は、第2測定部の一例であり、出力データクロック信号CLKrの周波数Frを受信装置クロック信号CLK2dに基づき測定する。周波数測定部342には、受信装置クロック源35から受信装置クロック信号CLK2dが入力され、VCO334から出力データクロック信号CLKrが入力される。
【0087】
受信装置クロック源35は、第3生成部の一例であり、受信装置クロック信号CLK2dを生成する。受信装置クロック源35としては、例えば発振周波数が固定された水晶発振器が挙げられる。なお、受信装置クロック信号CLK2dは第2装置クロック信号の一例である。
【0088】
周波数測定部342は、例えば送信ユニット2の周波数測定部342と同様の手法により、出力データクロック信号CLKrの周期を受信装置クロック信号CLK2dによりカウントする。周波数測定部342は、例えば出力データクロック信号CLKrの立下りエッジごとに周期相当のカウント値を保持し、そのカウント値から出力データクロック信号CLKrの周波数Fr(=1/周期)を算出する。
【0089】
周波数測定部342で生ずる周波数Frの測定誤差は、伝送路9内のパケットの遅延時間の変動には依存しないが、受信装置クロック信号CLK2dの周波数F2dの精度ΔFoscにほぼ一致する。なお、本例では送信装置クロック信号CLK1dの周波数F1dと受信装置クロック信号CLK2dの周波数F2dの各精度ΔFoscは同一とするが、相違してもよい。
【0090】
周波数測定部342は周波数Frを電圧制御部333及び誤差検出部341に通知する。電圧制御部333は、目標値Foと周波数Frの差分に応じた電圧VcをVCO334に印加する。
【0091】
誤差検出部341は、入力データクロック信号CLKsの周波数Fsと出力データクロック信号CLKrの周波数Frの差分として周波数差Δfd(=Fr-Fs)を算出する。誤差検出部341は周波数差Δfdを目標値設定部332に通知する。
【0092】
目標値設定部332は、周波数差Δfdに基づき目標値Foの範囲を制限する。これにより、目標値設定部332は、位相制御の誤差Δfが増加しないように目標値Foの変動を抑制することができる。
【0093】
Δfd=Δf±2×ΔFosc ・・・式(4)
【0094】
周波数差Δfdには、位相制御部33の位相制御の誤差Δfだけでなく、周波数測定部261,342の各測定誤差ΔFoscも含まれており、合計の誤差は2×ΔFoscとなる。したがって、周波数差Δfdは、上記の式(4)により表される。
【0095】
例えば送信装置クロック信号CLK1d及び受信装置クロック信号CLK2dの各精度ΔFoscが±10(ppm)である場合、周波数測定部261,342の各測定誤差ΔFoscの合計はおおよそ±20(ppm)(=2×10)となる。このため、位相制御の誤差Δfは、周波数差Δfdが-20~+20(ppm)の範囲内である場合、0である可能性があるが、周波数差Δfdが-20~+20(ppm)の範囲外である場合、0より大きくなる。
【0096】
そこで、目標値設定部332は、周波数差Δfdが送信装置クロック信号CLK1d及び受信装置クロック信号CLK2dの各精度ΔFoscに基づく測定誤差の範囲(-2×ΔFosc~+2×ΔFosc)を超える場合、目標値Foの範囲を制限する。このため、目標値設定部332は、位相制御の誤差Δfが存在する場合、つまり誤差Δfが0ではない場合、目標値Foの範囲を制限することにより適切に誤差Δfの増加を抑制することができる。
【0097】
ここで、周波数差Δfdが正の値と負の値の場合があるため、抑制された誤差Δfの範囲は上記の誤差の範囲の2倍となる。つまり、誤差Δfの範囲は、-4×ΔFosc~+4×ΔFoscの範囲に規定される。例えば送信装置クロック信号CLK1d及び受信装置クロック信号CLK2dの各精度ΔFoscが±10(ppm)である場合、誤差Δfの範囲は、-40~+40(ppm)となる。このように、誤差Δfが規定されることにより伝送システムの設計が容易となる。
【0098】
例えば目標値設定部332は、目標値Foの範囲から、送信装置クロック信号CLK1d及び受信装置クロック信号CLK2dの各精度ΔFoscに基づく測定誤差が異常値である範囲を除く。したがって、入力データクロック信号CLKsの周波数Fsと出力データクロック信号CLKrの周波数Frが高精度に同期することができる。
【0099】
次に送信ユニット2及び受信ユニット3の各処理について述べる。
【0100】
図5は、パケット送信処理の一例を示すフローチャートである。まず、データ信号Sがデータ書込み部20に入力される(ステップSt1)。
【0101】
データ書込み部20は、データ信号Sのデータをバッファ21に格納する(ステップSt2)。送信部22は、バッファ21内のデータの格納量を所定量Mと比較する(ステップSt3)。所定量Mは、例えばパケットのペイロードに収容可能なデータ量である。
【0102】
送信部22は、格納量が所定量M未満である場合(ステップSt3のNo)、再びステップSt2の処理を実行する。また、送信部22は、格納量が所定量M以上である場合(ステップSt3のYes)、バッファ21からデータを読み出してパケットを生成する(ステップSt4)。送信部22は、パケットの生成後、送信パルス信号PLsをTS付与部24に出力する。
【0103】
TS付与部24は、送信パルス信号PLsに応じてCLKカウンタ251及び周波数測定部261からカウント値Na,Nbをそれぞれ取得する(ステップSt5)。TS付与部24は、カウント値Na,Nbをそれぞれ示すタイムスタンプTS#1,TS#2をパケットのヘッダに付与する(ステップSt6)。
【0104】
送信部22はパケットを送信する(ステップSt7)。このようして、パケット送信処理は実行される。
【0105】
図6は、出力データクロック信号CLKrの周波数Frの制御処理の一例を示すフローチャートである。まず、受信部30は送信ユニット2からパケットを受信する(ステップSt11)。受信部30は、パケットの受信に応じて受信パルス信号PLrを出力する。次に受信部30はパケットからタイムスタンプTS#1,TS#2を取得する(ステップSt12)。以降のステップSt13,St14とステップSt15~17は同時並行的に実行されてよい。
【0106】
位相差算出部330は、受信パルス信号PLrの入力に応じて、タイムスタンプTS#1が示すカウント値Naと、出力データクロック信号CLKrに同期したカウント値Nrとの差分ΔNを、入力データクロック信号CLKs及び出力データクロック信号CLKrの位相差として算出する(ステップSt13)。平滑化処理部331は、例えば複数個のパケット分の差分ΔNから平滑化差分ΔNmを算出する(ステップSt14)。
【0107】
また、周波数推定部340は、タイムスタンプTS#2が示すカウント値Nbから入力データクロック信号CLKsの周波数Fsを推定する(ステップSt15)。周波数測定部342は出力データクロック信号CLKrの周波数Frを測定する(ステップSt16)。誤差検出部341は、入力データクロック信号CLKsの周波数Fsと出力データクロック信号CLKrの周波数Frの周波数差Δfdを算出する(ステップSt17)。
【0108】
目標値設定部332は、周波数Frの目標値Foを決定する(ステップSt18)。なお、目標値Foの決定処理は後述する。
【0109】
電圧制御部333は、目標値Foに応じた電圧VcをVCO334に印加する(ステップSt19)。このようにして、出力データクロック信号CLKrの周波数Frの制御処理は実行される。
【0110】
図7は、目標値Foの決定処理の一例を示すフローチャートである。本処理は、上記のステップSt18において実行される。
【0111】
目標値設定部332は、周波数差Δfdの絶対値と、合計誤差(2×ΔFosc)を比較する(ステップSt31)。
【0112】
目標値設定部332は、周波数差Δfdの絶対値が2×ΔFosc以下である場合(ステップSt31のNo)、周波数差Δfdを正常値と判断し、例えば前回の目標値Fo’と平滑化差分ΔNmの単位時間当たりの変化量とから新たな目標値Foを決定する(ステップSt36)。なお、目標値Fo’の初期値は、例えば0としてもよいし、他の値であってもよい。その後、目標値設定部332は、前回の目標値Fo’を新たな目標値Foとして(ステップSt34)、処理を終了する。
【0113】
また、目標値設定部332は、周波数差Δfdの絶対値が2×ΔFoscより大きい場合(ステップSt31のYes)、周波数差Δfdを異常値と判断する。そして、異常値と判断された周波数差Δfdが0より大きいか否か、つまり正の値か負の値であるかを判定する(ステップSt32)。目標値設定部332は、周波数差Δfdが正の値か負の値であるかに応じて目標値Foを算出する。
【0114】
Fo=Fo’-(Δfd-2×ΔFosc) ・・・式(5)
【0115】
目標値設定部332は、周波数差Δfdが正の値である場合(ステップSt32のYes)、前回の目標値Fo’から、周波数差Δfdが正常範囲となるように、周波数差Δfdと合計誤差(2×ΔFosc)の差分(Δfd-2×ΔFosc)を差し引くことにより新たな目標値Foを算出する(ステップSt33)。このとき、目標値設定部332は、例えば上記の式(5)から目標値Foを算出する。
【0116】
これにより、目標値Foは、周波数差Δfdから合計誤差(2×ΔFosc)を除いた値だけ前回の目標値Fo’から減少する。つまり、目標値設定部332は、周波数差Δfdが2×ΔFoscを超える正の値である場合、目標値Foを、周波数差Δfdが正常範囲となるように、前回の目標値Fo’より減少させる。
【0117】
例えば周波数差Δfd=30(ppm)、かつ精度ΔFosc=10(ppm)の場合、目標値設定部332は、ステップSt31において、周波数差Δfd>20(ppm)が成立するため、周波数差Δfdを異常値と判断する。目標値設定部332は、周波数差Δfdが正の値であるため、ステップSt33において、目標値FoをFo’-10(ppm)(=30-2×10)と算出する。これにより、周波数差Δfdは、30(ppm)から10(ppm)だけ減少して20(ppm)(=30-10)となるため、正常値の範囲内に制御される。
【0118】
Fo=Fo’+(-Δfd-2×ΔFosc) ・・・式(6)
【0119】
目標値設定部332は、周波数差Δfdが負の値である場合(ステップSt32のNo)、前回の目標値Fo’に、周波数差Δfdが正常範囲となるように、(-Δfd)と合計誤差(2×ΔFosc)の差分(-Δfd-2×ΔFosc)を加えることにより新たな目標値Foを算出する(ステップSt35)。このとき、目標値設定部332は、例えば上記の式(6)から目標値Foを算出する。
【0120】
これにより、目標値Foは、周波数差Δfdから合計誤差分の2×ΔFoscを除いた値だけ前回の目標値Fo’から増加する。つまり、目標値設定部332は、周波数差Δfdが2×ΔFoscを超える負の値である場合、目標値Foを、周波数差Δfdが正常範囲となるように、前回の目標値Fo’より増加させる。
【0121】
例えば周波数差Δfd=-30(ppm)、かつ精度ΔFosc=10(ppm)の場合、目標値設定部332は、ステップSt31において、周波数差Δfd<-20(ppm)が成立するため、周波数差Δfdを異常値と判断する。目標値設定部332は、周波数差Δfdが負の値であるため、ステップSt35において、目標値FoをFo’+10(ppm)(=-(-30)-2×10)と算出する。これにより、周波数差Δfdは、-30(ppm)から10(ppm)だけ増加して-20(ppm)(=-30+10)となるため、正常値の範囲内に制御される。
【0122】
このように、目標値設定部332は、目標値Foの範囲から、周波数差Δfdが異常と判断される範囲を除いて、送信装置クロック信号CLK1d及び受信装置クロック信号CLK2dの各精度ΔFoscに基づく誤差の範囲(-4×ΔFosc~+4×ΔFosc)に制限する。これにより、誤差Δfの増加を抑制することができ、伝送路の遅延変動に依存することなく、誤差Δfの最悪値を規定することができる。
【0123】
次に本実施例による遅延時間の低減について述べる。
【0124】
図8は、入力データクロック信号CLKs及び出力データクロック信号CLKrの各周波数Fs,Frの時刻に対する変化の例を示す図である。
【0125】
符号Gcは、比較例における相対的な周波数Fs,Frの変化を示す。比較例では、目標値設定部332は、周波数差Δfdに基づく目標値Foの制限を行わない。つまり、位相制御部33は、タイムスタンプTS#2を周波数Frの制御に用いない。
【0126】
入力データクロック信号CLKsの周波数Fsは、時刻TaにおいてΔFs(>0)だけ増加する。出力データクロック信号CLKrの周波数Frは、時刻Taより前の時刻では周波数Fsと同じであるが、時刻Taでは周波数Fsとの差分がΔFsとなる。
【0127】
しかし、出力データクロック信号CLKrの周波数Frは、位相制御部33の位相制御により周波数Fsに追従し、時刻Taから期間K後の時刻Tbにおいて周波数Fsに一致する。
【0128】
符号Gdは、実施例における相対的な周波数Fs,Frの変化を示す。本例でも入力データクロック信号CLKsの周波数Fsは、時刻TaにおいてΔFs(>0)だけ増加する。このとき、周波数Frの周波数Fsに対する追従の所要時間は、位相制御部33の位相制御が比較例と同じであると仮定するとKとなる。
【0129】
しかし、目標値設定部332は、比較例とは異なり、周波数差Δfdに基づき周波数Frの目標値Foを制限するため、周波数Frは、時刻Taにおいて、周波数差Δfdが異常と判断されない範囲まで瞬時に増加する。これにより、誤差Δfは、周波数Fs,Frの測定誤差分に基づき最大で4×ΔFoscとなる。
【0130】
ここで、斜線の領域Sa,Sbは、比較例及び実施例において周波数Frの追従が完了するまでの期間K中、パケット損失が生じないために必要なバッファ31の格納量に相当する。なお、伝送路9内のパケットの遅延時間の変動に対応する格納量は別に必要となる。
【0131】
一例として、ΔFs=200(ppm)、K=300(sec)、及びΔFosc=10(ppm)とすると、比較例の場合の格納量は30(ms)(=200×300/2)に該当する量となり、実施例の場合の格納量は6(ms)(=40×300/2)に該当する量となる。このため、実施例の場合、目標値Foの制限によって、パケットの遅延時間が比較例の場合より低減される。
【0132】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形して実施可能である。
【0133】
なお、以上の説明に関して更に以下の付記を開示する。
(付記1) データ信号からパケットを生成して送信する第1伝送装置と、
前記パケットを受信して前記パケットから前記データ信号を再生する第2伝送装置とを有し、
前記第1伝送装置は、
前記データ信号から入力データクロック信号を抽出する抽出部と、
前記入力データクロック信号に同期して第1カウント値をカウントする第1カウンタと、
第1装置クロック信号を生成する第1生成部と、
前記入力データクロック信号の第1周波数を、前記第1装置クロック信号に同期して第2カウント値をカウントすることにより測定する第1測定部と、
前記パケットが送信されるときの前記第1カウント値及び前記第2カウント値を前記パケットに付与する付与部とを有し、
前記第2伝送装置は、
前記パケットから前記第1カウント値及び前記第2カウント値を取得する取得部と、
出力データクロック信号を生成する第2生成部と、
前記パケットから再生された前記データ信号を前記出力データクロック信号に同期して出力する出力部と、
前記第1カウント値及び前記第2カウント値に基づき前記出力データクロック信号の周波数を制御する制御部とを有することを特徴とする伝送システム。
(付記2) 前記第2伝送装置は、
前記出力データクロック信号に同期して第3カウント値をカウントする第2カウンタと、
第2装置クロック信号を生成する第3生成部と、
前記出力データクロック信号の第2周波数を前記第2装置クロック信号に基づき測定する第2測定部とを有し、
前記制御部は、
前記第2周波数を、前記第1カウント値と、前記パケットが受信されたときの前記第3カウント値との比較結果に応じた目標値に近づけるように制御し、
前記第2カウント値から得られる前記第1周波数と、前記第2周波数との差分に基づき前記目標値の範囲を制限することを特徴とする付記1に記載の伝送システム。
(付記3) 前記制御部は、前記第1周波数と前記第2周波数の差分が、前記第1装置クロック信号及び前記第2装置クロック信号の各精度に基づく測定誤差の範囲を超える場合、前記目標値の範囲を制限することを特徴とする付記2に記載の伝送システム。
(付記4) 前記制御部は、前記目標値の範囲から、前記第1装置クロック信号及び前記第2装置クロック信号の各精度に基づく測定誤差が異常と判断される範囲を除くことを特徴とする付記3に記載の伝送システム。
(付記5) 前記第1伝送装置は、前記入力データクロック信号を分周することにより分周クロック信号を生成する分周部を有し、
前記第1測定部は、前記分周クロック信号の周期を前記第2カウント値としてカウントすることにより前記第1周波数を測定することを特徴とする付記1乃至4の何れかに記載の伝送システム。
(付記6) 前記第1伝送装置は、前記入力データクロック信号を逓倍することにより逓倍クロック信号を生成する逓倍部を有し、
前記第1カウンタは、前記逓倍クロック信号に同期して前記第1カウント値をカウントすることを特徴とする付記1乃至5の何れかに記載の伝送システム。
(付記7) データ信号からパケットを生成し、前記パケットから前記データ信号を再生する他の伝送装置に送信する伝送装置において、
前記データ信号から入力データクロック信号を抽出する抽出部と、
前記入力データクロック信号に同期して第1カウント値をカウントするカウンタと、
装置クロック信号を生成する生成部と、
前記入力データクロック信号の周波数を、前記装置クロック信号に同期して第2カウント値をカウントすることにより測定する測定部と、
前記パケットが送信されるときの前記第1カウント値及び前記第2カウント値を前記パケットに付与する付与部とを有することを特徴とする伝送装置。
(付記8) 前記入力データクロック信号を分周することにより分周クロック信号を生成する分周部を有し、
前記測定部は、前記分周クロック信号の周期を前記第2カウント値としてカウントすることにより前記第1周波数を測定することを特徴とする付記7に記載の伝送装置。
(付記9) 前記入力データクロック信号を逓倍することにより逓倍クロック信号を生成する逓倍部を有し、
前記カウンタは、前記逓倍クロック信号に同期して前記第1カウント値をカウントすることを特徴とする付記7または8に記載の伝送装置。
(付記10) データ信号からパケットを生成して送信する第1伝送装置と、前記パケットを受信して前記パケットから前記データ信号を再生する第2伝送装置との間のクロック同期方法において、
前記第1伝送装置は、
前記データ信号から入力データクロック信号を抽出し、
前記入力データクロック信号に同期して第1カウント値をカウントし、
第1装置クロック信号を生成し、
前記入力データクロック信号の第1周波数を、前記第1装置クロック信号に同期して第2カウント値をカウントすることにより測定し、
前記パケットが送信されるときの前記第1カウント値及び前記第2カウント値を前記パケットに付与し、
前記第2伝送装置は、
前記パケットから前記第1カウント値及び前記第2カウント値を取得し、
出力データクロック信号を生成し、
前記パケットから再生された前記データ信号を前記出力データクロック信号に同期して出力し、
前記第1カウント値及び前記第2カウント値に基づき前記出力データクロック信号の周波数を制御することを特徴とするクロック同期方法。
(付記11) 前記第2伝送装置は、
前記出力データクロック信号に同期して第3カウント値をカウントし、
第2装置クロック信号を生成し、
前記出力データクロック信号の第2周波数を前記第2装置クロック信号に基づき測定し、
前記第2周波数を、前記第1カウント値と、前記パケットが受信されたときの前記第3カウント値との比較結果に応じた目標値に近づけるように制御し、
前記第2カウント値から得られる前記第1周波数と、前記第2周波数との差分に基づき前記目標値の範囲を制限することを特徴とする付記10に記載のクロック同期方法。
(付記12) 前記第2伝送装置は、前記第1周波数と前記第2周波数の差分が、前記第1装置クロック信号及び前記第2装置クロック信号の各精度に基づく測定誤差の範囲を超える場合、前記目標値の範囲を制限することを特徴とする付記11に記載のクロック同期方法。
(付記13) 前記第2伝送装置は、前記目標値の範囲から、前記第1装置クロック信号及び前記第2装置クロック信号の各精度に基づく測定誤差が異常と判断される範囲を除くことを特徴とする付記12に記載のクロック同期方法。
(付記14) 前記第1伝送装置は、前記入力データクロック信号を分周することにより分周クロック信号を生成し、前記分周クロック信号の周期を前記第2カウント値としてカウントすることにより前記第1周波数を測定することを特徴とする付記10乃至13の何れかに記載のクロック同期方法。
(付記15) 前記第1伝送装置は、前記入力データクロック信号を逓倍することにより逓倍クロック信号を生成し、前記逓倍クロック信号に同期して前記第1カウント値をカウントすることを特徴とする付記10乃至14の何れかに記載のクロック同期方法。
【符号の説明】
【0134】
1 伝送装置
2 送信ユニット
3 受信ユニット
22 送信部
23 クロック抽出部
24 タイムスタンプ付与部
27 送信装置クロック源
30 受信部
32 信号再生部
35 受信装置クロック源
250 逓倍回路
251,335 クロックカウンタ
260 分周回路
261,342 周波数測定部
332 目標値設定部
333 電圧制御部
334 VCO