(57)【要約】【課題】  通信先との通信モードを半二重通信あるいは全二重通信に自動的に設定する通信機器、電子機器、通信モード設定方法、通信モード設定プログラムを提供する。【解決手段】  通信先と全二重通信モードまたは半二重通信モードのいずれの通信モードで通信を行うかを自動的に設定する通信機器であって、通信先との通信モードを検出する通信モード検出手段と、通信先との通信モードを設定する通信モード設定手段と、通信先からのジャム信号を検出するジャム信号検出手段とを有し、通信モード検出手段が、半二重通信モードで通信していることを検出すると、通信モード設定手段が通信モードを全二重通信モードに設定し、ジャム信号検出手段がジャム信号を検出すると、通信モード設定手段が通信モードを半二重通信モードに設定する。【選択図】  図９
2006060403.tif 000002
【特許請求の範囲】
【請求項１】
通信先と全二重通信モードまたは半二重通信モードのいずれの通信モードで通信を行うかを自動的に設定する通信機器であって、
前記通信先との通信モードを検出する通信モード検出手段と、
前記通信先との通信モードを設定する通信モード設定手段と、
前記通信先からのジャム信号を検出するジャム信号検出手段とを有し、
前記通信モード検出手段が、半二重通信モードで通信していることを検出すると、前記通信モード設定手段が通信モードを全二重通信モードに設定し、前記ジャム信号検出手段がジャム信号を検出すると、前記通信モード設定手段が通信モードを半二重通信モードに設定することを特徴とする通信機器。
【請求項２】
前記通信先とオートネゴシエーションを行うオートネゴシエーション手段をさらに有し、
前記通信モード検出手段は、前記オートネゴシエーション手段で設定された通信モードを検出することを特徴とする請求項１に記載の通信機器。
【請求項３】
請求項１記載の通信モード検出手段が通信モードを検出するための通信モード情報を有することを特徴とする電子機器。
【請求項４】
請求項１記載の通信モード設定手段が設定した通信モードに従って通信を行う通信手段を有することを特徴とする電子機器。
【請求項５】
請求項１記載のジャム信号検出手段がジャム信号を検出するためのジャム信号検出情報を有することを特徴とする電子機器。
【請求項６】
通信先と全二重通信モードまたは半二重通信モードのいずれの通信モードで通信を行うかを自動的に設定する通信モード設定方法であって、
前記通信先との通信モードを判断する通信モード判断段階と、
前記通信モード判断段階での判断結果が、半二重通信モードの場合、全二重通信モードに通信モードを設定する全二重通信モード設定段階と、
ジャム信号を検出したかどうか判断するジャム信号検出判断段階と、
前記ジャム信号検出段階で、ジャム信号が検出された場合、前記通信モードを半二重通信モードに設定する半二重通信モード設定段階と
を有することを特徴とする通信モード設定方法。
【請求項７】
前記通信先とオートネゴシエーションを行うオートネゴシエーション段階をさらに有し、
前記通信モード判断段階では、前記オートネゴシエーション段階で設定された通信モードを判断することを特徴とする請求項６に記載の通信モード設定方法。
【請求項８】
請求項６または７に記載の通信モード設定方法をコンピュータで実行するための通信モード設定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全二重通信、半二重通信からなる通信モードの設定を行う通信機器、電子機器、通信モード設定方法、通信モード設定プログラムに関する。
【背景技術】
【０００２】
近年、イーサネット（登録商標）の通信速度が高速化している。数年前には一般的だった１０Ｍｂｐｓから、現在では１００Ｍｂｐｓが一般的なものとなり、さらにギガビットイーサに対応した通信機器も市販されている。
【０００３】
このように、イーサネット（登録商標）の通信速度は、わずか数年で進歩したため、例えば、１０Ｍｂｐｓまでの通信速度に対応したＮＩＣ（Network Interface Card）などの通信機器と１００Ｍｂｐｓに対応した通信機器とがネットワークに混在することもありえる。
【０００４】
さらに、イーサネット（登録商標）には、全二重通信、半二重通信なる通信モードもあり、全二重通信には対応していない通信機器もある。通信機器は、このような規格の設定を確実にしないと通信できないことがある。
【０００５】
そこで、これらの設定を自動的に行うオートネゴシエーションという機能を搭載している通信機器がある。
【０００６】
まず、オートネゴシエーション機能を持たない通信機器同士の接続例について、１０ＢＡＳＥ−Tの場合を図１に、１００ＢＡＳＥ−ＴＸの場合を図２に示す。
【０００７】
図１には、端末Ａ１００と端末Ｂ１０１とが１０ＢＡＳＥ−Ｔを用いて通信をする様子が示されている。これら端末Ａ１００、端末Ｂ１０１ともにオートネゴシエーション機能を持たない。
【０００８】
端末Ａ１００、端末Ｂ１０１間では、送信データが無い場合、図に示されるように、１６±８[ms]おきに、ＮＬＰ(Normal Link Pulse)というパルス信号が送出される。この信号は、ＩＥＥＥ８０２．３に規定された信号である。
【０００９】
次に、１００ＢＡＳＥ−ＴＸの場合について、図２を用いて説明する。図２には、端末Ａ１００と端末Ｂ１０１とが１００ＢＡＳＥ−ＴＸを用いて通信をする様子が示されている。これら端末Ａ１００、端末Ｂ１０１ともにオートネゴシエーション機能を持たない。
【００１０】
端末Ａ１００、端末Ｂ１０１間では、送信データが無い場合、連続した「１」からなるアイドル信号という特別な信号を、スクランブルすることによりランダム化した信号が送出される。
【００１１】
次に、一方が１０ＢＡＳＥ−Tに設定され、他方が１００ＢＡＳＥ−ＴＸに設定された場合について、図３を用いて説明する。図３には、１００ＢＡＳＥ−ＴＸに設定された端末Ａ１００と、１０ＢＡＳＥ−Ｔに設定された端末Ｂ１０１とが示されている。
【００１２】
端末Ａ１００は、ランダム化した信号を送出し、端末Ｂ１０１は、ＮＬＰを送出している。このような場合、通信速度が一致しないため、端末Ａ１００と端末Ｂ１０１とでリンクを確立することができない。
【００１３】
そこで、ＩＥＥＥ８０２．３では、このような問題を回避する方法として、上述したオートネゴシエーション機能が規定されている。
【００１４】
オートネゴシエーションは、通信先が送出する信号を受信して、例えば、その信号がＮＬＰであった場合には、通信先が１０ＢＡＳＥ−Tであると判断し、自システムを１０ＢＡＳＥ−Tに設定する。また、１００ＢＡＳＥ−ＴＸのアイドル信号であった場合には、通信先が１００ＢＡＳＥ−ＴＸであると判断し、自システムを１００ＢＡＳＥ−ＴＸに設定する。
【００１５】
このようにすることにより、オートネゴシエーション機能は、通信先の通信速度に合わせて、自システムの通信速度を設定することを可能とする。
【００１６】
また、オートネゴシエーションモードでは、自システム起動時、および自システム稼働中のリセット直後、また、通信先の接続状態に変化が生じた直後に、ＦＬＰバースト(Fast Link Pulse)というパルス信号群を送出する。
【００１７】
このＦＬＰバースト信号は、図４に示されるように、１６±５[ms]おきに送出される。ＦＬＰバースト信号はＩＥＥＥ８０２．３に規定されており、パルス信号の中に、自システムがサポートしている１００ＢＡＳＥ−ＴＸ、１０ＢＡＳＥ−Tなどの通信速度、および半二重／全二重などの通信モードの情報を持つビットが含まれている。
【００１８】
オートネゴシエーション機能を持つ通信機器同士の接続の場合、ＦＬＰバーストの中の情報の受け渡しをおこなうことによって、互いがサポートする最適な通信速度および通信モードに設定することが可能となる。
【００１９】
オートネゴシエーション機能を持つ通信機器と、オートネゴシエーション機能を持たない通信機器を接続させた場合として、例えば、一方の通信機器が、オートネゴシエーション機能を持っておらず、１００ＢＡＳＥ−ＴＸの全二重通信モードに設定されている場合、前述の通り、その通信機器は、アイドル信号をランダム化した信号を送出する。
【００２０】
ところが、他方のオートネゴシエーション機能を持つ通信機器は、通信先が１００ＢＡＳＥ−ＴＸで設定されていることは認識することができるが、全二重／半二重のどちらの通信モードに設定されているかを認識することができない。このような場合、ＩＥＥＥ８０２．３で規定されているオートネゴシエーション機能では、オートネゴシエーション機能を持つ通信機器が、半二重通信モードに設定されるという問題がある。
【００２１】
この結果、一方は、１００ＢＡＳＥ−ＴＸの全二重通信モードで設定されているにもかかわらず、他方は、１００ＢＡＳＥ−ＴＸの半二重通信モードで設定されてしまうことにより、本来、全二重通信モードの場合には無視できるはずのキャリアセンスエラーを、誤検出してしまうという問題をさらに生じる。
【００２２】
半二重通信モードに設定されるという問題点に対し、特許文献１では、全二重モードの状態で、宛先を自ポートとした任意のデータサイズの適当数のフレームを連続で送信して、その際のコリジョンの発生の有無を確認し、このとき、通信方式がハブの設定と不一致であるためコリジョン発生となると、通信方式を半二重モードに設定するＬＡＮインタフェース装置が開示されている。
【特許文献１】特開２００４−７１４２号公報
【発明の開示】
【発明が解決しようとする課題】
【００２３】
しかしながら、この特許文献１で開示されている内容では、フレームを連続で送信するプログラムが必要となる上、その処理を実行し、コリジョンを検出するため、設定するまでの時間がかかる。さらに、自らの装置でコリジョンを検出しなければならない。
【００２４】
本発明は、このような問題点に鑑み、通信先との通信モードを半二重通信あるいは全二重通信に自動的に設定する通信機器、電子機器、通信モード設定方法、通信モード設定プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２５】
上記課題を解決するために、本発明は、通信先と全二重通信モードまたは半二重通信モードのいずれの通信モードで通信を行うかを自動的に設定する通信機器であって、前記通信先との通信モードを検出する通信モード検出手段と、前記通信先との通信モードを設定する通信モード設定手段と、前記通信先からのジャム信号を検出するジャム信号検出手段とを有し、前記通信モード検出手段が、半二重通信モードで通信していることを検出すると、前記通信モード設定手段が通信モードを全二重通信モードに設定し、前記ジャム信号検出手段がジャム信号を検出すると、前記通信モード設定手段が通信モードを半二重通信モードに設定することを特徴とする。
【００２６】
また、上記課題を解決するために、本発明は、前記通信先とオートネゴシエーションを行うオートネゴシエーション手段をさらに有し、前記通信モード検出手段は、前記オートネゴシエーション手段で設定された通信モードを検出することを特徴とする。
【００２７】
また、上記課題を解決するために、本発明は、請求項１記載の通信モード検出手段が通信モードを検出するための通信モード情報を有することを特徴とする。
【００２８】
また、上記課題を解決するために、本発明は、請求項１記載の通信モード設定手段が設定した通信モードに従って通信を行う通信手段を有することを特徴とする。
【００２９】
また、上記課題を解決するために、本発明は、請求項１記載のジャム信号検出手段がジャム信号を検出するためのジャム信号検出情報を有することを特徴とする。
【００３０】
また、上記課題を解決するために、本発明は、通信先と全二重通信モードまたは半二重通信モードのいずれの通信モードで通信を行うかを自動的に設定する通信モード設定方法であって、前記通信先との通信モードを判断する通信モード判断段階と、前記通信モード判断段階での判断結果が、半二重通信モードの場合、全二重通信モードに通信モードを設定する全二重通信モード設定段階と、ジャム信号を検出したかどうか判断するジャム信号検出判断段階と、前記ジャム信号検出段階で、ジャム信号が検出された場合、前記通信モードを半二重通信モードに設定する半二重通信モード設定段階とを有することを特徴とする。
【００３１】
また、上記課題を解決するために、本発明は、前記通信先とオートネゴシエーションを行うオートネゴシエーション段階をさらに有し、
前記通信モード判断段階では、前記オートネゴシエーション段階で設定された通信モードを判断することを特徴とする。
【発明の効果】
【００３２】
以上説明したように、本発明は通信先との通信モードを半二重通信あるいは全二重通信に自動的に設定する通信機器、電子機器、通信モード設定方法、通信モード設定プログラムを提供することができる。
【発明を実施するための最良の形態】
【００３３】
以下、図面を参照し、本発明の実施形態について説明する。
【００３４】
まず最初に、以下の説明で用いられるジャム信号について、図５を用いて説明する。図５には、端末Ａ１００と端末Ｂ１０１とが通信をする様子が示されている。端末Ａ１００は、全二重通信モードで通信可能であり、端末Ｂ１０１は、半二重通信モードで通信可能である。
【００３５】
このような場合、端末Ａ１００が、全二重通信モードで通信を行うと、端末Ｂ１０１は、コリジョンを検出する。ジャム信号は、このようなコリジョンを検出した際に、端末Ｂ１０１が送出する信号である。端末Ａ１００は、このジャム信号を検出することで、コリジョンが発生したことを認識する。なお、ジャム信号は、３２ビットの信号であり、ＩＥＥＥ８０２．３に規定されている。
【００３６】
以下、図５における端末Ａ１００が全二重または半二重通信モードを自動的に行う通信機器として説明する。
【００３７】
この端末Ａ１００のハードウェア構成図を、図６を用いて説明する。図６には、ＲＯＭ１０と、ＲＡＭ２０と、ＣＰＵ３０と、ＭＡＣコントローラ４０と、ＰＨＹ５０とが示されている。
【００３８】
このうち、ＲＯＭ１０と、ＲＡＭ２０と、ＣＰＵ３０は、端末Ａ１００の本体に設けられているものである。ＭＡＣコントローラ４０と、ＰＨＹ５０は、例えば、ＮＩＣに設けられる。従って、端末Ａ１００は、スロットにＮＩＣが設けられた通常のパソコンとなっている。このようなパソコンは、通常、ハードディスクドライブや、記録媒体に読み書き可能なドライブ、グラフィックカードなども有するが、図６では省略している。
【００３９】
上記ＲＯＭ１０は、端末Ａ１００のバイオスや、その他のプログラムが記録されている。ＲＡＭ２０は、ＦＴＰ（File Transfer Protocol）などのプログラムが記憶される。ＣＰＵ３０は、端末Ａ１００の全体制御を行う。
【００４０】
次に、電子機器に対応するＭＡＣコントローラ４０について説明する。ＭＡＣコントローラ４０は、短フレーム検出部４３と、ＭＯＤＥレジスタ４２と、ＭＩＩＭ（Media Independent Interface Management）レジスタ４１とで構成される。
【００４１】
短フレーム検出部４３は、６４バイトに満たないフレームを検出した場合、ジャム信号検出情報に対応するレジスタにフラグをセットする。上述したようにジャム信号は、３２ビットであり、イーサネット（登録商標）フレームの最小バイト数は６４バイトであるため、短フレーム検出部４３は、３２ビットのジャム信号を検出した場合、最小バイト数に満たないフレームとして検出する。
【００４２】
ＭＯＤＥレジスタ４２は、全二重または半二重で通信のいずれの通信モードで動作するかが設定されるレジスタである。ＭＩＩＭレジスタ４１は、ＰＨＹ５０に対して設定などを行うものである。
【００４３】
ＰＨＹ５０は、ＰＨＹレジスタ５１を有する。通信モード情報に対応するＰＨＹレジスタ５１は、通信速度や通信モードが設定されるレジスタである。ＰＨＹ５０は、ＰＨＹレジスタ５１に設定された通信速度や通信モードに従って通信を行うとともに、オートネゴシエーション機能を有するものである。このＰＨＹ５０は、電子機器に対応するとともに、オートネゴシエーション手段と通信手段に対応する。
【００４４】
次に、図７を用いて端末Ａ１００のソフトウェア構成例について説明する。図７に示されるソフトウェアは、ドライバ６０と、ＴＣＰ／ＩＰ６１と、ＦＴＰ６２と、ＨＴＴＰ６３となっている。
【００４５】
デバイスドライバ６０は、ＭＡＣコントローラ４０とＰＨＹ５０のデバイスドライバである。このデバイスドライバの動きについては後に説明する。ＴＣＰ／ＩＰ６１は、ＴＣＰとＩＰのプロトコルで通信を行うためのプログラムである。ＦＴＰ６２やＨＴＴＰ（HyperText Transfer Protocol）６３は、ＴＣＰやＩＰを用いて通信を行うプログラムである。なお、ＴＣＰ／ＩＰ６１と、ＦＴＰ６２と、ＦＴＴＰ６３は、通常はオペレーティングシステム（以下、ＯＳと記す）に組み込まれているものである。
【００４６】
次に、デバイスドライバ６０のソフトウェアブロック図を、図８を用いて説明する。図８には、通信モード検出部７０と、通信モード設定部７１と、ジャム信号検出部７２と、デバイスドライバ制御部７３が示されている。通信モード検出手段に対応する通信モード検出部７０は、ＰＨＹレジスタ５１を参照することで、通信モードを検出する。通信モード設定手段に対応する通信モード設定部７１は、ＭＯＤＥレジスタ４２に通信モードを設定する。ジャム信号検出手段に対応するジャム信号検出部７２は、ＭＡＣコントローラ４０のレジスタを参照することで、ジャム信号を検出する。デバイスドライバ制御部７２は、デバイスドライバ６０の全体を制御する。
【００４７】
以上が端末Ａ１００のハードウェア並びにソフトウェア構成である。この構成において、端末Ａ１００は、起動後、ＲＯＭ１０に格納されたＯＳおよびデバイスドライバ６０が、ＲＡＭ２０上に転送され、展開される。その後、デバイスドライバ６０は、ＭＩＩＭレジスタ４１に、ＰＨＹレジスタ５１にオートネゴシエーションの開始を促すための命令を設定する。
【００４８】
ＰＨＹ５０は、その命令に従って、オートネゴシエーションを実施し、通信先との間で選択した通信速度および通信モードをＰＨＹレジスタ５１に設定する。通信モード検出部７０は、ＰＨＹレジスタ５１を参照し、通信モードが全二重または半二重のどちらに設定されているかを検出する。
【００４９】
検出した結果、通信モードが半二重通信モードである場合、通信モード設定部７１は、いったんＭＯＤＥレジスタ４２を、全二重通信モードに設定する。このとき、デバイスドライバ制御部７３は、ジャム信号検出部７２を有効にする。このジャム信号検出部７２は、ＭＡＣコントローラ４０から、最小バイト数に満たないフレームを受信した情報を受けた場合に、受信したフレームのバイト数を調べ、３２ビットであれば、ジャム信号を検出したとみなす。
【００５０】
端末Ａ１００がジャム信号を検出した場合は、端末Ｂ１０１が半二重通信モードに設定されていることを示す。そこで、端末Ａ１００の通信モード設定部７１は、ＭＯＤＥレジスタ４２を半二重通信モードに設定し、デバイスドライバ制御部７３は、デバイスドライバ６０が有する通信モードが確定したことを示す通信確定フラグをオンに設定する。このフラグの値は、次回のオートネゴシエーション実施時にクリアするまで保持される。
【００５１】
このように、本実施の形態では、オートネゴシエーション実施後、選択された通信モードが全二重通信モードであるか半二重通信モードであるかを調べ、半二重通信モードであった場合には、通信モードを暫定的に全二重モードに設定し、ジャム信号を検出した場合に、通信モードを半二重通信モードに確定するという方式を用いる。
【００５２】
以上の処理を具体的に図９のフローチャートを用いて説明する。図９に示されるフローチャートは、デバイスドライバ６０の処理を示すフローチャートである。
【００５３】
まず、オートネゴシエーション段階に対応するステップＳ１００で、デバイスドライバ制御部７３は、ＰＨＹレジスタ５１にオートネゴシエーションの開始を促すための命令を設定する。オートネゴシエーションが終了すると、通信モード判断段階に対応するステップＳ１０１で、デバイスドライバ制御部７３は、通信モード検出部７０により検出された通信モードにより、オートネゴシエーションによって半二重モードが選択されたかどうか判断する。全二重モードが選択された場合、全二重通信モードで通信可能であるので、デバイスドライバ制御部７３は、ステップＳ１０５で上述した通信確定フラグをオンとする。
【００５４】
半二重モードが選択された場合、通信モード設定部７１は、全二重通信モード設定段階に対応するステップＳ１０２で、通信モードを暫定的に全二重通信モードに設定する。
【００５５】
次に、ジャム信号検出部７２は、ジャム信号検出判断段階に対応するステップＳ１０３で、ジャム信号を検出したかどうか判断する。ジャム信号を検出しなかった場合、全二重通信モードで通信可能であるので、デバイスドライバ制御部７３は、ステップＳ１０５で通信確定フラグをオンとする。
【００５６】
ジャム信号を検出した場合、全二重通信モードで通信不可能なので、通信モード設定部７１は、半二重通信モード設定段階に対応するステップＳ１０４で、半二重通信モードに通信モードを設定する。そして、デバイスドライバ制御部７３は、ステップＳ１０５で通信確定フラグをオンとする。
【００５７】
上記の例では、端末Ａ１００の起動後に行われるオートネゴシエーション時を取り上げたが、この他にも、端末Ａ１００を再起動した直後、または、通信先が起動された場合、さらには、稼働中の通信先の接続状態に変化があった場合のネゴシエーション時も対象となる。
【図面の簡単な説明】
【００５８】
【図１】オートネゴシエーション機能を持たない通信装置同士の接続例を示す図である（その１）。
【図２】オートネゴシエーション機能を持たない通信装置同士の接続例を示す図である（その２）。
【図３】オートネゴシエーション機能を持たない通信装置同士の接続例を示す図である（その３）。
【図４】オートネゴシエーション機能を持つ通信装置同士の接続例を示す図である。
【図５】コリジョンを検出した場合のジャム信号送出を示す図である。
【図６】端末Ａの一実施例のハードウェア構成図である。
【図７】端末Ａの一実施例のソフトウェア構成図である。
【図８】デバイスドライバのソフトウェアブロック図である。
【図９】デバイスドライバの処理を示すフローチャートである。
【符号の説明】
【００５９】
１０  ＲＯＭ
２０  ＲＡＭ
３０  ＣＰＵ
４０  ＭＡＣコントローラ
４１  ＭＩＩＭレジスタ
４２  ＭＯＤＥレジスタ
４３  短フレーム検出部
５０  ＰＨＹ
５１  ＰＨＹレジスタ
６０  デバイスドライバ
６１  ＴＣＰ／ＩＰ
６２  ＦＴＰ
６３  ＨＴＴＰ
７０  通信モード検出部
７１  通信モード設定部
７２  ジャム信号検出部
７３  デバイスドライバ制御部
【図１】
2006060403.tif 000003
【図２】
2006060403.tif 000004
【図３】
2006060403.tif 000005
【図４】
2006060403.tif 000006
【図５】
2006060403.tif 000007
【図６】
2006060403.tif 000008
【図７】
2006060403.tif 000009
【図８】
2006060403.tif 000010
【図９】
2006060403.tif 000011