(57)【要約】【課題】設計規模を増大させることなく、データ通信におけるクロックとデータのタイミングを適切に調整できるようにする。【解決手段】ネットワークを介して接続される機器とのデータ通信における物理層の処理を行うＰＨＹ部と、設定される遅延量でクロックを遅延させてデータ及びクロックをＰＨＹ部に送信するとともに、ＰＨＹ部とデータを送受信しデータ通信における論理層の処理を行うＭＡＣ部とを有し、ＣＰＵが、クロックの遅延量を変化させてＭＡＣ部によるデータ及びクロックの送信を行わせ、その応答に基づいてデータ通信が正常に行えたか否かを判定し、判定結果から正常なデータ通信を行える遅延量を決定しＭＡＣ部に設定する。【選択図】図１
2016178425.tif 000002
【特許請求の範囲】
【請求項１】
受信したクロックにて受信したデータの信号レベルを判定して該信号レベルを基にしたデータを送信し、ネットワークを介して接続される機器とのデータ通信における物理層の処理を行う物理層部と、
設定される遅延量でクロックをデータの出力タイミングに対して遅延させて前記データ及び前記クロックを前記物理層部に送信するとともに、前記物理層部とデータを送受信し前記データ通信における論理層の処理を行うメディアアクセス制御部と、
前記メディアアクセス制御部での前記クロックの遅延量を制御する制御部とを有し、
前記制御部が、前記クロックの遅延量を変化させて前記メディアアクセス制御部による前記データ及び前記クロックの送信を行わせ、該送信に対する応答に基づいてデータ通信が正常に行えたか否かを判定し、判定結果から正常なデータ通信を行える前記遅延量を決定し前記メディアアクセス制御部に設定することを特徴とする情報処理装置。
【請求項２】
前記制御部は、前記判定結果からデータ通信が正常に行えた遅延量の範囲における中心値を前記メディアアクセス制御部に設定することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記物理層部は、前記メディアアクセス制御部から受信したデータの信号レベルを判定して該信号レベルを基にしたデータを前記メディアアクセス制御部に送信する折り返し機能を有し、
前記クロックの遅延量を変化させて前記メディアアクセス制御部から前記物理層部にデータを送信させ、前記物理層部に送信したデータと前記折り返し機能により折り返された該データに対応する前記物理層部から受信したデータとが一致するか否かの判定を行うことでデータ通信が正常に行えたか否かを判定することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記クロックの遅延量を変化させて前記メディアアクセス制御部から前記物理層部を介して疎通確認のデータをネットワークを介して接続される機器に送信し、該疎通確認のデータに対応する応答に基づいてデータ通信が正常に行えたか否かを判定することを特徴とする請求項１又は２記載の情報処理装置。
【請求項５】
前記物理層部と前記メディアアクセス制御部とは、ＲＧＭＩＩインタフェースによって接続されていることを特徴とする請求項１〜４の何れか１項に記載の情報処理装置。
【請求項６】
受信したクロックにて受信したデータの信号レベルを判定して該信号レベルを基にしたデータを送信し、ネットワークを介して接続される機器とのデータ通信における物理層の処理を行う物理層部と、設定される遅延量でクロックをデータの出力タイミングに対して遅延させて前記データ及び前記クロックを前記物理層部に送信するとともに、前記物理層部とデータを送受信し前記データ通信における論理層の処理を行うメディアアクセス制御部とを有する情報処理装置での遅延調整方法であって、
前記メディアアクセス制御部での前記クロックの遅延量を変化させて前記メディアアクセス制御部による前記データ及び前記クロックの送信を行わせ、該送信に対する応答に基づいてデータ通信が正常に行えたか否かを判定する工程と、
判定結果から正常なデータ通信を行える前記遅延量を決定し前記メディアアクセス制御部に設定する工程とを有することを特徴とする遅延調整方法。
【請求項７】
受信したクロックにて受信したデータの信号レベルを判定して該信号レベルを基にしたデータを送信し、ネットワークを介して接続される機器とのデータ通信における物理層の処理を行う物理層部と、設定される遅延量でクロックをデータの出力タイミングに対して遅延させて前記データ及び前記クロックを前記物理層部に送信するとともに、前記物理層部とデータを送受信し前記データ通信における論理層の処理を行うメディアアクセス制御部とを有する情報処理装置での遅延調整方法をコンピュータに実行させるためのプログラムであって、
前記メディアアクセス制御部での前記クロックの遅延量を変化させて前記メディアアクセス制御部による前記データ及び前記クロックの送信を行わせ、該送信に対する応答に基づいてデータ通信が正常に行えたか否かを判定するステップと、
判定結果から正常なデータ通信を行える前記遅延量を決定し前記メディアアクセス制御部に設定するステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び遅延調整方法に関する。
【背景技術】
【０００２】
プリンタ、スキャナ、ファクシミリ、複合機などの情報処理装置は、ＬＡＮ（Local Area Network）インタフェース等の通信インタフェースを持つ形態が増えてきている。また、取り扱うデータの増加に伴い、通信インタフェースの最大通信速度も高速化が求められている。また、情報処理装置は、他の情報処理装置等とのデータ通信の高速化だけでなく、情報処理装置自体の小型化のニーズも高まってきている。
【０００３】
通信インタフェースの高速化を実現するには、装置内部のデバイスの動作周波数も高速化が必要となる。例えば、通信インタフェースの物理層部（ＰＨＹ部）とその上位層であるメディアアクセス制御部（ＭＡＣ部）との間のインタフェースにおいては、ＬＡＮ規格のギガビットイーサネット（登録商標）では、クロック速度は１２５ＭＨｚの動作周波数まで高速化されている。
【０００４】
ギガビットイーサネットにおけるＰＨＹ部とＭＡＣ部の間のインタフェース規格の１つに、ＲＧＭＩＩ（Reduced Gigabit Media Independent Interface）がある。ＲＧＭＩＩは、ＧＭＩＩ（Gigabit Media Independent Interface）に比べ、ＰＨＹ部とＭＡＣ部の間の信号線数が少なくなるので、情報処理装置の小型化の設計が可能となる。しかし、ＲＧＭＩＩは、クロックによるデータの取り込みを行う時間間隔がＧＭＩＩの半分になり、ＰＨＹ部とＭＡＣ部の間でのデータに対するクロックの遅延調整が必要となってくる。
【０００５】
ＲＧＭＩＩにおけるクロックの遅延調整には、クロックの物理的な配線を長くする方法や、受信側のデバイスに内蔵されるクロックの内部遅延機能を使う方法が知られている。しかしながら、いずれの方法も基板の設計において、クロック及びデータの物理的な配線に、ミアンダと呼ばれる信号配線で配線長を追加することが必要となる。これは、情報処理装置の小型化の妨げとなる。
【０００６】
下記特許文献１には、ミアンダが不要な方法でクロックとデータのタイミングを調整する方法が提案されている。この方法では、デバイス内で受信したデータを一時的にバッファに保存して、その間にデータの先頭を識別し、識別されたデータの先頭のタイミングでタイミング調整用パルスを生成する。さらに、デバイス内では受信した第１クロックとは別に第２クロックを生成し、タイミング調整用パルスと第２クロックとの間でタイミングの調整を図って、バッファリングされたデータを送信する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】国際公開第２００９／０８１４７２号
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載の技術では、タイミング調整用パルスを生成する回路や第２クロックを生成する回路を新たに搭載する必要があるため、設計規模が増大してしまう。前述した方法以外にも、送信側のデバイスに内蔵されるクロックの遅延機能を使ってクロックに遅延を与え、クロックとデータのタイミングを調整することも可能である。この場合、送信側のデバイス単体毎に、設定した遅延量に対する実際のデバイスのばらつき特性を考慮する必要がある。例えば、ファームウェア等で送信側のデバイスに設定するクロックの遅延量に対して実際の遅延量がずれてしまうことで、受信側のデバイスに入力すべきクロックの遅延量の規定を満たせなくなる可能性がある。
【０００９】
本発明は、このような事情に鑑みてなされたものであり、設計規模を増大させることなく、データ通信におけるクロックとデータのタイミングを適切に調整できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る情報処理装置は、受信したクロックにて受信したデータの信号レベルを判定して該信号レベルを基にしたデータを送信し、ネットワークを介して接続される機器とのデータ通信における物理層の処理を行う物理層部と、設定される遅延量でクロックをデータの出力タイミングに対して遅延させて前記データ及び前記クロックを前記物理層部に送信するとともに、前記物理層部とデータを送受信し前記データ通信における論理層の処理を行うメディアアクセス制御部と、前記メディアアクセス制御部での前記クロックの遅延量を制御する制御部とを有し、前記制御部が、前記クロックの遅延量を変化させて前記メディアアクセス制御部による前記データ及び前記クロックの送信を行わせ、該送信に対する応答に基づいてデータ通信が正常に行えたか否かを判定し、判定結果から正常なデータ通信を行える前記遅延量を決定し前記メディアアクセス制御部に設定することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、特別な回路を使わずにデータ通信におけるクロックの遅延量を装置毎に適切に設定でき、設計規模を増大させることなく、データ通信におけるクロックとデータのタイミングを適切に調整することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態における情報処理装置の構成例を示す図である。
【図２】本実施形態における情報処理装置の接続形態の例を示す図である。
【図３】本実施形態におけるＭＡＣ部及びＰＨＹ部の構成例を示す図である。
【図４】第１の実施形態における処理シーケンスの例を示す図である。
【図５】第１の実施形態における情報処理装置の動作例を示すフローチャートである。
【図６】第２の実施形態における処理シーケンスの例を示す図である。
【図７】第２の実施形態における情報処理装置の動作例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態を図面に基づいて説明する。
【００１４】
（第１の実施形態）
本発明の第１の実施形態について説明する。図１は、本発明の実施形態における情報処理装置１００のハードウェア構成例を示すブロック図である。本実施形態における情報処理装置１００は、他の情報処理装置等とデータ通信を行うための通信インタフェースを有している。図１には、通信インタフェースとしてＬＡＮ（Local Area Network）インタフェースを有する情報処理装置１００を一例として示している。
【００１５】
情報処理装置１００は、コントローラ１１０、プリンタ１１１、電源部１１２、及びパネル１１４を有する。コントローラ１１０は、情報処理装置１００の主たる制御を行う。コネクタ１０１は、ＬＡＮケーブルのモジュラーを接続するためのコネクタである。トランス１０２は、情報処理装置１００とネットワークを電気的に絶縁するためのものである。
【００１６】
物理層部（ＰＨＹ部）１０３は、データ通信における物理層の処理を行う。ＰＨＹ部１０３は、例えば情報処理装置１００がＬＡＮインタフェースを介してネットワークで接続される接続先の機器との電気的な信号のやり取りを行う。メディアアクセス制御部（ＭＡＣ部）１０４は、データ通信における論理層の処理を行う。ＭＡＣ部１０４は、例えばＰＨＹ部１０３にて受信した信号を装置内のデバイスが取り扱うフレームに変換する。本実施形態では、ＰＨＹ部とＭＡＣ部とはＲＧＭＩＩ（Reduced Gigabit Media Independent Interface）によって接続されており、ＰＨＹ部とＭＡＣ部との間でデータを送受信する。
【００１７】
ＴＸデータＴＸＤＴは、ＭＡＣ部１０４からＰＨＹ部１０３へ送信される送信データであり、ＴＸクロックＴＸＣＫは、ＭＡＣ部１０４からＰＨＹ部１０３へ送信される送信クロックである。ＴＸ情報群ＴＸＩＦは、ＭＡＣ部１０４からＰＨＹ部１０３へ送信データの送信状態を表す。ＴＸ情報群ＴＸＩＦにより、ＭＡＣ部１０４からの送信有効状態や送信エラー状態をＰＨＹ部１０３に通知することができる。
【００１８】
また、ＲＸデータＲＸＤＴは、ＭＡＣ部１０４がＰＨＹ部１０３から受信する受信データであり、ＲＸクロックＲＸＣＫは、ＭＡＣ部１０４がＰＨＹ部１０３から受信する受信クロックである。ＲＸ情報群ＲＸＩＦは、ＭＡＣ部１０４がＰＨＹ部１０３から受信する受信データの状態を表す。ＲＸ情報群ＲＸＩＦにより、受信データの検出状態や受信データのエラー情報をＭＡＣ部１０４に通知することができる。管理情報ＭＮＧは、ＰＨＹ部１０３とＭＡＣ部１０４との間で双方向使用し、管理情報のやり取りを行う。
【００１９】
ＰＨＹ部１０３は、ＴＸクロックＴＸＣＫを受信した際、ＴＸクロックＴＸＣＫが電気的にハイ（Ｈｉｇｈ）レベル又はロー（Ｌｏｗ）レベルに変化したタイミングで、受信しているＴＸデータＴＸＤＴの電気的なハイレベル又はローレベルを検知する。ここで検知した信号レベル（ハイレベル又はローレベル）を、ＭＡＣ部１０４から受信したデータとして認識する。ただし、ＲＧＭＩＩインタフェースにおいて、ＭＡＣ部１０４が送信したデータをＰＨＹ部１０３が正常に取り込むためには、ＴＸデータＴＸＤＴに対し、ＴＸクロックＴＸＣＫが一定量の遅延を有する必要がある。この遅延がＰＨＹ部１０３にて定められる範囲の遅延量でない場合、ＰＨＹ部１０３は、ＴＸデータＴＸＤＴの電気的なハイレベル又はローレベルを、ＭＡＣ部１０４が送信している通りのレベルで検知できない可能性がある。
【００２０】
また、ＭＡＣ部１０４は、ＲＸクロックＲＸＣＫを受信した際、ＲＸクロックＲＸＣＫが電気的なハイレベル又はローレベルに変化したタイミングで、受信しているＲＸデータＲＸＤＴの電気的なハイレベル又はローレベルを検知する。ここで検知した信号レベル（ハイレベル又はローレベル）を、ＰＨＹ部１０３から受信したデータとして認識する。ただし、ＲＧＭＩＩインタフェースにおいて、ＰＨＹ部１０３が送信したデータをＭＡＣ部１０４が正常に取り込むためには、ＲＸデータＲＸＤＴに対し、ＲＸクロックＲＸＣＫが一定量の遅延を有する必要がある。この遅延がＭＡＣ部１０４にて定められる範囲の遅延量でない場合、ＭＡＣ部１０４は、ＲＸデータＲＸＤＴの電気的なハイレベル又はローレベルを、ＰＨＹ部１０３が送信している通りのレベルで検知できない可能性がある。
【００２１】
ＣＰＵ（Central Processing Unit）１０８は、装置内のデバイスに命令を実行する。ＲＡＭ（Random Access Memory）１０９は、ＣＰＵ１０８が実行するプログラムを一時的に格納する。ＲＯＭ（Read Only Memory）１１６は、情報処理装置１００の設定値や初期データ等を保存するメモリである。ＲＴＣ（Real Time Clock）は、現在時刻を計時し、必要に応じてＣＰＵ１０８に対し時刻を通知する時計機能を有する。
【００２２】
プリンタ１１１は、ＣＰＵから受けた命令に従って印字や画像のプリントを行う。パネル１１４は、情報処理装置１００の情報の表示やユーザーからの命令を入力するためのものであり、ＬＣＤ（Liquid Crystal Display）１１５を有する。パネル１１４に取り付けられたＬＣＤ１１５には、パネル１１４がＣＰＵ１０８から受けた命令を表示することができる。電源部１１２は、情報処理装置１００の内部に電力を供給する。電源部１１２は、ＣＰＵ１０８により制御が可能であり、コントローラ１１０、プリンタ１１１、及びＬＣＤ１１５等に電力を供給する。電源スイッチ１２０は、電源部１１２の電源供給のオフオンを実施するためのスイッチである。
【００２３】
図２は、本実施形態における情報処理装置１００の接続形態の一例を示す図である。２０１は、複数のＬＡＮ回線との接続が可能で、またパケットの交換やパケットの同報転送が可能であるＨＵＢである。ＨＵＢ２０１は、他情報処理装置との接続に使用され通信における物理層の処理を行う物理層部（ＰＨＹ部）２０４、及び通信における論理層の処理を行うメディアアクセス制御部（ＭＡＣ部）２０５を、複数組有する。ＰＨＹ部２０４及びＭＡＣ部２０５は、それぞれＰＨＹ部１０３及びＭＡＣ部１０４と同等の機能を有する。
【００２４】
情報処理装置１００は、コネクタ１０１を介して、通信に使用するＬＡＮケーブル２０６によりＨＵＢ２０１と接続されている。また、ＨＵＢ２０１のＰＨＹ部２０４及びＭＡＣ部２０５の組に対して、情報処理装置１００へのプリント要求等を行う端末Ａ２０２、端末Ｂ２０３がそれぞれ接続されている。したがって、ＨＵＢ２０１を介して情報処理装置１００と端末Ａ２０２、端末Ｂ２０３は通信が可能である。また、ＨＵＢ２０１は、外部インターネット等のネットワーク２１１に接続されている。
【００２５】
スイッチＬＳＩ２０７は、ＭＡＣ部２０５経由で受信したパケットを所定の方向へ転送する機能を有する。ＣＰＵ２０８は、ＨＵＢ２０１内のデバイスに命令を実行する。ＲＡＭ２１０は、ＣＰＵ２０７が実行するプログラムを一時的に格納する。ＲＯＭ２０９は、ＨＵＢ２０１の設定値や初期データ等を保存するメモリである。ＰＨＹ部２０４及びスイッチＬＳＩ２０７への設定変更等の命令は、ＣＰＵ２０８が実行する。
【００２６】
次に、本実施形態における情報処理装置１００のＴＸクロックＴＸＣＫの遅延量設定に係る動作について説明する。
図３は、本実施形態におけるＭＡＣ部１０４及びＰＨＹ部１０３の内部構成例を示す図である。ＭＡＣ部１０４は、ＴＸ送信部３０１及びＲＸ受信部３０６を有する。また、ＰＨＹ部１０３は、ＴＸ受信部３０３及びＲＸ送信部３０５を有する。
【００２７】
ＴＸ送信部３０１は、ＰＨＹ部１０３へ送信するＴＸクロックＴＸＣＫ及びＴＸデータＴＸＤＴを生成する。ＴＸ送信部３０１のＴＸ遅延部３０２は、ＴＸクロックＴＸＣＫについて、ＴＸデータＴＸＤＴの出力タイミングに対し任意の遅延を与える。ＴＸ遅延部３０２にて設定できる遅延量は、ＣＰＵ１０８の命令により、ＭＡＣ部１０４で設定することが可能である。ＲＸ受信部３０６は、ＰＨＹ部１０３からのＲＸクロックＲＸＣＫ及びＲＸデータＲＸＤＴを受信する。ＲＸ受信部３０６に内蔵されているＲＸ判定部３０７は、ＰＨＹ部１０３のＲＸ送信部３０６が送信したＲＸクロックＲＸＣＫにてＲＸデータＲＸＤＴの信号レベルがハイレベルであるかローレベルであるかを判定する。
【００２８】
ＴＸ受信部３０３は、ＭＡＣ部１０４からのＴＸクロックＴＸＣＫ及びＴＸデータＴＸＤＴを受信する。ＴＸ受信部３０３に内蔵されているＴＸ判定部３０４は、ＴＸ受信部３０３が受信したＴＸクロックＴＸＣＫにてＴＸデータＴＸＤＴの信号レベルがハイレベルであるかローレベルであるかを判定する。ＴＸ受信部３０３は、ＴＸ判定部３０４にて判定されたハイレベル又はローレベルを基にした信号を送信データＭＤＩＴＸとしてＰＨＹ部１０３の外部インタフェースへ送信する。送信データＭＤＩＴＸは、通常図２に示したＬＡＮケーブル２０６により外部機器へ送信され、ＨＵＢ２０１を経由し端末Ａ２０２や端末Ｂ２０３などへ送信される。なお、ＨＵＢ２０１を使用しない場合には、ＬＡＮケーブル２０６を情報処理装置１００と直接つなぐことで、端末Ａ２０２や端末Ｂ２０３などに直接送信できる。
【００２９】
ＲＸ送信部３０５は、ＲＸクロックＲＸＣＫ及びＲＸデータＲＸＤＴをＭＡＣ部１０４へ送信する。また、ＲＸ送信部３０５は、ＰＨＹ部１０３の外部インタフェースから受信データＭＤＩＲＸを受信する。受信データＭＤＩＲＸは、通常端末Ａ２０２や端末Ｂ２０３などの外部機器から送信され、ＨＵＢ２０１を経由して図２に示したＬＡＮケーブル２０６により受信される。なお、ＨＵＢ２０１を使用しない場合は、ＬＡＮケーブル２０６を情報処理装置１００と直接つなぐことで、端末Ａ２０２や端末Ｂ２０３などから直接受信できる。
【００３０】
また、ＰＨＹ部１０３は、ＴＸ受信部３０３のＴＸ判定部３０４で判定したＴＸデータＴＸＤＴの信号レベル（ハイレベル又はローレベル）を、ＲＸ送信部３０５へ送信することのできるループ経路３０８を有する。すなわち、ＰＨＹ部１０３は、折り返し機能を有しており、ループ経路３０８を用いることで、ＴＸ判定部３０４から受信したＴＸデータＴＸＤＴのハイレベル又はローレベルを、ＲＸデータＲＸＤＴとして送信することが可能である。ループ経路３０８を使ってＴＸ判定部３０４で判定したＴＸデータＴＸＤＴのハイレベル又はローレベルをＲＸ送信部３０５へ送信するか否かは、ＣＰＵ１０８より任意に設定することができる。また、ＣＰＵ１０８は、ループ経路３０８を使用した際、任意のタイミングで任意のデータをＴＸデータＴＸＤＴとして送信することが可能である。
【００３１】
また、ＰＨＹ部１０３のループ経路３０８を使用した際、ＴＸデータＴＸＤＴとして送信したデータがＲＸデータＲＸＤＴとしてＲＸ受信部３０６で受信された際、ＲＸ判定部３０７で判定されたハイレベル又はローレベルをＣＰＵ１０８は確認することができる。つまり、ＣＰＵ１０８は、ループ経路３０８を使用した際に、自身の命令で送信したデータがＴＸ判定部３０４にて正しく検知されているかどうかを対応する受信したデータを基に確認することができる。さらに、ＣＰＵ１０８は、自身の命令で、ＭＡＣ部１０４に対し、ＴＸ遅延部３０２で任意の遅延を設定することが可能である。
【００３２】
以上の機能を使うことで、ＣＰＵ１０８は、ＭＡＣ部１０４内のＴＸ遅延部３０２に任意の遅延量を設定し、かつその遅延量にて、送信したデータがＰＨＹ部１０３で正常に受信できているかどうかを判定することが可能となる。したがって、ＣＰＵ１０８がＴＸ遅延部３０２に設定した数々の遅延に対し、各遅延量でのデータの正常疎通を確認することで、データの正常疎通ができる範囲のＴＸクロックＴＸＣＫの遅延を求めることが可能となり、適切な遅延量を設定することができる。例えば、求められたデータの正常疎通できる遅延量の範囲の中心値をＴＸ遅延部３０２に設定することで、ＴＸデータＴＸＤＴに対するＴＸクロックＴＸＣＫの遅延量は、ＰＨＹ部１０３が受信できる範囲の一番マージンのある最適値に設定することが可能である。
【００３３】
図４は、第１の実施形態におけるＣＰＵ１０８、ＭＡＣ部１０４、及びＰＨＹ部１０３のやりとりを示すシーケンスの一例を示す図である。ステップＳ４０１では、ＣＰＵ１０８が、ＭＡＣ部１０４経由でＰＨＹ部１０３にループ経路３０８の使用を設定するために、ＭＡＣ部１０４に対しループ経路３０８の使用命令を行う。ステップＳ４０２では、ＭＡＣ部１０４が、ＣＰＵ１０８からの命令を受けて、ＰＨＹ部１０３に対しループ経路３０８の使用命令を行う。ＰＨＹ部１０３は、ループ経路３０８の使用命令を受けると、ループ経路３０８の使用を開始する。ステップＳ４０３では、ＣＰＵ１０８が、ＭＡＣ部１０４に対し、ＴＸ遅延部３０２に対して任意の遅延量を設定する。
【００３４】
ステップＳ４０４では、ＣＰＵ１０８が、ネットワークへのデータ送信の命令をＭＡＣ部１０４に対し行う。ステップＳ４０５では、ＭＡＣ部１０４が、ＣＰＵ１０８からの命令を受けて、ＰＨＹ部１０３に対しデータの送信を行う。ステップＳ４０６では、ＰＨＹ部１０３が、ＭＡＣ部１０４から受信したデータのハイレベル又はローレベルを検知した後、検知したデータのハイレベル又はローレベルをループ経路３０８を経由してＭＡＣ部１０４へ折り返す。ステップＳ４０７では、ＭＡＣ部１０４が、ステップＳ４０６においてＰＨＹ部１０３から折り返されたデータを検知し、ＣＰＵ１０８へ検知結果を知らせる。ＣＰＵ１０８は、検知結果によってステップＳ４０３でＴＸ遅延部３０２に対して設定した遅延量がデータの疎通に許容できるかどうかの決定を行う。
【００３５】
以上の一連の処理を、ＴＸ遅延部３０２に対して設定可能な遅延量に対し繰り返し行うことで、データ疎通可能なＴＸクロックＴＸＣＫの遅延量の範囲をＣＰＵ１０８は確認することができる。
【００３６】
図５は、第１の実施形態における情報処理装置１００のＴＸクロックＴＸＣＫの遅延量設定に係る動作例を示すフローチャートである。まず、ステップＳ５０１にて、情報処理装置１００は電源ＯＮ（電源投入）される。ステップＳ５０２にて、ＰＨＹ部１０３は、ＭＡＣ部１０４から受信するデータをＭＡＣ部１０４へ折り返すため、ループ経路３０８を使用したデータのループバック経路を設定する。
【００３７】
ステップＳ５０３にて、ＭＡＣ部１０４は、ＣＰＵ１０８からの命令に従い、ＴＸ遅延部３０２に対し、ＴＸクロックＴＸＣＫの遅延量を設定する。次に、ステップＳ５０４にて、ＭＡＣ部１０４は、ＣＰＵ１０８からの命令に従い、任意のデータをＰＨＹ部１０３に対し送信する。ステップＳ５０５にて、ＭＡＣ部１０４は、ステップＳ５０４においてＰＨＹ部１０３に送信したデータについて、ＰＨＹ部１０３より折り返されたデータとして受信する。
【００３８】
続いて、ステップＳ５０６にて、ＣＰＵ１０８は、ステップＳ５０５において受信されたデータが、ステップＳ５０４においてＰＨＹ部１０３に送信したデータと一致するか否か、すなわち正常に伝送されているか否かの判定を行う。ステップＳ５０７にて、ＣＰＵ１０８は、ステップＳ５０６でのデータ伝送が正常か否かの判定結果と、それに対しステップＳ５０３においてＴＸ遅延部３０２に設定した遅延量との関係をＲＡＭ１０９に保持させる。
【００３９】
そして、ステップＳ５０８にて、ＴＸ遅延部３０２に対しまだ設定していない遅延量がある場合（ステップＳ５０８のＹｅｓ）、ステップＳ５０３に戻り、設定していない遅延量を設定して、ステップＳ５０３以降の動作を行う。一方、ＴＸ遅延部３０２に対しまだ設定していない遅延量がない場合（ステップＳ５０８のＮｏ）、ステップＳ５０９に進む。
【００４０】
ステップＳ５０９にて、ＣＰＵ１０８は、ステップＳ５０７において保持させた遅延量とデータ伝送が正常か否かの関係から、適切な遅延量を算出する。例えば、データが正常に疎通した遅延量の範囲のなかから、中心にあたる遅延量を算出することで一番マージンのある遅延量とすることが可能である。ステップＳ５１０にて、ＭＡＣ部１０４は、ＣＰＵ１０８からの命令に従い、ステップＳ５０９において算出された遅延量をＴＸ遅延部３０２に設定し、ＴＸクロックＴＸＣＫの遅延量設定に係る動作を終了する。
【００４１】
本実施形態では、ＭＡＣ部１０４内のＴＸ遅延部３０２のみ遅延調整を行う例をあげたが、このほかにＰＨＹ部１０３の遅延調整機能を使い、ＰＨＹ部１０３で可能な遅延をＴＸクロックＴＸＣＫに与えても良い。
【００４２】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。第２の実施形態では、図３におけるループ経路３０８を使用しないでＴＸクロックＴＸＣＫの適切な遅延量を決定する。第２の実施形態における情報処理装置１００の構成は、第１の実施形態における情報処理装置１００と同様である。なお、本実施形態では、ループ経路３０８を使用しないため、ＰＨＹ部１０３はループ経路３０８を有していなくとも良い。
【００４３】
情報処理装置１００が、送信データＭＤＩＴＸ及び受信データＭＤＩＲＸにて外部機器と通信できる環境においては、疎通確認を行うためのＰｉｎｇと呼ばれる端末同士の応答を確認するパケットにて、データの正常疎通を確認することができる。したがって、情報処理装置１００は、ＴＸ遅延部３０２に対しＴＸクロックＴＸＣＫの任意の遅延量を設定した状態で、端末Ａ２０２又は端末Ｂ２０３に対してのＰｉｎｇ応答を確認することで、ＴＸ遅延部３０２に設定した遅延量が適切か否かを確認できる。
【００４４】
以下では、情報処理装置１００と端末Ａ２０２の間でのＰｉｎｇによる疎通確認を使用する場合を例に説明する。図６は、第２の実施形態におけるＣＰＵ１０８、ＭＡＣ部１０４、ＰＨＹ部１０３、及び端末Ａ２０２のやりとりを示すシーケンスの一例を示す図である。ステップＳ６０１では、ＣＰＵ１０８が、ＭＡＣ部１０４に対し、ＴＸ遅延部３０２に対して任意の遅延量を設定する。
【００４５】
ステップＳ６０２では、ＣＰＵ１０８が、ＭＡＣ部１０４及びＰＨＹ部１０３経由でＰｉｎｇパケットを端末Ａ２０２に対し送信するため、ＭＡＣ部１０４へＰｉｎｇ送信の命令を行う。ステップＳ６０３では、ＭＡＣ部１０４が、ＣＰＵ１０８からの命令に応じて、端末Ａ２０２にＰｉｎｇを送るためのデータをＰＨＹ部１０３へ送信する。ステップＳ６０４では、ＰＨＹ部１０３が、ＭＡＣ部１０４から受けたＰｉｎｇを送るためのデータを端末Ａ２０２に対し送信する。
【００４６】
ステップＳ６０５では、端末Ａ２０２が、受信したＰｉｎｇを正常に認識できた場合、ＣＰＵ１０８に対し応答を返信するためにＰＨＹ部１０３に対しＰｉｎｇ応答のデータを送信する。ステップＳ６０６では、ＰＨＹ部１０３が、ステップＳ６０５において送信された端末Ａ２０２からのＰｉｎｇ応答を、ＭＡＣ部１０４に送信する。ステップＳ６０７では、ＭＡＣ部１０４が、ステップＳ６０６において送信されたＰＨＹ部１０３からのＰｉｎｇ応答を、ＣＰＵ１０８に対し送信する。
【００４７】
ここで、ＴＸ遅延部３０２に設定された遅延量が、ＴＸ判定部３０４にて正しく信号レベル（ハイレベル又はローレベル）が正しく検知できる量であれば、ＣＰＵ１０８が送信したＰｉｎｇパケットは、正常に端末Ａ２０２に送信される。また、その場合、ＣＰＵ１０８は送信したＰｉｎｇパケットに対応する端末Ａ２０２からのＰｉｎｇ応答を受け取ることで確認することができる。一方、ＴＸ遅延部３０２に設定された遅延量が、ＴＸ判定部３０４にて正しく信号レベル（ハイレベル又はローレベル）が正しく検知できない量であれば、送信したＰｉｎｇパケットに対応するＰｉｎｇ応答はＣＰＵ１０８に返信されない。
【００４８】
よって、ＴＸ遅延部３０２に設定するＴＸクロックＴＸＣＫの遅延量と端末Ａ２０２からのＰｉｎｇ応答の受信を確認することで、ＣＰＵ１０８は、ＴＸ遅延部３０２に設定するＴＸクロックＴＸＣＫの遅延量が適切であるか否かを確認することが可能である。ＴＸ遅延部３０２に設定する遅延量を変えながら、前述のように送信したＰｉｎｇパケットに対応するＰｉｎｇ応答を確認することで、適切な遅延量を決めることが可能である。
【００４９】
図７に、第２の実施形態における情報処理装置１００のＴＸクロックＴＸＣＫの遅延量設定に係る動作例を示すフローチャートである。まず、ステップＳ７０１にて、情報処理装置１００は電源ＯＮ（電源投入）される。ステップＳ７０２にて、ＭＡＣ部１０４は、ＣＰＵ１０８からの命令に従い、ＴＸ遅延部３０２に対し、ＴＸクロックＴＸＣＫの遅延量を設定する。
【００５０】
次に、ステップＳ７０３にて、ＭＡＣ部１０４は、ＣＰＵ１０８からの命令により、Ｐｉｎｇ送信をＰＨＹ部１０３経由で端末Ａ２０２に送信する。そして、ステップＳ７０４にて、ＣＰＵ１０８は、端末Ａ２０２からのＰｉｎｇ応答が来たかどうかの判定を行う。ステップＳ７０５にて、ＣＰＵ１０８は、ステップＳ７０４でのＰｉｎｇ応答が来たかどうかの判定結果と、それに対しステップＳ７０２においてＴＸ遅延部３０２に設定した遅延量との関係をＲＡＭ１０９保持させる。
【００５１】
ステップＳ７０６にて、ＴＸ遅延部３０２に対しまだ設定していない遅延量がある場合（ステップＳ７０６のＹｅｓ）、ステップＳ７０２に戻り、設定してない遅延量を設定して、ステップＳ７０２以降の動作を行う。一方、ＴＸ遅延部３０２に対しまだ設定していない遅延量がない場合（ステップＳ７０６のＮｏ）、ステップＳ７０７に進む。
【００５２】
ステップＳ７０７にて、ＣＰＵ１０８は、ステップＳ７０５において保持させた遅延量とＰｉｎｇ応答が来たかどうかの関係から、適切な遅延量を算出する。例えば、Ｐｉｎｇ応答があった遅延量の範囲のなかから、中心にあたる遅延量を算出することで一番マージンのある遅延量とすることが可能である。ステップＳ７０８にて、ＭＡＣ部１０４は、ＣＰＵ１０８からの命令に従い、ステップＳ７０７において算出された遅延量をＴＸ遅延部３０２に設定し、ＴＸクロックＴＸＣＫの遅延量設定に係る動作を終了する。
【００５３】
本実施形態を実施する方法としては、情報処理装置１００にてサービスモードなどのメンテナンス用のモードを設けておくことで、一連のフローを簡単な操作で実施するように設定してもよい。また、本実施形態では、ＭＡＣ部１０４内のＴＸ遅延部３０２のみ遅延調整を行う例をあげたが、このほかにＰＨＹ部１０３の遅延調整機能を使い、ＰＨＹ部１０３で可能な遅延をＴＸクロックＴＸＣＫに与えても良い。
【００５４】
（本発明の他の実施形態）
本発明は、前述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００５５】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００５６】
１００：情報処理装置  １０３：物理層部（ＰＨＹ部）  １０４：メディアアクセス制御部（ＭＡＣ部）  １０８：ＣＰＵ  １０９：ＲＡＭ  １１０：コントローラ  １１６：ＲＯＭ  ３０１：ＴＸ送信部  ３０２：ＴＸ遅延部  ３０３：ＴＸ受信部  ３０４：ＴＸ判定部  ３０５：ＲＸ送信部  ３０６：ＲＸ処理部  ３０７：ＲＸ判定部  ＴＸＤＴ：ＴＸデータ  ＴＸＣＫ：ＴＸクロック  ＲＸＤＴ：ＲＸデータ  ＲＸＣＫ：ＲＸクロック
【図１】
2016178425.tif 000003
【図２】
2016178425.tif 000004
【図３】
2016178425.tif 000005
【図４】
2016178425.tif 000006
【図５】
2016178425.tif 000007
【図６】
2016178425.tif 000008
【図７】
2016178425.tif 000009