(57)【要約】【課題】トレーニー装置との間の最適なデータ転送レートを決定するためのトレーニング時間を短縮することができるトレーナー装置およびトレーニング方法を提供する。【解決手段】トレーニング信号の周波数を設定する周波数設定値および周波数設定値の変更幅を初期化する。その後、周波数設定値によって設定される周波数のトレーニング信号を転送線路を通じてトレーニー装置に送信し、転送線路を通じてトレーニー装置からの応答信号を受信する。応答信号からエラー検出を行い、検出の結果に応じて、周波数設定値を変更幅だけ増大もしくは減少させるとともに、変更幅を所定の比率で減少させる処理を、２回以上繰り返して行った結果に基づいて、転送線路を通じたデータ転送のレートを設定する。【選択図】図１
2008271107.tif 000002
【特許請求の範囲】
【請求項１】
トレーニング信号を受信し、該受信したトレーニング信号に応じた応答信号を送信するトレーニー装置に、転送線路を介して接続し、該転送線路を通じたデータ転送のレートを設定するトレーナー装置において、
周波数制御部と、該周波数制御部により設定された周波数のトレーニング信号を前記トレーニー装置に向けて送信する送信部と、応答信号を受信する受信部と、該受信部が受信した応答信号と期待値とを比較してエラーが起きたか否かを検出するエラー検出部とを有し、
前記周波数制御部は、トレーニング信号の周波数を設定する周波数設定値を保持する周波数設定値保持部と、前記周波数設定値を増減する変更幅を保持する変更幅保持部とを有し、
前記周波数設定値および変更幅の初期化の後、
前記周波数設定値によって前記周波数設定部が設定した周波数のトレーニング信号を前記転送線路を通じて前記トレーニー装置に送信し、前記受信部で前記応答信号を受信し、前記エラー検出部で検出を行った結果に応じて、前記周波数設定値を前記変更幅だけ増大もしくは減少させるとともに、前記変更幅を所定の比率で減少させる処理を、２回以上繰り返して行うことを特徴とするトレーナー装置。
【請求項２】
前記処理を所定回数だけ繰り返した時点で、エラーが起きなかった場合には、その時点でのトレーニング信号の周波数に対応する転送レートを前記転送線路のデータ転送レートとして設定し、エラーが起きた場合には、最後にエラーが起きなかった時点でのトレーニング信号の周波数に対応する転送レートを前記転送線路のデータ転送レートとして設定することを特徴とする請求項１記載のトレーナー装置。
【請求項３】
前記周波数制御部は、前記トレーニング信号の周波数が、前記トレーナー装置のクロック周波数を前記周波数設定値で除した周波数になるように制御することを特徴とする請求項１または２に記載のトレーナー装置。
【請求項４】
トレーニング信号を受信し、該受信したトレーニング信号に応じた応答信号を送信するトレーニー装置に、転送線路を介してトレーナー装置を接続し、該トレーナー装置において、
トレーニング信号の周波数を設定する周波数設定値および該周波数設定値の変更幅を初期化した後、
前記周波数設定値によって設定される周波数のトレーニング信号を前記転送線路を通じて前記トレーニー装置に送信し、前記転送線路を通じて前記トレーニー装置からの応答信号を受信し、該受信した応答信号と期待値とを比較してエラーが起きたか否かを検出するエラー検出を行い、該検出の結果に応じて、前記周波数設定値を前記変更幅だけ増大もしくは減少させるとともに、前記変更幅を所定の比率で減少させる処理を、２回以上繰り返して行った結果に基づいて、前記転送線路を通じたデータ転送のレートを設定することを特徴とするトレーニング方法。
【請求項５】
前記処理を所定回数だけ繰り返した時点で、エラーが起きなかった場合には、その時点でのトレーニング信号の周波数に対応する転送レートを前記転送線路のデータ転送レートとして設定し、エラーが起きた場合には、最後にエラーが起きなかった時点でのトレーニング信号の周波数に対応する転送レートを前記転送線路のデータ転送レートとして設定することを特徴とする請求項４記載のトレーニング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送を行う通信装置において、そのデータ転送レートを最適化する（エラーが発生しない最大転送速度に設定する）トレーナー装置（トレーニング装置）およびトレーニング方法に関するものである。
【背景技術】
【０００２】
２つの通信装置の間でデータを転送（送受信）する場合、例えば、あらかじめ両者を所定のデータ転送レートに設定してデータを転送する。この時、転送するデータにエラーが発生しない範囲で、そのデータ転送レートをできるだけ速く設定することが望ましい。このため、実際にデータを転送する前に、両者の間でトレーニング（データの転送テスト）を行うことによって、最適なデータ転送レートを決定することが行われている。
【０００３】
データ転送レートを最適化するための先行技術としては、例えば特許文献１、２などが知られている。
【０００４】
特許文献１は、モデム及びそのデータ伝送速度調整方法に関するものである。同文献では、トレーニング過程により設定された値に基づいて計算されたクロックセッティング値をタイマに適用し、各チャンネルに対する周期パラメータを貯蔵しているＴＣＴ（Transmit Connection Table）を参考にして、それぞれのチャンネルでクロックの調整を行い、最適なデータ転送レートで通信を開始することが開示されている。
【０００５】
しかし、特許文献１の問題点は、ＴＣＴのような、選択できる周波数が少ない場合ではなく、選択できる周波数が数十、数百以上と幅を持っている通信分野でデータ転送レートを調整する場合、最適なデータ転送レートを探すために、網羅的にクロックの周波数を変えながら転送テストを繰り返して調べる必要があることである。そのため、トレーニングに要する時間が長くなるという問題点がある。
【０００６】
また、特許文献２は、集積回路の診断回路用通信インターフェイスに関するものである。同文献では、双方向シリアル通信を使用して、集積回路内の機能回路に関する診断動作を実行する働きをする診断回路の診断動作を制御するために、外部診断装置から診断回路に制御信号を転送すると共に、外部診断装置と診断回路との間で診断データを転送することが開示されている。
【０００７】
特許文献２の公式なデータはないが、同文献と同様の形式を採用する、日本のＯｂｊｅｃｔ社製のＡＭＯＢＰ  Ｃｏｍｍａｎｄｅｒでは、トレーニング時間が数秒かかることが知られている。
【０００８】
【特許文献１】特開２００２−１２５０７１号公報
【特許文献２】特表２００６−５１４２９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、前記従来技術に基づく問題点を解消し、トレーニー装置との間の最適なデータ転送レートを決定するためのトレーニング時間を短縮することができるトレーナー装置およびトレーニング方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明は、トレーニング信号を受信し、該受信したトレーニング信号に応じた応答信号を送信するトレーニー装置に、転送線路を介して接続し、該転送線路を通じたデータ転送のレートを設定するトレーナー装置において、
周波数制御部と、該周波数制御部により設定された周波数のトレーニング信号を前記トレーニー装置に向けて送信する送信部と、応答信号を受信する受信部と、該受信部が受信した応答信号と期待値とを比較してエラーが起きたか否かを検出するエラー検出部とを有し、
前記周波数制御部は、トレーニング信号の周波数を設定する周波数設定値を保持する周波数設定値保持部と、前記周波数設定値を増減する変更幅を保持する変更幅保持部とを有し、
前記周波数設定値および変更幅の初期化の後、
前記周波数設定値によって前記周波数設定部が設定した周波数のトレーニング信号を前記転送線路を通じて前記トレーニー装置に送信し、前記受信部で前記応答信号を受信し、前記エラー検出部で検出を行った結果に応じて、前記周波数設定値を前記変更幅だけ増大もしくは減少させるとともに、前記変更幅を所定の比率で減少させる処理を、２回以上繰り返して行うことを特徴とするトレーナー装置を提供するものである。
【００１１】
ここで、前記処理を所定回数だけ繰り返した時点で、エラーが起きなかった場合には、その時点でのトレーニング信号の周波数に対応する転送レートを前記転送線路のデータ転送レートとして設定し、エラーが起きた場合には、最後にエラーが起きなかった時点でのトレーニング信号の周波数に対応する転送レートを前記転送線路のデータ転送レートとして設定することが好ましい。
【００１２】
また、前記周波数制御部は、前記トレーニング信号の周波数が、前記トレーナー装置のクロック周波数を前記周波数設定値で除した周波数になるように制御することが好ましい。
【００１３】
また、本発明は、トレーニング信号を受信し、該受信したトレーニング信号に応じた応答信号を送信するトレーニー装置に、転送線路を介してトレーナー装置を接続し、該トレーナー装置において、
トレーニング信号の周波数を設定する周波数設定値および該周波数設定値の変更幅を初期化した後、
前記周波数設定値によって設定される周波数のトレーニング信号を前記転送線路を通じて前記トレーニー装置に送信し、前記転送線路を通じて前記トレーニー装置からの応答信号を受信し、該受信した応答信号と期待値とを比較してエラーが起きたか否かを検出するエラー検出を行い、該検出の結果に応じて、前記周波数設定値を前記変更幅だけ増大もしくは減少させるとともに、前記変更幅を所定の比率で減少させる処理を、２回以上繰り返して行った結果に基づいて、前記転送線路を通じたデータ転送のレートを設定することを特徴とするトレーニング方法を提供する。
【００１４】
ここで、前記処理を所定回数だけ繰り返した時点で、エラーが起きなかった場合には、その時点でのトレーニング信号の周波数に対応する転送レートを前記転送線路のデータ転送レートとして設定し、エラーが起きた場合には、最後にエラーが起きなかった時点でのトレーニング信号の周波数に対応する転送レートを前記転送線路のデータ転送レートとして設定することが好ましい。
【発明の効果】
【００１５】
本発明では、周波数設定値の変更幅を所定の比率で減少させながら、周波数設定値を変更幅だけ増大もしくは減少させることによって、トレーニー装置との間の最適なデータ転送レートを求める。そのため、トレーニー装置との間で所定の回数だけ送受信を繰り返すことによって、転送レートを徐々に最適値に近づけることができる。従って、従来方式の網羅的なトレーニングと比べて、トレーニング時間を大幅に短縮することができる。
【発明を実施するための最良の形態】
【００１６】
以下に、添付の図面に示す好適実施形態に基づいて、本発明のトレーナー装置およびトレーニング方法を詳細に説明する。
【００１７】
図１は、本発明のトレーナー装置の構成を表す一実施形態のブロック概念図である。同図は、トレーナー装置（トレーニング装置）１０を使用して、トレーニー装置１２との間のデータの転送レートを最適化するためのトレーニングを行う時の、トレーナー装置１０とトレーニー装置１２との間の接続関係を表す。図１中、右側がトレーナー装置１０、同左側がトレーニー装置１２である。
【００１８】
まず、トレーナー装置１０について説明する。
【００１９】
トレーナー装置１０は、トレーニング信号を所定のデータ転送レートで転送線路３６を介してトレーニー装置１２に送信し、トレーニー装置１２から転送線路３８を介して送信（返信）されてくる所定のデータ転送レートの応答信号を受信し、そのエラーの有無に応じてデータ転送レートを増減させることによって最適化する。トレーナー装置１０は、第１の受信部１４と、エラー検出部１６と、周波数設定部１８と、第１のカウンタ２０と、第１の送信部２２と、第１のデータ生成部２４とによって構成されている。
【００２０】
ここで、トレーニング信号は、トレーナー装置１０のデータ転送レート（後述する第１の転送クロックの周波数）で所定数の‘０’と同数の‘１’が交互に繰り返されるデータである。本実施形態の場合、トレーニング信号は８ビット（＝１バイト）であって、具体的には、０１０１…（２進数）（＝０ｘ５５）（０ｘは１６進数を表す）のデータ信号を用いる。ないしは、１０１０…（０ｘＡＡ）などのデータ信号も好適に用いられる。
【００２１】
第１のカウンタ２０には、所定周波数のクロック信号ＣＬＫ１が入力され、周波数設定値が周波数設定部１８から入力される。第１のカウンタ２０からは、所定周波数の第１の転送クロックが出力される。第１のカウンタ２０は、周波数設定値に応じて、クロック信号ＣＬＫ１の周波数を設定し、設定された所定周波数のクロック信号を第１の転送クロックとして出力する。
【００２２】
本実施形態の場合、周波数設定値は１６ビットであって、例えば、周波数設定値が０ｘ０００１の場合、第１の転送クロックの周波数は、クロック信号ＣＬＫ１と同じ周波数となる。また、周波数設定値が０ｘ０００３の場合、第１の転送クロックの周波数は、クロック信号ＣＬＫ１の１／３の周波数となる。すなわち、トレーニング信号の周波数（第１の転送クロックの周波数）は、トレーナー装置１０のクロック信号ＣＬＫ１の周波数を周波数設定値で除した周波数になるように制御される。
【００２３】
第１のデータ生成部２４からは、前述のトレーニング信号が出力される。第１のデータ生成部２４は、トレーニング信号を生成する（あらかじめ保持している１つのトレーニング信号、ないしは、複数のトレーニング信号のうちの１つを出力する場合を含む）。
【００２４】
第１の送信部２２には、第１の転送クロックが第１のカウンタ２０から入力され、トレーニング信号が第１のデータ生成部２４から入力される。第１の送信部２２からは、トレーニング信号が出力される。第１の送信部２２は、第１の転送クロックに同期して、１バイトのトレーニング信号を８ビットのシリアルデータに変換して出力する。トレーニング信号は、転送線路３６を介してトレーニー装置１２に向けてシリアルに送信される。
【００２５】
一方、第１の受信部１４には、第１の転送クロックが第１のカウンタ２０から入力され、応答信号がトレーニー装置１２からシリアルに入力される。また、第１の受信部１４からは、受信した応答信号が出力される。第１の受信部１４は、トレーニー装置１２から転送線路３８を介してシリアルに送信されてくる８ビット応答信号を、第１の転送クロックに同期して受信し、１バイトのパラレルデータに変換して出力する。
【００２６】
エラー検出部１６には、受信した応答信号が第１の受信部１４から入力される。エラー検出部１６には、また、期待値としてトレーニング信号が第１のデータ生成部２４から入力される。エラー検出部１６は、受信した応答信号と期待値とを比較し、比較結果に応じてエラー検出信号を出力する。エラー検出信号は、本実施形態の場合、エラー無しの場合に‘０’となり、エラー有りの場合には‘１’となる。
【００２７】
周波数設定部１８には、エラー検出信号がエラー検出部１６から入力される。周波数設定部１８からは、トレーニング信号の周波数を設定する周波数設定値が出力される。周波数設定部１８は、エラー検出信号の状態に応じて、基本的に、エラー無しの場合に第１の転送クロックの周波数を上げ、エラー有りの場合に第１の転送クロックの周波数を下げるように第１のカウンタ２０を制御する周波数設定値を出力する。
【００２８】
ここで、周波数設定部１８および第１のカウンタ２０が、本発明の周波数制御部を構成する。
【００２９】
続いて、周波数設定部１８について、さらに詳しく説明する。
【００３０】
図２は、図１に示す周波数設定部の構成を表すブロック概念図である。同図に示す周波数設定部１８は、ワンホットカウンタ（本発明の変更幅保持部）４０と、減算器４２および加算器４４と、第１のマルチプレクサ４６と、第１のレジスタ（本発明の周波数設定値保持部）４８と、第２のレジスタ５０と、第２のマルチプレクサ５２と、ＡＮＤ回路５４とによって構成されている。
【００３１】
ワンホットカウンタ４０からは、そのカウント値と、カウント値が０ｘ００００となったことを表す０検出信号が出力される。ワンホットカウンタ４０は、初期化されると、そのカウント値の最上位ビットだけが‘１’になる。その後、第１の転送クロックが入力される毎に、‘１’が最上位ビットから最下位ビット側へ１ビットずつシフトされ（カウント値が１／２とされ）、最終的にカウント値が‘０’になると、本実施形態の場合、０検出信号が‘１’となる。
【００３２】
減算器４２および加算器４４の一方の入力端子には、ワンホットカウンタ４０のカウント値が入力され、それらの他方の入力端子には、周波数設定値が第１のレジスタ４８から入力される。減算器４２は、第１のレジスタ４８に保持されている周波数設定値から、ワンホットカウンタ４０のカウント値を減算して、その減算結果を出力する。また、加算器４４は、両者を加算して、その加算結果を出力する。
【００３３】
第１のマルチプレクサ４６の入力端子１には、加算結果が加算器４４から入力され、その入力端子０には、減算結果が減算器４２から入力され、その選択入力端子には、エラー検出信号がエラー検出部１６から入力される。第１のマルチプレクサ４６からは、本実施形態の場合、エラー検出信号が‘１’であれば減算結果が出力され、エラー検出信号が‘０’であれば加算結果が出力される。
【００３４】
第１のレジスタ４８には、第１のマルチプレクサ４６の出力信号が入力される。第１のレジスタ４８からは、第１の転送クロックの周波数を設定（決定）する周波数設定値が出力される。第１のレジスタ４８は、図示していないが、第１の転送クロックに同期して、第１のマルチプレクサ４６の出力信号、すなわち、減算結果もしくは加算結果を保持し、これを新たな周波数設定値として保持すると同時に出力する。
【００３５】
第２のレジスタ５０には、周波数設定値が第１のレジスタ４８から入力される。第２のレジスタ５０からは、保持した周波数設定値が出力される。第２のレジスタ５０は、図示していないが、エラー検出信号が‘０’、すなわち、エラー無しの時に、第１の転送クロックに同期して、第１のレジスタ４８から出力される周波数設定値を保持し、これを前回の（最後に）エラーが起きなかった周波数設定値として出力する。第２のレジスタ５０は、エラー検出信号が‘１’、すなわち、エラー有りの時には動作しない。
【００３６】
最後に、第２のマルチプレクサ５２の入力端子０には、周波数設定値が第１のレジスタ４８から入力され、その入力端子１には、前回のエラーが起きなかった周波数設定値が第２のレジスタ５０から入力され、その選択入力端子には、ＡＮＤ回路５４を介して、０検出信号とエラー検出信号とのＡＮＤ演算結果が入力される。第２のマルチプレクサ５２からは、選択入力端子に入力される信号が‘１’であれば前回の（最後に）エラーが起きなかった周波数設定値が出力され、選択入力端子に入力される信号が‘０’であれば新たな周波数設定値が出力される。
【００３７】
次に、トレーニー装置１２について説明する。
【００３８】
トレーニー装置１２は、トレーナー装置１０から転送線路３６を介して送信されてくるトレーニング信号を受信し、そのデータ転送レートを検出して、受信したトレーニング信号に応じた所定のデータ転送レート（第２の転送クロックの周波数）で転送線路３８を介して応答信号をトレーナー装置１０に向かって送信（返信）する。トレーニー装置１２は、第２の受信部２６と、周波数検出部２８と、第２のカウンタ３０と、第２の送信部３２と、第２のデータ生成部３４とによって構成されている。
【００３９】
第２の受信部２６には、トレーニング信号がトレーナー装置１０からシリアルに入力される。第２の受信部２６からは、受信したトレーニング信号がシリアルに出力される。第２の受信部２６は、トレーナー装置１０から転送線路３６を介してシリアルに送信されてくる８ビットのトレーニング信号を受信する。図１では省略しているが、第２の受信部２６は、例えば、トレーナー装置１０から転送経路３６を介して、トレーニング信号と同時に第１のクロック信号を受信し、この第１のクロック信号に同期してトレーニング信号を受信する。もしくは、例えば、受信したトレーニング信号からクロック信号を再生し、再生したクロック信号に同期してトレーニング信号を受信する。第２の受信部２６は、８ビットのトレーニング信号をパラレルデータにも変換して出力するが、図１では省略している。
【００４０】
周波数検出部２８には、シリアルに受信したトレーニング信号が第２の受信部２６からシリアルに入力される。周波数検出部２８からは、周波数検出値が出力される。周波数検出部２８は、トレーニング信号に基づいて、トレーニング信号のデータ転送レート（第１の転送クロックの周波数）を検出し、検出したトレーニング信号のデータ転送レートに対応する周波数検出値を出力する。
【００４１】
ここで、トレーナー装置１０からトレーニー装置１２へのトレーニング信号の送信、および、トレーニー装置１２における受信においてエラーが無かった場合、周波数検出部２８は、トレーナー装置１０がトレーニング信号を送信する第１の転送クロックの周波数を正しく検出する。逆に、例えば、転送線路３６の帯域が不足していてトレーニング信号に歪みが発生した場合、もしくは、トレーニー装置１２の対応可能周波数が不足していて、トレーニング信号を正しく受信することができなかった場合には、周波数検出部２８は第１の転送クロックの周波数を正しく検出することができず、誤った周波数を検出する。
【００４２】
第２のカウンタ３０には、クロック信号ＣＬＫ２が入力され、周波数検出値が周波数検出部２８から入力される。第２のカウンタ３０からは、第２の転送クロックが出力される。第２のカウンタ３０は、周波数検出値に応じて、クロック信号ＣＬＫ２の周波数を設定し、設定された所定周波数のクロック信号ＣＬＫ２を第２の転送クロックとして出力する。すなわち、第２の転送クロックの周波数は、トレーニー装置１２のクロック信号ＣＬＫ２の周波数を周波数検出値で除した周波数になるように制御される。
【００４３】
ここで、転送線路３６と３８とに、同一のデータ転送レートを設定する場合であれば、周波数検出部２８は、第２の転送クロックの周波数が、周波数検出部２８が検出した第１の転送クロックの周波数と同一になるような周波数検出値を出力する。
【００４４】
第２の送信部３２には、第２の転送クロックが第２のカウンタ３０から入力され、応答信号が第２のデータ生成部３４から入力される。第２の送信部３２からは、応答信号が出力される。第２の送信部３２は、第２の転送クロックに同期して、１バイトの応答信号を８ビットのシリアルデータに変換して出力する。応答信号は、転送線路３８を介してトレーナー装置１０に向けてシリアルに送信される。
【００４５】
本実施形態の場合、応答信号は、トレーニング信号と同じ０ｘ５５である。従って、トレーニー装置１２からトレーナー装置１０への転送線路３８を通じたデータ転送においてエラーが発生しなかった場合、トレーナー装置１０は、第２の転送クロック周波数で、かつ、０ｘ５５の応答信号を受信することができる。従って、転送線路３６および３８の両方が第１の転送クロック周波数での転送が可能な帯域を持ち、かつ、トレーニー装置１２が第１の転送クロック周波数に対応可能であった場合には、トレーナー装置１０は、第１の転送クロック周波数で、かつ、０ｘ５５の応答信号を受信することができる。
【００４６】
前述のように、本実施形態においてトレーナー装置の受信部１４は、応答信号を第１の転送クロックに同期して受信する。従って、応答信号が、第１の転送クロック周波数で、かつ、０ｘ５５のデータ信号である場合には、正しく、０ｘ５５の信号を受信することができる。逆に、０ｘ５５の信号を受信することができなかった場合には、トレーニング信号の送信から応答信号の受信までの間のいずれかにおいてエラーが発生したことが分かる。従って、０ｘ５５を期待値として、受信した応答信号とこの期待値とを比較することによって、エラーが発生したか否かを検出することができる。ここで、トレーニング信号として０ｘ５５のデータ信号を用いる場合であれば、トレーニング信号を期待値として利用することができる。
【００４７】
次に、トレーナー装置１０およびトレーニー装置１２のトレーニング時の動作に従って、本発明のトレーニング方法について説明する。
【００４８】
以下の説明では、ワンホットカウンタ４０、第１および第２のレジスタ４８，５０、第１のカウンタ２０は、１６ビットであるとする。また、トレーニング信号、応答信号のデータ形式は、１バイト（＝８ビット）で、パリティ無しとする。なお、シリアルデータの送信では、通常、開始時にスタートビットが送信され、続いて、データが送信され、終了時にストップビットが送信されるが、以下の説明では、スタートビットおよびストップビットの記載は省略する。
【００４９】
（１）トレーニングを開始すると、トレーナー装置１０において、第１のレジスタ４８の周波数設定値が０ｘ０００１に、ワンホットカウンタ４０のカウント値（周波数設定値を増減する変更幅）が０ｘ８０００に初期化される。
【００５０】
（２）周波数設定値に応じて、所定周波数の第１の転送クロックが第１のカウンタ２０から出力される。前述の通り、周波数設定値が０ｘ０００１の場合、第１の転送クロックの周波数（データ転送レート）はクロック信号ＣＬＫ１と同じ周波数となる。
【００５１】
（３）第１のデータ生成部２４から入力されたトレーニング信号０ｘ５５が、第１の転送クロックに同期して、第１の送信部２２からシリアルに出力される。トレーニング信号は、転送線路３６を介してシリアルにトレーニー装置１２に向かって送信される。
【００５２】
（４）トレーニー装置１２において、トレーナー装置１０の第１の送信部２２からシリアルに送信されてきたトレーニング信号が、第２の転送クロックに同期して、第２の受信部２６で受信される。
【００５３】
（５）受信したトレーニング信号は、第２の受信部２６から周波数検出部２８へシリアルに入力される。周波数検出部２８では、トレーニング信号から、そのデータ転送レートが検出され、検出したデータ転送レートに対応する周波数検出値が出力される。
【００５４】
（６）周波数検出値に応じて、所定周波数の第２の転送クロックが第２のカウンタ３０から出力される。
【００５５】
（７）第２のデータ生成部３４から入力された応答信号０ｘ５５が、第２の転送クロックに同期して、第２の送信部３２からシリアルに出力される。応答信号は、転送線路３８を介してシリアルにトレーナー装置１０に向かって送信される。
【００５６】
（８）再び、トレーナー装置１０において、トレーニー装置１２の第２の送信部３２から送信されてきた応答信号が、第１の転送クロックに同期して、第１の受信部１４で受信され、パラレルデータに変換される。
【００５７】
（９）受信し、変換された応答信号は、第１の受信部１４からエラー検出部１６へ入力される。エラー検出部１６では、受信した応答信号と期待値（第１のデータ生成部２４から入力されたトレーニング信号）とを比較して、データエラーの有無の検出が行われ、エラー検出信号が出力される。
【００５８】
（１０）周波数設定部１８では、エラー検出信号に基づいて、減算器４２により、周波数設定値からワンホットカウンタ４０のカウント値を減算した減算結果、もしくは、加算器４４により、両者を加算した加算結果のいずれかが、第１のマルチプレクサ４６から出力される。第１のマルチプレクサ４６の出力信号は、第１の転送クロックに同期して、第１のレジスタ４８に新たな周波数設定値として保持される。
【００５９】
本実施形態では、データエラーが有る場合、第１のマルチプレクサ４６から加算結果が出力される。これにより、新たな周波数設定値が増加するため、第１の転送クロックの周波数が遅くなるように制御される。一方、データエラーが無い場合、第１のマルチプレクサ４６からは減算結果が出力される。これにより、新たな周波数設定値が減少するため、第１の転送クロックの周波数が速くなるように制御される。
【００６０】
また、第１のレジスタ４０に保持された新たな周波数設定値は、データエラーが無い場合、第１の転送クロックに同期して、前回のデータエラーが起きなかった周波数設定値として第２のレジスタ５０にも保持される。
【００６１】
エラー検出部１６から出力されるエラー検出信号と、ワンホットカウンタ４０から出力される０検出信号に基づいて、第１のレジスタ４８の出力信号（新たな周波数設定値）、もしくは、第２のレジスタ５０の出力信号（前回のデータエラーが起きなかった周波数設定値）のいずれかが、第２のマルチプレクサ５２から出力される。第２のマルチプレクサ５２から出力される周波数設定値は、第１のカウンタ２０へ入力される。
【００６２】
本実施形態では、ワンホットカウンタ４０のカウント値が０ｘ００００でない場合、データエラーの有無に関わらず、第２のマルチプレクサ５２から第１のレジスタ４８の出力信号が出力される。０ｘ００００になった場合については後述する。
【００６３】
（１１）続いて、第１の転送クロックに同期して、ワンホットカウンタ４０のカウント値が１／２とされる。そして、ワンホットカウンタ４０のカウント値が０ｘ００００になるまでの１６回、上記（２）〜（１０）の動作が繰り返される。
【００６４】
つまり、第１の受信部１４で応答信号を受信し、エラー検出部１６で応答信号のエラー検出を行った結果に応じて、周波数設定値を、その変更幅（ワンホットカウンタ４０のカウント値）だけ増大もしくは減少させるとともに、変更幅を１／２の比率で減少させる処理を、ワンホットカウンタ４０のカウント値が０ｘ００００になるまでの回数繰り返して行う。
【００６５】
ワンホットカウンタ４０のカウント値が０ｘ００００になった場合、データエラーが有る場合には、第２のレジスタ５０の出力信号、すなわち、前回の（最後に）データエラーが起きなかった周波数設定値が第２のマルチプレクサ５２から出力される。一方、エラーが無い場合には第１のレジスタ４８の出力信号、すなわち、新たな周波数設定値が第２のマルチプレクサ５２から出力される。
【００６６】
つまり、上記（２）〜（１０）の処理を、ワンホットカウンタ４０のカウント値によって設定される所定回数だけ繰り返した時点で、エラーが起きなかった場合には、その時点でのトレーニング信号の周波数に対応する転送レートを転送線路３６、３８のデータ転送レートとして設定し、エラーが起きた場合には、最後にエラーが起きなかった時点でのトレーニング信号の周波数に対応する転送レートを転送線路３６、３８のデータ転送レートとして設定する。
【００６７】
以下、一例として、周波数設定値の目標値が０ｘ０３３３の場合について、第１の転送クロック毎の、ワンホットカウンタ４０のカウント値、周波数設定値、応答信号のエラーの有無（ＯＫはエラー無し、ＮＧはエラー有りを表す）の遷移状態を表１に示す。上記説明に合わせて、周波数設定値の初期値は０ｘ０００１、ワンホットカウンタ４０のカウント値の初期値は０ｘ８０００とする。
【００６８】
また、周波数設定値の目標値が０ｘ０３３３であるから、表１では、周波数設定値が０ｘ０３３３よりも小さい場合にはエラーが発生し、０ｘ０３３３以上である場合にはエラーが発生せず、正しいデータを受信できると仮定している。
【００６９】
【表１】
2008271107.tif 000003
【００７０】
ワンホットカウンタ４０のカウント値は、０回目の０ｘ８０００を初期値として、１バイトの応答信号を受信する毎に順次１／２とされる。表１に示す通り、ワンホットカウンタ４０のカウント値は、１回目は０ｘ４０００、２回目は０ｘ２０００、…、となり、１６回目で０ｘ００００となる。
【００７１】
０回目（初期化後）は、周波数設定値が０ｘ０００１であるから、応答信号がＮＧとなる。そのため、０回目のワンホットカウンタ４０のカウント値０ｘ８０００と、０回目の周波数設定値０ｘ０００１とが加算され、１回目の周波数設定値は０ｘ８００１となる。
【００７２】
１回目は、周波数設定値が０ｘ８００１であるから、応答信号はＯＫとなる。そのため、１回目の周波数設定値０ｘ８００１から、１回目のワンホットカウンタ４０のカウント値０ｘ４０００が減算され、２回目の周波数設定値は０ｘ４００１となる。
【００７３】
以下同様に、ｉ回目（ｉは、２〜１５とする）の処理において、応答信号がＮＧの場合、ｉ回目のワンホットカウンタ４０のカウント値と、ｉ回目の周波数設定値とが加算され、その加算結果が（ｉ＋１）回目の周波数設定値とされる。一方、応答信号がＯＫの場合、ｉ回目の周波数設定値から、ｉ回目のワンホットカウンタ４０のカウント値が減算され、その減算結果が（ｉ＋１）回目の周波数設定値とされる。
【００７４】
そして、ワンホットカウンタ４０のカウント値が０ｘ００００となる最後の１６回目は、応答信号がＮＧであるから、最終的な１７回目の周波数設定値は、前回の（最後に）応答信号がＯＫであった１５回目の周波数設定値０ｘ０３３３とされる。
【００７５】
トレーナー装置１０では、転送クロックのタイマの値を各チャンネルに対する周期パラメータを貯蔵しているＴＣＴを持たないような通信分野（例えば、非同期のシリアル通信など）で転送クロックの調整を行う場合、網羅的なデータ転送レートのトレーニングを繰り返すのではなく、周波数設定値の変更幅を、その前の処理の時の変更幅の１／２に順次変化させることによって、最適なデータ転送レートを求める。
【００７６】
つまり、トレーナー装置１０によれば、周波数設定値の変更幅を所定の比率で減少させながら、周波数設定値を変更幅だけ増大もしくは減少させることによって、トレーニー装置１２との間の最適なデータ転送レートを求める。そのため、トレーニー装置との間で所定の回数だけ送受信を繰り返すことによって、転送レートを徐々に最適値に近づけることができるので、トレーニング時間を大幅に短縮することができる。
【００７７】
例えば、上記表１の例の場合、ワンホットカウンタ４０が１６ビット、トレーニング信号および応答信号が各々８ビット（＝１バイト）とすると、トレーニング信号の送受信（１バイト）、応答信号の送受信（１バイト）を１６回繰り返すので、送受信のデータ量は合計３２バイトである。
【００７８】
この場合、遅く見積もった場合で、１２００ｂｐｓ（ビット／秒）のボーレートで通信した場合（非同期のシリアル通信ではよく使われる十分低い転送レート）を考えると、約４００ｍｓ程度の時間でトレーニングが終了する。また、早く見積もった場合で、１９２００ｂｐｓのボーレートで通信した場合（非同期のシリアル通信でよく使われる転送レート）を考えると、約２０ｍｓ程度の時間でトレーニングが終了する。
【００７９】
ここで、処理の繰り返し回数は、ワンホットカウンタ４０のビット数によって、その上限が決定され、そのカウント値の初期値によって、その繰り返し回数を適宜設定することができる。繰り返し回数にも最適値があり、表１の例では、１５回である。繰り返し回数の設定は特に限定されず、繰り返す毎にトレーニングの精度が向上し、やがて第１の制御信号の値は最適値となるが、それ以後は、最適値の前後の値が繰り返し出現する。
【００８０】
すなわち、処理の繰り返しの回数は、高精度が要求される場合には、多めの回数を設定する必要がある。しかし、それほど高精度が要求されない場合には、少なめの回数を設定しても問題は少ない。表１の例では、上記のように、第１の制御信号の値は１５回目で最適値に到達するが、例えば、１０回目前後で、目標値の０ｘ０３３３に近い値を得ることができている。
【００８１】
従って、処理の繰り返しの回数は、要求される精度と、トレーニング時間とのトレードオフとなる。しかし、いずれにしても、本発明に係るトレーニング方法は、従来方式の網羅的なトレーニング方法と比べれば、遙かにトレーニング時間を短縮することができる。
【００８２】
なお、本発明のトレーナー装置において、第１のデータ生成部は必須の構成要素ではない。すなわち、トレーニング信号は、トレーナー装置の外部から入力する構成としても良い。
【００８３】
また、トレーニング信号および応答信号は８ビットに限らず、任意のビット数で構わない。トレーニング信号は、‘０’と‘１’が交互に繰り返されるデータであることが好ましいが、これに限らず、そのビット数や転送クロックの周波数などに応じて、所定数の‘０’と同数の‘１’とが交互に繰り返されるデータ、例えば８ビットの場合、０ｘ３３や０ｘＣＣなどでも良い。この場合、周波数検出部で検出されるデータ転送レートは、トレーニング信号の転送レートの１／２となる。
【００８４】
また、第１の受信部では、シリアルに受信した応答信号をパラレルデータに変換し、変換後の応答信号とトレーニング信号とを比較しているが、シリアルデータの応答信号のままシリアルデータのトレーニング信号と比較しても良い。同様に、第１の送信部では、トレーニング信号をシリアルデータに変換しているが、トレーニング信号をシリアルに受け取って、それを第１の転送クロックに同期してシリアルに出力しても良い。
【００８５】
エラー検出部では、受信した応答信号と送信したトレーニング信号とを比較することは必須ではない。すなわち、トレーナー装置からトレーニー装置に向かって送信するトレーニング信号と、トレーニー装置からトレーナー装置に向かって送信する応答信号とが、あらかじめ決められた値、例えば、上記実施形態の場合のように０ｘ５５固定の場合、受信した応答信号が０ｘ５５であるか否かでエラーの有無を判断できる。
【００８６】
また、エラー検出信号、０検出信号などの信号の極性は任意に決定（変更）しても良い。同様に、トレーナー装置を構成する各々の構成要素、および、周波数設定部を構成する各々の構成要素は、図示例のものに限らず、同様の機能を実現可能な各種構成のものが採用可能である。
【００８７】
また、表１の例では、処理を１６回繰り返しているが、繰り返しの回数は、２回以上であれば良い。繰り返しの回数は、前述の通り、ワンホットカウンタのカウント値のビット数と、その初期値によって適宜変更可能である。周波数設定値を増減する変更幅の比率は、上記実施形態の場合の１／２が最適であるが、これに限らず、減少させる方向であれば任意に設定可能である。
【００８８】
トレーニー装置の構成は何ら制限されない。トレーナー装置の場合と同様に、第２のデータ生成部は必須ではない。また、周波数検出部やカウンタも必須ではない。この場合、例えば受信したトレーニング信号をトレーニー装置の外部へ出力し、外部でトレーニング信号の周波数を検出し、これに基づいて、第２の転送クロックの周波数や、応答信号の値をトレーニー装置に設定する構成のものでも良い。すなわち、本発明のトレーナー装置およびトレーニング方法は、任意構成のトレーニー装置に対して適用可能である。
【００８９】
本発明は、基本的に以上のようなものである。
以上、本発明のトレーナー装置およびトレーニング方法について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【図面の簡単な説明】
【００９０】
【図１】本発明のトレーナー装置の構成を表す一実施形態のブロック概念図である。
【図２】図１に示す周波数設定部の構成を表すブロック概念図である。
【符号の説明】
【００９１】
１０  トレーナー装置
１２  トレーニー装置
１４、２６  受信部
１６  エラー検出部
１８  周波数設定部
２０、３０  カウンタ
２２、３２  送信部
２４、３４  データ生成部
２８  周波数検出部
３６、３８  転送線路
４０  ワンホットカウンタ
４２  減算器
４４  加算器
４６、５２  マルチプレクサ
４８、５０  レジスタ
５４  ＡＮＤ回路
【図１】
2008271107.tif 000004
【図２】
2008271107.tif 000005