(57)【要約】  被試験デバイスを試験する試験ユニットと、試験ユニットを制御する制御部との間で伝送データを伝送するシリアル伝送部を有する半導体試験装置を提供する。シリアル伝送部は、予め定められた順序で複数の伝送データを送信するデータ送信部と、伝送データを再送させる再送制御部と、送信側で受け取った前記確認信号に付されるべき前記識別データの確認ＩＤ期待値を記憶する確認ＩＤ期待値記憶部とを有する。再送制御部は、伝送データが再送のデータであるか否かを示す再送カウント情報、および、確認ＩＤ期待値記憶部が記憶する確認ＩＤ期待値に基づいて、再送の必要性を判断する。
2010070859.tif 000002
【特許請求の範囲】
【請求項１】
被試験デバイスを試験する試験装置であって、
前記被試験デバイスと電気的に接続され、前記被試験デバイスを試験する試験ユニットと、
前記試験ユニットを制御する制御部と、
前記制御部および前記試験ユニットの間で伝送データを伝送するシリアル伝送部と
を備え、
前記シリアル伝送部は、
送信側において、予め定められた順序で複数の前記伝送データを送信するデータ送信部と、
受信側において前記伝送データを受け取った場合に、当該伝送データを受け取った旨の確認信号に識別データを付して送信側に送信する受信通知部と、
前記確認信号で示される前記伝送データの受信順序が、前記予め定められた順序と異なる場合に、前記予め定められた順序が前記受信順序と異なることとなった前記伝送データから、前記伝送データが再送のデータであるか否かを示す再送カウント情報を付して前記受信側に再送させる再送制御部と、
前記送信側で受け取った前記確認信号に付されるべき前記識別データを示す確認ＩＤ期待値を記憶する確認ＩＤ期待値記憶部と
を有し、
前記受信通知部は、受信した前記伝送データに対する前記確認信号に、当該伝送データの再送カウント情報を付して、前記送信側に送信させ、
前記再送制御部は、前記確認信号で示される前記伝送データの受信順序が、前記予め定められた順序と異なる場合において、前記再送カウント情報が再送のデータである旨を示しており、かつ、前記確認信号に付された前記識別データが前記確認ＩＤ期待値と一致する場合に、前記伝送データの再送を行わない試験装置。
【請求項２】
前記再送制御部は、前記確認信号で示される前記伝送データの受信順序が前記予め定められた順序と異なる場合において、前記確認信号に付された前記識別データが前記確認ＩＤ期待値と一致していない場合に、前記伝送データの再送を行う
請求項１に記載の試験装置。
【請求項３】
前記再送制御部は、前記確認信号で示される前記伝送データの受信順序が前記予め定められた順序と異なり、且つ、当該確認信号に対応する前記伝送データが、前記確認ＩＤ期待値に対応する前記伝送データと一致しないと判断して前記伝送データを再送した回数を示す前記再送カウント情報を生成する
請求項２に記載の試験装置。
【請求項４】
前記シリアル伝送部は、前記再送カウント情報に示される再送回数が、予め定められた閾値を超えた場合に、前記伝送データの伝送を停止する
請求項３に記載の試験装置。
【請求項５】
前記再送制御部は、前記確認ＩＤ期待値に対応する前記伝送データを受信した旨の前記確認信号を受け取った場合に、前記再送カウント情報に示される再送回数を初期値にリセットする
請求項４に記載の試験装置。
【請求項６】
前記シリアル伝送部は、それぞれの前記伝送データを識別する識別データを付して、前記伝送データを伝送し、
前記受信通知部は、受け取った前記伝送データの前記識別データを含む前記確認信号を前記送信側に送信する
請求項１に記載の試験装置。
【請求項７】
前記再送制御部は、次に送信すべき前記伝送データが前記データ送信部に与えられていない場合に、次に送信すべき前記伝送データが前記データ送信部に与えられるまで、直前に送信した前記伝送データを前記受信側に再送させ続ける
請求項３に記載の試験装置。
【請求項８】
前記シリアル伝送部は、前記受信側において、前記受信通知部が送信した前記確認信号の前記識別データと同一の前記識別データが付された前記伝送データを再度受け取った場合に、再度受け取った前記伝送データを破棄するデータ受信部を更に有し、
前記受信通知部は、再度受け取った前記伝送データについて、前記確認信号を前記送信側に送信する
請求項７に記載の試験装置。
【請求項９】
前記データ送信部は、順次送信する前記伝送データに付される識別データを、前記伝送データ毎に予め定められた規則で変化させ、
前記データ受信部は、受け取った前記伝送データの前記識別データが、前記予め定められた規則により定まる前記識別データと異なる場合に、後段の回路への前記伝送データの出力を停止する
請求項８に記載の試験装置。
【請求項１０】
前記データ受信部は、前記予め定められた規則により定まる前記識別データが付された前記伝送データを受け取った場合に、後段の回路への前記伝送データの出力を再開する
請求項９に記載の試験装置。
【請求項１１】
前記シリアル伝送部は、
前記受信側において受け取った前記伝送データに付されるべき前記識別データのデータＩＤ期待値を記憶するデータＩＤ期待値記憶部と、
前記受信側において受け取った前記伝送データに付されている前記識別データを、前記データＩＤ期待値記憶部が記憶している前記データＩＤ期待値と比較するデータＩＤ比較部と、
前記受信側において受け取った前記伝送データに付されている前記識別データが、前記データＩＤ期待値記憶部が記憶している前記データＩＤ期待値と一致した場合に、前記データＩＤ期待値記憶部が記憶する前記データＩＤ期待値を、前記予め定められた規則に基づいて更新するデータＩＤ期待値更新部と
を更に有する請求項１０に記載の試験装置。
【請求項１２】
前記シリアル伝送部は、
前記送信側において受け取った前記確認信号に付されている前記識別データを、前記確認ＩＤ期待値記憶部が記憶している前記確認ＩＤ期待値と比較する確認ＩＤ比較部と、
前記送信側において受け取った前記確認信号に付されている前記識別データが、前記確認ＩＤ期待値記憶部が記憶している前記確認ＩＤ期待値と一致した場合に、前記確認ＩＤ期待値記憶部が記憶する前記確認ＩＤ期待値を、前記予め定められた規則に基づいて更新する確認ＩＤ期待値更新部と
を更に有する請求項１１に記載の試験装置。
【請求項１３】
前記再送制御部は、前記確認信号で示される前記伝送データの受信順序が前記予め定められた順序と異なる場合において、当該確認信号に付された前記再送カウント情報が、直前に受信した前記確認信号に付された前記再送カウント情報に対してインクリメントされており、かつ、前記確認信号で示される識別信号が、前記確認ＩＤ期待値記憶部が記憶している前記確認ＩＤ期待値と一致する場合に、前記再送カウント情報に示される再送回数を初期値にリセットする
請求項１２に記載の試験装置。
【請求項１４】
前記再送制御部は、前記確認信号で示される前記伝送データの受信順序が前記予め定められた順序と異なる場合において、当該確認信号に付された前記再送カウント情報が、直前に受信した前記確認信号に付された前記再送カウント情報に対してインクリメントされていない場合に、前記伝送データの再送を行う
請求項１２に記載の試験装置。
【請求項１５】
前記再送制御部は、前記確認信号で示される前記伝送データの受信順序が前記予め定められた順序と異なる場合において、前記確認信号に付された前記再送カウント情報が、直前に受信した前記確認信号に付された前記再送カウント情報に対してインクリメントされており、かつ、前記確認信号で示される識別信号が、前記確認ＩＤ期待値記憶部が記憶している前記確認ＩＤ期待値と一致しない場合に、前記伝送データの再送を行う
請求項１２に記載の試験装置。
【請求項１６】
前記データ送信部は、
前記送信側に設けられ、複数のアドレスを有し、与えられる前記伝送データを書き込み可能な前記複数のアドレスに書き込み、且つ、読出アドレスにより指定されるアドレスの前記伝送データを出力するデータメモリと、
前記送信側で受け取った前記確認信号で示される前記伝送データの受信順序が、前記予め定められた順序と一致する場合に、当該確認信号に対応する前記伝送データが格納された前記データメモリのアドレスを、書き込み可能なアドレスとして制御するアドレス制御部と
を有する請求項１に記載の試験装置。
【請求項１７】
前記アドレス制御部は、
前記データメモリに前記伝送データを書き込んだ場合に、前記データメモリの書込アドレスをインクリメントし、前記書込アドレスが所定の最終アドレス値となった場合に、前記書込アドレスを所定の初期アドレスにループさせる書込アドレスポインタ管理部と、
前記データメモリが格納している未受信の前記伝送データの個数を管理するメモリ管理部と
を有し、
前記書込アドレスポインタ管理部は、前記メモリ管理部が管理する未受信の前記伝送データの個数が、前記データメモリのアドレス数に応じた数になるまで、前記書込アドレスをインクリメント可能であり、
前記メモリ管理部は、受信した前記確認信号で示される前記伝送データの受信順序が、前記予め定められた順序と一致する場合に、前記未受信の前記伝送データの個数から所定値を減じる
請求項１６に記載の試験装置。
【請求項１８】
前記アドレス制御部は、前記データメモリから前記伝送データを読み出した場合に、前記データメモリの読出アドレスをインクリメントし、前記読出アドレスが所定の最終アドレス値となった場合に、前記読出アドレスを所定の初期アドレスにループさせる読出アドレスポインタ管理部を更に有し、
前記書込アドレスポインタ管理部および前記読出アドレスポインタ管理部は、前記書込アドレスおよび前記読出アドレスが一致しないように、前記書込アドレスおよび前記読出アドレスを制御する
請求項１７に記載の試験装置。
【請求項１９】
前記書込アドレスポインタ管理部は、前記メモリ管理部が管理する未受信の前記伝送データの個数が、前記データメモリのアドレス数より１少ない数になるまで、前記書込アドレスをインクリメントできる
請求項１８に記載の試験装置。
【請求項２０】
受信側および送信側の間で伝送データを伝送するシリアル伝送システムであって、
送信側において、予め定められた順序で複数の前記伝送データを送信するデータ送信部と、
受信側において前記伝送データを受け取った場合に、当該伝送データを受け取った旨の確認信号に識別データを付して送信側に送信する受信通知部と、
前記確認信号で示される前記伝送データの受信順序が、前記予め定められた順序と異なる場合に、前記予め定められた順序が前記受信順序と異なることとなった前記伝送データから、前記伝送データが再送のデータであるか否かを示す再送カウント情報を付して前記受信側に再送させる再送制御部と、
前記送信側で受け取った前記確認信号に付されるべき前記識別データを示す確認ＩＤ期待値を記憶する確認ＩＤ期待値記憶部と
を備え、
前記受信通知部は、受信した前記伝送データに対する前記確認信号に、当該伝送データの再送カウント情報を付して、前記送信側に送信させ、
前記再送制御部は、前記確認信号で示される前記伝送データの受信順序が、前記予め定められた順序と異なる場合において、前記再送カウント情報が再送のデータである旨を示しており、かつ、前記確認信号に付された前記識別データが前記確認ＩＤ期待値と一致する場合に、前記伝送データの再送を行わないシリアル伝送システム。
【請求項２１】
被試験デバイスを試験する試験装置を機能させるプログラムであって、
前記試験装置を、
前記被試験デバイスと電気的に接続され、前記被試験デバイスを試験する試験ユニットと、
前記試験ユニットを制御する制御部と、
前記制御部および前記試験ユニットの間で伝送データを伝送するシリアル伝送部と
して機能させ、
前記シリアル伝送部を、
送信側において、予め定められた順序で複数の前記伝送データを送信するデータ送信部と、
受信側において前記伝送データを受け取った場合に、当該伝送データを受け取った旨の確認信号に識別データを付して送信側に送信する受信通知部と、
前記確認信号で示される前記伝送データの受信順序が、前記予め定められた順序と異なる場合に、前記予め定められた順序が前記受信順序と異なることとなった前記伝送データから、前記伝送データが再送のデータであるか否かを示す再送カウント情報を付して前記受信側に再送させる再送制御部と、
前記送信側で受け取った前記確認信号に付されるべき前記識別データを示す確認ＩＤ期待値を記憶する確認ＩＤ期待値記憶部と
して機能させ、
前記受信通知部に、受信した前記伝送データに対する前記確認信号に、当該伝送データの再送カウント情報を付して、前記送信側に送信させ、
前記再送制御部に、前記確認信号で示される前記伝送データの受信順序が、前記予め定められた順序と異なる場合において、前記再送カウント情報が再送のデータである旨を示しており、かつ、前記確認信号に付された前記識別データが前記確認ＩＤ期待値と一致する場合に、前記伝送データの再送を行わせないプログラム。
【請求項２２】
請求項２１に記載のプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、試験装置、シリアル伝送システム、プログラム、および、記録媒体に関する。米国において本出願は、米国出願１２／３３５５５０（出願日：２００８年１２月１６日）の継続出願である。
【背景技術】
【０００２】
半導体試験装置は、複数の試験モジュールを備える。それぞれの試験モジュールは、他の試験モジュールとの間、あるいは、被試験デバイスを搭載するパフォーマンスボード等との間で、試験用データ等の送受信を行う。試験モジュールは、大量のデータを短時間で伝送することを目的として、高速シリアルバス等によりデータ伝送を行う。なお、関連する技術文献として、以下の特許文献１を把握している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭５７−１４５４５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
半導体試験装置における試験モジュール間の通信においては、ビット誤り率１０−１７から１０−１９程度の高い信頼性が要求される。ところが、近年の伝送速度の高速化に伴い、ビット誤り率は増える傾向にある。伝送路の信頼性を高める方法として、送受信するデータをフレーム化した上で、ビット誤りの生じたフレームを再送する再送制御が知られている。【０００５】
送信側は、正常に受信されなかった伝送データを、ＣＰＵ等の制御によって再送することにより、全ての伝送データを確実に送信することができる。ところが、確認信号が伝送路において消失した場合には、再送が必要であることを検出するまでに長時間を要する。その結果、長時間に渡るデータを保存するためのバッファサイズと回路規模が大きくなるという課題がある。【０００６】
そこで本発明の１つの側面においては、上記の課題を解決することのできる試験装置、シリアル伝送システム、プログラム、および、記録媒体を提供することを目的とする。この目的は請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００７】
即ち、本発明の第１の態様によると、被試験デバイスを試験する試験装置であって、被試験デバイスと電気的に接続され、被試験デバイスを試験する試験ユニットと、試験ユニットを制御する制御部と、制御部および試験ユニットの間で伝送データを伝送するシリアル伝送部とを備え、シリアル伝送部は、送信側において、予め定められた順序で複数の伝送データを送信するデータ送信部と、受信側において伝送データを受け取った場合に、当該伝送データを受け取った旨の確認信号に識別データを付して送信側に送信する受信通知部と、確認信号で示される伝送データの受信順序が、予め定められた順序と異なる場合に、予め定められた順序が受信順序と異なることとなった伝送データから、伝送データが再送のデータであるか否かを示す再送カウント情報を付して受信側に再送させる再送制御部と、送信側で受け取った確認信号に付されるべき識別データを示す確認ＩＤ期待値を記憶する確認ＩＤ期待値記憶部とを有し、受信通知部は、受信した伝送データに対する確認信号に、当該伝送データの再送カウント情報を付して、前記送信側に送信させ、再送制御部は、確認信号で示される伝送データの受信順序が、予め定められた順序と異なる場合において、再送カウント情報が再送のデータである旨を示しており、かつ、確認信号に付された識別データが確認ＩＤ期待値と一致する場合に、伝送データの再送を行わない試験装置を提供する。【０００８】
本発明の第２の態様によると、受信側および送信側の間で伝送データを伝送するシリアル伝送システムであって、送信側において、予め定められた順序で複数の伝送データを送信するデータ送信部と、受信側において伝送データを受け取った場合に、当該伝送データを受け取った旨の確認信号に識別データを付して送信側に送信する受信通知部と、確認信号で示される伝送データの受信順序が、予め定められた順序と異なる場合に、予め定められた順序が受信順序と異なることとなった伝送データから、伝送データが再送のデータであるか否かを示す再送カウント情報を付して受信側に再送させる再送制御部と、送信側で受け取った確認信号に付されるべき識別データを示す確認ＩＤ期待値を記憶する確認ＩＤ期待値記憶部とを備え、受信通知部は、受信した伝送データに対する確認信号に、当該伝送データの再送カウント情報を付して、送信側に送信させ、再送制御部は、確認信号で示される伝送データの受信順序が、予め定められた順序と異なる場合において、再送カウント情報が再送のデータである旨を示しており、かつ、確認信号に付された識別データが確認ＩＤ期待値と一致する場合に、伝送データの再送を行わないシリアル伝送システムを提供する。【０００９】
本発明の第３の態様によると、被試験デバイスを試験する試験装置を機能させるプログラムであって、試験装置を、被試験デバイスと電気的に接続され、被試験デバイスを試験する試験ユニットと、試験ユニットを制御する制御部と、制御部および試験ユニットの間で伝送データを伝送するシリアル伝送部として機能させ、シリアル伝送部を、送信側において、予め定められた順序で複数の伝送データを送信するデータ送信部と、受信側において伝送データを受け取った場合に、当該伝送データを受け取った旨の確認信号に識別データを付して送信側に送信する受信通知部と、確認信号で示される伝送データの受信順序が、予め定められた順序と異なる場合に、予め定められた順序が受信順序と異なることとなった伝送データから、伝送データが再送のデータであるか否かを示す再送カウント情報を付して受信側に再送させる再送制御部と、送信側で受け取った確認信号に付されるべき識別データを示す確認ＩＤ期待値を記憶する確認ＩＤ期待値記憶部として機能させ、受信通知部に、受信した伝送データに対する確認信号に、当該伝送データの再送カウント情報を付して、送信側に送信させ、再送制御部に、確認信号で示される伝送データの受信順序が、予め定められた順序と異なる場合において、再送カウント情報が再送のデータである旨を示しており、かつ、確認信号に付された識別データが確認ＩＤ期待値と一致する場合に、伝送データの再送を行わせないプログラムおよび当該プログラムを記録した記録媒体を提供する。【００１０】
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係る半導体試験装置１０の構成を示す。
【図２】本実施形態に係る送受信部１００の構成を示す。
【図３】本実施形態に係る送受信部２００の構成を示す。
【図４】送受信部１００および送受信部２００の間で送受信される、ＤＡＴフレームおよびＡＣＫフレームのフレーム構成を示す。
【図５】送受信部１００から送受信部２００への伝送データの送信における、正常時のシーケンスを示す。
【図６】送受信部１００から送受信部２００への伝送データの送信における、エラー発生時のシーケンスを示す。
【図７】送受信部１００から送受信部２００への伝送データの送信において、エラーが生じた場合のシーケンスを示す。
【図８】送受信部１００から送受信部２００への伝送データの送信において、エラーが生じた場合のシーケンスを示す。
【図９】送受信部１００から送受信部２００への伝送データの送信において、エラーが生じた場合のシーケンスを示す。
【図１０】送受信部１００から送受信部２００への伝送データの送信において、エラーが生じた場合のシーケンスを示す。
【図１１】送受信部１００から送受信部２００への伝送データの送信において、エラーが生じた場合のシーケンスを示す。
【図１２】送受信部１００から送受信部２００への伝送データの送信において、エラーが生じた場合のシーケンスを示す。
【図１３】送受信部１００の第２の構成を示す。
【図１４】送信データメモリ１２８の書き込み制御方法を示す。
【図１５】送信データメモリ１２８の読み出し制御方法を示す。
【図１６】第２の実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【００１２】
以下、発明の実施の形態を通じて本発明の一側面を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１３】
図１は、本実施形態に係る半導体試験装置１０の構成を、被試験デバイス５０と共に示す。半導体試験装置１０は、制御部２０、複数の試験ユニット３０、および、複数のシリアル伝送部４０を備える。制御部２０は、予め与えられる複数の試験制御プログラム２２等を実行することにより、複数の試験ユニット３０を制御して、複数の被試験デバイス５０の試験を制御する。制御部２０は、例えばＣＰＵを有してよい。
【００１４】
複数の試験ユニット３０は、複数の被試験デバイス５０または被試験デバイス５０の複数のピンに対応して設けられる。制御部２０は、これらの試験ユニット３０を制御して、複数の被試験デバイス５０を並行して試験してよい。それぞれの試験ユニット３０は、被試験デバイスと電気的に接続されて、被試験デバイスを試験する。例えば、それぞれの試験ユニット３０は、被試験デバイスの試験に用いるデータを生成すると共に、被試験デバイスが出力するデータを解析してもよい。
【００１５】
シリアル伝送部４０は、伝送媒体４２、送受信部１００、および、送受信部２００を備える。送受信部１００は、伝送媒体４２の制御部２０側の端部に設けられてよい。また、送受信部２００は、伝送媒体４２の試験ユニット３０側の端部に設けられてよい。送受信部１００および送受信部２００は、伝送媒体４２を介して、制御部２０および試験ユニット３０の間で伝送データを伝送する。
【００１６】
また、送受信部１００および送受信部２００は、制御部２０および試験ユニット３０の間で伝送データを正常に送受信できない場合に、制御部２０からの制御を介さずに、当該伝送データを復旧する。これにより、伝送エラーが生じた場合に、マルチタスクを実行している制御部２０の負荷を増大させずに、伝送データを復旧することができる。送受信部１００および送受信部２００は、ハードウェアにより、伝送エラーの検出および復旧を行ってよい。
【００１７】
図２は、本実施形態に係る送信側の送受信部１００の構成を示す。本例の送受信部１００は、伝送データを受け取った場合に、その旨を相手方に通知する。伝送データを送信した送受信部は、伝送データが所定の順番で受信されなかった場合に伝送データを再送する。
【００１８】
同図において、送受信部１００は、データ送信部１２０およびデータ受信部１５０を有する。データ送信部１２０およびデータ受信部１５０は、送受信部１００が送受信部２００との間で行う、伝送フレームの送受信を制御する。本例では、伝送フレームとして、試験パターン等の伝送データを含むフレーム種別（以下、ＤＡＴフレームと称する）と、伝送データを受け取った旨の確認信号を含むフレーム種別（以下、ＡＣＫフレームと称する）とを用いて説明する。
【００１９】
送受信部１００から送受信部２００に伝送データを送信する場合には、データ送信部１２０は、伝送データを含むＤＡＴフレームを送受信部２００に対して送信する。また、送受信部１００が送受信部２００からＤＡＴフレームを受信した場合には、データ送信部１２０は、ＤＡＴフレームに対するＡＣＫフレームを送信する。送受信部１００は、送信するＤＡＴフレームに、識別データ（以下、フレームＩＤ）を付してよく、送信するＡＣＫフレームに、受信したＤＡＴフレームのフレームＩＤと同一のフレームＩＤを付してよい。
【００２０】
データ送信部１２０は、送信データメモリ１２８、ＤＡＴフレーム送信部１３０、受信通知部１３２、マルチプレクサ１３４、再送制御部１３６、再送情報管理部１３８、アドレス制御部１４０を有する。データ送信部１２０は、予め定められた順序で複数の伝送データを送信する。さらに、データ送信部１２０は、順次送信する伝送データに付されるフレームＩＤを、伝送データ毎に予め定められた規則で変化させてよい。例えばデータ送信部１２０は、伝送データ毎に順次インクリメントした数字を含むフレームＩＤを、伝送データに付してよい。
【００２１】
データ受信部１５０は、フレーム受信部１５２、受信データメモリ１５４、ＩＤ期待値比較部１５８、ＩＤ期待値更新部１６０、ＩＤ期待値記憶部１６２、および、アドレス制御部１６４を有する。フレーム受信部１５２は、フレーム受信部１５２は、ＤＡＴフレームに含まれるフレームＩＤを取得する。また、フレーム受信部１５２は、送受信部２００から受信したＤＡＴフレームに含まれるフレームコードに基づいて、フレーム種別を認識する。受信した伝送フレームがＡＣＫフレームである場合には、受信したＡＣＫフレームに含まれる伝送データを再送制御部１３６に対して出力してよい。また、フレーム受信部１５２は、受信した伝送フレームがＤＡＴフレームである場合には、受信したＤＡＴフレームに含まれる伝送データをパラレルデータに変換した上で、受信データメモリ１５４に対して出力してよい。
【００２２】
ＩＤ期待値記憶部１６２は、フレーム受信部１５２が受け取った伝送フレームに付されるべきフレームＩＤを示すＩＤ期待値を記憶する。ＩＤ期待値比較部１５８は、受け取った伝送データに付されているフレームＩＤを、ＩＤ期待値記憶部１６２が記憶しているＩＤ期待値と比較する。
【００２３】
ＩＤ期待値更新部１６０は、フレーム受信部１５２が受け取った伝送データに付されているフレームＩＤが、ＩＤ期待値記憶部１６２が記憶しているＩＤ期待値と一致した場合に、ＩＤ期待値記憶部１６２が記憶するＩＤ期待値を、予め定められた規則に基づいて更新する。ＩＤ期待値更新部１６０は、データ送信部１２０がフレームＩＤを変化させる規則と同一の規則で、ＩＤ期待値を変化させることが好ましい。
【００２４】
フレーム受信部１５２は、受信した伝送データに含まれているフレームＩＤをＩＤ期待値比較部１５８に通知すると共に、ＩＤ期待値比較部１５８が出力する比較結果を取得することにより、送受信部２００に送信したデータが正常に届いたか否かを判断してよい。
【００２５】
ＩＤ期待値記憶部１６２は、フレーム種別ごとに、フレームＩＤの期待値を記憶してよい。例えば、ＩＤ期待値記憶部１６２は、ＤＡＴフレームに対しては、ＤＡＴ＿ＩＤ期待値を記憶するデータＩＤ期待値記憶部として機能してよく、ＡＣＫフレームに対しては、ＡＣＫ＿ＩＤ期待値を記憶する確認ＩＤ期待値記憶部として機能してよい。また、ＩＤ期待値記憶部１６２は、ＩＤ期待値更新部１６０の制御により、記憶する期待値を更新してよい。
【００２６】
ＩＤ期待値比較部１５８は、フレーム受信部１５２が受け取った伝送データに付されているフレームＩＤを、ＩＤ期待値記憶部１６２が記憶している期待値と比較する。ＩＤ期待値比較部１５８は、フレーム種別ごとに、フレームＩＤと期待値とを比較してよい。例えば、ＩＤ期待値比較部１５８は、ＤＡＴフレームに対しては、フレームＩＤとＤＡＴ＿ＩＤ期待値とを比較するデータＩＤ期待値比較部として機能してよく、ＡＣＫフレームに対しては、フレームＩＤとＡＣＫフレームＩＤとを比較する確認ＩＤ期待値比較部として機能してよい。
【００２７】
ＩＤ期待値更新部１６０は、ＩＤ期待値比較部１５８から比較結果を受け取る。また、ＩＤ期待値更新部１６０は、フレーム受信部１５２が受け取った伝送データに付されているフレームＩＤが、ＩＤ期待値記憶部１６２が記憶している期待値と一致する場合に、ＩＤ期待値記憶部１６２が記憶する期待値を、予め定められた規則に基づいて更新する。ＩＤ期待値更新部１６０は、フレーム種別ごとに期待値を更新してよい。例えば、ＩＤ期待値更新部１６０は、ＤＡＴフレームに対しては、ＤＡＴ＿ＩＤ期待値を更新するデータＩＤ期待値更新部として機能してよく、ＡＣＫフレームに対しては、ＡＣＫ＿ＩＤ期待値を更新する確認ＩＤ期待値更新部として機能してよい。
【００２８】
例えば、ＩＤ期待値更新部１６０は、フレームＩＤの値を１ずつ増加させることで、それぞれのＩＤ期待値を更新してよい。より具体的には、フレーム受信部１５２が送受信部２００から受信した、直前のＡＣＫフレームのフレームＩＤが「２」の場合、次に受け取るべきＡＣＫフレームのフレームＩＤは「３」である。従って、ＩＤ期待値記憶部１６２は、受信するＡＣＫ＿ＩＤ期待値として「３」を記憶している。
【００２９】
この状態で、フレーム受信部１５２が受信したＡＣＫフレームのフレームＩＤが「３」である場合には、ＩＤ期待値比較部１５８は、比較結果が一致していることをＩＤ期待値更新部１６０に通知する。ＩＤ期待値更新部１６０は、比較結果が一致している場合には、ＩＤ期待値記憶部１６２に対して、記憶しているＡＣＫ＿ＩＤ期待値を「４」に更新する指示を出してよい。ＩＤ期待値記憶部１６２は、ＩＤ期待値更新部１６０の指示に基づいて、記憶するＡＣＫ＿ＩＤ期待値を「４」に更新する。
【００３０】
これに対して、フレーム受信部１５２が受信したＡＣＫフレームのフレームＩＤが「３」でない場合には、ＩＤ期待値比較部１５８は、比較結果が一致しないことをＩＤ期待値更新部１６０に通知する。ＩＤ期待値更新部１６０は、比較結果が一致しない場合には、ＩＤ期待値記憶部１６２に対して、記憶しているＡＣＫ＿ＩＤ期待値を更新する指示を出力しない。
【００３１】
ＩＤ期待値比較部１５８は、比較結果をフレーム受信部１５２に通知してよい。再送制御部１３６は、フレーム受信部１５２経由で受け取ったＩＤ期待値比較部１５８による比較結果に基づいて、再送制御をしてよい。
【００３２】
制御部２０は、データ線２０２により送信データメモリ１２８に接続されると共に、制御線２０４によりアドレス制御部１４０に接続される。同様に、制御部２０は、データ線２０６により受信データメモリ１５４に接続されると共に、制御線２０８によりアドレス制御部１６４に接続される。制御部２０は、データ線２０２を経由して、送信するデータを送信データメモリ１２８に書き込んでよい。また、制御部２０は、データ線２０６を経由して、受信データメモリ１５４が記憶する受信データを読み出してよい。
【００３３】
以下、データ送信部１２０の動作の詳細を説明する。送信データメモリ１２８は、送信する伝送データを格納するメモリである。送信データメモリ１２８は、複数のアドレスを有する。送信データメモリ１２８は、制御部２０から与えられる伝送データを、書き込み可能なアドレスに書き込み、且つ、アドレス制御部１４０が出力する読出アドレスにより指定されるアドレスの伝送データを出力する。送信データメモリ１２８は、デュアルポートメモリであってよい。送信データメモリ１２８は、アドレス制御部１４０が出力する書込アドレスに、伝送データを書き込むと同時に、アドレス制御部１４０が出力する読出アドレスから、伝送データを読み出してよい。
【００３４】
ＤＡＴフレーム送信部１３０は、送信データメモリ１２８から読み出した伝送データをシリアルデータに変換する。また、ＤＡＴフレーム送信部１３０は、再送制御部１３６の指示に基づいて、送信データメモリ１２８から読み出した伝送データにフレームＩＤを付した上で、所定のＤＡＴフレームを生成する。ＤＡＴフレーム送信部１３０は、ＤＡＴフレームにＦＣＳ（フレームチェックシーケンス）符号をさらに付してよい。ＤＡＴフレーム送信部１３０は、生成したＤＡＴフレームをマルチプレクサ１３４に出力してよい。
【００３５】
受信通知部１３２は、送受信部２００から伝送データを受け取った場合に、当該伝送データを受け取った旨のＡＣＫフレームを生成して、マルチプレクサ１３４に出力する。受信通知部１３２は、送受信部２００から再度受け取ったＤＡＴフレームに対しても、送受信部２００にＡＣＫフレームを送信してよい。つまり、受信通知部１３２は、送受信部２００から複数の同じＤＡＴフレームを受信した場合には、それぞれのＤＡＴフレームに対するＡＣＫフレームを送信してよい。マルチプレクサ１３４は、ＤＡＴフレーム送信部１３０が出力するＤＡＴフレーム、または、受信通知部１３２が出力するＡＣＫフレームを、送受信部２００に対して送信してよい。
【００３６】
再送制御部１３６は、送受信部２００に対して送信するＤＡＴフレームの送信順序を制御する。再送制御部１３６は、送受信部２００に対して送信するＤＡＴフレームのフレームＩＤをＤＡＴフレーム送信部１３０に通知してよい。
【００３７】
また、再送制御部１３６は、送受信部２００に送信したＤＡＴフレームに対して受信するＡＣＫフレームで示される伝送データの受信順序が、予め定められた順序と異なる場合に、予め定められた順序が受信順序と異なることとなった伝送データから、再送する制御を行う。再送制御部１３６は、再送すべきＤＡＴフレームのフレームＩＤをＤＡＴフレーム送信部１３０に通知することにより、ＤＡＴフレームの再送をしてよい。
【００３８】
例えば、送受信部１００が送受信部２００に対して順次送信したＤＡＴフレームのフレームＩＤが、それぞれ「１」、「２」、「３」、「４」、「５」であるとする。この場合に、送受信部１００が送受信部２００から受信したＡＣＫフレームが示すフレームＩＤが「１」、「２」、「４」、「５」であるならば、フレームＩＤが「３」となるべきところで、ＡＣＫフレームが示すフレームＩＤが「４」となり、予め定められた順序と異なるフレームＩＤを受信している。そこで、再送制御部１３６は、フレームＩＤが「３」のＤＡＴフレーム（以下、「フレームＩＤ３」と称する。）から再送してよい。
【００３９】
また、再送制御部１３６は、データ送信部１２０が、次に送信すべき伝送データを与えられていない場合に、次に送信すべき伝送データがデータ送信部１２０に与えられるまで、直前に送信した伝送データを送受信部２００に再送させ続けるべく、ＤＡＴフレーム送信部１３０を制御してよい。例えば、ＤＡＴフレーム送信部１３０は、フレームＩＤが「１」、「２」、「３」、「３」、「３」となるＤＡＴフレームを順次送信してよい。
【００４０】
再送制御部１３６は、ＡＣＫフレームにより示されるＤＡＴフレームの受信順序が予め定められた順序と異なり、且つ、ＡＣＫフレームに対応するＤＡＴフレームが、ＡＣＫ＿ＩＤ期待値に対応するＤＡＴフレームと一致しないと判断した場合に、ＤＡＴフレームを再送する。再送制御部１３６は、ＤＡＴフレームを再送する場合には、当該ＤＡＴフレームが再送フレームであることを示す、再送カウント情報を付してＤＡＴフレームを送信するべく、ＤＡＴフレーム送信部１３０を制御してよい。例えば、ＤＡＴフレームを初めて送信する場合には、再送カウント情報を「０」として、ＤＡＴフレームを再送する場合には、再送カウント情報を「１」としてよい。受信通知部１３２は、再送カウント情報が付されたＤＡＴフレームを受信すると、当該再送カウント情報を付してＡＣＫフレームを送信してよい。
【００４１】
再送制御部１３６は、受信したＡＣＫフレームに含まれる、再送カウント情報およびフレームＩＤに基づいて、再送制御をしてよい。例えば、再送制御部１３６は、受信したＡＣＫフレームに含まれるフレームＩＤが、直前に受信したＡＣＫフレームに含まれるフレームＩＤを１インクリメントした値であれば、再送を行わないでよい。
【００４２】
再送制御部１３６は、送受信部２００が受信したＤＡＴフレームの受信順序が、予め定められた順序と異なる場合であっても、送受信部２００から受信したＡＣＫフレームに含まれる再送カウント情報が再送のデータである旨を示しており、かつ、ＡＣＫフレームに付されたフレームＩＤが確認ＩＤ期待値（以下、ＡＣＫ＿ＩＤ期待値）と一致するならば、ＤＡＴフレームの再送を行わないでよい。例えば、予め定められたフレームＩＤの順序が、「１」、「２」、「３」、「４」、「５」である場合に、送受信部１００が送受信部２００から受信したＡＣＫフレームが示すフレームＩＤが「１」、「２」、「４」、「５」であるとする。フレームＩＤ「４」を示すＡＣＫフレーム（以下、「ＡＣＫフレーム４」と称する。）は、連続しない順序で受信されており、フレームＩＤ「３」が飛び番号になっている。
【００４３】
この場合に、受信したＡＣＫフレーム４に付されている再送カウント情報が、再送フレームであることを示す「１」であり、かつ、フレームＩＤ「４」が、ＩＤ期待値記憶部１６２に格納されている確認ＩＤ期待値「４」と一致しているならば、再送制御部１３６は、再送したＤＡＴフレーム４が、送受信部２００に正常に届いたと判断してよい。この場合には、再送制御部１３６は、ＤＡＴフレーム４を再送しなくてよい。
【００４４】
これに対して、再送制御部１３６は、ＡＣＫフレームに示される伝送データの受信順序が、予め定められた順序と異なる場合において、ＡＣＫフレームに付されたフレームＩＤが、ＩＤ期待値記憶部１６２に記憶されたＡＣＫ＿ＩＤ期待値と一致しない場合に、伝送データの再送を行うと判断してよい。例えば、予め定められたフレームＩＤの順序が、「１」、「２」、「３」、「４」、「５」であるのに対して、ＡＣＫフレームが示すフレームＩＤが「１」、「２」、「４」、「５」であるとする。この場合、ＡＣＫフレーム４において、予め定められた順序と異なっており、フレームＩＤ「３」が飛び番号になっている。ここで、ＩＤ期待値記憶部１６２が、ＡＣＫ＿ＩＤ期待値として「３」を記憶している場合には、再送制御部１３６は、受信したＡＣＫフレーム４が示すフレームＩＤ「４」は、ＡＣＫ＿ＩＤ期待値「３」と異なる。従って、再送制御部１３６は、ＤＡＴフレーム３の再送が必要であると判断してよい。
【００４５】
再送カウント情報は、ＤＡＴフレームを再送した回数を示す情報であってもよい。再送カウント情報が再送回数を示すことにより、同一のＤＡＴフレームのデータ誤りが複数回発生した場合にも、再送することができる。
【００４６】
具体的には、送受信部１００が送受信部２００に対して順次送信したＤＡＴフレームのフレームＩＤが、「１」、「２」、「３」、「２Ｒ」、「３Ｒ」であるとする。ここで、「２Ｒ」、「３Ｒ」は、それぞれ、フレームＩＤ「２」、「３」を有するＤＡＴフレームの再送フレームであることを示す。この場合において、送受信部１００が送受信部２００から受信したＡＣＫフレームが示すフレームＩＤが「１」、「２」、「３」、「３Ｒ」であるならば、再送制御部１３６は、送受信部２００における受信順序が、予め定められた順序である「１」、「２」、「３」、「２Ｒ」、「３Ｒ」と異なると判断する。さらに、再送制御部１３６は、受信したフレーム３ＲのフレームＩＤ「３」は、ＡＣＫ＿ＩＤ期待値に一致しないと判断して、ＤＡＴフレーム２を再送してよい。再送情報管理部１３８は、ＤＡＴフレーム２の２回目の再送が行われたので、ＤＡＴフレーム２の再送カウント情報を「２」に更新してよい。
【００４７】
再送制御部１３６は、ＡＣＫ＿ＩＤ期待値に対応するＤＡＴフレームを受信した旨のＡＣＫフレームを送受信部１００が受け取った場合に、再送情報管理部１３８が記憶する再送カウント情報に示される再送回数を初期値にリセットしてよい。例えば、データ送信部１２０が送受信部２００に対して、再送カウント情報を「２」としたフレームＩＤ「３」のＤＡＴフレームを再送したとする。この場合に、送受信部１００が、送受信部２００からＡＣＫフレーム３Ｒを受信すれば、受信したＡＣＫフレーム３Ｒに含まれるフレームＩＤ「３」がＡＣＫ＿ＩＤ期待値「３」に一致するので、送受信部１００は、送受信部２００に当該ＤＡＴフレームが正常に受信されたと判断してよい。そこで、再送制御部１３６は、再送カウント情報をリセットして、「０」としてよい。
【００４８】
なお、送受信部１００は、受信したＡＣＫフレームに含まれる再送カウント情報に示される再送回数が、予め定められた閾値を超えた場合に、ＤＡＴフレームの伝送を停止してもよい。送受信部１００は、再送回数が所定の回数を超える場合には、ＤＡＴフレームの送信を中止した上で、制御部２０に対して、その旨を通知してよい。
【００４９】
アドレス制御部１４０は、送受信部２００から受信したＡＣＫフレームの受信順序が、予め定められた順序と一致する場合に、当該ＡＣＫフレームに対応するＤＡＴフレームで送信した伝送データが格納された送信データメモリ１２８のアドレスを、書き込み可能なアドレスとして制御してよい。つまり、送信データメモリ１２８に格納されている送信データが、送受信部２００により受信されたことが確認されると、アドレス制御部１４０は、当該送信データが格納されていたアドレスに、異なるデータを書き込んでよい。
【００５０】
フレーム受信部１５２は、受け取ったＤＡＴフレームのフレームＩＤが、予め定められた規則により定まるフレームＩＤと異なる場合に、受信データメモリ１５４への受信データの出力を停止する。フレーム受信部１５２は、予め定められた規則により定まるフレームＩＤが付されたＤＡＴフレームを受け取った場合に、受信データメモリ１５４への受信データの出力を再開してよい。また、フレーム受信部１５２は、受信通知部１３２が送信したＡＣＫフレームのフレームＩＤと同一のフレームＩＤを有するＤＡＴフレームを再度受け取った場合に、再度受け取ったＤＡＴフレームを破棄してよい。
【００５１】
さらに、フレーム受信部１５２は、受信したＤＡＴフレームのフレームＩＤがＤＡＴ＿ＩＤ期待値と異なるという通知を、ＩＤ期待値比較部１５８から受けた場合には、受信したデータを受信データメモリ１５４に出力することなく、破棄してよい。また、フレーム受信部１５２は、受信したＤＡＴフレームのフレームＩＤがＤＡＴ＿ＩＤ期待値と一致するという通知を、ＩＤ期待値比較部１５８から受けた場合には、受信データを受信データメモリ１５４に対して出力してよい。
【００５２】
受信データメモリ１５４は、受信したデータを格納するバッファである。受信データメモリ１５４は、デュアルポートメモリであってよい。受信データメモリ１５４は、フレーム受信部１５２が出力するデータを、アドレス制御部１６４が出力する書込アドレスに書き込んでよい。また、受信データメモリ１５４は、アドレス制御部１６４が出力する読出アドレスに格納されているデータを、制御部２０に対して出力してよい。シリアル伝送部４０は、受信データメモリ１５４に格納された受信データを読み出してよい。
【００５３】
図３は、本実施形態に係る受信側の送受信部２００の構成を示す。送受信部２００は、データ送信部２２０およびデータ受信部２５０を有する。データ送信部２２０は、送信データメモリ２２８、ＤＡＴフレーム送信部２３０、マルチプレクサ２３４、受信通知部２３２、再送制御部２３６、再送情報管理部２３８、および、アドレス制御部２４０を有する。データ受信部２５０は、フレーム受信部２５２、受信データメモリ２５４、ＩＤ期待値比較部２５８、ＩＤ期待値更新部２６０、ＩＤ期待値記憶部２６２、および、アドレス制御部２６４を有する。送受信部１００および送受信部２００の対応する構成要素は、同一の機能を有してよい。
【００５４】
マルチプレクサ２３４およびフレーム受信部２５２は、送受信部１００と接続されて、データを送受信する。送信データメモリ２２８および受信データメモリ２５４は、試験ユニット３０と接続されて、試験データを送受信する。ＤＡＴフレーム送信部２３０は、送信データメモリ２２８から送信するデータを読み出した上で、フレームＩＤを付してＤＡＴフレームを生成する。
【００５５】
受信通知部２３２は、フレーム受信部２５２が受信したＤＡＴフレームに対応するＡＣＫフレームを送信する。再送制御部２３６は、ＤＡＴフレームの送信順序を制御する。ＩＤ期待値更新部２６０は、ＩＤ期待値比較部２５８の比較結果に基づいて、ＩＤ期待値記憶部２６２が記憶するＤＡＴ＿ＩＤ期待値、および、ＡＣＫ＿ＩＤ期待値を更新する。
【００５６】
図４は、送受信部１００および送受信部２００の間で送受信される、ＤＡＴフレームおよびＡＣＫフレームのフレーム構成を示す。フレームコードには、ＤＡＴフレームとＡＣＫフレームとを区別するためのフレーム種別を示す情報、および、再送カウント情報を含んでよい。
【００５７】
フレームＩＤには、ＤＡＴフレームおよびＡＣＫフレームを識別する番号情報が格納される。送受信部１００および送受信部２００が再送制御をする場合には、フレームＩＤを参照する。フレーム長には、送信するフレームのデータ長が格納される。送受信部１００および送受信部２００は、受信したデータの長さが、フレーム長が示す値と一致しない場合には、受信データにエラーが生じていると判断してよい。
【００５８】
コマンド０〜２には、送受信部１００および送受信部２００が、データを送信する相手に通知したい制御情報が格納される。例えば、受信したデータにエラーが生じていた場合には、再送を要求するコマンドを格納してよい。アドレス０〜アドレス２には、送信先のアドレスを格納してよい。複数の相手と通信をする場合には、それぞれの相手に指定されたアドレスを格納して送信してよい。例えば、送受信部１００が送受信部２００に対して送信する場合には、アドレス０〜アドレス２に、「２００」に相当する値を格納してよい。
【００５９】
データ０〜データｎには、送信するデータを格納する。データ長は可変であってよい。ＦＣＳは、伝送媒体４２において生じた誤りを検出することを目的とするフレームチェックシーケンスである。
【００６０】
図５は、送受信部１００から送受信部２００への伝送データの送信における、正常時のシーケンスを示す。データ送信側である送受信部１００は、ＤＡＴフレームを送受信部２００に対して送信すると共に、送受信部２００からＡＣＫフレームを受信する。「ＡＣＫ＿ＩＤ期待値」は、送信したＤＡＴフレームに対して受信するＡＣＫフレームのフレームＩＤの期待値であり、ＩＤ期待値記憶部１６２に格納されている。
【００６１】
データ受信側である送受信部２００は、ＤＡＴフレームを送受信部１００から受信すると共に、送受信部１００に対してＡＣＫフレームを送信する。「ＤＡＴ＿ＩＤ期待値」は、送受信部２００が受信するＤＡＴフレームのフレームＩＤの期待値であり、ＩＤ期待値記憶部２６２に格納されている。
【００６２】
例えば、Ｓ１０１において、送受信部１００はＤＡＴフレーム１を送信する。送受信部２００は、ＤＡＴフレーム１を受信し（Ｓ２０１）、ＡＣＫフレーム１を送受信部１００に対して送信する（Ｓ３０１）。この場合、受信したＤＡＴフレーム１のフレームＩＤである「１」は、ＤＡＴ＿ＩＤ期待値「１」と一致するので、フレーム受信部２５２は、受信データメモリ２５４に対してデータを出力してよい。また、ＩＤ期待値更新部２６０は、ＩＤ期待値記憶部２６２が記憶するＤＡＴ＿ＩＤ期待値を１だけインクリメントしてよい。
【００６３】
送受信部１００は、送受信部２００が送信したＡＣＫフレーム１を受信する（Ｓ４０１）。ＡＣＫフレーム１に付されているフレームＩＤは「１」であるので、ＩＤ期待値記憶部１６２に格納されているＡＣＫ＿ＩＤ期待値である「１」と一致する。従って、フレーム受信部２５２は、送受信部２００がＤＡＴフレーム１を正常に受信したと判断してよい。また、ＩＤ期待値更新部１６０は、ＩＤ期待値記憶部１６２が記憶するＡＣＫ＿ＩＤ期待値を１だけインクリメントしてよい。
【００６４】
送受信部１００は、ＤＡＴフレーム１に続いて、ＤＡＴフレーム２およびＤＡＴフレーム３を送信する。送受信部１００は、制御部２０からＤＡＴフレーム３に続く送信データを受け取っていないので、ＤＡＴフレーム３を送信した後も、ＤＡＴフレーム３Ｒを継続して送信する（Ｓ１０４〜Ｓ１０９）。なお、ＤＡＴフレーム３Ｒは、フレームＩＤが「３」であるＤＡＴフレームの再送フレームである。送受信部１００は、ＤＡＴフレーム３に対するＡＣＫフレーム３を受信すると（Ｓ４０３）、送受信部２００がＤＡＴフレーム３を正常に受信したと判断して、ＤＡＴフレーム３の送信を停止してよい（Ｓ１１０）。
【００６５】
図６は、送受信部１００から送受信部２００への伝送データの送信における、エラー発生時のシーケンスを示す。同図においては、送受信部１００が送信したＤＡＴフレーム３が伝送媒体４２において消失したと仮定している（Ｓ６０３）。送受信部２００は、ＤＡＴフレーム３を受信できないので、ＡＣＫフレーム３を送信しない。従って、送受信部１００は、Ｓ８０２においてＡＣＫフレーム２を受信した後に、ＡＣＫフレーム３を受信できない。
【００６６】
送受信部１００は、ＤＡＴフレーム３の送信後、Ｓ５０４〜Ｓ５１０においてＤＡＴフレーム３Ｒを再送する。これに対して、送受信部２００は、再送されたＤＡＴフレーム３Ｒを受信する（Ｓ６０４）。送受信部２００は、受信したＤＡＴフレーム３ＲのフレームＩＤを格納したＡＣＫフレーム３Ｒを送信する（Ｓ７０５）。
【００６７】
また、送受信部２００は、受信したＤＡＴフレーム３ＲのフレームＩＤ「３」が、ＩＤ期待値記憶部２６２に記憶されているＤＡＴ＿ＩＤ期待値「３」と一致するので、受信したデータを受信データメモリ２５４に出力してよい。さらに、ＩＤ期待値更新部２６０は、ＩＤ期待値記憶部２６２が記憶しているＤＡＴ＿ＩＤ期待値を１だけインクリメントしてよい。フレーム受信部２５２は、Ｓ６０５以降に受信するＤＡＴフレーム３Ｒを破棄してよい。
【００６８】
送受信部１００は、送受信部２００が送信したＡＣＫフレーム３Ｒを受信する（Ｓ８０４）。送受信部１００は、ＤＡＴフレーム３が送受信部２００に正常に届いたと判断し、ＤＡＴフレーム３Ｒの送信を停止してよい。以上のように、送信すべきデータがない場合に、直前に送信したＤＡＴフレームを連続して再送することにより、伝送媒体４２においてエラーが生じた場合でも、送受信部２００は、エラーが生じたＤＡＴフレームを、速やかに受信することができる。
【００６９】
図７ないし図１２は、送受信部１００から送受信部２００への伝送データの送信において、エラーが生じた場合のシーケンスの例を示す。なお、図７ないし図１２の各図に示したシーケンスは、各図の順序に従って連続して行われる。
【００７０】
同図において、「再送カウント情報Ａ」は、送受信部１００が受信したＡＣＫフレームに含まれている再送カウント情報を示す。「再送カウント情報Ｄ」は、送受信部１００が送信したＤＡＴフレームに含まれている再送カウント情報を示す。初期状態では、再送カウント情報Ａおよび再送カウント情報Ｄは、共に、「０」である。また、「Ｉｄｌｅ」は、フレームの送受信が行われていない状態を示す。
【００７１】
以下、図７ないし図１２に示すシーケンスに沿って、再送カウント情報、ＤＡＴ＿ＩＤ期待値、および、ＡＣＫ＿ＩＤ期待値等に基づく再送制御の詳細について説明する。図７においては、送受信部１００が送信したＤＡＴフレーム２が伝送媒体４２において消失したと仮定している（Ｓ９０１）。この場合、送受信部１００においては、ＡＣＫフレーム１を受信した後で、ＡＣＫフレーム３を受信する（Ｓ９０２）。フレーム受信部１５２は、受信したＡＣＫフレームに含まれるフレームＩＤおよび再送カウント情報Ａを、再送制御部１３６に出力する。
【００７２】
再送制御部１３６は、受信したＡＣＫフレームの順序が予め定めた順序でなく、かつ、直前に受信したＡＣＫフレーム内の再送カウント情報Ａに対して、当該ＡＣＫフレーム内の再送カウント情報Ａがインクリメントしていない場合には、送信したＤＡＴフレームが消失したと判断してよい。例えば、Ｓ９０２においては、ＡＣＫ＿ＩＤ期待値が「２」であるにもかかわらず、受信したＡＣＫフレームのフレームＩＤが「３」であり、かつ、ＡＣＫフレーム１に対してＡＣＫフレーム３に格納されている再送カウント情報Ａがインクリメントされていない。従って、再送制御部１３６は、ＤＡＴフレーム２が送受信部２００に届かなかったと判断して、ＤＡＴフレーム２を再送してよい。
【００７３】
再送制御部１３６は、再送情報管理部１３８が記憶している再送カウント情報Ｄを読み出し、ＤＡＴフレーム２の再送カウント情報が「０」であることを認識する。そこで、再送制御部１３６は、再送情報管理部１３８が管理する再送カウント情報Ｄを「１」に更新してよい。
【００７４】
続いて、再送制御部１３６は、ＤＡＴフレーム送信部１３０に対して再送カウント情報Ｄを「１」として、ＤＡＴフレーム２を送信することを通知する。さらに、再送制御部１３６は、アドレス制御部１４０に対して、ＤＡＴフレーム２が格納されている読み出しアドレスを出力することを指示する。ＤＡＴフレーム送信部１３０は、送信データメモリ１２８に格納されているＤＡＴフレーム２のデータを読み出した上で、再送カウント情報Ｄを「１」として、送受信部２００に対してＤＡＴフレーム２を再送する（Ｓ９０３）。
【００７５】
図８においては、送受信部１００が再送したＤＡＴフレーム２が、再び伝送媒体４２において消失したと仮定している（Ｓ９１１）。この場合、送受信部１００は、再送カウント情報Ａが「０」のＡＣＫフレーム４Ｒを受信した後で、再送カウント情報Ａが「１」のＡＣＫフレーム３を受信する（Ｓ９１２）。
【００７６】
再送制御部１３６は、受信したＡＣＫフレーム内の再送カウント情報Ａが、直前に受信したＡＣＫフレーム内の再送カウント情報Ａに対してインクリメントされていると共に、受信したＡＣＫフレーム内のフレームＩＤが、ＡＣＫ＿ＩＤ期待値と異なる場合には、送信したＤＡＴフレームが消失したと判断してよい。例えば、Ｓ９１２においては、受信したＡＣＫフレーム３内の再送カウント情報Ａは「１」であり、直前に受信したＡＣＫフレーム４Ｒ内の再送カウント情報Ａの「０」に対してインクリメントされている。また、ＡＣＫフレーム３のフレームＩＤ「３」は、ＡＣＫ＿ＩＤ期待値「２」に一致しない。従って、再送制御部１３６は、再送したＡＣＫフレーム２が送受信部２００に届かなかったと判断してよい。再送制御部１３６は、再送カウント情報Ｄを「２」とするＤＡＴフレーム２を送受信部２００に対して送信するべくＤＡＴフレーム送信部１３０およびアドレス制御部１４０を制御してよい（Ｓ９１３）。
【００７７】
図９においては、送受信部２００は、２回目の再送が行われたＤＡＴフレーム２を受信する。送受信部２００は、受信したＤＡＴフレーム２のフレームＩＤ「２」が、ＤＡＴ＿ＩＤ期待値「２」と一致するので、受信データを受信データメモリ２５４に出力してよい。また、送受信部２００は、ＩＤ期待値記憶部２６２が記憶するＤＡＴ＿ＩＤ期待値をインクリメントしてよい（Ｓ９２１）。
【００７８】
送受信部１００は、送受信部２００が送信するＡＣＫフレーム２を受信する（Ｓ９２２）。再送制御部１３６は、受信したＡＣＫフレーム内の再送カウント情報Ａが、直前に受信したＡＣＫフレーム内の再送カウント情報Ａに対してインクリメントされており、かつ、受信したＡＣＫフレームのフレームＩＤが、ＡＣＫ＿ＩＤ期待値と一致する場合には、再送したフレームが送受信部２００に正常に届いたと判断してよい。
【００７９】
例えば、Ｓ９２２においては、ＡＣＫフレーム２の前に受信したＡＣＫフレーム４Ｒの再送カウント情報Ａが「１」であるのに対して、ＡＣＫフレーム２内の再送カウント情報Ａは「２」である。また、ＡＣＫフレーム２のフレームＩＤ「２」は、ＡＣＫ＿ＩＤ期待値「２」と一致する。従って、再送制御部１３６は、再送したＤＡＴフレーム２が、正常に送受信部２００に届いたと判断してよい。再送制御部１３６は、再送フレームが正常に送受信部２００に届いたと判断すると、再送情報管理部１３８が管理する再送カウント情報Ｄをリセットして「０」に更新してよい（Ｓ９２３）。
【００８０】
ここで、送受信部１００が送信したＤＡＴフレーム４が、伝送媒体４２において消失したと仮定する（Ｓ９２４）。この場合には、図１０に示すように、送受信部１００は、ＡＣＫフレーム３に続いてＡＣＫフレーム５を受信するので、再送制御部１３６はＡＣＫフレーム４が消失したと判断する（Ｓ９３１）。そこで、再送制御部１３６は、再送カウント情報Ｄを「１」としてＤＡＴフレーム４を再送するべく、ＤＡＴフレーム送信部１３０およびアドレス制御部１４０を制御する（Ｓ９３２）。
【００８１】
送受信部２００は、再送されたＤＡＴフレーム４を受信する。受信したＤＡＴフレーム４のフレームＩＤは、ＤＡＴ＿ＩＤ期待値「４」に一致する。そこで、送受信部２００は、受信データを受信データメモリ２５４に出力した上で、ＩＤ期待値記憶部２６２が記憶するＤＡＴ＿ＩＤ期待値を「５」に更新する（Ｓ９３３）。
【００８２】
送受信部１００は、Ｓ９３４において、再送カウント情報Ａが「２」のＡＣＫフレーム６Ｒと再送カウント情報Ａが「０」のＡＣＫフレーム６Ｒとを受信する。受信したＡＣＫフレーム６ＲのフレームＩＤは、ＡＣＫ＿ＩＤ期待値と異なる。この場合も、再送制御部１３６は、受信したＡＣＫフレームに含まれている再送カウント情報Ａがインクリメントされておらず、かつ、受信したＡＣＫフレームのフレームＩＤが直前に受信したＡＣＫフレームのフレームＩＤと同一であれば、エラーが発生したと判断しないでよい。
【００８３】
図１１において、送受信部１００は、ＡＣＫフレーム４を受信する（Ｓ９４１）。受信したＡＣＫフレーム４は、再送カウント情報Ａがインクリメントされると共に、ＡＣＫ＿ＩＤ期待値と一致している。従って、再送制御部１３６は、Ｓ９３２において再送したＤＡＴフレーム４が正常に送受信部２００に届いたと判断してよい。そこで、再送制御部１３６は、再送カウント情報Ｄをリセットして「０」にした上で、ＤＡＴフレーム７を送信するべく、ＤＡＴフレーム送信部１３０およびアドレス制御部１４０を制御してよい（Ｓ９４２）。
【００８４】
ここで、送受信部１００が送信したＤＡＴフレーム７が、伝送媒体４２において消失したと仮定する（Ｓ９４３）。すると、送受信部１００は、図１２のＳ９５１において、ＡＣＫフレーム６Ｒに続いてＡＣＫフレーム７Ｒを受信する。受信したＡＣＫフレーム７Ｒの再送カウント情報Ａは「０」であり、直前に受信したＡＣＫフレーム６Ｒの再送カウント情報Ａの「１」からディクリメントされている。また、ＡＣＫフレーム７ＲのフレームＩＤ「７」は、ＡＣＫ＿ＩＤ期待値と一致する。
【００８５】
従って、再送制御部１３６は、ＤＡＴフレーム７が送受信部２００に正常に届いたと判断してよい。このように、送受信部１００は、送るべきデータがない場合に、同一のフレームを連続して送信することにより、送信したＤＡＴフレームが消失しても、当該ＤＡＴフレームを再送することなく、送信すべきデータを送受信部２００に届けることができる。
【００８６】
図１３は、送受信部１００の第２の構成を示す。アドレス制御部１４０は、書込アドレスポインタ管理部１４２、読出アドレスポインタ管理部１４４、および、メモリ管理部１４６を有する。また、アドレス制御部１６４は、書込アドレスポインタ管理部１６６、読出アドレスポインタ管理部１６８、および、メモリ管理部１７０を有する。
【００８７】
書込アドレスポインタ管理部１４２は、制御部２０が送信データメモリ１２８にデータを書き込むアドレスを示す、書込アドレスポインタを管理する。書込アドレスポインタ管理部１４２は、送信データメモリ１２８の書き込みアドレスを、フレーム単位で管理してよい。例えば、制御部２０が１フレーム分のデータを書き込むごとに、書込アドレスポインタを加算してよい。
【００８８】
読出アドレスポインタ管理部１４４は、ＤＡＴフレーム送信部１３０が送信データメモリ１２８からデータを読み出すアドレスを示す、読出アドレスポインタを管理する。読出アドレスポインタ管理部１４４は、送信データメモリ１２８の読み出しアドレスを、フレーム単位で管理してよい。例えば、ＤＡＴフレーム送信部１３０が１フレーム分のデータを読み出すごとに、読出アドレスポインタを加算してよい。
【００８９】
アドレス制御部１６４は、書込アドレスポインタ管理部１６６、読出アドレスポインタ管理部１６８、および、メモリ管理部１７０を有する。書込アドレスポインタ管理部１６６は、フレーム受信部１５２が受信データメモリ１５４にデータを書き込むアドレスポインタを管理する。書込アドレスポインタ管理部１６６は、受信データメモリ１５４の書き込みアドレスを、フレーム単位で管理してよい。例えば、フレーム受信部１５２が１フレーム分のデータの書き込むごとに、書込アドレスポインタを加算してよい。
【００９０】
読出アドレスポインタ管理部１６８は、制御部２０が受信データメモリ１５４からデータを読み出すアドレスポインタを管理する。読出アドレスポインタ管理部１６８は、受信データメモリ１５４の読み出しアドレスを、フレーム単位で管理してよい。例えば、制御部２０が１フレーム分のデータを読み出すごとに、読出アドレスポインタを減算してよい。
【００９１】
図１４は、送信データメモリ１２８に伝送データを書き込む場合の、書込アドレスポインタおよび読出アドレスポインタの関係を示す。同図において、Ｃ＿ＷＡＰは、書込アドレスポインタを示す。Ｃ＿ＲＡＰは、読出アドレスポインタを示す。書込アドレスポインタ管理部１４２は、書込アドレスポインタが「読出アドレスポインタが示すアドレス−１」のアドレス、つまり、Ｎ＿ＷＡＰが示すアドレスに到達するまで、書込アドレスポインタを１ずつインクリメントしてよい。また、書込アドレスポインタ管理部１４２は、制御部２０が送信データメモリ１２８に伝送データを書き込んだ場合に、送信データメモリ１２８の書込アドレスをインクリメントすると共に、書込アドレスが所定の最終アドレス値となった場合に、書込アドレスを所定の初期アドレスにループさせてよい。
【００９２】
例えば、同図に示すように、書込アドレスポインタが「３０」であり、読出アドレスポインタが「３」である場合には、書込アドレスポインタ管理部１４２は、制御部２０が書き込む伝送データをアドレス「３０」から書き込むべく制御する。制御部２０が１フレーム分の伝送データをアドレス「３０」に書き込むと、書込アドレスポインタを１だけインクリメントして、「０」にしてよい。そして、書込アドレスポインタ管理部１４２は、書込アドレスポインタが「２」まで到達すると、アドレスのインクリメントを停止してよい。書込アドレスポインタ管理部１４２は、制御部２０に対して、書き込み停止信号を出力してよい。
【００９３】
なお、書込アドレスポインタ管理部１４２は、書込アドレスポインタから、最大で「アドレス数−１」の数に相当するフレーム分の伝送データを連続して書き込むべく、アドレスを制御してよい。本例においては、送信データメモリ１２８は３１のアドレスを有するので、ＤＡＴフレーム送信部１３０は、３０フレーム分の伝送データを読み出してよい。
【００９４】
図１５は、送信データメモリ１２８から伝送データを読み出す場合の、書込アドレスポインタおよび読出アドレスポインタの関係を示す。同図において、Ｃ＿ＷＡＰは、書込アドレスポインタの位置であり、次のフレームの伝送データを書き込むアドレスを示す。Ｃ＿ＲＡＰは読出アドレスポインタの位置を示す。読出アドレスポインタ管理部１４４は、読出アドレスポインタが「書込アドレスポインタが示すアドレス−１」のアドレス、つまり、Ｎ＿ＲＡＰが示すアドレスに到達するまで、読出アドレスポインタを１ずつインクリメントしてよい。
【００９５】
また、読出アドレスポインタ管理部１４４は、ＤＡＴフレーム送信部１３０が送信データメモリ１２８から伝送データを読み出した場合に、送信データメモリ１２８の読出アドレスをインクリメントすると共に、読出アドレスが所定の最終アドレス値となった場合に、読出アドレスを所定の初期アドレスにループさせてよい。例えば、書込アドレスポインタが「２」であり、読出アドレスポインタが「３」である場合には、読出アドレスポインタ管理部１４４は、ＤＡＴフレーム送信部１３０が１フレーム分の伝送データを読み出すごとに、読出アドレスポインタを１ずつインクリメントしてよい。そして、読出アドレスポインタ管理部１４４は、読出アドレスポインタが「３０」に到達すると、次は「０」に戻り、読出アドレスポインタが「２」に到達するまで継続してよい。
【００９６】
なお、読出アドレスポインタ管理部１４４は、読出アドレスポインタから、最大で「アドレス数−１」の数に相当するフレーム分の伝送データを連続して読み出すべく、アドレスを制御してよい。本例においては、送信データメモリ１２８は３１個のアドレスを有するので、ＤＡＴフレーム送信部１３０は、３０フレーム分の伝送データを読み出してよい。
【００９７】
メモリ管理部１４６は、送信データメモリ１２８が格納している、送受信部２００が受信していない未受信の伝送データの個数を管理する。メモリ管理部１４６は、受信したＡＣＫフレームにより示される、送受信部２００におけるＤＡＴフレームの受信順序が、予め定められた順序と一致する場合に、未受信の伝送データの個数から所定値を減じてよい。例えば、メモリ管理部１４６が管理している未受信の伝送データの個数が「５」であるとする。この場合に、メモリ管理部１４６は、再送制御部１３６からの通知により、送受信部２００に対して１フレームが正常に届いたことを認識すると、未受信の伝送データの個数を「４」としてよい。
【００９８】
書込アドレスポインタ管理部１４２は、メモリ管理部１４６が管理する未受信の伝送データの個数が、送信データメモリ１２８のアドレス数に応じた数になるまで、書込アドレスをインクリメントしてよい。例えば、送信データメモリ１２８が３１フレーム分のアドレスを有している場合には、送受信部２００が受信していないＤＡＴフレームの個数が「３１」に到達するまでは、書込アドレスを１ずつ加算してよい。
【００９９】
書込アドレスポインタ管理部１４２および読出アドレスポインタ管理部１４４は、書込アドレスおよび読出アドレスが一致しないように、書込アドレスおよび読出アドレスを制御してよい。例えば、書込アドレスポインタが「１０」であり、読出アドレスポインタが「５」である場合には、読み出し可能な伝送データは、アドレス「５」からアドレス「９」に格納されている。そこで、読出アドレスポインタ管理部１４４は、ＤＡＴフレーム送信部１３０から読み出し信号を受信した場合に、アドレス「５」からアドレス「９」までは順次アドレスを変化させると共に、アドレス「１０」以上のアドレスを出力しないように制御してよい。
【０１００】
同様に、読出アドレスが「１０」であり、書込アドレスが「５」である場合には、ＤＡＴフレーム送信部１３０は、アドレス「５」からアドレス「９」に格納されている伝送データを既に送信している。従って、書込アドレスポインタ管理部１４２は、シリアル伝送部４０から書込み信号を受信した場合に、アドレス「５」からアドレス「９」までは順次アドレスを変化させると共に、アドレス「１０」以上のアドレスを出力しないように制御してよい。
【０１０１】
ここで、送受信部２００で未受信の伝送データ数が、送信データメモリ１２８のアドレス数を上回る場合には、送受信部２００に送信するべき伝送データが消失してしまう。そこで、書込アドレスポインタ管理部１４２は、送受信部２００が未受信の伝送データを保管しておくことができるように制御することが好ましい。例えば、書込アドレスポインタ管理部１４２は、メモリ管理部１４６が管理する未受信の伝送データの個数が、送信データメモリ１２８のアドレス数より１少ない数になるまで、書込アドレスをインクリメントしてよい。
【０１０２】
図１６は、第２の実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、及びＣＤ−ＲＯＭドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【０１０３】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【０１０４】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ２０６０は、ＣＤ−ＲＯＭ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【０１０５】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、及び／又は、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【０１０６】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【０１０７】
コンピュータ１９００にインストールされ、コンピュータ１９００を半導体試験装置１０として機能させるプログラムは、コンピュータ１９００を、制御部２０、試験ユニット３０、および、シリアル伝送部４０として機能させる。当該プログラムは、コンピュータ１９００に、送信側において、予め定められた順序で複数の伝送データを送信させるデータ送信モジュールと、受信側において伝送データを受け取った場合に、当該伝送データを受け取った旨の確認信号を送信側に送信させる受信通知モジュールと、確認信号で示される伝送データの受信順序が、予め定められた順序と異なる場合に、予め定められた順序が受信順序と異なることとなった伝送データから、伝送データが再送のデータであるか否かを示す再送カウント情報を付して受信側に再送させる再送制御モジュールと、送信側で受け取った確認信号に付されるべき識別データを示す確認ＩＤ期待値を記憶する確認ＩＤ期待値記憶モジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、半導体試験装置１０としてそれぞれ機能させる。
【０１０８】
これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段であるＤＡＴフレーム送信部１３０、受信通知部１３２、再送制御部１３６、および、再送情報管理部１３８として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の半導体試験装置１０が構築される。
【０１０９】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、フレキシブルディスク２０９０、又はＣＤ−ＲＯＭ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置又は通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【０１１０】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０（ＣＤ−ＲＯＭ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。
【０１１１】
このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、及び／又は記憶装置に含まれるものとする。
【０１１２】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【０１１３】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【０１１４】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５の他に、ＤＶＤ又はＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【０１１５】
以上、本発明の一側面を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることができる。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
【０１１６】
請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【０１１７】
上記説明から明らかなように、本発明の一実施形態によれば、半導体試験装置におけるデータ送信において、再送カウント情報および確認ＩＤ期待値に基づいて再送制御を行うことにより、バッファサイズおよび回路規模を小さくすることができる。
【符号の説明】
【０１１８】
１０  半導体試験装置、２０  制御部、２２  試験制御プログラム、３０  試験ユニット、４０  シリアル伝送部、４２  伝送媒体、５０  被試験デバイス、１００  送受信部、１２０  データ送信部、１２８  送信データメモリ、１３０  ＤＡＴフレーム送信部  １３２  受信通知部、１３４  マルチプレクサ、１３６  再送制御部、１３８  再送情報管理部、１４０  アドレス制御部、１４２  書込アドレスポインタ管理部、１４４  読出アドレスポインタ管理部、１４６  メモリ管理部、１５０  データ受信部、１５２  フレーム受信部、１５４  受信データメモリ、１５８  ＩＤ期待値比較部、１６０  ＩＤ期待値更新部、１６２  ＩＤ期待値記憶部、１６４  アドレス制御部、１６６  書込アドレスポインタ管理部、１６８  読出アドレスポインタ管理部、１７０  メモリ管理部、２００  送受信部、２０２  データ線、２０４  制御線、２０６  データ線、２０８  制御線、２２０  データ送信部、２２８  送信データメモリ、２３０  ＤＡＴフレーム送信部、２３２  受信通知部、２３４  マルチプレクサ、２３６  再送制御部、２３８  再送情報管理部、２４０  アドレス制御部、２５０  データ受信部、２５２  フレーム受信部、２５４  受信データメモリ、２５８  ＩＤ期待値比較部、２６０  ＩＤ期待値更新部、２６２  ＩＤ期待値記憶部、２６４  アドレス制御部、１９００  コンピュータ、２０００  ＣＰＵ、２０１０  ＲＯＭ、２０２０  ＲＡＭ、２０３０  通信インターフェイス、２０４０  ハードディスクドライブ、２０５０  フレキシブルディスク・ドライブ、２０６０  ＣＤ−ＲＯＭドライブ、２０７０  入出力チップ、２０７５  グラフィック・コントローラ、２０８０  表示装置、２０８２  ホスト・コントローラ、２０８４  入出力コントローラ、２０９０  フレキシブルディスク、２０９５  ＣＤ−ＲＯＭ
【図１】
2010070859.tif 000003
【図２】
2010070859.tif 000004
【図３】
2010070859.tif 000005
【図４】
2010070859.tif 000006
【図５】
2010070859.tif 000007
【図６】
2010070859.tif 000008
【図７】
2010070859.tif 000009
【図８】
2010070859.tif 000010
【図９】
2010070859.tif 000011
【図１０】
2010070859.tif 000012
【図１１】
2010070859.tif 000013
【図１２】
2010070859.tif 000014
【図１３】
2010070859.tif 000015
【図１４】
2010070859.tif 000016
【図１５】
2010070859.tif 000017
【図１６】
2010070859.tif 000018
【国際調査報告】
2010070859.tif 000019
2010070859.tif 000020
2010070859.tif 000021
2010070859.tif 000022