(57)【特許請求の範囲】
【請求項１】
第１のクロック周波数に基づいて生成された受信データを一時記憶し、第２のクロック周波数に同期化を行うバッファと、
前記バッファにおける、未読データを破壊する又は破壊しようとするオーバーラン状態、及び既読又は無効データを読み出す又は読み出そうとするアンダーラン状態とを検出し、前記オーバーラン状態又は前記アンダーラン状態の検出信号を出力するオーバーラン・アンダーラン検出部と、
前記オーバーラン・アンダーラン検出部からの前記検出信号、及び受信データとして受信した第１のタイミング調整コードのうちの少なくとも一方を受けた場合に、第２のタイミング調整コードの送信要求を生成するタイミング調整コード送信制御部と、
前記タイミング調整コード送信制御部からの前記送信要求に基づいて、前記第２のタイミング調整用コードの送信とパケット送信との送信データ調停を行う送信データ調停部と、
を備え、
前記タイミング調整コード送信制御部は、初期値からの経過時間を計測するタイマを有し、
前記タイミング調整コード送信制御部は、前記オーバーラン・アンダーラン検出部から、前記検出信号、及び受信データとして受信した第１のタイミング調整コードのうちの少なくとも一方を受けた場合で、且つ前記経過時間が前記第２のタイミング調整コードを送信する最短周期よりも大きい場合に、第２のタイミング調整コードの送信要求を生成し、
前記第１のタイミング調整コードを受けた場合に、前記タイマの値を前記初期値に設定することを特徴とするエラスティックバッファ装置。
【請求項２】
第１のクロック周波数に基づいて生成された受信データを一時記憶し、第２のクロック周波数に同期化を行うバッファと、
前記バッファにおける、未読データを破壊する又は破壊しようとするオーバーラン状態、及び既読又は無効データを読み出す又は読み出そうとするアンダーラン状態とを検出し、前記オーバーラン状態又は前記アンダーラン状態の検出信号を出力するオーバーラン・アンダーラン検出部と、
前記オーバーラン・アンダーラン検出部からの前記検出信号、及び受信データとして受信した第１のタイミング調整コードのうちの少なくとも一方を受けた場合に、第２のタイミング調整コードの送信要求を生成するタイミング調整コード送信制御部と、
前記タイミング調整コード送信制御部からの前記送信要求に基づいて、前記第２のタイミング調整用コードの送信とパケット送信との送信データ調停を行う送信データ調停部と、
を備え、
前記バッファは、前記受信データとして受けた前記第１のタイミング調整コードを削除し、第３のタイミングコードを前記受信データに挿入することで、前記オーバーラン状態又は前記アンダーラン状態を防ぐことを特徴とするエラスティックバッファ装置。
【請求項３】
請求項１又は２に記載のエラスティックバッファ装置において、
前記バッファへ前記受信データを書き込むライトポインタと、
前記バッファから同期化された前記受信データを読み出すリードポインタとを備え、
前記オーバーラン・アンダーラン検出部は、前記ライトポインタの出力と前記リードポインタの出力との差から前記オーバーラン状態、及び前記アンダーランの状態を検出し、前記検出信号を出力することを特徴とするエラスティックバッファ装置。
【請求項４】
請求項１から請求項３のいずれか１項に記載のエラスティックバッファ装置を備えた送受信機。
【請求項５】
第１のクロック周波数に基づいて生成された受信データを一時記憶し、第２のクロック周波数に同期化を行うためのバッファを備えたエラスティックバッファ装置のタイミング調整コード送信方法において、
前記バッファにおける、未読データを破壊する若しくは破壊しようとするオーバーラン状態、又は既読若しくは無効データを読み出す若しくは読み出そうとするアンダーラン状態とを検出し、
前記オーバーラン状態又は前記アンダーラン状態を検出するか、受信データとして第１のタイミング調整コードを受信した場合に、第２のタイミング調整コードの送信要求を生成し、
前記送信要求に基づいて、前記第２のタイミング調整用コードの送信とパケット送信とのいずれかを送信し、
前記エラスティックバッファ装置は、初期値からの経過時間を計測するタイマを有し、
前記オーバーラン状態又は前記アンダーラン状態を検出するか、受信データとして第１のタイミング調整コードを受信した場合で、且つ前記経過時間が前記第２のタイミング調整コードを送信する最短周期よりも大きい場合に、第２のタイミング調整コードの送信要求を生成し、
前記第１のタイミング調整コードを受けた場合に、前記タイマの値を前記初期値に設定することを特徴とするエラスティックバッファ装置のタイミング調整コード送信方法。
【請求項６】
第１のクロック周波数に基づいて生成された受信データを一時記憶し、第２のクロック周波数に同期化を行うためのバッファを備えたエラスティックバッファ装置のタイミング調整コード送信方法において、
前記バッファにおける、未読データを破壊する若しくは破壊しようとするオーバーラン状態、又は既読若しくは無効データを読み出す若しくは読み出そうとするアンダーラン状態とを検出し、
前記オーバーラン状態又は前記アンダーラン状態を検出するか、受信データとして第１のタイミング調整コードを受信した場合に、第２のタイミング調整コードの送信要求を生成し、
前記送信要求に基づいて、前記第２のタイミング調整用コードの送信とパケット送信とのいずれかを送信し、
前記バッファは、前記受信データとして受けた前記第１のタイミング調整コードを削除し、第３のタイミングコードを前記受信データに挿入することで、前記オーバーラン状態又は前記アンダーラン状態を防ぐことを特徴とするエラスティックバッファ装置のタイミング調整コード送信方法。
【請求項７】
請求項５に記載のエラスティックバッファ装置のタイミング調整コード送信方法において、
前記バッファは、前記受信データとして受けた前記第１のタイミング調整コードを削除し、第３のタイミングコードを前記受信データに挿入することで、前記オーバーラン状態又は前記アンダーラン状態を防ぐことを特徴とするエラスティックバッファ装置のタイミング調整コード送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はエラスティックバッファ装置、送受信機及びエラスティックバッファ装置のタイミング調整コード送信方法に係わり、特に、送信側と受信側の間のクロック周波数差を吸収するために用いられるエラスティックバッファ装置、送受信機及びエラスティックバッファ装置のタイミング調整コード送信方法に関する。
【背景技術】
【０００２】
送信側と受信側との間のクロック周波数が異なるディジタル回路間でデータの受け渡しを行う場合に、データを途切れることなく受け渡すために、エラスティックバッファを用いることができる。
【０００３】
エラスティックバッファの構成については、例えば特許文献１に開示されている。
【０００４】
ところで、エラスティックバッファでは、送信側と受信側との間のクロック周波数が異なるために、バッファについて書き込みポインタ位置が読み出しポインタ位置においつき、未読データの破壊が起こること（以下、オーバーランという）がある。また、逆にバッファについて読み出しポインタ位置が書き込みポインタ位置においつき、既読もしくは未書き込みの記憶場所から無効データを読み出してしまうこと（以下アンダーランという）がある。
【０００５】
オーバーランとアンダーランを防止するために、例えば、非特許文献１では、Fill Word （タイミング調整コードに対応する）の挿入、削除を行うことが記載されている。Fill Word は有意でないコード(IDLE)で、このFill Wordの挿入、削除を行うことで、送信側と受信側との間のクロック周波数により生ずるオーバーラン、アンダーランを防いでいる。また、非特許文献１では、インタフェースの仕様に規定されているクロック周波数誤差よりオーバーランまたはアンダーランが発生しうる送受信ワード数を算出し、それに対応した周期でFill Word（タイミング調整コード）の送信することを規定している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−０６７１０７号公報（段落００２０等）
【非特許文献】
【０００７】
【非特許文献１】Annex A, “A.2 Clock skew Mamagement”, page 103 and Annex G, “G.2 Clock skew management function periodicity” page 117, Fibre Channel - Arbitrated Loop, FC-AL-2 rev 7.0, April 1, 1999
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、実際のクロック周波数の誤差が仕様で定められた値より小さければ、タイミング調整コードを仕様で定められた間隔で送る必要はない。
【０００９】
また、実際のクロック周波数の誤差が仕様で定められた値よりも大きくなった場合は、仕様で定められた間隔でタイミング調整コードを送信してもオーバーランまたはアンダーランを防ぐことができない。
【課題を解決するための手段】
【００１０】
本発明に係わるエラスティックバッファ装置は、第１のクロック周波数に基づいて生成された受信データを一時記憶し、第２のクロック周波数に同期化を行うバッファと、
前記バッファにおける、未読データを破壊する又は破壊しようとするオーバーラン状態、及び既読又は無効データを読み出す又は読み出そうとするアンダーラン状態とを検出し、前記オーバーラン状態又は前記アンダーラン状態の検出信号を出力するオーバーラン・アンダーラン検出部と、
前記オーバーラン・アンダーラン検出部からの前記検出信号、及び受信データとして受信した第１のタイミング調整コードのうちの少なくとも一方を受けた場合に、第２のタイミング調整コードの送信要求を生成するタイミング調整コード送信制御部と、
前記タイミング調整コード送信制御部からの前記送信要求に基づいて、前記第２のタイミング調整用コードの送信とパケット送信との送信データ調停を行う送信データ調停部と、
を備え、
前記タイミング調整コード送信制御部は、初期値からの経過時間を計測するタイマを有し、
前記タイミング調整コード送信制御部は、前記オーバーラン・アンダーラン検出部から、前記検出信号、及び受信データとして受信した第１のタイミング調整コードのうちの少なくとも一方を受けた場合で、且つ前記経過時間が前記第２のタイミング調整コードを送信する最短周期よりも大きい場合に、第２のタイミング調整コードの送信要求を生成し、
前記第１のタイミング調整コードを受けた場合に、前記タイマの値を前記初期値に設定することを特徴とするエラスティックバッファ装置である。
また本発明に係わるエラスティックバッファ装置は、第１のクロック周波数に基づいて生成された受信データを一時記憶し、第２のクロック周波数に同期化を行うバッファと、
前記バッファにおける、未読データを破壊する又は破壊しようとするオーバーラン状態、及び既読又は無効データを読み出す又は読み出そうとするアンダーラン状態とを検出し、前記オーバーラン状態又は前記アンダーラン状態の検出信号を出力するオーバーラン・アンダーラン検出部と、
前記オーバーラン・アンダーラン検出部からの前記検出信号、及び受信データとして受信した第１のタイミング調整コードのうちの少なくとも一方を受けた場合に、第２のタイミング調整コードの送信要求を生成するタイミング調整コード送信制御部と、
前記タイミング調整コード送信制御部からの前記送信要求に基づいて、前記第２のタイミング調整用コードの送信とパケット送信との送信データ調停を行う送信データ調停部と、
を備え、
前記バッファは、前記受信データとして受けた前記第１のタイミング調整コードを削除し、第３のタイミングコードを前記受信データに挿入することで、前記オーバーラン状態又は前記アンダーラン状態を防ぐことを特徴とするエラスティックバッファ装置である。
【００１１】
本発明に係わるエラスティックバッファ装置のタイミング調整コード送信方法は、第１のクロック周波数に基づいて生成された受信データを一時記憶し、第２のクロック周波数に同期化を行うためのバッファを備えたエラスティックバッファ装置のタイミング調整コード送信方法において、
前記バッファにおける、未読データを破壊する若しくは破壊しようとするオーバーラン状態、又は既読若しくは無効データを読み出す若しくは読み出そうとするアンダーラン状態とを検出し、
前記オーバーラン状態又は前記アンダーラン状態を検出するか、受信データとして第１のタイミング調整コードを受信した場合に、第２のタイミング調整コードの送信要求を生成し、
前記送信要求に基づいて、前記第２のタイミング調整用コードの送信とパケット送信とのいずれかを送信し、
前記エラスティックバッファ装置は、初期値からの経過時間を計測するタイマを有し、
前記オーバーラン状態又は前記アンダーラン状態を検出するか、受信データとして第１のタイミング調整コードを受信した場合で、且つ前記経過時間が前記第２のタイミング調整コードを送信する最短周期よりも大きい場合に、第２のタイミング調整コードの送信要求を生成し、
前記第１のタイミング調整コードを受けた場合に、前記タイマの値を前記初期値に設定することを特徴とするエラスティックバッファ装置のタイミング調整コード送信方法である。
また、本発明に係わるエラスティックバッファ装置のタイミング調整コード送信方法は、第１のクロック周波数に基づいて生成された受信データを一時記憶し、第２のクロック周波数に同期化を行うためのバッファを備えたエラスティックバッファ装置のタイミング調整コード送信方法において、
前記バッファにおける、未読データを破壊する若しくは破壊しようとするオーバーラン状態、又は既読若しくは無効データを読み出す若しくは読み出そうとするアンダーラン状態とを検出し、
前記オーバーラン状態又は前記アンダーラン状態を検出するか、受信データとして第１のタイミング調整コードを受信した場合に、第２のタイミング調整コードの送信要求を生成し、
前記送信要求に基づいて、前記第２のタイミング調整用コードの送信とパケット送信とのいずれかを送信し、
前記バッファは、前記受信データとして受けた前記第１のタイミング調整コードを削除し、第３のタイミングコードを前記受信データに挿入することで、前記オーバーラン状態又は前記アンダーラン状態を防ぐことを特徴とするエラスティックバッファ装置のタイミング調整コード送信方法である。
【００１２】
なお、本願において、バッファにおいて、未読データを破壊する又は破壊しようとする状態をオーバーラン状態といい、バッファにおいて、既読又は無効データを読み出す又は読み出そうとする状態をアンダーラン状態という。
【発明の効果】
【００１３】
本発明においては、以下に記載するような効果を奏する。
【００１４】
本発明ではバッファの状態によってタイミング調整コードの送受信が行われるため、実際のクロック周波数差分がインタフェースの規定値よりも小さい場合は、タイミング調整コードの送受信が仕様上の規定間隔よりも大きい間隔で行われ、インタフェースの有効利用が行われる。
【００１５】
また、故障等により実際のクロック周波数差分がインタフェースの規定値よりも大きくなった場合でも、バッファのオーバーラン状態またはアンダーラン状態の検出を契機にタイミング調整コードの送受信が行われるため、オーバーランまたはアンダーランを起こさずに動作継続ができる。
【図面の簡単な説明】
【００１６】
【図１】本発明に係わるエラスティックバッファ装置の一実施形態を示すブロック図である。
【図２】タイミング調整コード送信制御部の動作を示すフローチャートである。
【図３】本実施形態のエラスティックバッファ装置を備えた送受信機を用いた通信システムを示すブロック図である。
【発明を実施するための形態】
【００１７】
以下、本発明の典型的な実施の形態について図面を用いて説明する。
【００１８】
図１は本発明に係わるエラスティックバッファ装置の一実施形態を示すブロック図である。
【００１９】
バッファ１１はオーバーラン・アンダーランを防ぐためにタイミング調整コードのインサート・デリート機能を持った同期化バッファである。バッファ１１は受信データにタイミング調整コードを含む場合に、そのタイミング調整コードを削除したり、新たにタイミング調整コードを挿入することでオーバーラン・アンダーランを防ぐ。ライトポインタ１２はバッファ１１へ受信データを書き込むポインタである。リードポインタ１３はバッファ１１から同期化受信データを読み出すポインタである。
【００２０】
オーバーラン・アンダーラン検出部１４は、ライトポインタ１２の出力とリードポインタ３の出力との差からオーバーラン状態またはアンダーラン状態を検出する。
【００２１】
タイミング調整コード送信制御部１５は内部に初期値からの経過時間を計測するタイマ１６を実装しており、タイミング調整コードの送信要求を発生させる。タイミング調整コードの送信要求は、オーバーラン・アンダーラン検出部１４からの検出信号、及び受信データとして受信したタイミング調整コード（第１のタイミング調整コードとなる）、及びタイマ１６の値とに基づいて生成される。タイミング調整コード送信制御部１５は、必要に応じてタイミング調整用コード（第２のタイミング調整コードとなる）の送信要求を送信データ調停部１７へ送る。タイミング調整コード送信制御部１５にはタイミング調整コード（第１のタイミング調整コードとなる）の受信により、タイミング調整コードの送信要求により折り返しタイミング調整コード（第２のタイミング調整コードとなる）を送り返す機能も含まれている。
【００２２】
送信データ調停部１７は、タイミング調整コード送信制御部１５からのタイミング調整用コード送信とパケット送信との送信データ調停を行う。
【００２３】
ライトポインタ１２の出力とリードポインタ１３の出力との差分より、オーバーラン・アンダーラン検出部１４でオーバーラン状態またはアンダーラン状態が検出されると、タイミング調整コード送信制御部１５へ検出信号が通知される。
【００２４】
オーバーラン状態またはアンダーラン状態の検出を受けたタイミング調整コード送信制御部１５では条件がそろった状態で送信データ調停部１７へタイミング調整用コード送信要求を発行する。送信データ調停部１７で送信データの調停が行われタイミング調整用コードが送信される。タイミング調整用コードを受信した相手側ノードでは、受信したタイミング調整用コードがタイミング調整コード送信制御部１５’（不図示）に入力され、タイミング調整コードが折り返し送信される。
【００２５】
なお、図１では一方のノードでのエラスティックバッファ装置を示しており、このノードと接続される相手側のノードは同じ構成のエラスティックバッファ装置を有する。
【００２６】
続いて図２を用いてタイミング調整コード送信制御部１５の動作を説明する。
【００２７】
タイミング調整コード送信制御部１５に内蔵されているタイマ１６の値と、あらかじめ設定しているＭＡＸ周期を比較する。ＭＡＸ周期はタイミング調整コードを送信する最大周期であり、定期的な送信が必要ないと判断すればＭＡＸ周期を無限大と決めた値にしてタイミング調整コードの定期的な送信を行わない設定にもできる。タイマ１６がＭＡＸ周期を越えていなければ（ステップＳ２１）、タイミング調整コードを受信したか否かを判断する（ステップＳ２２）。
【００２８】
ステップＳ２２において、タイミング調整コードを受信していなければ、オーバーラン・アンダーラン状態を検出しているか否かを判断する（ステップＳ２３）。ステップＳ２３において、オーバーラン・アンダーラン状態を検出していなければ、タイマ１６の値とＭＡＸ周期の比較（ステップＳ２１）へ戻る。
【００２９】
タイマ１６の値がＭＡＸ周期よりも大きい場合（ステップＳ２１）またはタイミング調整コード受信した場合（ステップＳ２２）はタイマ１６の値を初期値０（ここでは初期値を０としているが、他の値でもよい）に戻し（２８）、タイミング調整コード送信要求を発行し（ステップＳ２９）、タイマ１６の値がＭＩＮ周期を越えるまで待ち合わせる（ステップＳ３０）。ＭＩＮ周期はタイミング調整コードを送信する最短周期で、タイミング調整コードの送信頻発を防ぐための値であり、またタイミング調整コードの折り返しによる連続送受信を防ぐための値で、タイミング調整コードの２つのノード間の往復の最大レイテンシより大きい値である。タイマ１６の値がＭＩＮ周期を越えたら（ステップＳ３０）、タイマ６の値とＭＡＸ周期との比較（ステップＳ２１）へ戻る。
【００３０】
オーバーラン・アンダーラン状態を検出をした場合（ステップＳ２３）は、タイマ１６の値とＭＩＮ周期との比較（ステップＳ２４）を行う。タイマ１６の値がＭＩＮ周期を越えるまで待ち、ＭＩＮ周期を越えたら（ステップＳ２４）、タイミング調整コード送信要求を発行し（ステップＳ２５）、タイミング調整コード受信を待つ（ステップＳ２６）。タイミング調整コードを受信したら（ステップＳ２６）、タイマ１６の値を初期値０に戻し（ステップＳ２７）、タイマ１６の値とＭＡＸ周期との比較（ステップＳ２１）へ戻る。
【００３１】
本実施形態では、第１のクロック周波数に基づいて生成された受信データを一時記憶して、第２のクロック周波数に同期化を行うためのバッファのオーバーラン状態、アンダーラン状態を検出して、タイミング調整コードの送受信が行われるため、実際のクロック周波数の誤差が仕様で定められた値より小さければ、タイミング調整コードの送受信回数が削減される。また、実際のクロック周波数の誤差が仕様で定められた値よりも大きくなった場合でも、仕様で定められた間隔よりも短い間隔でタイミング調整コードの送受信が行われてオーバーラン、アンダーランを未然に防ぐことができる。
【００３２】
このようにして、本実施形態ではバッファのオーバーラン・アンダーランの状態を検出し、そのタイミングで自らタイミング調整コードを送信し、その折り返しにタイミング調整コードを受信することで未然にオーバーラン・アンダーランを防ぐことができ、また必要な時のみタイミング調整コードの送受信を行うことができる。
【００３３】
図３は本実施形態のエラスティックバッファ装置を備えた送受信機を用いた通信システムを示すブロック図である。
【００３４】
図３において、送受信機１００は、受信データを送受信機１００のクロック周波数に同期化するエラスティックバッファ部（本実施形態のエラスティックバッファ装置となる）１０１、エラスティックバッファ部１０１から同期化された受信データを周波数変換して復調する送受信部１０２、復調された受信データを音声やデータ信号を信号処理する信号処理部１０３を有する。信号処理部１０３から出力される送信データは送受信部１０２で周波数変換されて変調され、送受信機２００へ送られる。
【００３５】
送受信機２００は、受信データを送受信機２００のクロック周波数に同期化するエラスティックバッファ部（本実施形態のエラスティックバッファ装置となる）２０１、エラスティックバッファ部２０１から同期化された受信データを周波数変換して復調する送受信部２０２、復調された受信データを音声やデータ信号を信号処理する信号処理部２０３を有する。信号処理部２０３から出力される送信データは送受信部２０２で周波数変換されて変調され、送受信機１００へ送られる。
【００３６】
以上説明した実施形態では、送受信機にエラスティックバッファ装置を用いた例について説明したが、本発明は、クロック周波数が異なるディジタル回路間でデータの受け渡しを行う場合に、データを途切れることなく受け渡すためにバッファを用いた装置であれば、適用可能である。
【産業上の利用可能性】
【００３７】
本発明は、クロック周波数が異なるディジタル回路間でデータの受け渡しを行う場合に、データを途切れることなく受け渡すためにバッファを用いた装置、特に送受信機に好適に適用できる。
【符号の説明】
【００３８】
１１  バッファ
１２  ライトポインタ
１３  リードポインタ
１４  オーバーラン・アンダーラン検出部
１５  タイミング調整コード送信制御部
１６  タイマ
１７  送信データ調停部
１００，２００  送受信機
１０１，２０１  エラスティックバッファ部
１０２，２０２  送受信部
１０３，２０３  信号処理部
【図１】
0005413662.tif 000002
【図２】
0005413662.tif 000003
【図３】
0005413662.tif 000004