(57)【要約】【課題】異なるシステム間のクロック速度差による同期ずれを吸収し、バッファ使用量を安定に保たれるデータ入出力制御回路を提供する。【解決手段】他の装置のクロックに従って、他の装置にインターフェースされるデータの書き込みと読み出しが行われるバッファメモリ（２０）と、自己の装置のクロックと他の装置のクロックとのクロック誤差を検出するクロック誤差検出部（２３）と、自己の装置のクロックおよび他の装置のクロックの各カウント値に基づいてバッファメモリの使用量を算出するバッファメモリ使用量算出部（４１）と、バッファメモリの使用量を所定の閾値と比較する比較部（４３）と、バッファメモリの使用量と所定の閾値との比較結果およびクロック誤差に応じ、自己の装置で行われるバッファメモリに対するデータの読み出しと書き込みの動作クロックを制御する動作クロック制御部と、を備えるように構成した。【選択図】図１
2008257393.tif 000002
【特許請求の範囲】
【請求項１】
自己の装置と他の装置との間のデータの入出力を制御するデータ入出力制御回路において、
前記他の装置のクロックに従って、前記他の装置にインターフェースされる前記データの書き込みと読み出しが行われるバッファメモリと、
前記自己の装置のクロックと前記他の装置のクロックとのクロック誤差を検出するクロック誤差検出部と、
前記自己の装置のクロックおよび前記他の装置のクロックの各カウント値に基づいて前記バッファメモリの使用量を算出するバッファメモリ使用量算出部と、
前記バッファメモリの使用量を所定の閾値と比較する比較部と、
前記バッファメモリの使用量と前記所定の閾値との比較結果および前記クロック誤差に応じ、前記自己の装置で行われる前記バッファメモリに対する前記データの読み出しと書き込みの動作クロックを制御する動作クロック制御部と、
を備えることを特徴とするデータ入出力制御回路
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ入出力制御回路に関し、より詳しくは、自己の装置と他の装置との間のデータの入出力を制御させるのに供して好適なデータ入出力制御回路に関する。
【背景技術】
【０００２】
装置間でデータの非同期伝送を行う場合、バッファメモリ等を設けることにより、非同期伝送の速度差を吸収するようにしている。しかしながら、装置間のクロック周波数が同一であったとしても、装置毎に使用している原振（原発信器）が異なると、徐徐にではあるがクロック誤差（位相差のずれ）が生じる可能性がある。各装置のクロックに従ってバッファメモリに対するデータの書き込みと読み出しを行った場合、上記クロック誤差がデータ数（データサンプリング数）の誤差として現れ、データの欠落などの不具合が生じるおそれがある。また、バッファメモリに対するデータの書き込みと読み出しのクロック速度が異なると、バッファメモリの使用量が安定に保たれず、データの入力から出力までの遅延時間に変動が生じるおそれがある。
【０００３】
そこで、例えば特許文献１に記載の技術にあっては、書き込みと読み出しのクロック速度が異なるバッファメモリに対し、書き込みクロックの周波数より高い周波数の読み出しクロックでデータを読み出すことを提案している。
【特許文献１】特開２０００−１７３２６０号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記した特許文献１に記載の技術では、読み出しのクロックの方が書き込みクロックより速度が速い場合にのみ適用が可能なため、読み出し側においてはバースト的な処理にしか適さず、改善の余地を残していた。
【０００５】
従って本発明の目的は、原振の異なる装置間でデータの伝送を行う際に、各装置のクロックに誤差が生じてもデータの欠落などの不具合が発生するのを防止すると共に、バッファメモリの使用量を安定に保ち、遅延時間の変動を防止するようにしたデータ入出力制御回路を提供することにある。
【課題を解決するための手段】
【０００６】
上記した課題を解決するため、本発明のデータ入出力制御回路は、自己の装置と他の装置との間のデータの入出力を制御するデータ入出力制御回路において、
前記他の装置のクロックに従って、前記他の装置にインターフェースされる前記データの書き込みと読み出しが行われるバッファメモリと、
前記自己の装置のクロックと前記他の装置のクロックとのクロック誤差を検出するクロック誤差検出部と、
前記自己の装置のクロックおよび前記他の装置のクロックの各カウント値に基づいて前記バッファメモリの使用量を算出するバッファメモリ使用量算出部と、
前記バッファメモリの使用量を所定の閾値と比較する比較部と、
前記バッファメモリの使用量と前記所定の閾値との比較結果および前記クロック誤差に応じ、前記自己の装置で行われる前記バッファメモリに対する前記データの読み出しと書き込みの動作クロックを制御する動作クロック制御部と、
を備えるように構成した。
【発明の効果】
【０００７】
本発明に係わるデータ入出力制御回路によれば、各装置のクロックに誤差が生じても、データの欠落などの不具合が発生するのを防止することができると共に、バッファメモリの使用量を安定に保ち、遅延時間の変動を防止することが可能となる。
【発明を実施するための最良の形態】
【０００８】
図１に、本発明のデータ入出力制御回路の実施形態であるブロック図を示す。
【０００９】
本発明は、装置Ｂ（Ｉ／Ｏボード）（１００）（自己の装置）と装置Ａ（無線機）（２００）（他の装置）との間のデータの入出力を制御するデータ入出力制御回路であって、装置Ａ（２００）の端末側の入出力として有する音声符号化データなどのデータに同期するクロックと、このデータおよびクロックとインターフェース（入出力接続制御）される装置Ｂ（１００）のクロックとの間に発生するクロック周期の誤差（クロック誤差）に対して、装置Ｂ（１００）に有するデータ入出力制御回路（２）に、クロック周期の誤差を制御する機能が備えられたものである。
【００１０】
以下、図１および図３のブロック図を用いてその構成を説明する。装置Ａ（２００）は、クロック発生部Ａ（３）を有するほか、図示されてはいないが無線機としての変復調部などの機能を有するが、詳細な説明は省略する。
【００１１】
図１は、本発明を実施した場合の自己の装置であるデータ入出力制御回路（２）が、その主要部であり、他の装置である装置Ａ（２００）のクロックに従って、装置Ａ（２００）にインターフェースされるデータの書き込みと読み出しが行われるバッファメモリ（２０）が備えられ、このバッファメモリ（２０）に対してデータの書き込み、読み出しの制御を行う機能を有する回路であり、以下に構成および動作の説明をする。
【００１２】
クロックＡは、装置Ａ（２００）に有するクロック発生部Ａ（３）により発生し、装置Ｂ（１００）から見れば外部になる装置Ａ（２００）から装置Ｂ（１００）へ入力される外部クロックであり、バッファメモリ部（２０）において、装置Ａ（２００）からの入力情報データである入力データＡをバッファメモリ（２０）に書き込むため、および、装置Ａ（２００）への出力情報データである出力データＡをバッファメモリ（２０）から読み出すためのクロックとして用いられる。
【００１３】
クロックＢは、装置Ｂ（１００）に有するクロック発生部Ｂ（１）で作成される内部クロックであり、バッファメモリ部（２０）に蓄えられた入力データＡを例えば、Ｄ／Ａ変換器への出力情報データである出力データＢとして読み出すため、および、例えば、Ａ／Ｄ変換器からの入力情報データである入力データＢとして書き込むためのクロックとして用いられる。
【００１４】
装置Ａ（２００）の端子ｂ３より出力されるクロックＡ、および、クロックＡに同期し端子ｂ１より出力される入力データＡは、それぞれ、装置Ｂ（１００）の端子ｃ３、ｃ１を接続点として、バッファメモリ部（２０）などへ入力される。入力データＡは、装置Ａ（２００）の無線受信された受信データとなる。
【００１５】
更に、装置Ｂ（１００）の端子ｃ２から出力される出力データＡは、バッファメモリ部（２０）より、クロックＡによって読み出されて、クロックＡに同期して装置Ａ（２００）の端子ｂ２に入力される。出力データＡは、装置Ａ（２００）の送信データとなる。
【００１６】
入力データＡ、および、出力データＡが伝送される端子ｂ１―ｃ1間、端子ｂ２―ｃ２間のデータ伝送の回線形式は、シリアル伝送またはパラレル伝送いずれでもよい。
【００１７】
一方、装置Ｂ（１００）内のクロック発生部Ｂ（１）で作成されたクロックＢは、データ入出力制御回路（２）などに入力される。
【００１８】
バッファメモリ部（２０（１））から端子ｄ１に出力され、クロックＢに同期して動作するＤ／Ａ変換器に転送される。Ｄ／Ａ変換器の出力は、図示されてはいないが、音声入出力装置に接続されている。このように、装置Ａ（２００）で受信された音声信号は、装置Ｂ（１００）を介して音声入出力装置のスピーカなどから音声が出力される。
【００１９】
更に、例えば、図示されてはいないが、音声入出力装置のマイクから入力された音声はクロックＢに同期して動作するＡ／Ｄ変換器に入力され、Ａ／Ｄ変換器の出力がデータ入出力制御回路２へ入力データＢとして、端子ｄ２から入力され、バッファメモリ部（２０（２））へ書き込まれる。バッファメモリ部（２０（２））に書き込まれたデータは、クロックＡによって読み出されて出力データＡとなり、端子ｃ２、端子ｂ２を経由して装置Ａ（２００）から外部に無線送信される。
【００２０】
次に、クロックＡはカウンタＡ（２１）に入力され、およびクロックＢはカウンタＢ（２２）に入力され、それぞれクロックの立ち上がりエッジの回数のクロック数として、所定の期間での計数（以下カウントという。）が行われる。
【００２１】
ここで、カウンタＡ（２１）およびカウンタＢ（２２）のそれぞれにおけるカウントの最大数およびリセットタイミング（所定の期間）は、図示されてはいないが外部より任意の値を設定できるようにしている。カウントの最大数は、バッファメモリ部（２０）のデータのメモリ記憶容量に応じて設定される。
【００２２】
装置Ａ（２００）のクロックＡのカウントを算出するカウンタＡ（２１）、および、装置Ｂ（１００）のクロックＢのカウントを算出するカウンタＢ（２２）のそれぞれの計数結果である出力は、クロック誤差加算部（２５）およびクロック誤差算出部（２３）に入力され、先ず、クロック誤差算出部（２３）では、両クロックカウント値の計数差がクロック誤差（３０）として算出（検出）し出力される。
【００２３】
得られた両クロックカウント値の計数差の出力であるクロック誤差値（３０）は、プラスまたはマイナスのどちらの符号にでもなり得る数値情報であり、その符号情報も含めた結果として、次のブロックである間引き頻度係数テーブル（２４）に入力される。
【００２４】
間引き頻度係数テーブル（２４）は、クロック誤差値（３０）の値が参照値として用いられて、この参照値に対応した変換値として重み計数出力である出力計数値（３１）を作成し、当該ブロックの出力とする。
【００２５】
一方、カウンタＡ（２１）およびカウンタＢ（２２）のそれぞれの出力は、クロック誤差加算部（２５）にも入力され、ここでは、両クロックカウント値の差から求まるクロック誤差値の累積計算を行なう。この累積計算結果は、バッファメモリ部（２０）のメモリの使用量を表す。
【００２６】
また、クロック誤差加算部（２５）には、閾値情報部（２６）のメモリに記憶させた閾値情報（４０）が入力されている。
【００２７】
クロック誤差加算部（２５）では、閾値情報（４０）の値とバッファメモリ部（２０）のメモリ使用量を表すクロック誤差値の累積計算結果とが比較され、比較結果を得る。
【００２８】
更に、バッファメモリ部（２０）のメモリ使用量が閾値情報（４０）を越えるようなときに、次の間引き頻度計算部（２７）に対し、メモリ使用量を超えた旨の情報として閾値超過情報（４４）を伝達する。
【００２９】
間引き頻度計算部（２７）は、クロック誤差加算部（２５）の出力である閾値超過情報（４４）と間引き頻度係数テーブル（２４）の出力である出力計数値（３１）の情報が入力され、これを演算処理して、その結果、間引き頻度値（３２）を得て出力とする。この間引き頻度値（３２）は、実際の情報データである出力データＢおよび入力データＢの、どちらか又は両方に対し間引き制御を行う制御指令（３３）を発するクロック制御部（２８）に転送される。
【００３０】
クロック制御部（２８）は、算出された間引き頻度値（３２）の値に応じ、バッファメモリ部（２０）の端末側（Ｂ側）に対する読み出しと書き込みの動作クロックを制御（生成）する。このとき、装置Ａ（２００）より作成され転送されたクロックＡに対しては制御せず、固定とする。
【００３１】
このような制御動作が行われる起因面から見れば、装置Ｂ（１００）で発生させたクロックＢの速度が装置Ａ（２００）で発生させたクロックＡの速度よりも速ければ、後述するＴａｖ（クロック間引き頻度値（３２））の値に応じた頻度でクロックＢを間引きする。逆に、クロックＡの速度の方が速ければ、Ｔａｖの値に応じた頻度でクロックＢのクロック数を増加させることとなる。
【００３２】
以上説明したように、本発明のデータ入出力制御回路は、装置間でクロック誤差が生じた場合、クロックの間引き又は増加によって、入力情報データと出力情報データとの伝送速度差を吸収し、かつ、バッファメモリ部の情報データのメモリ使用量を適正化し、入力情報データから出力情報データまでの遅延時間のばらつきを極力抑えられるように構成されている。
【００３３】
装置Ａ（２００）への適用の実施例では、入力データＡ→出力データＢのデータ転送系が受信復調出力として、入力データＢ→出力データＡのデータ転送系が送信変調入力として機能する。
【００３４】
次に、間引き頻度計数テーブル（２４）及びクロック誤差加算部（２５）における動作の実施例として、詳細な処理内容について、図２および図３を示して説明する。
【００３５】
図２は、間引き頻度計数テーブル（２４）の内部メモリに記憶された間引き頻度係数テーブルの実施例である。このテーブルの各数値は、図示されてはいないが装置内部に備えられるＣＰＵあるいは外部のＰＣなどから設定することができ、その設定は動的に変更させるようにしてもよい。このテーブルの各数値を選択することにより、クロック誤差値（３０）をクロック誤差ゼロに収束させる時間を速くしたり、遅くしたりする設定変更が可能である。
【００３６】
図２に示されたテーブルとして設定された実施例の各係数値は、左欄の数値が、カウンタＡ（２１）、Ｂ（２２）のリセットタイミング時に計測された両者の値からクロック誤差値（３０）を算出するクロック誤差算出部（２３）の出力値であり、これが間引き頻度係数テーブル（２４）に入力される情報（記号；ΔＣＬＫ）となる。
【００３７】
また、右欄の数値は、クロック誤差値（３０）の各数値情報に対応して設定された値であり、これが間引き頻度係数テーブル（２４）から出力される出力計数値（３１）として得られる情報（記号；Ｔｉｎ）である。
【００３８】
このテーブル例示では、速い収束時間とするように大きな値としている。このため、大きな誤差が発生したときでも、追従する速度が速くなり有効となる。
【００３９】
クロック誤差値（３０）が０、すなわち、出力計数値（３１）が０にされたときが収束状態であり、この収束により、バッファメモリ部（２０）内のデータ量が一定の値に保たれる。
【００４０】
なお、間引き頻度係数テーブル（２４）の機能を省略して、クロック誤差算出部（２３）の出力値を直接、間引き頻度計算部（２７）に入力し、間引き頻度係数テーブルによる変換値を用いずにクロック誤差値（３０）をそのまま間引き頻度計算部（２７）での計算処理に使用してもよい。
【００４１】
図３は、本発明のデータ入出力制御回路（２）のクロック誤差加算部（２５）の詳細な構成例を示すブロック図である。
【００４２】
このブロックの入力として、装置Ａ（２００）に有するクロック発生部Ａ（３）で作成されたクロックＡのカウント値であるカウンタＡ出力の情報が端子ｅに、装置Ｂ（１００）に有するクロック発生部Ｂ（１）で作成されたクロックＢのカウント値であるカウンタＢ出力の情報が端子ｆに、更に、閾値情報部（２６）の出力である閾値情報（４０）が端子ｇにそれぞれ入力される。
【００４３】
カウンタＡ出力およびカウンタＢ出力の各情報は、バッファ使用量計算部（４１）に入力され、それぞれのカウント値を累積計算することによって、バッファメモリ部（２０）内のメモリに蓄積された入力データＡおよび入力データＢのデータ量を把握することができる。
【００４４】
カウンタＡ（２１）およびカウンタＢ（２２）は、所定の期間ごとにカウント値がリセットされるので、バッファ使用量計算部（４１）では、その所定の期間ごとに得られたカウント値（バッファ使用量）を加算して、バッファメモリ部（２０）内のメモリに蓄積された入力データＡおよび入力データＢの累積データ量が計算され、所定の期間ごとの増減を把握することができる。
【００４５】
即ち、バッファ使用量計算部（４１）は、装置Ｂ（１００）のクロックおよび装置Ａ（２００）のクロックの各カウント値に基づいて前記バッファメモリの使用量を算出するバッファメモリ使用量算出部である。
【００４６】
バッファ使用量計算部（４１）の出力であるデータ量増減値（４２）は、バッファ使用量の上限値（上閾値）に向かう方向を示すプラス符号、またはバッファ使用量の下限値（下閾値）に向かう方向を示すマイナス符号のどちらかの符号が付与され、プラスであれば、入力データＡのデータ蓄積量が増加方向であり、即ち、バッファメモリ部（２０（１））内の新たに記憶可能なメモリ容量が減少方向を指す。
【００４７】
マイナスであれば、入力データＡのデータ蓄積量が減少方向であり、即ち、バッファメモリ部（２０（１））内の新たに記憶可能なメモリ容量が増加方向を指す（図４参照）。
同様のことが、バッファメモリ部（２０（２））における入力データＢのデータ蓄積量についても把握される。
【００４８】
閾値情報（４０）およびデータ量増減値（４２）は、比較部（４３）に入力され、２つの値が比較される。このとき閾値情報（４０）は、データ量増減値（４２）がプラス符号であれば、上限値（上閾値）との比較が行われるように、データ量増減値（４２）がマイナス符号であれば、下限値（下閾値）との比較が行われるように動作する。即ち、比較部（４３）はバッファメモリの使用量を所定の閾値と比較する比較部である。
【００４９】
なお、閾値情報（４０）は、バッファメモリ部（２０）内の新たに記憶可能なメモリ容量を比較判定できるパラメータであれば、例えば、上限値（上閾値）と下限値（下閾値）の間に任意の値を閾値情報として加えてもよい。
【００５０】
また、閾値情報（４０）などのパラメータ値は、図示されてはいないが装置内部に備えられるＣＰＵあるいは外部ＰＣなどから設定して、動的に変更させるようにしてもよい。
【００５１】
閾値情報（４０）の値は、バッファメモリ部（２０）内のメモリに蓄積される入力データＡおよび入力データＢのデータ量がシステムの要求または、ユーザーの要求に合わせる値とすればよい。
【００５２】
閾値情報（４０）の上限値（上閾値）と下限値（下閾値）との幅を狭くすれば、バッファメモリ部（２０）内に有するメモリの入出力データ転送時間のバラツキを小さくし、遅延時間を安定化することができる。
【００５３】
また、閾値情報（４０）自体の値を小さくすれば、バッファメモリ部（２０）内のメモリの容量を小さくでき、入出力のデータ転送時間を短くすることができ、バッファメモリ部（２０）で生じるデータの遅延時間が短くなり、システムは高速な動作が可能となる。
【００５４】
更に、閾値情報（４０）の値を適切な設定値に選ぶことにより、間引き頻度計算部（２７）の収束動作の速度をシステムに適合するように制御することも可能である。
【００５５】
上記の制御に関し、図５に、データ入出力制御回路のパラメータ値を設定する手順の実施例としてフロー図を示す。
【００５６】
比較部（４３）の出力である閾値超過情報（４４）は、バッファメモリ使用量が上限値（上閾値）を上回る、または下限値（下閾値）を下回るように、設定された閾値情報（４０）から外れた場合に、バッファメモリ部（２０）内のバッファメモリ使用量を閾値情報（４０）の上限値と下限値との幅以内（０を含む）に収束させるための制御情報となる。
【００５７】
この閾値超過情報（４４）が間引き頻度計算部（２７）に対して、バッファメモリのメモリ使用量を増加させるようにクロック間引き、即ち、データ間引き制御をするか、データの蓄積を進めてメモリ使用量を減少させるように制御をするかの指令となり、その指令情報は端子ｈから出力される。
このことは、データをクロックでサンプリングする際のサンプリング間隔の変更を意味する。
【００５８】
以上のように、クロック誤差算出部（２３）の出力であるクロック誤差値（３０）を入力とする間引き頻度係数テーブル（２４）と、クロック誤差加算部（２５）の出力であるバッファメモリの使用量（データ量増減値（４２））と閾値情報部（２６）から出力される所定の閾値（４０）との比較結果である閾値超過情報（４４）を入力とする間引き頻度計算部（２７）と、クロック制御部（２８）とによる構成は、装置Ｂ（１００）で行われるバッファメモリ部（２０）に対して、出力データＢの読み出しおよび入力データＢの書き込みの動作クロックを制御する制御指令（３３）を出力とする動作クロック制御部である。
【００５９】
次に、前記の詳細な処理内容の続きとして、間引き頻度計算部（２７）のブロックについて図１を参照し、計算式を記載して、その実施例を具体的に説明する。
【００６０】
間引き頻度計算部（２７）には、間引き頻度係数テーブル（２４）の出力である出力係数値（３１）とクロック誤差加算部（２５）の出力である閾値超過情報（４４）の２つが入力される。このブロックでの処理は、これら２つの入力情報から、以下に示す平均化計算式に従って、間引き頻度値（３２）を算出し、出力する機能を有している。
【００６１】
Ｔａｖ＝α×Ｔａｖ＋β×（Ｔｉｎ＋Ｌ）・・・・（１）
Ｔａｖ；クロック間引き頻度値（３２）
〔間引き頻度計算部（２７）の出力値〕
Ｔｉｎ；出力係数値（３１）
〔間引き頻度係数テーブル（２４）の出力値〕
Ｌ    ；閾値超過情報（４４）
〔クロック誤差加算部（２５）の出力値〕
α    ；α＜１の任意の係数値
β    ；１−α
【００６２】
計算式（１）について、主たる項目の詳細な説明を行う。
Ｔａｖは、初期値として０が設定される。計算された結果、この値が０を上回った時にクロックの間引きが行われ、０を下回った時にクロックの増加が行われる。０から離れるほど間引き又は増加の頻度が多くなる。
Ｔｉｎは、図２の表に示したように、ΔＣＬＫ（任意の期間におけるクロックＢの数―クロックＡの数）が０よりも大きくなるに従い、０よりもプラス方向に大きな値をとるように設定される出力係数値であり、逆に、ΔＣＬＫが０よりも小さくなるに従い、０よりもマイナス方向に大きな値をとるように設定される出力係数値である。
【００６３】
これにより、クロックＢの速度の方がクロックＡの速度に比べ早ければ、クロックＢを間引く方向にＴａｖが変化し、クロックＢの速度の方がクロックＡの速度に比べ遅ければ、クロックＢを増加させる方向にＴａｖが変化する。
【００６４】
Ｌは、装置Ａ（無線機）（２００）が受信モードであり、かつ、入力データＡのデータ量増減値が上限側の閾値を超えていれば、マイナスの値となり、下限側の閾値を下回っていればプラスの値となる。これにより、バッファメモリ部（２０（１））のバッファメモリ使用量が上限側の閾値を越えた場合は、クロックＢを増加させる方向にＴａｖが変化し、バッファメモリ部（２０（１））のバッファメモリ使用量が下限側の閾値を下回った場合は、クロックＢを間引く方向にＴａｖが変化する。
【００６５】
一方、装置Ａ（無線機）（２００）が送信モードであり、かつ、入力データＢのデータ量増減値が上限側の閾値を超えていればプラスの値となり、下限側の閾値を下回っていればマイナスの値となる。これにより、バッファメモリ部（２０（２））のバッファメモリ使用量が上限側の閾値を越えた場合は、クロックＢを間引く方向にＴａｖが変化し、バッファメモリ部（２０（２））のバッファメモリ使用量が下限側の閾値を下回った場合は、クロックＢを増加させる方向にＴａｖが変化する。
【００６６】
式（１）において、任意の係数値αは、両装置（装置Ａ（無線機）（２００）に有するクロック発生部Ａ（３）および装置Ｂ（Ｉ／Ｏボード）および（１００）に有するクロック発生部Ｂ（１））で作成し入力されたクロックに関し、カウンタＡ（２１）出力のクロック数であるクロックＡのカウント値とカウンタＢ（２２）出力のクロック数であるクロックＢのカウント値とが同一値となった時点で、Ｔａｖ〔間引き頻度値（３２）〕の値を減少させる速度を決定付けるパラメータである。
【００６７】
この値は、所定の固定値とするが、図示されてはいないがシステムに備えられるＣＰＵあるいは外部ＰＣなどから設定して動的に変更させるようにしてもよい。
【００６８】
αの値は１より小さく、この値が１より離れた小さな値になるほどＴａｖ〔間引き頻度値（３２）〕は、速い速度で減少（収束）していく。
即ち、クロック誤差が大きいような異常発生時においては反応速度が速くなる。
αは、クロック誤差が生じないような正常時の係数値としては、概ね１に近似される値をとる。
βは固定値（設定値）であり、１−αに設定される。
【００６９】
バッファメモリ部（２０）内のバッファメモリ使用量が、バッファメモリ部（２０）内のバッファメモリ使用量を閾値情報（４０）の上限値と下限値との幅以内（０を含む）に収束された状態であれば、Ｌ〔閾値超過情報（４４）〕の値は常に０となる。
【００７０】
具体的な数値を当てはめた実施例を以下に説明する。
計数αの値を０．９８と設定し、計数βの値を０．０２と設定した場合、式（１）は、Ｔａｖ＝０．９８×Ｔａｖ＋０．０２×（Ｔｉｎ＋Ｌ）となる。
クロック誤差が検出されなかった場合、Ｌ〔閾値超過情報（４４）〕はゼロとみなしてよく、式（１）における０．０２×Ｔｉｎもゼロ（図２により、Ｔｉｎ＝０）とみなし、更に、両辺とも１Ｔａｖとみなせるので間引き動作は行なわれない。
バッファメモリ使用量を閾値情報（４０）の上限値と下限値との幅を超えた領域からの収束動作であれば、クロック誤差加算部（２５）の算出結果としての上限値と下限値との範囲から外れた超過量を示す値のＬ〔閾値超過情報（４４）〕が式（１）に入り、クロック誤差が大きいような異常発生時として新たなＴａｖ〔間引き頻度値（３２）〕の値が求まる。
【００７１】
このように、２つの係数α、βを用いて、クロック誤差検出のタイミング毎に複数個のクロック誤差値を加算して平均化する平均化方法により、求められた平均化の結果値がＴａｖとして算出される。
【００７２】
このＴａｖ値が変化させられることによりバッファメモリ使用量を所望の閾値範囲内に収束させることとなる。
【００７３】
式（１）のような、間引き頻度値が平均化されることにより、クロックＡとクロックＢとの間の速度差より求まる誤差を緩やかに収束させ、データ間引きによるデータ品質の劣化を極力抑えつつ、バッファメモリ部（２０）内のバッファメモリ使用量を安定になるように制御し、即ち、設定された所望のバッファメモリ使用量に収束させ、また、バッファメモリ使用におけるデータ転送の遅延時間の変動が少なく、システム（装置Ａと装置Ｂ）間のデータ伝送が安定化される。
【００７４】
また、クロック誤差を吸収しながらデータの転送が行えるので、データ転送過程においてデータの大きな欠落等の不具合が生じるのを防止することができる。
【図面の簡単な説明】
【００７５】
【図１】本発明のデータ入出力制御回路の実施形態を示すブロック図である。
【図２】本発明のデータ入出力制御回路の間引き頻度計数テーブルの実施例を示すテーブル図である。
【図３】本発明のデータ入出力制御回路のクロック誤差加算部を示すブロック図である。
【図４】本発明のデータ入出力制御回路のバッファ使用量と時間経過を示す特性図である。
【図５】本発明のデータ入出力制御回路のパラメータ値を設定する手順を示すフロー図である。
【符号の説明】
【００７６】
１  クロック発生部Ｂ
２  データ入出力制御回路
３  クロック発生部Ａ
２０  バッファメモリ部
２１  カウンタＡ
２２  カウンタＢ
２３  クロック誤差算出部
２４  間引き頻度係数テーブル
２５  クロック誤差加算部
２６  閾値情報部
２７  間引き頻度計算部
２８  クロック制御部
４１  バッファ使用量計算部
４３  比較部
１００  装置Ｂ（Ｉ／Ｏボード）
２００  装置Ａ（無線機）
【図１】
2008257393.tif 000003
【図２】
2008257393.tif 000004
【図３】
2008257393.tif 000005
【図４】
2008257393.tif 000006
【図５】
2008257393.tif 000007