(57)【特許請求の範囲】
【請求項１】
ネットワークに接続され、他の装置と通信速度が異なる複数の通信モードで通信を行う通信手段と、動作開始時及び通信が途切れた後の再開時に通信相手の装置との通信に最適な通信モードを自動的に判別して設定する手段とを備えたネットワークインタフェース装置において、
使用中の通信モードを検出する検出手段と、
該手段によって検出した動作開始時の通信モードを初期通信モードとして記憶する記憶手段と、
前記検出手段によって検出した通信モードが前記初期通信モードと比較して低速なモードである場合に、通信相手の装置との通信に最適な通信モードを自動的に判別して設定する通信モード設定手段とを設けたことを特徴とするネットワークインタフェース装置。
【請求項２】
請求項１記載のネットワークインタフェース装置において、
前記検出手段によって検出した通信モードが所定回数連続して一致した場合にそのモードを前記初期通信モードとして前記記憶手段に記憶させる手段を設けたことを特徴とするネットワークインタフェース装置。
【請求項３】
請求項１又は２記載のネットワークインタフェース装置において、
前記通信モード設定手段は、前記初期通信モードが前記記憶手段に記憶されている場合のみ、前記検出手段によって検出した通信モードが前記初期通信モードと比較して低速なモードである場合に、通信相手の装置との通信に最適な通信モードを自動的に判別して設定する手段であることを特徴とするネットワークインタフェース装置。
【請求項４】
請求項１乃至３のいずれか一項記載のネットワークインタフェース装置において、
前記通信モード設定手段が、前記検出手段によって検出した通信モードが所定回数連続して前記初期通信モードと比較して低速なモードであった場合に通信相手の装置との通信に最適な通信モードを自動的に判別して設定する手段であることを特徴とするネットワークインタフェース装置。
【請求項５】
請求項１乃至４のいずれか一項記載のネットワークインタフェース装置において、
前記通信モード設定手段の動作の有効／無効を設定する手段を設けたことを特徴とするネットワークインタフェース装置。
【請求項６】
ネットワークに接続され、他の装置と複数の通信速度で通信を行う通信手段を備えたネットワークインタフェース装置において、
所定時間毎に通信相手の装置との通信に最適な通信モードを自動的に判別して設定する通信モード設定手段を設けたことを特徴とするネットワークインタフェース装置。
【請求項７】
請求項１乃至５のいずれか一項に記載のネットワークインタフェース装置において、
前記初期通信モードが当該ネットワークインタフェース装置が使用可能な通信モードのうち最も通信速度の遅い通信モードであった場合に前記通信モード設定手段の動作を無効にする手段を設けたことを特徴とするネットワークインタフェース装置。
【請求項８】
請求項１乃至７のいずれか一項に記載のネットワークインタフェース装置を備え、該ネットワークインタフェース装置を介してネットワークに接続された他の装置と情報の授受を行う手段を有することを特徴とする通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、機器をローカルエリアネットワーク（ＬＡＮ）等のネットワークに接続するためのネットワークインタフェース装置及びこのようなネットワークインタフェース装置を備えた通信装置に関する。特に、イーサネット（Ｅｔｈｅｒｎｅｔ：登録商標）におけるオートネゴシエーションのような、通信相手の装置との通信に最適な通信モードを自動的に判別して設定する機能を備えたネットワークインタフェース装置及びこのようなネットワークインタフェース装置を備えた通信装置に関する。
【０００２】
【従来の技術】
近年、ＬＡＮ等のネットワークが急速に普及し、このようなネットワークにパーソナルコンピュータ（ＰＣ）等のコンピュータを複数接続してデータの共有を行ったり、スキャナやプリンタ等の装置を接続して複数のＰＣで共有したりということが行われるようになってきた。さらに、複写機やファクシミリ装置等をネットワークに接続し、これらの装置をスキャナやプリンタとして活用すること等も行われるようになってきた。
そして、これらの各装置をネットワークに接続するためにはネットワークインタフェース装置が用いられる。しかし、このようなネットワークインタフェース装置は、多くの会社によって製造・販売されており、また、技術の進歩に伴って次々と通信速度の速い規格が開発されているため、ネットワークに接続されている装置によって対応可能な通信速度が異なるという状況が発生している。
【０００３】
そこで、ＩＥＥＥ（the Institute of Electrical and Electronics Engineers）８０２．３委員会では、１００Ｍｂｐｓ及び１０Ｍｂｐｓのイーサネットにおいて接続相手との通信速度を自動設定する手段として、オートネゴシエーションを規定した。これは、イーサネット接続用機器がツイストペアケーブル等によって接続された場合、あるいは機器が接続されている状態においてどちらかの機器の電源が投入されるかリセットされた場合に、各々の機器から送出されるリンクパルスを手立てに、通信に最適な共通して使用できる通信モード（接続モード）を自動的に判別して設定する機能である。
【０００４】
このオートネゴシエーションに標準で定義されている通信モードは、優先度の高い高速な通信モードから順に並べると、以下の通りである。
・１０００ＢＡＳＥ−Ｔ  全二重
・１０００ＢＡＳＥ−Ｔ
・１００ＢＡＳＥ−Ｔ２  全二重
・１００ＢＡＳＥ−ＴＸ  全二重
・１００ＢＡＳＥ−Ｔ２
・１００ＢＡＳＥ−Ｔ４
・１００ＢＡＳＥ−ＴＸ
・１０ＢＡＳＥ−Ｔ  全二重
・１０ＢＡＳＥ−Ｔ
【０００５】
このようなオートネゴシエーションに関連する従来技術としては、例えば特開２００１−１１１６００号公報に、オートネゴシエーション非対応の機器と接続した場合や、機器間の相性によりオートネゴシエーションが正常に機能しない場合のネットワークの状態をモニタ／表示することを可能にするネットワーク装置が開示されている。
また、特開２０００−３４９８５４号公報には、低速なデータ転送レートのネットワークに接続されている場合、装置の動作クロックを低速化して、装置の消費電力、温度上昇を抑えるネットワークインタフェース装置が開示されている。
【０００６】
【発明が解決しようとする課題】
しかしながら、このような従来の装置では、オートネゴシエーションはリンクの初期化時にしか行われないため、一旦自動選択された通信モードが外的なノイズ等の要因により低速な通信モードにシフトダウンしてしまった場合には、本来設定されるべき高速な通信モードに復帰することはできない。なお、このようなシフトダウンは、例えば、動作中相互にやりとりしているリンクパルスにノイズが重畳されたために相互のリンクが解消し、その後リンクの初期化を再度行う際のオートネゴシエーション中のリンクパルスにもノイズが重畳され、ノイズのない環境での理想的な接続モードよりも低速な接続モードが設定される場合に発生することが考えられる。
【０００７】
このような事態が発生しても端末のユーザや管理者に何ら通知されることがないため、通信速度が低下した環境下で通信を強いられることになるという問題があった。
また、端末ユーザや管理者は、通信速度の低下を感じた時でも、ハブ（ＨＵＢ）の発光ダイオード（ＬＥＤ）等の表示装置を目視する以外には通信モードがシフトダウンしていることを知る方法がないため、使い勝手が悪いという問題もあった。
さらに、通信速度の低下している原因が通信モードのシフトダウンであると推測した場合でも、手動でＬＡＮケーブルを抜き差ししたり端末を再起動させたりしなければ元の接続モードに復帰することができないため、使い勝手が悪いという問題もあった。
この発明は、このような問題を解決し、通信相手の装置との通信に最適な通信モードを自動的に判別して設定する手段を備えたネットワークインタフェース装置において、常に適切な通信モードで通信を行えるようにすることを目的とする。
【０００８】
【課題を解決するための手段】
この発明は、上記の目的を達成するため、ネットワークに接続され、他の装置と通信速度が異なる複数の通信モードで通信を行う通信手段と、動作開始時及び通信が途切れた後の再開時に通信相手の装置との通信に最適な通信モードを自動的に判別して設定する手段とを備えたネットワークインタフェース装置において、使用中の通信モードを検出する検出手段と、その手段によって検出した動作開始時の通信モードを初期通信モードとして記憶する記憶手段と、上記検出手段によって検出した通信モードが上記初期通信モードと比較して低速なモードである場合に、通信相手の装置との通信に最適な通信モードを自動的に判別して設定する通信モード設定手段とを設けたものである。
ここで、上記検出手段による検出は、一定時間毎に行うようにするとよい。
【０００９】
このようなネットワークインタフェース装置において、上記検出手段によって検出した通信モードが所定回数連続して一致した場合にそのモードを上記初期通信モードとして上記記憶手段に記憶させる手段を設けるとよい。
さらに、上記通信モード設定手段を、上記初期通信モードが前記記憶手段に記憶されている場合のみ、上記検出手段によって検出した通信モードが上記初期通信モードと比較して低速なモードである場合に、通信相手の装置との通信に最適な通信モードを自動的に判別して設定する手段とするとよい。
さらに、上記通信モード設定手段を、上記検出手段によって検出した通信モードが所定回数連続して上記初期通信モードと比較して低速なモードであった場合に通信相手の装置との通信に最適な通信モードを自動的に判別して設定する手段とするとよい。
【００１０】
また、上記通信モード設定手段が通信モードの判別と設定を行う際に通信が実行中であった場合には、通信の終了後にこれらの処理を行うようにするとよい。また、上記通信モード設定手段による通信モードの判別と設定は、通信の要求がある度に行うようにしてもよい。
さらにまた、上記通信モード設定手段の動作の有効／無効を設定する手段を設けるとよい。
さらに、上記初期通信モードがそのネットワークインタフェース装置が使用可能な通信モードのうち最も通信速度の遅い通信モードであった場合に上記通信モード設定手段の動作を無効にする手段を設けるとよい。
【００１１】
また、上記通信モード設定手段による通信モードの判別と設定は、上記通信手段を再起動することによって行うようにしてもよい。あるいは、ネットワークインタフェース装置自体を再起動することによって行うようにしてもよい。
さらに、上記検出手段によって検出した通信モードが上記初期通信モードと比較して低速なモードであった場合、あるいは上記通信モード設定手段によって通信モードの判別と設定を行った場合にその旨を表示する表示手段を設けてもよい。
また、前記通信手段が同時に前記通信モード設定手段として機能するようにしてもよい。この発明は、このような通信手段を備えた通信コントローラも提供する。
【００１２】
この発明はまた、ネットワークに接続され、他の装置と複数の通信速度で通信を行う通信手段を備えたネットワークインタフェース装置において、所定時間毎に通信相手の装置との通信に最適な通信モードを自動的に判別して設定する通信モード設定手段を設けたものである。
この発明の通信装置は、これらのネットワークインタフェース装置を備え、そのネットワークインタフェース装置を介してネットワークに接続された他の装置と情報の授受を行う手段を有するものである。
【００１３】
【発明の実施の形態】
以下、この発明の実施の形態を図面に基づいて具体的に説明する。
まず、図１を用いてこの発明の通信装置の実施形態であるファクシミリ装置及び、この発明のネットワークインタフェース装置の実施形態である、そのファクシミリ装置に備えたネットワークインタフェースカードについて説明する。図１は、そのファクシミリ装置及びネットワークインタフェースカードの概略構成を示すブロック図である。
【００１４】
ファクシミリ装置１０は、システム制御部１１，システムメモリ１２，スキャナ１３，プロッタ１４，符号化復号化部１５，操作表示部１６，網制御部（ＮＣＵ）１７，Ｇ３ＦＡＸモデム１８，画像メモリ１９，ネットワークインタフェースカード（ＮＩＣ）２０を備え、これらの各ユニットはシステムバスによって接続されている。また、このファクシミリ装置１０は、ＮＩＣ２０のホストシステムとして機能し、ＮＩＣ２０を介してＨＵＢ３０に接続され、同じくＨＵＢ３０に接続された他の装置である端末３１，…，３ｎと共にネットワークを構成し、これらの装置と情報の授受を行うことができる。
すなわち、このファクシミリ装置１０はネットワークファクシミリ装置であり、端末３１，…，３ｎのいずれかがインターネットに接続されている場合には、インターネットファクシミリ装置としても機能することができる。
【００１５】
このようなファクシミリ装置１０において、システム制御部１１は、ＣＰＵ及びＲＯＭ等を備え、この装置を統括制御する制御部であり、ＲＯＭに格納された各種制御プログラムを実行して各部の動作やファクシミリ電送による通信動作の制御を行う。システムメモリ１２は、システム制御部１１のワークメモリとして使用したり、あるいは必要なデータ等を記憶したり、またはシステム制御処理において必要なパラメータ等を記憶したりするための記憶手段である。
スキャナ１３は、画像読取手段であり、送信すべき画像の画像データを所定の解像度で読み取るための読取手段である。プロッタ１４は、受信した画情報又は画像メモリ１９に記憶した画情報に基づいて用紙に画像を形成する画像形成手段である。
符号化復号化部１５は、送信すべき画情報を符号化して圧縮データを生成したり、符号化された圧縮データからなる受信した画情報を復号化（伸長）して符号化前の状態の生データを生成したりするユニットである。
【００１６】
操作表示部１６は、装置の各種動作状態や設定状態を表示したり、ユーザが各種操作や設定を行ったり情報を入力したりするためのユニットであり、例えばタッチパネルを積層した液晶ディスプレイと各種キー等によって構成することができる。
網制御部１７は、公衆電話回線網に接続して通信を行うためのユニットであり、自動発信機能を有する。電話としての手動接続も可能である。Ｇ３ＦＡＸモデム１８は、グループ３ファクシミリのモデム機能を実現するユニットであり、網制御部１７を介して公衆回線に接続され、通信回線として公衆回線を介して他のファクシミリ装置等の外部装置とデータの授受を行う。
画像メモリ１９は、スキャナ１３で読み取った画像の画像データ、Ｇ３ＦＡＸモデム１８によって受信した画情報等を記憶するユニットである。この画像メモリ１９は、ＲＡＭによって構成するが、ハードディスク装置等の大容量の書き換え可能な不揮発性記憶手段を併用するようにしてもよい。
【００１７】
ＮＩＣ２０は、このファクシミリ装置１０をネットワークに接続するためのインタフェースである。そして、このＮＩＣ２０においては、ＣＰＵ２１，ＲＯＭ２２，ＲＡＭ２３，ＬＡＮコントローラ２４がバスによって接続されている。
ＣＰＵ２１は、ＮＩＣ２０を統括制御する制御部であり、ＲＯＭ２２に格納された各種制御プログラムを実行して各部の動作の制御を行う。ＲＡＭ２３は、ＣＰＵ２１のワークメモリとして使用したり、あるいは必要なデータやパラメータ等を記憶したりするための記憶手段である。
【００１８】
ＬＡＮコントローラ２４は、通信コントローラで、メディアアクセスコントローラ（ＭＡＣ）と物理層（ＰＨＹ）コントローラとなるユニットであり、トランシーバとしても機能し、１チップ化することもできる。また、ＣＰＵ２１の制御に従ってイーサネットの通信プロトコルを用いて他の装置と通信を行う通信手段であり、コネクタ２５を介してＨＵＢ３０と接続されている。そして、通信速度が異なる複数の通信モードで通信を行うことができ、この通信モードとしては、例えば１００ＢＡＳＥ−Ｔ２全二重，１００ＢＡＳＥ−ＴＸ全二重，１００ＢＡＳＥ−Ｔ２等のＬＡＮ接続モードが挙げられる。
さらに、ＬＡＮコントローラ２４中のＰＨＹコントローラは、通信相手の装置との通信に最適な、すなわち共通して利用できる中で最も通信速度の速い通信モードを自動的に判別して設定する手段を有する。この手段は、イーサネットを用いた通信においては、オートネゴシエーション機能によって実現することができる。また、ＰＨＹコントローラは、使用中の、すなわち設定されている通信モードを、その内部レジスタあるいはＭＡＣ内のレジスタにＣＰＵ２１がいつでも読み出すことができるように記憶しておくものとする。
【００１９】
なお、コネクタ２５としては、絶縁用トランスフォーマ，耐コモンモードノイズ用トランスフォーマ等で構成されるＲＪ−４５コネクタ等を用いることができる。
以下、このファクシミリ装置の動作例について説明するが、必ずしも全ての動作が可能なように構成する必要はなく、以下に説明する動作例のうち少なくとも一つの動作を行うことができれば、この発明の効果を得ることができる。
【００２０】
〔第１の動作例：図２〕
次に、上述したファクシミリ装置の第１の動作例を、ＮＩＣ２０の動作を中心に説明する。図２は、そのファクシミリ装置のＮＩＣにおける処理を示すフローチャートである。
ファクシミリ装置１０の電源が投入されるかリセット（再起動）操作が行われると、そのシステム制御部１１は所定の初期化処理を行い、その中でＮＩＣ２０の初期化も行われる。この初期化処理中に、ＮＩＣ２０のＣＰＵ２１は、図２のフローチャートに示す処理を開始する。
【００２１】
まずステップＳ１０１で、外部端子の設定により接続モードの固定が選択されているか否か判断する。ここで、この設定は、例えばＣＰＵ２１の入力ポートを数ビットを利用して行うことが考えられる。この場合、各々のビットを基板上で「Ｈ」や「Ｌ」に設定することにより、ＣＰＵ２１がその値をリード／デコードして、接続モードをオートネゴシエーションで決定するか、所定の接続モード（例えば１００ＢＡＳＥ−ＴＸ全二重)に固定するかを指定することができる。
ここで固定が選択されていなければ、ステップＳ１０２に進み、ＬＡＮコントローラ２４にオートネゴシエーションを実行させ、通信モードとして最適なＬＡＮ接続モードを設定させる。この指令は、ＬＡＮコントローラ２４のオートネゴシエーションレジスタ（以下「ＡＮレジスタ」という）にその旨のデータを書き込むことによって行うことができる。ただし、このようなレジスタのないＬＡＮコントローラを用いる場合には、ＬＡＮコントローラが初期化時に自動的にオートネゴシエーションを実行するようにすることもできる。
ここでは、ＣＰＵ２１とＬＡＮコントローラ２４とが、動作開始時に通信相手の装置との通信に最適な通信モードを自動的に判別して設定する手段として機能する。
【００２２】
指示されたオートネゴシエーションを含むＬＡＮコントローラ２４の初期化が終了すると、ＬＡＮコントローラ２４は、ＣＰＵ２１から参照可能な初期化終了ビットにその旨を示す情報を書き込むと共に、同じくＣＰＵ２１から参照可能な通信モードレジスタに、設定したＬＡＮ接続モードを示す情報を書き込む。このＬＡＮ接続モードが、動作開始時の通信モードである。
ＣＰＵ２１は、ＬＡＮコントローラ２４の初期化終了ビットをポーリングし、ここに初期化終了を示す情報が書き込まれていた時点でその旨を認識し、ステップＳ１０３に移行する。そして、検出手段として機能して接続モードレジスタに記憶されている使用中の通信モードの情報を読み出し、この情報を初期通信モードとしてＲＡＭ２３に記憶させる。
【００２３】
次に、ステップＳ１０４でタイマをリセットしてスタートさせ、ステップＳ１０５で所定時間が経過してタイマが満了するまで待機してからステップＳ１０６に進む。ここで、所定時間には、オートネゴシエーションに要する時間よりも十分長い時間を設定するものとする。
この間、このフロー以外の処理として、外部装置との通信処理ももちろん行っているが、この通信がノイズ等によって途切れた場合、ＬＡＮコントローラ２４は再開時にオートネゴシエーションを行う。そして、このオートネゴシエーションの終了時にも、初期化時と同様に通信モードレジスタに設定したＬＡＮ接続モードを示す情報を書き込む。しかし、このオートネゴシエーション時にノイズが重畳された場合等には、最適なモードよりも遅いＬＡＮ接続モードが設定されてしまうこともある。なお、この明細書において、このように通信が途切れた場合に行うオートネゴシエーションは、特に断らない限り、通信モードの「再設定」あるいは「復帰」には含めないものとする。
【００２４】
図２の説明に戻ると、ステップＳ１０６では、ＣＰＵ２１は検出手段として機能し、ＬＡＮコントローラ２４の通信モードレジスタを参照して、使用中の、すなわち設定されている通信モードの情報を取得し、ＲＡＭ２３に記憶させておいた初期通信モードの情報と比較する。
そして、設定されている通信モードが初期通信モードよりも通信速度が低速なモードであった場合には、ステップＳ１０７に進んでＬＡＮコントローラ２４に再度オートネゴシエーションを実行させる。この指令は、ステップＳ１０２の場合と同様に、ＬＡＮコントローラ２４のＡＮレジスタにその旨のデータを書き込むことによって行うことができる。そして、このオートネゴシエーションの再実行により、最適な通信モードを設定することができる。
上述のステップＳ１０６とステップＳ１０７の処理においては、ＣＰＵ２１とＬＡＮコントローラ２４とが通信モード設定手段として機能する。
【００２５】
また、ＬＡＮコントローラ２４はオートネゴシエーションの再実行が指示された時点で初期化終了ビットと接続モードレジスタとをクリアし、再実行終了時に初期化終了ビットにその旨を示す情報を、接続モードレジスタに設定したＬＡＮ接続モードを示す情報を書き込むものとする。
なお、オートネゴシエーションの再実行を行わせる手法としては、ＣＰＵ２１からＬＡＮコントローラ２４のリセットレジスタを操作したりＬＡＮコントローラ２４に専用のリセット信号を送信したりしてＬＡＮコントローラ２４をリセット（再起動）したり、ＦＡＸ装置１０側のシステム制御部１１のＣＰＵにＮＩＣ２０そのものをリセット（再起動）させたりすることも考えられる。
【００２６】
リセット後には初期化処理においてオートネゴシエーションが実行されるので、これらの手法を用いても、上記と同様に最適な通信モードを設定することができる。これらの手法は、ＡＮレジスタのないＬＡＮコントローラを用いる場合でも適用することができる。後者の手法を用いた場合には、図２のフローチャートに示す処理は中止してしまうことになるが、この場合にも初期化処理においてオートネゴシエーションが実行されるので、最適な通信モードを設定することができることに変わりはない。なお、この場合には、図２に示す処理は改めてステップＳ１０１から開始されることになるので、初期通信モードが再度ＲＡＭ２３に記憶されることになる。ＬＡＮコントローラ２４のみをリセットした場合にもこのようにしてもよい。
以後説明する動作例においても、特に断らない限り、オートネゴシエーションの再実行を同様に行わせることができるものとする。
【００２７】
ＣＰＵ２１がＬＡＮコントローラ２４の初期化終了ビットをポーリングしてオートネゴシエーションの終了を認識すると、ステップＳ１０８に進む。なお、ここではステップＳ１０３のように接続モードレジスタの内容をＲＡＭ２３に記憶させる処理は行わないので、ＲＡＭ２３にはステップＳ１０３で記憶された初期通信モードが記憶されたままとなることを注意的に述べておく。
そして、ステップＳ１０８では、電源ＯＦＦの指示があったか否か判断し、指示があれば終了する。なければステップＳ１０４に戻って処理を繰り返す。
ステップＳ１０６で低速なモードでなかった場合には、ステップＳ１０７は飛ばしてステップＳ１０８に進む。
ステップＳ１０１で接続モードの固定が選択されていた場合にはステップＳ１０９に進んで通常の起動処理のみを実行してこの処理を終了し、以後通常の通信処理を実行する。従って、この場合には最適な通信モードの自動設定は行わない。
【００２８】
このような処理を行うことにより、オートネゴシエーション等の、通信相手の装置との通信に最適な通信モードを自動的に判別して設定する機能を有するネットワークインタフェース装置において、ノイズ等の影響で本来最適であるはずの通信モードよりも通信速度の遅いモードが設定されてしまった場合でも、自動的に最適な接続モードに再設定（復帰）することができる。従って、このような動作をするネットワークインタフェース装置やそれを備えた通信装置によれば、ネットワークの能力を最大限に利用し続けることができる。
また、一定時間毎に使用中の通信モードを確認するようにすれば、ユーザや管理者の手間なく速やかに再設定を行うことができる。しかし、ここで説明したようにタイマを用いず、ユーザによる所定の操作があった場合にステップＳ１０５からステップＳ１０６に進むようにすることもできる。
上記の再設定をＬＡＮコントローラのリセットによって行うようにすれば、ＡＮレジスタを持たないＬＡＮコントローラを使用した場合でも、再設定を行うことができる。あるいは、上記の再設定をネットワークインタフェース装置自体をリセットすることによって行うようにすれば、ＡＮレジスタを持たないＬＡＮコントローラを使用し、かつＬＡＮコントローラのみをリセットすることができない場合でも、再設定を行うことができる。
【００２９】
ところで、通信モード設定手段の動作を行うか否か、すなわち通信モードの再設定を行うか否かを設定する手段を設け、上述した処理において、ステップＳ１０２とステップＳ１０３の間で、通信モードの再設定を行う設定がなされているか否かを判断する処理を行うようにしてもよい。この場合、なされていればステップＳ１０３に進んで以下の処理を行い、なされていなければステップＳ１０８に進んで通常の初期化処理を行って終了する。なお、この設定には、例えばＣＰＵ２１の１ビットをフラグとして用い、「Ｈ」なら処理要、「Ｌ」なら不要という定義をしておくことが考えられる。
このようにすれば、動作開始時に最適な通信モードの自動設定を行う場合でも、以後の再設定処理を行わないようにすることもできるので、汎用性を増すことができる。
【００３０】
さらにまた、上述した処理のステップＳ１０２とステップＳ１０３の間で、初期通信モードが使用可能な通信モードのうち最も通信速度の遅い通信モード（例えば１０ＢＡＳＥ−Ｔ半二重）であるか否か判断する処理を行うようにしてもよい。この場合、最も遅いものでなかった場合にはそのままステップＳ１０３に進み、最も遅いものであった場合にはステップＳ１０８に進んで通常の初期化処理を行って終了する。なお、この処理は、初期通信モードの情報をＲＡＭ２３に記憶させてから行うようにしてもよい。
動作開始時に最適な通信モードとして最も通信速度の遅い通信モードが設定された場合には、これ以上通信速度の遅い通信モードになってしまうことはないので、再設定処理は不要となる。そこで、このような処理を行ってそのような場合に以後の再設定に関わる処理を行わないようにすることにより、無駄な処理を削減して処理効率を改善させることができる。
なお、これらの変更は、後述する各動作例においても適用可能である。
【００３１】
〔第２の動作例：図３，図４〕
次に、上述したファクシミリ装置の第２の動作例を、通信時のＮＩＣ２０の動作を中心に説明する。図３はそのファクシミリ装置のＮＩＣにおける通信モード初期化の処理を示すフローチャート、図４は同じく通信モードの再設定の処理を示すフローチャートである。
この動作例においても、ファクシミリ装置１０の電源が投入されるかリセット操作が行われると、そのシステム制御部１１は所定の初期化処理を行い、その中でＮＩＣ２０の初期化も行われる。そして、この初期化処理中に、ＮＩＣ２０のＣＰＵ２１は、図３のフローチャートに示す通信モード初期化処理を実行する。まず、この通信モード初期化処理について説明する。
この通信モード初期化処理は、オートネゴシエーションの実行が選択されている場合に、これを実行すると共に初期通信モードの検出と記憶を行う処理である。
【００３２】
この処理においては、まずステップＳ２０１で、接続モードの固定が選択されているか否か判断する。この判断については、第１の動作例で説明したステップＳ１０１の場合と同様に行うことができる。
固定でなかった場合には、ステップＳ２０２に進み、ＬＡＮコントローラ２４にオートネゴシエーションを実行させ、通信モードとして最適なＬＡＮ接続モードを設定させる。この処理は、第１の動作例で説明したステップＳ１０２の場合と同様に行うことができ、ＬＡＮコントローラ２４側の動作もこの場合と同様であるが、オートネゴシエーションが終了した時点で初期化終了ビットにその旨を示す情報を書き込むと共に、通信モードレジスタに、設定したＬＡＮ接続モードを示す情報を書き込むものとする。
【００３３】
ＣＰＵ２１は、ＬＡＮコントローラ２４の初期化終了ビットをポーリングし、ここにオートネゴシエーション終了を示す情報が書き込まれていた時点でその旨を認識する。そして、ステップＳ２０３に移行し、検出手段として機能して接続モードレジスタに記憶されている使用中の通信モードの情報を読み出し、この情報をＲＡＭ２３のレジスタＡ（アドレスＡ）に記憶させる。
なお、オートネゴシエーションが終了し、その他の初期化処理も終了した後は、このフローチャートに示す処理を実行中であっても、ＮＩＣ２０は外部装置と通信が可能な状態になっているので、この処理の他に通常の通信処理を並行して実行するものとする。そして、この通信がノイズ等によって途切れた場合、ＬＡＮコントローラ２４が再開時にオートネゴシエーションを行ったり、この際に最適なモードよりも遅いＬＡＮ接続モードが設定されてしまうことがあったりすることは、第１の動作例で説明した場合と同様である。
【００３４】
図３の説明に戻ると、次のステップＳ２０４では、通信モードの一致を確認する回数をカウンタＮにセットする。この回数は、ＣＰＵ２１の内部レジスタ等に予め設定しておくものとする。
その後、ステップＳ２０５に進んでタイマをリセットしてスタートさせ、ステップＳ２０６で所定時間が経過してタイマが満了するまで待機してからステップＳ２０７に進む。
ステップＳ２０７では、再度検出手段として機能してＬＡＮコントローラ２４の接続モードレジスタに記憶されている使用中の通信モードの情報をを読み出し、この情報をＲＡＭ２３のレジスタＢ（アドレスＢ）に記憶させる。
そして、ステップＳ２０８でレジスタＡの内容とレジスタＢの内容を比較し、一致していればステップＳ２１１に進み、カウンタＮをデクリメントする。
【００３５】
次のステップＳ２１２でカウンタＮが０になったか否か判断し、０であれば、検出した通信モードが所定回数連続して一致したものとしてステップＳ２１３に進む。そして、レジスタＡに記憶している通信モードの情報を初期通信モードの情報として有効にし、このことを示す情報としてＬＡＮ接続モード確定フラグを立てて（「１」にして）終了する。
ステップＳ２１２でカウンタＮが０でなければ、ステップＳ２０５に戻って処理を繰り返す。
【００３６】
また、ステップＳ２０８で一致していなければ、ステップＳ２０９に進み、直近に使用されている通信モードを示すレジスタＢの内容をレジスタＡに書き込むと共に、ステップＳ２１０でカウンタＮを初期値に戻し、ステップＳ２０５に戻って処理を繰り返す。
ステップＳ２０１で接続モードの固定が選択されていれば、オートネゴシエーションに関連するこのフローチャートの処理を行う必要はないので、そのまま終了する。この場合でも、他の初期化処理は通常通り行うことはもちろんである。
【００３７】
この動作例においてはまた、ＣＰＵ２１は、通常の通信処理と並行して、通信モードの監視と再設定のための図４に示す処理も実行する。次に、この処理について説明する。
この処理においては、まずステップＳ３０１で上述したＬＡＮ接続モード確定フラグが立っているか否か判断する。立っていなければ、図３に示した処理がステップＳ２１３まで進んでフラグが立てられるまで待機する。
立っていれば、初期通信モードが記憶されたものとして、ステップＳ３０２に進み、通信モードが初期通信モードと比較して低速なモードであることを確認する回数をカウンタＭにセットする。この回数は、ＣＰＵ２１の内部レジスタ等に予め設定しておくものとする。
【００３８】
そして、ステップＳ３０３でタイマをリセットしてスタートさせ、ステップＳ３０４で所定時間が経過してタイマが満了するまで待機してからステップＳ３０５に進む。ここで、所定時間は図２のステップＳ１０５や図３のステップＳ２０６の場合と同じであっても異なってもよい。
ステップＳ３０５では、ＣＰＵ２１は検出手段として機能し、ＬＡＮコントローラ２４の通信モードレジスタを参照して、使用中の、すなわち設定されている通信モードの情報を取得し、ＲＡＭ２３に記憶させておいた初期通信モードの情報と比較する。
【００３９】
そして、ステップＳ３０６で設定されている通信モードが初期通信モードよりも通信速度が低速なモードであるか否か判断する。低速なモードであった場合には、ステップＳ３０８に進んでカウンタＭをデクリメントし、ステップＳ３０９に進んでＭが０になったか否か判断する。
Ｍが０であれば、検出した通信モードが所定回数連続して初期通信モードと比較して低速なモードであったものとしてステップＳ３１０に進んで、ＬＡＮコントローラ２４に再度オートネゴシエーションを実行させ、通信相手の装置との通信に最適な通信モードを設定させる。
【００４０】
その後、ステップＳ３１１でカウンタＭを初期値に戻して、ステップＳ３１２で電源ＯＦＦの指示があったか否か判断し、指示があれば終了する。なければステップＳ３０３に戻って処理を繰り返す。
ステップＳ３０９でＭが０でない場合には、そのままステップＳ３１２に進む。また、ステップＳ３０６で低速なモードでなかった場合には、ステップＳ３０７に進んでカウンタＭを初期値に戻し、その後ステップＳ３１２に進む。
以上説明した図４に示す処理のうち、ステップＳ３１０までの処理において、ＣＰＵ２１とＬＡＮコントローラ２４とが通信モード設定手段として機能する。
【００４１】
以上説明した処理を行うことにより、初期通信モードを記憶する際に使用中の通信モードを繰り返し確認し、所定回数続けて一致した場合に初めてその通信モードを初期通信モードとして記憶するので、初期通信モードとして最適な通信モードを精度よく記憶することができる。
また、初期通信モードを記憶したことを示すＬＡＮ接続モード確定フラグを設け、これが立っている場合、すなわち初期通信モードが記憶されている場合にのみ、初期通信モードと使用中の通信モードとの比較以降の処理を行うようにしたので、初期通信モードが有効に記憶される前に誤ってこのデータを参照して再設定を行ってしまうこと防止できる。
さらに、検出した通信モードが所定回数連続して初期通信モードと比較して低速なモードであった場合にのみ、通信モード設定手段による通信モードの再設定を行うようにしたので、通信モードの使用状況の判定精度が向上し、不要な場合に再設定を実行してしまうような事態を防止できる。
【００４２】
なお、上述した処理において、図４のステップＳ３０９とステップＳ３１０との間に、ＬＡＮコントローラ２４が通信動作中か否かを判断し、通信動作中であればこれが終了するまで待機する処理を設けてもよい。この判断は、ＬＡＮコントローラ２４のレジスタを参照したり、ＬＡＮコントローラ２４中のＭＡＣからのＤＭＡ（ダイレクト・メモリ・アクセス）要求信号や割り込み信号を参照したりすることによって行うことができる。
このような処理を行うことにより、通信動作中を避けて通信モードの再設定を行うことができるので、装置本来の通信機能に影響を与えることなく、再設定動作を行うことができる。
同様な変更は、他の動作例においても行うことができる。
【００４３】
また、図３のステップＳ２０２からステップＳ２１３までの処理を第１の動作例で説明した図２のステップＳ１０２及びステップＳ１０３の処理に代えて行ったり、図４のステップＳ３０２からステップＳ３１０までの処理を図２のステップＳ１０４からステップＳ１０７までの処理に代えて行ったりしても、これらの処理による効果を得ることができる。
また、図４に示した処理において、ステップＳ３１０でオートネゴシエーションを再実行させたあと、ＬＡＮ接続モード確定フラグをおろして（「０」にして）終了するようにしてもよい。この場合、その後は通信モード設定手段による通信モードの再設定は行わないことになる。
【００４４】
〔第３の動作例：図５〕
次に、上述したファクシミリ装置の第３の動作例を、通信時のＮＩＣ２０の動作を中心に説明する。図５はそのファクシミリ装置のＮＩＣにおける通信モードの再設定の処理を示すフローチャートである。
この動作例においては、図４のフローチャートに示す処理に代えて図５のフローチャトに示す処理を行う点が第２の動作例と異なるのみであるので、この点以外の説明は省略する。
この動作例においては、ＣＰＵ２１は、図３に示した処理に加え、通信モードの監視と再設定のための図５に示す処理も実行する。
【００４５】
この処理においては、まずステップＳ４０１で上述したＬＡＮ接続モード確定フラグが立っているか否か判断する。立っていなければ、図３に示した処理がステップＳ２１３まで進んでフラグが立てられるまで待機する。
次にステップＳ４０２で、通信要求があったか否か判断し、なければ、あるまで待機する。ここで、通信要求とは、ＮＩＣ２０を介したネットワーク通信を能動的に行うことを要求するトリガを指し、例えば、ホスト側のＦＡＸ装置１０のシステム制御部１１からＮＩＣ２０に対して発行される送信指示コマンドが挙げられる。
【００４６】
ステップＳ４０３では、図４のステップＳ３０５等の場合と同様に、使用中の通信モードの情報を取得して初期通信モードの情報と比較する。
そして、ステップＳ４０４で使用中の通信モードが初期通信モードよりも通信速度が低速なモードであるか否か判断する。低速なモードであった場合には、ステップＳ４０５に進んでＬＡＮコントローラ２４に再度オートネゴシエーションを実行させ、通信相手の装置との通信に最適な通信モードを設定させ、ステップＳ４０６に進んで通常の通信処理を行う。
その後、ステップＳ４０７で電源ＯＦＦの指示があったか否か判断し、指示があれば終了する。なければステップＳ４０２に戻って処理を繰り返す。
ステップＳ４０４で低速なモードでなかった場合には、そのままステップＳ４０６に進んで通常の通信処理を行う。
【００４７】
このように、通信要求があった場合にのみ通信モードの再確認と再設定の処理を行うことにより、通信要求が少ない、すなわち使用頻度が少ない場合や、機器がアイドル状態である場合に余計な処理を行わないので、このような場合の消費電力を低減することができる。
なお、この動作例の処理においては、オートネゴシエーションの再実行の手法としてＮＩＣ２０のリセットは用いないものとする。なぜなら、こうするとホストからの通信要求が処理される前にＮＩＣ２０をリセットしてしまうことになるからである。
【００４８】
〔第４の動作例：図６〕
次に、上述したファクシミリ装置の第４の動作例を、通信時のＮＩＣ２０の動作を中心に説明する。図６はそのファクシミリ装置のＮＩＣにおける通信モードの再設定の処理を示すフローチャートである。
この動作例においては、ファクシミリ装置１０の電源が投入されるかリセット操作が行われると、そのシステム制御部１１は所定の初期化処理を行い、その中でＮＩＣ２０の初期化も行われる。この初期化処理中に、ＮＩＣ２０のＣＰＵ２１は、図６のフローチャートに示す処理を開始する。
【００４９】
図６に示した処理において、ステップＳ５０１，Ｓ５０２，Ｓ５０７の処理は第１の動作例で説明した図２のステップＳ１０１，Ｓ１０２，Ｓ１０９の処理と同様であるので説明を省略する。
ＣＰＵ２１がステップＳ５０２でのオートネゴシエーションが終了したことを認識すると、ステップＳ５０３に進んでタイマをリセットしてスタートさせ、ステップＳ５０４で所定時間が経過してタイマが満了するまで待機してからステップＳ５０５に進む。ここで、所定時間には、オートネゴシエーションに要する時間よりも十分長い時間を設定するものとするが、図２のステップＳ１０５等における所定時間と同じである必要はない。
【００５０】
ステップＳ５０５では、ＬＡＮコントローラ２４に再度オートネゴシエーションを実行させ、通信相手の装置との通信に最適な通信モードを設定させる。そして、ステップＳ５０６で電源ＯＦＦの指示があったか否か判断し、指示があれば終了する。なければステップＳ５０３に戻って処理を繰り返す。
図６に示したステップＳ５０３からＳ５０５の処理において、ＣＰＵ２１とＬＡＮコントローラ２４とが通信モード設定手段として機能する。
このような処理を行うことにより、所定時間毎に通信相手の装置との通信に最適な通信モードを自動的に判別して設定することができるので、より簡単な制御で、また接続モードレジスタを持たないＬＡＮコントローラ２４を使用した場合でも、好ましい通信モードの再設定を自動で行うことができる。
【００５１】
〔実施形態の変形例〕
以上説明した実施形態においては、ＮＩＣ２０のＣＰＵ２１が図２から図６の各フローチャートの処理を行う例について説明したが、これらの処理をＬＡＮコントローラ２４が行い、ＬＡＮコントローラ２４が自律的に通信モードの再設定処理を行うことができるようにしてもよい。この場合、処理の制御は、ハードウェアによって実現しても、ファームウェアによって実現しても、これらの組み合わせによって実現してもよい。また、ＬＡＮコントローラ２４はＬＳＩとして構成するとよい。
このようにすれば、ＣＰＵ２１におけるシステムソフトウェアの処理負担を軽減することができる。
【００５２】
また、初期通信モードよりも通信速度の遅い通信モードが使用されていることをＣＰＵ２１（又はＬＡＮコントローラ２４）が認識した場合、あるいは上述した動作例のいずれかの処理によって通信モードの再設定を行った場合に、その旨を操作表示部１６の表示部に表示させるようにしてもよい。あるいは、ＮＩＣ２０側にＬＥＤ等によって表示手段を設け、その点灯／消灯等によってその旨を表示するようにしてもよい。
このようにすれば、通信モードが低速なものになったこと、あるいは通信モードの再設定処理が行われたことをユーザが容易に認識することができるので、装置の操作性を向上させることができる。
【００５３】
さらに、以上説明した実施形態では、通信装置としてファクシミリ装置、ネットワークインタフェース装置としてネットワークインタフェースカードを例に挙げて説明したが、この発明がこれに限られるものでないことはもちろんである。通信装置には、ネットワークに接続され、他の装置と情報を授受するすることのできる装置は全て含まれ、このような装置としては、例えばネットワークに接続可能なプリンタ，複写機，スキャナ，パーソナルコンピュータ等が考えられる。さらに、ネットワークに接続可能な家庭用電化製品等も除外されるものではない。
ネットワークも、イーサネットを利用したＬＡＮに限られるものでないことも、いうまでもない。
そして、ネットワークインタフェース装置は、これらの通信装置をネットワークに接続するためのインタフェースとなる装置であれば、形態や使用するプロトコル等を問わず、全て含むものである。
【００５４】
【発明の効果】
以上説明してきたように、この発明のネットワークインタフェース装置によれば、オートネゴシエーション等の、通信相手の装置との通信に最適な通信モードを自動的に判別して設定する機能を有するネットワークインタフェース装置において、ノイズ等の影響で本来最適であるはずの通信モードよりも通信速度の遅いモードが設定されてしまった場合でも、自動的に最適な接続モードに再設定（復帰）することができる。
また、この発明の通信装置によれば、このような動作をするネットワークインタフェース装置を備えたことにより、ネットワークの能力を最大限に利用して通信を行うことができる。
【図面の簡単な説明】
【図１】この発明の実施形態であるファクシミリ装置及びネットワークインタフェースカードの概略構成を示すブロック図である。
【図２】そのファクシミリ装置及びネットワークインタフェースカードの第１の動作例においてネットワークインタフェースカードが実行する処理を示すフローチャートである。
【図３】同じく第２の動作例における通信モード初期化の処理を示すフローチャートである。
【図４】同じく通信モードの再設定の処理を示すフローチャートである。
【図５】同じく第３の動作例における通信モードの再設定の処理を示すフローチャートである。
【図６】同じく第４の動作例における通信モードの再設定の処理を示すフローチャートである。
【符号の説明】
１０：ファクシミリ装置      １１：システム制御部
１２：システムメモリ        １３：スキャナ
１４：プロッタ              １５：符号化復号化部
１６：操作表示部            １７：網制御部
１８：Ｇ３ＦＡＸモデム      １９：画像メモリ
２０：ネットワークインタフェースカード
２１：ＣＰＵ                ２２：ＲＯＭ
２３：ＲＡＭ              ２４：ＬＡＮコントローラ
２５：コネクタ            ３０：ＨＵＢ
３１，…，３ｎ：端末
【図１】
0003938503.tif 000002
【図２】
0003938503.tif 000003
【図３】
0003938503.tif 000004
【図４】
0003938503.tif 000005
【図５】
0003938503.tif 000006
【図６】
0003938503.tif 000007