(57)【特許請求の範囲】
【請求項１】
ＭＡＣ部と、ＤＭＡコントロール部と、受信バッファとを有し、前記ＭＡＣ部がネットワークからの自局宛のデータフレームを前記受信バッファに格納すると同時に、前記ＤＭＡコントロール部がバス使用権を要求し、許可されるとシステムメモリに対し受信データを転送するように構成したネットワークインターフェース回路において、前記受信バッファを少なくとも３つのバッファブロックで構成するとともに、各バッファブロックのデータを管理し、前記ＭＡＣ部からのデータ受信およびＤＭＡコントロール部へのデータ送出をコントロールする受信バッファコントロール部を備え、１つのデータフレームを受信する際には、前記受信バッファコントロール部は、前記バッファブロックを２ブロック使用し、残り１ブロックは常に待機させ、各バッファブロック単位で前記受信データを前記ＤＭＡコントロール部へバースト転送するように制御し、
前記バースト転送の速度は、前記ＭＡＣ部から各前記バッファブロックへの受信データの転送速度よりも速いことを特徴とするネットワークインターフェース回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複写機、プリンタ、スキャナ、ファクシミリなどに内蔵されるネットワークインタフェース回路に関し、より詳細には、少ない受信バッファで効率良くデータ受信を行えるようにしたネットワークインタフェース回路に関するものである。
【０００２】
【従来の技術】
図３に、一般的なネットワークインタフェース回路の構成例を示す。ネットワークインタフェース回路３０は、ネットワークコントローラ３１と、送受信バッファ３４とを専用のインタフェースを介して接続してなる。送受信バッファ３４には汎用のメモリデバイス（ＦＩＦＯ）が使用される。
ネットワークコントローラ３１は、ＤＭＡ（Direct Memory Access）コントローラ３７あるいはＰＣＩ（Peripheral Component Interface）バスインタフェースを有し、ＣＰＵ３５、システムメモリ３６などと共にシステムバス３２に接続されている。ネットワーク３３側には、ＰＨＹ３８およびトランス等を介して接続されている。
ネットワークコントローラ３１は、ネットワーク３３からのデータフレームを、アドレスフィルタを通すことにより、自局宛のフレームのみ受信バッファ３４に格納する。それと同時に内蔵のＤＭＡコントローラ３７がバス使用権を要求し、許可されるとシステムメモリ３６に対し受信データを転送する。
イーサネットのようなネットワークでは、データの受信はフレーム単位で行われるため、フレームの途中で受信を止めることはできない。何らかの理由により受信動作を停止した場合、そのフレームデータは喪失することとなり、再度データを送信元に要求する必要がある。このため受信バッファ３４に用いられるＦＩＦＯメモリは、１Ｋ〜２Ｋｂｙｔｅというサイズのものが一般的である。
そして、メモリの管理はフレーム単位で行われ、メモリに格納されるフレーム数だけアドレス等の管理をする必要があるため、最大フレーム数を想定した回路構成にする必要がある。
【０００３】
【発明が解決しようとする課題】
最近ではＡＳＩＣ（Application Specific Integrated Circuit）ベンダーが提供するＭＡＣコアを利用することで、複数の機能を持つＡＳＩＣの開発が可能となってきたが、送受信バッファはＡＳＩＣ外部に接続されることが多い。これは大規模なＦＩＦＯメモリを内蔵することが難しいためであるが、その結果、メモリ管理が煩雑になるといった問題や、Ｉ／Ｏピンが不足するといった物理的な制約が発生している。
メモリに複数のフレームを格納する場合、フレーム数だけアドレスポインタ等の情報を管理する必要がある。フレーム数は一定でないことから、最大数を想定して回路を構成する必要がある。このため複雑な回路を組む必要があり、ＡＳＩＣの開発期間増長の要因となりうる。
また、大規模な受信バッファを必要とすることが、ＡＳＩＣへのバッファ内蔵を妨げる要因となっている。
本発明が解決しようとする課題は、フレーム管理を容易にでき、回路構成をシンプルにでき、大規模な受信バッファを必要としないネットワークインタフェース回路を提供することにより、受信バッファを内蔵したＡＳＩＣ構成のネットワークインタフェース回路を容易に実現できるようにすることにある。
【０００４】
【課題を解決するための手段】
上記課題を解決するために、請求項１記載の発明は、ＭＡＣ部と、ＤＭＡコントロール部と、受信バッファとを有し、前記ＭＡＣ部がネットワークからの自局宛のデータフレームを前記受信バッファに格納すると同時に、前記ＤＭＡコントロール部がバス使用権を要求し、許可されるとシステムメモリに対し受信データを転送するように構成したネットワークインターフェース回路において、前記受信バッファを少なくとも３つのバッファブロックで構成するとともに、各バッファブロックのデータを管理し、前記ＭＡＣ部からのデータ受信およびＤＭＡコントロール部へのデータ送出をコントロールする受信バッファコントロール部を備え、１つのデータフレームを受信する際には、前記受信バッファコントロール部は、前記バッファブロックを２ブロック使用し、残り１ブロックは常に待機させ、各バッファブロック単位で前記受信データを前記ＤＭＡコントロール部へバースト転送するように制御し、前記バースト転送の速度は、前記ＭＡＣ部から各前記バッファブロックへの受信データの転送速度よりも速いネットワークインターフェース回路を特徴とする。
【０００５】
【発明の実施の形態】
以下に、本発明の実施の形態について説明する。
図１は本発明にかかるネットワークインタフェース回路の構成例を示すブロック図である。この例に示すネットワークインタフェース回路１００はＡＳＩＣにより実現されている。ネットワーク３３は１００Ｍｂｐｓもしくは１０Ｍｂｐｓのイーサネットに特定される。
ネットワークインタフェース回路１００は、ＭＡＣ（Media Access Control）部１と、受信バッファコントロール部２と、受信バッファ３と、ＤＭＡコントロール部４と、バスアービタ５と、メモリコントロール部６と、ＤＭＡコントロール部７とを備えて構成されている。
ＭＡＣ部１、受信バッファ３およびＤＭＡコントロール部４は受信バッファコントロール部２に接続されている。ＤＭＡコントロール部４はバスアービタ５に接続されている。バスアービタ５は、メモリコントロール部６を介してシステムメモリ９に接続されている。また、ネットワークインタフェース回路１００を構成するＡＳＩＣの内部バスはＣＰＵ１０に接続されている。
ＭＡＣ部１は、ネットワーク１０１のプロトコルコントロールを行う。
受信バッファコントロール部２は、受信バッファ３のデータ管理とともに、ＭＡＣ部１からのデータ受信とＤＭＡコントロール部４へのデータ送出もコントロールしている。
受信バッファ３は、小規模かつ同容量の３つのバッファブロック３Ａ、３Ｂ、３Ｃからなる。
バスアービタ５は、ＤＭＡコントロール部４と他のＤＭＡコントロール部１０との調停を行っている。
【０００６】
このネットワークインタフェース回路１００の具体的な動作について、図２を用いて説明する。
初期状態において、受信バッファ３のすべてのバッファブロック３Ａ、３Ｂ、３Ｃは空き状態にある。この状態でフレームが受信された場合は、バッファブロック３Ａ、３Ｂ、３Ｃの優先順位で格納されるようになっている。
いま、フレーム１が受信されたとする。
状態１：フレーム１は、バッファブロック３Ａに格納される。
状態２：バッファブロック３Ａがいっぱいになると、フレーム１はバッファブロック３Ｂに引き続き格納される。それと同時に、ＤＭＡコントロール部４は、バッファブロック３Ａからデータを読み出し、システムメモリ９へ転送する。
状態３：ネットワーク３３が１００Ｍｂｐｓのイーサネットの場合、受信バッファ３へのデータ格納速度は最高で１２.５Ｍｂｙｔｅ/ｓｅｃである。ＡＳＩＣ内部のデータ転送速度をこれ以上にしておくことで、バッファブロック３Ｂがいっぱいになる前にバッファブロック３Ａが空くことになる。
状態４：バッファブロック３Ｂがいっぱいになったら、フレーム１は再びバッファブロック３Ａに格納される。同時に、バッファブロック３Ｂからシステムメモリ９へのデータ転送が開始される。
【０００７】
状態１〜４において、バッファブロック３Ｃは常に新規フレームを待ちつづけ、受信動作自体は常に２つのバッファブロックで行われる。
状態５：フレーム１の受信が終了し次のフレーム（フレーム２）がきた場合、バッファブロック３Ｃに格納される。これは、バッファブロック３Ａ、３Ｂの状態によらない。前のフレーム受信でバッファブロック３Ａ、３Ｃを使用したなら、バッファブロック３Ｂに新しいフレームが格納されることになる。
状態６：バッファブロック３Ｃがいっぱいになる前に、バッファブロック３Ａまたは３Ｂのいずれかが空く。バッファブロック３Ｃがいっぱいになった時点で、空いているバッファブロックを自動的に選択する。図２の場合、フレーム２はバッファブロック３Ｃ、３Ｂにより受信される。
受信バッファ３を２つのバッファブロックで構成した場合、上記状態４から状態５に移る際にいずれのバッファブロックも使用できないときがあり、受信オーバランが発生しやすくなるが、この例のように３つのバッファブロックで構成することで、容易にこの問題を回避することができる。
【０００８】
上記のように、受信データをフレーム単位で管理せずに、受信ブロック３を小規模のバッファブロック３Ａ、３Ｂ、３Ｃの集合体とし、各バッファブロック３Ａ、３Ｂ、３Ｃには１フレームしか格納されないようにしたことにより、受信フレームの管理が容易になり、回路構成もシンプルにできる。
また、各バッファブロック３Ａ、３Ｂ、３Ｃの容量は使用するＡＳＩＣの動作周波数やバスの優先順位等により調整する必要があるが、ＤＭＡ転送速度が受信速度に対し十分速いならば、各バッファブロック３Ａ、３Ｂ、３Ｃの容量はＤＭＡのバースト転送サイズ、たとえば３２バイトとしても問題ない。この場合３ブロックの合計容量でも９６バイトである。
また、画像処理機能などを内蔵する多機能ＡＳＩＣでは内部バスが優先的に使用できない場合が多いが、バスの獲得間隔の最大値から受信バッファ３に必要な容量を算出することで容易にバッファブロック構成を決定することができるため、あらゆる構成のＡＳＩＣに対し対応が可能になる。
なお、上記実施の形態では受信バッファを３つのバッファブロックで構成した場合について説明したが、４つ以上のバッファブロックで構成してもよいことは無論である。
【０００９】
【発明の効果】
以上説明したように、本発明によれば、フレーム管理を容易にでき、回路構成をシンプルにでき、大規模な受信バッファを必要としないネットワークインタフェース回路を実現できるので、受信バッファを内蔵したＡＳＩＣ構成のネットワークインタフェース回路を容易に実現できるようになる。
【図面の簡単な説明】
【図１】本発明にかかるネットワークインタフェース回路の構成例を示すブロック図である。
【図２】図１に示すネットワークインタフェース回路の動作説明図である。
【図３】従来の一般的なネットワークインタフェース回路の構成例を示すブロック図である。
【符号の説明】
１：ＭＡＣ部
２：受信バッファコントロール部
３：受信バッファ
４：ＤＭＡコントロール部
５：バスアービタ
６：メモリコントロール部
３３：ネットワーク
１００：ネットワークインタフェース回路（ＡＳＩＣ）
【図１】
0003878785.tif 000002
【図２】
0003878785.tif 000003
【図３】
0003878785.tif 000004