JP5413662B2 - Elastic buffer device, transceiver, and timing adjustment code transmission method for elastic buffer device - Google Patents

Elastic buffer device, transceiver, and timing adjustment code transmission method for elastic buffer device Download PDF

Info

Publication number
JP5413662B2
JP5413662B2 JP2009246462A JP2009246462A JP5413662B2 JP 5413662 B2 JP5413662 B2 JP 5413662B2 JP 2009246462 A JP2009246462 A JP 2009246462A JP 2009246462 A JP2009246462 A JP 2009246462A JP 5413662 B2 JP5413662 B2 JP 5413662B2
Authority
JP
Japan
Prior art keywords
timing adjustment
adjustment code
transmission
underrun
overrun
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009246462A
Other languages
Japanese (ja)
Other versions
JP2011097151A (en
Inventor
裕照 山川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009246462A priority Critical patent/JP5413662B2/en
Publication of JP2011097151A publication Critical patent/JP2011097151A/en
Application granted granted Critical
Publication of JP5413662B2 publication Critical patent/JP5413662B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

本発明はエラスティックバッファ装置、送受信機及びエラスティックバッファ装置のタイミング調整コード送信方法に係わり、特に、送信側と受信側の間のクロック周波数差を吸収するために用いられるエラスティックバッファ装置、送受信機及びエラスティックバッファ装置のタイミング調整コード送信方法に関する。   The present invention relates to an elastic buffer device, a transceiver, and a timing adjustment code transmission method for the elastic buffer device, and more particularly to an elastic buffer device used for absorbing a clock frequency difference between a transmission side and a reception side, and transmission / reception. The present invention relates to a timing adjustment code transmission method for a machine and an elastic buffer device.

送信側と受信側との間のクロック周波数が異なるディジタル回路間でデータの受け渡しを行う場合に、データを途切れることなく受け渡すために、エラスティックバッファを用いることができる。   When data is transferred between digital circuits having different clock frequencies between the transmission side and the reception side, an elastic buffer can be used to transfer the data without interruption.

エラスティックバッファの構成については、例えば特許文献1に開示されている。   The configuration of the elastic buffer is disclosed in Patent Document 1, for example.

ところで、エラスティックバッファでは、送信側と受信側との間のクロック周波数が異なるために、バッファについて書き込みポインタ位置が読み出しポインタ位置においつき、未読データの破壊が起こること(以下、オーバーランという)がある。また、逆にバッファについて読み出しポインタ位置が書き込みポインタ位置においつき、既読もしくは未書き込みの記憶場所から無効データを読み出してしまうこと(以下アンダーランという)がある。   By the way, in the elastic buffer, since the clock frequency is different between the transmission side and the reception side, the write pointer position of the buffer comes to the read pointer position, and unread data is destroyed (hereinafter referred to as overrun). is there. Conversely, the read pointer position of the buffer may come to the write pointer position, and invalid data may be read from the read or unwritten storage location (hereinafter referred to as underrun).

オーバーランとアンダーランを防止するために、例えば、非特許文献1では、Fill Word (タイミング調整コードに対応する)の挿入、削除を行うことが記載されている。Fill Word は有意でないコード(IDLE)で、このFill Wordの挿入、削除を行うことで、送信側と受信側との間のクロック周波数により生ずるオーバーラン、アンダーランを防いでいる。また、非特許文献1では、インタフェースの仕様に規定されているクロック周波数誤差よりオーバーランまたはアンダーランが発生しうる送受信ワード数を算出し、それに対応した周期でFill Word(タイミング調整コード)の送信することを規定している。   In order to prevent overrun and underrun, for example, Non-Patent Document 1 describes the insertion and deletion of Fill Word (corresponding to the timing adjustment code). Fill Word is an insignificant code (IDLE). By inserting and deleting this Fill Word, overrun and underrun caused by the clock frequency between the sending side and the receiving side are prevented. Further, in Non-Patent Document 1, the number of transmission / reception words that can cause overrun or underrun is calculated from the clock frequency error defined in the interface specifications, and Fill Word (timing adjustment code) is transmitted at the corresponding period. It stipulates that

特開2006−067107号公報(段落0020等)JP 2006-067107 (paragraph 0020, etc.)

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, 1999Annex A, “A.2 Clock skew Mamagement”, page 103 and Annex G, “G.2 Clock skew management function periodicity” page 117, Fiber Channel-Arbitrated Loop, FC-AL-2 rev 7.0, April 1, 1999

しかし、実際のクロック周波数の誤差が仕様で定められた値より小さければ、タイミング調整コードを仕様で定められた間隔で送る必要はない。   However, if the actual clock frequency error is smaller than the value defined in the specification, it is not necessary to send the timing adjustment code at intervals defined in the specification.

また、実際のクロック周波数の誤差が仕様で定められた値よりも大きくなった場合は、仕様で定められた間隔でタイミング調整コードを送信してもオーバーランまたはアンダーランを防ぐことができない。   If the actual clock frequency error is larger than the value determined by the specification, overrun or underrun cannot be prevented even if the timing adjustment code is transmitted at intervals determined by the specification.

本発明に係わるエラスティックバッファ装置は、第1のクロック周波数に基づいて生成された受信データを一時記憶し、第2のクロック周波数に同期化を行うバッファと、
前記バッファにおける、未読データを破壊する又は破壊しようとするオーバーラン状態、及び既読又は無効データを読み出す又は読み出そうとするアンダーラン状態とを検出し、前記オーバーラン状態又は前記アンダーラン状態の検出信号を出力するオーバーラン・アンダーラン検出部と、
前記オーバーラン・アンダーラン検出部からの前記検出信号、及び受信データとして受信した第1のタイミング調整コードのうちの少なくとも一方を受けた場合に、第2のタイミング調整コードの送信要求を生成するタイミング調整コード送信制御部と、
前記タイミング調整コード送信制御部からの前記送信要求に基づいて、前記第2のタイミング調整用コードの送信とパケット送信との送信データ調停を行う送信データ調停部と、
を備え
前記タイミング調整コード送信制御部は、初期値からの経過時間を計測するタイマを有し、
前記タイミング調整コード送信制御部は、前記オーバーラン・アンダーラン検出部から、前記検出信号、及び受信データとして受信した第1のタイミング調整コードのうちの少なくとも一方を受けた場合で、且つ前記経過時間が前記第2のタイミング調整コードを送信する最短周期よりも大きい場合に、第2のタイミング調整コードの送信要求を生成し、
前記第1のタイミング調整コードを受けた場合に、前記タイマの値を前記初期値に設定することを特徴とするエラスティックバッファ装置である
また本発明に係わるエラスティックバッファ装置は、第1のクロック周波数に基づいて生成された受信データを一時記憶し、第2のクロック周波数に同期化を行うバッファと、
前記バッファにおける、未読データを破壊する又は破壊しようとするオーバーラン状態、及び既読又は無効データを読み出す又は読み出そうとするアンダーラン状態とを検出し、前記オーバーラン状態又は前記アンダーラン状態の検出信号を出力するオーバーラン・アンダーラン検出部と、
前記オーバーラン・アンダーラン検出部からの前記検出信号、及び受信データとして受信した第1のタイミング調整コードのうちの少なくとも一方を受けた場合に、第2のタイミング調整コードの送信要求を生成するタイミング調整コード送信制御部と、
前記タイミング調整コード送信制御部からの前記送信要求に基づいて、前記第2のタイミング調整用コードの送信とパケット送信との送信データ調停を行う送信データ調停部と、
を備え、
前記バッファは、前記受信データとして受けた前記第1のタイミング調整コードを削除し、第3のタイミングコードを前記受信データに挿入することで、前記オーバーラン状態又は前記アンダーラン状態を防ぐことを特徴とするエラスティックバッファ装置である。
An elastic buffer device according to the present invention temporarily stores received data generated based on a first clock frequency, and synchronizes to a second clock frequency.
In the buffer, an overrun state that destroys or attempts to destroy unread data and an underrun state that reads or reads read or invalid data are detected, and the overrun state or the underrun state is detected. An overrun / underrun detector that outputs a detection signal;
Timing for generating a transmission request for the second timing adjustment code when receiving at least one of the detection signal from the overrun / underrun detection unit and the first timing adjustment code received as received data An adjustment code transmission control unit;
A transmission data arbitration unit that performs transmission data arbitration between the transmission of the second timing adjustment code and the packet transmission based on the transmission request from the timing adjustment code transmission control unit;
Equipped with a,
The timing adjustment code transmission control unit has a timer for measuring an elapsed time from an initial value,
The timing adjustment code transmission control unit receives at least one of the detection signal and the first timing adjustment code received as received data from the overrun / underrun detection unit, and the elapsed time Is greater than the shortest cycle for transmitting the second timing adjustment code, a second timing adjustment code transmission request is generated,
The elastic buffer device is characterized in that when the first timing adjustment code is received, the value of the timer is set to the initial value .
Further, an elastic buffer device according to the present invention temporarily stores received data generated based on a first clock frequency and performs synchronization with the second clock frequency,
In the buffer, an overrun state that destroys or attempts to destroy unread data and an underrun state that reads or reads read or invalid data are detected, and the overrun state or the underrun state is detected. An overrun / underrun detector that outputs a detection signal;
Timing for generating a transmission request for the second timing adjustment code when receiving at least one of the detection signal from the overrun / underrun detection unit and the first timing adjustment code received as received data An adjustment code transmission control unit;
A transmission data arbitration unit that performs transmission data arbitration between the transmission of the second timing adjustment code and the packet transmission based on the transmission request from the timing adjustment code transmission control unit;
With
The buffer is configured to prevent the overrun state or the underrun state by deleting the first timing adjustment code received as the received data and inserting a third timing code into the received data. This is an elastic buffer device.

本発明に係わるエラスティックバッファ装置のタイミング調整コード送信方法は、第1のクロック周波数に基づいて生成された受信データを一時記憶し、第2のクロック周波数に同期化を行うためのバッファを備えたエラスティックバッファ装置のタイミング調整コード送信方法において、
前記バッファにおける、未読データを破壊する若しくは破壊しようとするオーバーラン状態、又は既読若しくは無効データを読み出す若しくは読み出そうとするアンダーラン状態とを検出し、
前記オーバーラン状態又は前記アンダーラン状態を検出するか、受信データとして第1のタイミング調整コードを受信した場合に、第2のタイミング調整コードの送信要求を生成し、
前記送信要求に基づいて、前記第2のタイミング調整用コードの送信とパケット送信とのいずれかを送信し、
前記エラスティックバッファ装置は、初期値からの経過時間を計測するタイマを有し、
前記オーバーラン状態又は前記アンダーラン状態を検出するか、受信データとして第1のタイミング調整コードを受信した場合で、且つ前記経過時間が前記第2のタイミング調整コードを送信する最短周期よりも大きい場合に、第2のタイミング調整コードの送信要求を生成し、
前記第1のタイミング調整コードを受けた場合に、前記タイマの値を前記初期値に設定することを特徴とするエラスティックバッファ装置のタイミング調整コード送信方法である
また、本発明に係わるエラスティックバッファ装置のタイミング調整コード送信方法は、第1のクロック周波数に基づいて生成された受信データを一時記憶し、第2のクロック周波数に同期化を行うためのバッファを備えたエラスティックバッファ装置のタイミング調整コード送信方法において、
前記バッファにおける、未読データを破壊する若しくは破壊しようとするオーバーラン状態、又は既読若しくは無効データを読み出す若しくは読み出そうとするアンダーラン状態とを検出し、
前記オーバーラン状態又は前記アンダーラン状態を検出するか、受信データとして第1のタイミング調整コードを受信した場合に、第2のタイミング調整コードの送信要求を生成し、
前記送信要求に基づいて、前記第2のタイミング調整用コードの送信とパケット送信とのいずれかを送信し、
前記バッファは、前記受信データとして受けた前記第1のタイミング調整コードを削除し、第3のタイミングコードを前記受信データに挿入することで、前記オーバーラン状態又は前記アンダーラン状態を防ぐことを特徴とするエラスティックバッファ装置のタイミング調整コード送信方法である。
A timing adjustment code transmission method for an elastic buffer device according to the present invention includes a buffer for temporarily storing received data generated based on a first clock frequency and performing synchronization with the second clock frequency. In the elastic buffer device timing adjustment code transmission method,
Detecting an overrun condition in the buffer that destroys or tries to destroy unread data, or an underrun condition that reads or reads read or invalid data;
When the overrun state or the underrun state is detected or the first timing adjustment code is received as received data, a transmission request for the second timing adjustment code is generated,
Based on the transmission request, either one of transmission of the second timing adjustment code and packet transmission is transmitted ,
The elastic buffer device has a timer for measuring an elapsed time from an initial value,
When the overrun state or the underrun state is detected or the first timing adjustment code is received as received data, and the elapsed time is longer than the shortest cycle for transmitting the second timing adjustment code To generate a transmission request for the second timing adjustment code,
A timing adjustment code transmission method for an elastic buffer device, wherein the timer value is set to the initial value when the first timing adjustment code is received .
The elastic buffer device timing adjustment code transmission method according to the present invention also includes a buffer for temporarily storing received data generated based on the first clock frequency and performing synchronization with the second clock frequency. In the elastic buffer device provided timing adjustment code transmission method,
Detecting an overrun condition in the buffer that destroys or tries to destroy unread data, or an underrun condition that reads or reads read or invalid data;
When the overrun state or the underrun state is detected or the first timing adjustment code is received as received data, a transmission request for the second timing adjustment code is generated,
Based on the transmission request, either one of transmission of the second timing adjustment code and packet transmission is transmitted,
The buffer is configured to prevent the overrun state or the underrun state by deleting the first timing adjustment code received as the received data and inserting a third timing code into the received data. And a timing adjustment code transmission method of the elastic buffer device.

なお、本願において、バッファにおいて、未読データを破壊する又は破壊しようとする状態をオーバーラン状態といい、バッファにおいて、既読又は無効データを読み出す又は読み出そうとする状態をアンダーラン状態という。   In the present application, a state in which unread data is destroyed or about to be destroyed in the buffer is referred to as an overrun state, and a state in which the read or invalid data is read or read from the buffer is referred to as an underrun state.

本発明においては、以下に記載するような効果を奏する。   The present invention has the following effects.

本発明ではバッファの状態によってタイミング調整コードの送受信が行われるため、実際のクロック周波数差分がインタフェースの規定値よりも小さい場合は、タイミング調整コードの送受信が仕様上の規定間隔よりも大きい間隔で行われ、インタフェースの有効利用が行われる。   In the present invention, the timing adjustment code is transmitted / received depending on the buffer state. Therefore, when the actual clock frequency difference is smaller than the interface specified value, the timing adjustment code is transmitted / received at an interval larger than the specified interval. The interface is effectively used.

また、故障等により実際のクロック周波数差分がインタフェースの規定値よりも大きくなった場合でも、バッファのオーバーラン状態またはアンダーラン状態の検出を契機にタイミング調整コードの送受信が行われるため、オーバーランまたはアンダーランを起こさずに動作継続ができる。   Also, even when the actual clock frequency difference becomes larger than the specified value of the interface due to a failure or the like, the timing adjustment code is transmitted / received when the buffer overrun or underrun condition is detected. The operation can be continued without causing an underrun.

本発明に係わるエラスティックバッファ装置の一実施形態を示すブロック図である。It is a block diagram which shows one Embodiment of the elastic buffer apparatus concerning this invention. タイミング調整コード送信制御部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of a timing adjustment code transmission control part. 本実施形態のエラスティックバッファ装置を備えた送受信機を用いた通信システムを示すブロック図である。It is a block diagram which shows the communication system using the transmitter / receiver provided with the elastic buffer apparatus of this embodiment.

以下、本発明の典型的な実施の形態について図面を用いて説明する。   Hereinafter, typical embodiments of the present invention will be described with reference to the drawings.

図1は本発明に係わるエラスティックバッファ装置の一実施形態を示すブロック図である。   FIG. 1 is a block diagram showing an embodiment of an elastic buffer device according to the present invention.

バッファ11はオーバーラン・アンダーランを防ぐためにタイミング調整コードのインサート・デリート機能を持った同期化バッファである。バッファ11は受信データにタイミング調整コードを含む場合に、そのタイミング調整コードを削除したり、新たにタイミング調整コードを挿入することでオーバーラン・アンダーランを防ぐ。ライトポインタ12はバッファ11へ受信データを書き込むポインタである。リードポインタ13はバッファ11から同期化受信データを読み出すポインタである。   The buffer 11 is a synchronization buffer having an insert delete function for timing adjustment codes in order to prevent overrun / underrun. When the received data includes a timing adjustment code, the buffer 11 prevents overrun / underrun by deleting the timing adjustment code or newly inserting a timing adjustment code. The write pointer 12 is a pointer for writing received data to the buffer 11. The read pointer 13 is a pointer for reading the synchronization reception data from the buffer 11.

オーバーラン・アンダーラン検出部14は、ライトポインタ12の出力とリードポインタ3の出力との差からオーバーラン状態またはアンダーラン状態を検出する。   The overrun / underrun detection unit 14 detects an overrun state or an underrun state from the difference between the output of the write pointer 12 and the output of the read pointer 3.

タイミング調整コード送信制御部15は内部に初期値からの経過時間を計測するタイマ16を実装しており、タイミング調整コードの送信要求を発生させる。タイミング調整コードの送信要求は、オーバーラン・アンダーラン検出部14からの検出信号、及び受信データとして受信したタイミング調整コード(第1のタイミング調整コードとなる)、及びタイマ16の値とに基づいて生成される。タイミング調整コード送信制御部15は、必要に応じてタイミング調整用コード(第2のタイミング調整コードとなる)の送信要求を送信データ調停部17へ送る。タイミング調整コード送信制御部15にはタイミング調整コード(第1のタイミング調整コードとなる)の受信により、タイミング調整コードの送信要求により折り返しタイミング調整コード(第2のタイミング調整コードとなる)を送り返す機能も含まれている。   The timing adjustment code transmission control unit 15 has a timer 16 for measuring the elapsed time from the initial value and generates a timing adjustment code transmission request. The transmission request for the timing adjustment code is based on the detection signal from the overrun / underrun detection unit 14, the timing adjustment code received as received data (becomes the first timing adjustment code), and the value of the timer 16. Generated. The timing adjustment code transmission control unit 15 sends a transmission request for a timing adjustment code (which becomes the second timing adjustment code) to the transmission data arbitration unit 17 as necessary. The timing adjustment code transmission control unit 15 receives a timing adjustment code (becomes the first timing adjustment code) and sends back a return timing adjustment code (becomes the second timing adjustment code) in response to a timing adjustment code transmission request. Is also included.

送信データ調停部17は、タイミング調整コード送信制御部15からのタイミング調整用コード送信とパケット送信との送信データ調停を行う。   The transmission data arbitration unit 17 performs transmission data arbitration between timing adjustment code transmission from the timing adjustment code transmission control unit 15 and packet transmission.

ライトポインタ12の出力とリードポインタ13の出力との差分より、オーバーラン・アンダーラン検出部14でオーバーラン状態またはアンダーラン状態が検出されると、タイミング調整コード送信制御部15へ検出信号が通知される。   When an overrun or underrun state is detected by the overrun / underrun detection unit 14 from the difference between the output of the write pointer 12 and the output of the read pointer 13, a detection signal is notified to the timing adjustment code transmission control unit 15 Is done.

オーバーラン状態またはアンダーラン状態の検出を受けたタイミング調整コード送信制御部15では条件がそろった状態で送信データ調停部17へタイミング調整用コード送信要求を発行する。送信データ調停部17で送信データの調停が行われタイミング調整用コードが送信される。タイミング調整用コードを受信した相手側ノードでは、受信したタイミング調整用コードがタイミング調整コード送信制御部15’(不図示)に入力され、タイミング調整コードが折り返し送信される。   Upon receiving the detection of the overrun state or the underrun state, the timing adjustment code transmission control unit 15 issues a timing adjustment code transmission request to the transmission data arbitration unit 17 in a state where the conditions are met. Transmission data arbitration unit 17 arbitrates transmission data and transmits a timing adjustment code. In the counterpart node that has received the timing adjustment code, the received timing adjustment code is input to the timing adjustment code transmission control unit 15 '(not shown), and the timing adjustment code is transmitted back.

なお、図1では一方のノードでのエラスティックバッファ装置を示しており、このノードと接続される相手側のノードは同じ構成のエラスティックバッファ装置を有する。   Note that FIG. 1 shows an elastic buffer device at one node, and the partner node connected to this node has an elastic buffer device having the same configuration.

続いて図2を用いてタイミング調整コード送信制御部15の動作を説明する。   Next, the operation of the timing adjustment code transmission control unit 15 will be described with reference to FIG.

タイミング調整コード送信制御部15に内蔵されているタイマ16の値と、あらかじめ設定しているMAX周期を比較する。MAX周期はタイミング調整コードを送信する最大周期であり、定期的な送信が必要ないと判断すればMAX周期を無限大と決めた値にしてタイミング調整コードの定期的な送信を行わない設定にもできる。タイマ16がMAX周期を越えていなければ(ステップS21)、タイミング調整コードを受信したか否かを判断する(ステップS22)。   The value of the timer 16 built in the timing adjustment code transmission control unit 15 is compared with a preset MAX cycle. The MAX cycle is the maximum cycle for transmitting the timing adjustment code. If it is determined that periodic transmission is not necessary, the MAX cycle is set to an infinite value so that the timing adjustment code is not transmitted periodically. it can. If the timer 16 has not exceeded the MAX cycle (step S21), it is determined whether a timing adjustment code has been received (step S22).

ステップS22において、タイミング調整コードを受信していなければ、オーバーラン・アンダーラン状態を検出しているか否かを判断する(ステップS23)。ステップS23において、オーバーラン・アンダーラン状態を検出していなければ、タイマ16の値とMAX周期の比較(ステップS21)へ戻る。   If the timing adjustment code is not received in step S22, it is determined whether or not an overrun / underrun state is detected (step S23). If the overrun / underrun state is not detected in step S23, the process returns to the comparison between the value of the timer 16 and the MAX cycle (step S21).

タイマ16の値がMAX周期よりも大きい場合(ステップS21)またはタイミング調整コード受信した場合(ステップS22)はタイマ16の値を初期値0(ここでは初期値を0としているが、他の値でもよい)に戻し(28)、タイミング調整コード送信要求を発行し(ステップS29)、タイマ16の値がMIN周期を越えるまで待ち合わせる(ステップS30)。MIN周期はタイミング調整コードを送信する最短周期で、タイミング調整コードの送信頻発を防ぐための値であり、またタイミング調整コードの折り返しによる連続送受信を防ぐための値で、タイミング調整コードの2つのノード間の往復の最大レイテンシより大きい値である。タイマ16の値がMIN周期を越えたら(ステップS30)、タイマ6の値とMAX周期との比較(ステップS21)へ戻る。   When the value of the timer 16 is larger than the MAX cycle (step S21) or when the timing adjustment code is received (step S22), the value of the timer 16 is set to the initial value 0 (here, the initial value is set to 0, but other values may be used). (28), a timing adjustment code transmission request is issued (step S29), and the process waits until the value of the timer 16 exceeds the MIN period (step S30). The MIN period is the shortest period for transmitting the timing adjustment code, and is a value for preventing frequent transmission of the timing adjustment code. In addition, the MIN period is a value for preventing continuous transmission and reception due to the return of the timing adjustment code. It is a value larger than the maximum latency of round trip between. When the value of the timer 16 exceeds the MIN period (step S30), the process returns to the comparison between the value of the timer 6 and the MAX period (step S21).

オーバーラン・アンダーラン状態を検出をした場合(ステップS23)は、タイマ16の値とMIN周期との比較(ステップS24)を行う。タイマ16の値がMIN周期を越えるまで待ち、MIN周期を越えたら(ステップS24)、タイミング調整コード送信要求を発行し(ステップS25)、タイミング調整コード受信を待つ(ステップS26)。タイミング調整コードを受信したら(ステップS26)、タイマ16の値を初期値0に戻し(ステップS27)、タイマ16の値とMAX周期との比較(ステップS21)へ戻る。   When the overrun / underrun state is detected (step S23), the value of the timer 16 is compared with the MIN cycle (step S24). Wait until the value of the timer 16 exceeds the MIN period. When the value exceeds the MIN period (step S24), a timing adjustment code transmission request is issued (step S25), and reception of the timing adjustment code is awaited (step S26). When the timing adjustment code is received (step S26), the value of the timer 16 is returned to the initial value 0 (step S27), and the process returns to the comparison between the value of the timer 16 and the MAX cycle (step S21).

本実施形態では、第1のクロック周波数に基づいて生成された受信データを一時記憶して、第2のクロック周波数に同期化を行うためのバッファのオーバーラン状態、アンダーラン状態を検出して、タイミング調整コードの送受信が行われるため、実際のクロック周波数の誤差が仕様で定められた値より小さければ、タイミング調整コードの送受信回数が削減される。また、実際のクロック周波数の誤差が仕様で定められた値よりも大きくなった場合でも、仕様で定められた間隔よりも短い間隔でタイミング調整コードの送受信が行われてオーバーラン、アンダーランを未然に防ぐことができる。   In the present embodiment, the reception data generated based on the first clock frequency is temporarily stored, and the buffer overrun state and underrun state for synchronization with the second clock frequency are detected, Since the timing adjustment code is transmitted and received, if the actual clock frequency error is smaller than the value defined in the specification, the number of times the timing adjustment code is transmitted and received is reduced. Even if the actual clock frequency error is larger than the value specified in the specification, the timing adjustment code is transmitted and received at intervals shorter than the interval specified in the specification. Can be prevented.

このようにして、本実施形態ではバッファのオーバーラン・アンダーランの状態を検出し、そのタイミングで自らタイミング調整コードを送信し、その折り返しにタイミング調整コードを受信することで未然にオーバーラン・アンダーランを防ぐことができ、また必要な時のみタイミング調整コードの送受信を行うことができる。   In this way, in this embodiment, the overrun / underrun state of the buffer is detected, the timing adjustment code is transmitted at that timing, and the timing adjustment code is received at the return time, so that overrun / under Runs can be prevented, and timing adjustment codes can be transmitted and received only when necessary.

図3は本実施形態のエラスティックバッファ装置を備えた送受信機を用いた通信システムを示すブロック図である。   FIG. 3 is a block diagram showing a communication system using a transceiver having the elastic buffer device of the present embodiment.

図3において、送受信機100は、受信データを送受信機100のクロック周波数に同期化するエラスティックバッファ部(本実施形態のエラスティックバッファ装置となる)101、エラスティックバッファ部101から同期化された受信データを周波数変換して復調する送受信部102、復調された受信データを音声やデータ信号を信号処理する信号処理部103を有する。信号処理部103から出力される送信データは送受信部102で周波数変換されて変調され、送受信機200へ送られる。   In FIG. 3, the transceiver 100 is synchronized from the elastic buffer unit 101 (which becomes the elastic buffer device of the present embodiment) that synchronizes received data with the clock frequency of the transceiver 100, and the elastic buffer unit 101. It has a transmission / reception unit 102 that demodulates the received data by frequency conversion, and a signal processing unit 103 that processes the demodulated reception data for voice and data signals. Transmission data output from the signal processing unit 103 is frequency-converted and modulated by the transmission / reception unit 102 and sent to the transceiver 200.

送受信機200は、受信データを送受信機200のクロック周波数に同期化するエラスティックバッファ部(本実施形態のエラスティックバッファ装置となる)201、エラスティックバッファ部201から同期化された受信データを周波数変換して復調する送受信部202、復調された受信データを音声やデータ信号を信号処理する信号処理部203を有する。信号処理部203から出力される送信データは送受信部202で周波数変換されて変調され、送受信機100へ送られる。   The transceiver 200 includes an elastic buffer unit 201 (which becomes an elastic buffer device of the present embodiment) that synchronizes received data with the clock frequency of the transceiver 200, and frequency of received data synchronized from the elastic buffer unit 201. A transmission / reception unit 202 that performs conversion and demodulation, and a signal processing unit 203 that performs signal processing on the demodulated reception data for voice and data signals. Transmission data output from the signal processing unit 203 is frequency-converted and modulated by the transmission / reception unit 202 and sent to the transceiver 100.

以上説明した実施形態では、送受信機にエラスティックバッファ装置を用いた例について説明したが、本発明は、クロック周波数が異なるディジタル回路間でデータの受け渡しを行う場合に、データを途切れることなく受け渡すためにバッファを用いた装置であれば、適用可能である。   In the embodiment described above, an example in which an elastic buffer device is used as a transceiver has been described. However, the present invention transfers data without interruption when data is transferred between digital circuits having different clock frequencies. Therefore, any device using a buffer can be applied.

本発明は、クロック周波数が異なるディジタル回路間でデータの受け渡しを行う場合に、データを途切れることなく受け渡すためにバッファを用いた装置、特に送受信機に好適に適用できる。   The present invention can be suitably applied to an apparatus using a buffer for transferring data without interruption when the data is transferred between digital circuits having different clock frequencies, particularly to a transceiver.

11 バッファ
12 ライトポインタ
13 リードポインタ
14 オーバーラン・アンダーラン検出部
15 タイミング調整コード送信制御部
16 タイマ
17 送信データ調停部
100,200 送受信機
101,201 エラスティックバッファ部
102,202 送受信部
103,203 信号処理部
11 Buffer 12 Write Pointer 13 Read Pointer 14 Overrun / Underrun Detection Unit 15 Timing Adjustment Code Transmission Control Unit 16 Timer 17 Transmission Data Arbitration Unit 100, 200 Transceiver 101, 201 Elastic Buffer Unit 102, 202 Transceiver 103, 203 Signal processor

Claims (7)

第1のクロック周波数に基づいて生成された受信データを一時記憶し、第2のクロック周波数に同期化を行うバッファと、
前記バッファにおける、未読データを破壊する又は破壊しようとするオーバーラン状態、及び既読又は無効データを読み出す又は読み出そうとするアンダーラン状態とを検出し、前記オーバーラン状態又は前記アンダーラン状態の検出信号を出力するオーバーラン・アンダーラン検出部と、
前記オーバーラン・アンダーラン検出部からの前記検出信号、及び受信データとして受信した第1のタイミング調整コードのうちの少なくとも一方を受けた場合に、第2のタイミング調整コードの送信要求を生成するタイミング調整コード送信制御部と、
前記タイミング調整コード送信制御部からの前記送信要求に基づいて、前記第2のタイミング調整用コードの送信とパケット送信との送信データ調停を行う送信データ調停部と、
を備え、
前記タイミング調整コード送信制御部は、初期値からの経過時間を計測するタイマを有し、
前記タイミング調整コード送信制御部は、前記オーバーラン・アンダーラン検出部から、前記検出信号、及び受信データとして受信した第1のタイミング調整コードのうちの少なくとも一方を受けた場合で、且つ前記経過時間が前記第2のタイミング調整コードを送信する最短周期よりも大きい場合に、第2のタイミング調整コードの送信要求を生成し、
前記第1のタイミング調整コードを受けた場合に、前記タイマの値を前記初期値に設定することを特徴とするエラスティックバッファ装置。
A buffer for temporarily storing received data generated based on the first clock frequency and synchronizing to the second clock frequency;
In the buffer, an overrun state that destroys or attempts to destroy unread data and an underrun state that reads or reads read or invalid data are detected, and the overrun state or the underrun state is detected. An overrun / underrun detector that outputs a detection signal;
Timing for generating a transmission request for the second timing adjustment code when receiving at least one of the detection signal from the overrun / underrun detection unit and the first timing adjustment code received as received data An adjustment code transmission control unit;
A transmission data arbitration unit that performs transmission data arbitration between the transmission of the second timing adjustment code and the packet transmission based on the transmission request from the timing adjustment code transmission control unit;
With
The timing adjustment code transmission control unit has a timer for measuring an elapsed time from an initial value,
The timing adjustment code transmission control unit receives at least one of the detection signal and the first timing adjustment code received as received data from the overrun / underrun detection unit, and the elapsed time Is greater than the shortest cycle for transmitting the second timing adjustment code, a second timing adjustment code transmission request is generated,
An elastic buffer device, wherein the timer value is set to the initial value when the first timing adjustment code is received.
第1のクロック周波数に基づいて生成された受信データを一時記憶し、第2のクロック周波数に同期化を行うバッファと、
前記バッファにおける、未読データを破壊する又は破壊しようとするオーバーラン状態、及び既読又は無効データを読み出す又は読み出そうとするアンダーラン状態とを検出し、前記オーバーラン状態又は前記アンダーラン状態の検出信号を出力するオーバーラン・アンダーラン検出部と、
前記オーバーラン・アンダーラン検出部からの前記検出信号、及び受信データとして受信した第1のタイミング調整コードのうちの少なくとも一方を受けた場合に、第2のタイミング調整コードの送信要求を生成するタイミング調整コード送信制御部と、
前記タイミング調整コード送信制御部からの前記送信要求に基づいて、前記第2のタイミング調整用コードの送信とパケット送信との送信データ調停を行う送信データ調停部と、
を備え、
前記バッファは、前記受信データとして受けた前記第1のタイミング調整コードを削除し、第3のタイミングコードを前記受信データに挿入することで、前記オーバーラン状態又は前記アンダーラン状態を防ぐことを特徴とするエラスティックバッファ装置。
A buffer for temporarily storing received data generated based on the first clock frequency and synchronizing to the second clock frequency;
In the buffer, an overrun state that destroys or attempts to destroy unread data and an underrun state that reads or reads read or invalid data are detected, and the overrun state or the underrun state is detected. An overrun / underrun detector that outputs a detection signal;
Timing for generating a transmission request for the second timing adjustment code when receiving at least one of the detection signal from the overrun / underrun detection unit and the first timing adjustment code received as received data An adjustment code transmission control unit;
A transmission data arbitration unit that performs transmission data arbitration between the transmission of the second timing adjustment code and the packet transmission based on the transmission request from the timing adjustment code transmission control unit;
With
The buffer is configured to prevent the overrun state or the underrun state by deleting the first timing adjustment code received as the received data and inserting a third timing code into the received data. Elastic buffer device.
請求項1又は2に記載のエラスティックバッファ装置において、
前記バッファへ前記受信データを書き込むライトポインタと、
前記バッファから同期化された前記受信データを読み出すリードポインタとを備え、
前記オーバーラン・アンダーラン検出部は、前記ライトポインタの出力と前記リードポインタの出力との差から前記オーバーラン状態、及び前記アンダーランの状態を検出し、前記検出信号を出力することを特徴とするエラスティックバッファ装置。
The elastic buffer device according to claim 1 or 2 ,
A write pointer for writing the received data to the buffer;
A read pointer for reading the received data synchronized from the buffer,
The overrun / underrun detection unit detects the overrun state and the underrun state from a difference between an output of the write pointer and an output of the read pointer, and outputs the detection signal. Elastic buffer device to do.
請求項1から請求項のいずれか1項に記載のエラスティックバッファ装置を備えた送受信機。 A transceiver comprising the elastic buffer device according to any one of claims 1 to 3 . 第1のクロック周波数に基づいて生成された受信データを一時記憶し、第2のクロック周波数に同期化を行うためのバッファを備えたエラスティックバッファ装置のタイミング調整コード送信方法において、
前記バッファにおける、未読データを破壊する若しくは破壊しようとするオーバーラン状態、又は既読若しくは無効データを読み出す若しくは読み出そうとするアンダーラン状態とを検出し、
前記オーバーラン状態又は前記アンダーラン状態を検出するか、受信データとして第1のタイミング調整コードを受信した場合に、第2のタイミング調整コードの送信要求を生成し、
前記送信要求に基づいて、前記第2のタイミング調整用コードの送信とパケット送信とのいずれかを送信し、
前記エラスティックバッファ装置は、初期値からの経過時間を計測するタイマを有し、
前記オーバーラン状態又は前記アンダーラン状態を検出するか、受信データとして第1のタイミング調整コードを受信した場合で、且つ前記経過時間が前記第2のタイミング調整コードを送信する最短周期よりも大きい場合に、第2のタイミング調整コードの送信要求を生成し、
前記第1のタイミング調整コードを受けた場合に、前記タイマの値を前記初期値に設定することを特徴とするエラスティックバッファ装置のタイミング調整コード送信方法。
In a timing adjustment code transmission method for an elastic buffer device including a buffer for temporarily storing reception data generated based on a first clock frequency and performing synchronization with the second clock frequency,
Detecting an overrun condition in the buffer that destroys or tries to destroy unread data, or an underrun condition that reads or reads read or invalid data;
When the overrun state or the underrun state is detected or the first timing adjustment code is received as received data, a transmission request for the second timing adjustment code is generated,
Based on the transmission request, either one of transmission of the second timing adjustment code and packet transmission is transmitted,
The elastic buffer device has a timer for measuring an elapsed time from an initial value,
When the overrun state or the underrun state is detected or the first timing adjustment code is received as received data, and the elapsed time is longer than the shortest cycle for transmitting the second timing adjustment code To generate a transmission request for the second timing adjustment code,
A timing adjustment code transmission method for an elastic buffer device, wherein the timer value is set to the initial value when the first timing adjustment code is received.
第1のクロック周波数に基づいて生成された受信データを一時記憶し、第2のクロック周波数に同期化を行うためのバッファを備えたエラスティックバッファ装置のタイミング調整コード送信方法において、
前記バッファにおける、未読データを破壊する若しくは破壊しようとするオーバーラン状態、又は既読若しくは無効データを読み出す若しくは読み出そうとするアンダーラン状態とを検出し、
前記オーバーラン状態又は前記アンダーラン状態を検出するか、受信データとして第1のタイミング調整コードを受信した場合に、第2のタイミング調整コードの送信要求を生成し、
前記送信要求に基づいて、前記第2のタイミング調整用コードの送信とパケット送信とのいずれかを送信し、
前記バッファは、前記受信データとして受けた前記第1のタイミング調整コードを削除し、第3のタイミングコードを前記受信データに挿入することで、前記オーバーラン状態又は前記アンダーラン状態を防ぐことを特徴とするエラスティックバッファ装置のタイミング調整コード送信方法。
In a timing adjustment code transmission method for an elastic buffer device including a buffer for temporarily storing reception data generated based on a first clock frequency and performing synchronization with the second clock frequency,
Detecting an overrun condition in the buffer that destroys or tries to destroy unread data, or an underrun condition that reads or reads read or invalid data;
When the overrun state or the underrun state is detected or the first timing adjustment code is received as received data, a transmission request for the second timing adjustment code is generated,
Based on the transmission request, either one of transmission of the second timing adjustment code and packet transmission is transmitted,
The buffer is configured to prevent the overrun state or the underrun state by deleting the first timing adjustment code received as the received data and inserting a third timing code into the received data. A method for transmitting a timing adjustment code of an elastic buffer device.
請求項5に記載のエラスティックバッファ装置のタイミング調整コード送信方法において、In the elastic buffer device timing adjustment code transmission method according to claim 5,
前記バッファは、前記受信データとして受けた前記第1のタイミング調整コードを削除し、第3のタイミングコードを前記受信データに挿入することで、前記オーバーラン状態又は前記アンダーラン状態を防ぐことを特徴とするエラスティックバッファ装置のタイミング調整コード送信方法。  The buffer is configured to prevent the overrun state or the underrun state by deleting the first timing adjustment code received as the received data and inserting a third timing code into the received data. A method for transmitting a timing adjustment code of an elastic buffer device.
JP2009246462A 2009-10-27 2009-10-27 Elastic buffer device, transceiver, and timing adjustment code transmission method for elastic buffer device Expired - Fee Related JP5413662B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009246462A JP5413662B2 (en) 2009-10-27 2009-10-27 Elastic buffer device, transceiver, and timing adjustment code transmission method for elastic buffer device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009246462A JP5413662B2 (en) 2009-10-27 2009-10-27 Elastic buffer device, transceiver, and timing adjustment code transmission method for elastic buffer device

Publications (2)

Publication Number Publication Date
JP2011097151A JP2011097151A (en) 2011-05-12
JP5413662B2 true JP5413662B2 (en) 2014-02-12

Family

ID=44113642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009246462A Expired - Fee Related JP5413662B2 (en) 2009-10-27 2009-10-27 Elastic buffer device, transceiver, and timing adjustment code transmission method for elastic buffer device

Country Status (1)

Country Link
JP (1) JP5413662B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3171087B2 (en) * 1996-01-10 2001-05-28 三菱電機株式会社 ATM transmission equipment
JP2000224185A (en) * 1999-01-29 2000-08-11 Nec Eng Ltd Atm-pds output interface circuit
JP3732412B2 (en) * 2001-01-26 2006-01-05 日本電信電話株式会社 Packet communication method and communication device, relay start node device and relay start method, relay node device and relay method, relay end node device and relay end method

Also Published As

Publication number Publication date
JP2011097151A (en) 2011-05-12

Similar Documents

Publication Publication Date Title
JP5173880B2 (en) Serial data transfer device
US20140351359A1 (en) Data processing apparatus and method for communicating between a master device and an asychronous slave device via an interface
US20090323728A1 (en) Asynchronous data fifo that provides uninterrupted data flow
US20170046298A1 (en) Asynchronous first-in first-out buffer apparatus with active rate control and dynamic rate compensation and associated network device using the same
JP4594124B2 (en) Communication system and communication method
JP6351672B2 (en) Data transmitting / receiving apparatus and data transmitting / receiving method
JP2010081152A (en) Communication device, communication system, communication method, and can node
JP5413662B2 (en) Elastic buffer device, transceiver, and timing adjustment code transmission method for elastic buffer device
JP4693576B2 (en) Data transfer control device and data transfer control method
CN104158646A (en) Link delay processing method and device
US6907541B1 (en) System for recovering received data with a reliable gapped clock signal after reading the data from memory using enable and local clock signals
US20040111660A1 (en) CRC verification apparatus with constant delay and method thereof
JP4960717B2 (en) Method for transmitting time information with fixed latency
JP5334173B2 (en) Data transfer system and retry control method
JP2006319381A (en) Method for transmitting urgent message
JP6093263B2 (en) Serial communication device
US11171770B2 (en) Data transmission device
JP2007174118A (en) Communication message conversion device
JP6472584B2 (en) Relay device, relay method, and relay program
JP2004096217A (en) Communication system and communication method
JP2009282591A (en) Data transfer device and data transfer method
KR101041855B1 (en) Appratus and method for controlling network state message transmitting
JP3501774B2 (en) Network system
JP2528947B2 (en) Communication control device
CN117955583A (en) Method, controller and storage device for channel synchronization of interconnection protocol

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130731

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130930

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131017

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131030

R150 Certificate of patent or registration of utility model

Ref document number: 5413662

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees