(57)【特許請求の範囲】
【請求項１】
ネットワークインターフェイスを内蔵する画像形成装置に搭載され、複数のアプリケーション機能をシステムメモリの共有資源として利用するように設計されたＡＳＩＣを用いたネットワークインターフェイス回路であって、
前記ＡＳＩＣは、
３つの受信バッファを有し、フレームデータを一時的に格納する受信ブロックと、
前記受信バッファを制御する受信バッファ制御手段と、
を備え、
前記受信バッファ制御手段は、前記フレームデータを受信する場合、フレームデータ毎に前記受信バッファの中から２つを選択し、該受信バッファを使用して、該フレームデータを受信し、フレームが新しくなったときに、前記選択した２つの受信バッファ以外の受信バッファを選択することを特徴とするネットワークインターフェイス回路。
【発明の詳細な説明】
【０００１】
【発明の属する分野】
本発明は、ネットワークインターフェイスを内蔵している複写機やプリンタ、またはそれらの機能を有した複合機などの画像形成装置に搭載されるネットワークインターフェイス回路に関する。
【０００２】
【従来の技術】
図３に、従来における一般的なＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）によるネットワークインターフェイス回路のシステム構成例のブロック図を示す。ネットワークコントローラ２３は、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）インターフェイスあるいはＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｆａｃｅ）バスインターフェイスを有し、システムバス２０に接続される。送受信バッファ２４は、専用のインターフェイスを介して汎用のメモリデバイス（ＦＩＦＯメモリなど）に接続されているかデバイスに内蔵されている。ネットワーク２６側とは、ＰＨＹ２５およびトランスなどを介して接続される。この送受信バッファ２４はネットワーク機能専用である。また、ＣＰＵ２１は装置全体を制御するものである。
【０００３】
ネットワーク２６から送られるデータフレームは、アドレスフィルタを通り、自局宛のフレームデータをいったん送受信バッファ２４に格納する。それと同時に内蔵のＤＭＡコントローラがバス使用権を要求し、許可されるとシステムメモリ２２に対し受信データを転送する。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記に示されるような従来のＡＳＩＣによるネットワークインターフェイスにあっては、以下のような問題点があった。イーサネットのようなネットワークでは、データの受信はフレーム単位で行なわれるため、フレームの途中で受信を停止させることはできない。何らかの理由により受信動作を停止した場合にはそのフレームデータは喪失することになり、再度、そのフレームデータを送信元に要求する必要がある。
【０００５】
このため、受信バッファに用いられるＦＩＦＯメモリの容量は、１Ｋ〜２Ｋｂｙｔｅあるいはそれ以上のサイズが用いられる。さらに、そのＦＩＦＯメモリの管理はフレーム単位で行なわれ、メモリに格納されるフレーム数だけアドレスなどの管理を行なう必要があるため、最大フレーム数を想定した回路構成となる。
【０００６】
すなわち、メモリに複数のフレームを格納する場合、フレーム数だけアドレスポインタなどの情報を管理する必要がある。しかし、フレーム数が一定でないため、最大数を想定した回路を構成しなければならない。すなわち、複雑な回路となるため、ＡＳＩＣの開発期間が長期化する要因になり、さらに、大規模な受信バッファを組み込むと、ＡＳＩＣのコストアップを招来させてしまうことになる。
【０００７】
また、最近ではＡＳＩＣベンダーが提供するＭＡＣコアを利用し、複数の機能をもつＡＳＩＣの開発が可能になってきたが、送受信バッファはＡＳＩＣ外部に接続されることが多い。これは大規模なＦＩＦＯメモリを内蔵しにくいためであるが、同時に煩雑なメモリ管理とＡＳＩＣのＩ／Ｏピンの増大といった物理的な問題がある。
【０００８】
また、画像形成装置のシステムメモリを他の機能と共有させる場合、ＡＳＩＣ内部に相応の送受信バッファを設ける必要がある。さもないと、他の機能がシステムメモリを頻繁に使用した際に、受信データのオーバフローや送信データのアンダーフローといった転送エラーが発生しやすくなる。しかし、前述したようにＡＳＩＣ外部に設けることはＩ／Ｏピンが増大し、他方、ＡＳＩＣ内部に設けることはゲートサイズが増大することになるため、製造コストが高くなるという問題点があった。
【０００９】
本発明は、上記に鑑みてなされたものであって、フレームデータの管理および回路構成を簡素化し、コストアップを回避したＡＳＩＣによるネットワークインターフェイス回路を提供することを目的とする。
【００１２】
【課題を解決するための手段】
上記の目的を達成するために、請求項１にかかるネットワークインターフェイス回路にあっては、ネットワークインターフェイスを内蔵する画像形成装置に搭載され、複数のアプリケーション機能をシステムメモリの共有資源として利用するように設計されたＡＳＩＣを用いたネットワークインターフェイス回路であって、前記ＡＳＩＣは、３つの受信バッファを有し、フレームデータを一時的に格納する受信ブロックと、前記受信バッファを制御する受信バッファ制御手段と、を備え、前記受信バッファ制御手段は、前記フレームデータを受信する場合、フレームデータ毎に前記受信バッファの中から２つを選択し、該受信バッファを使用して、該フレームデータを受信し、フレームが新しくなったときに、前記選択した２つの受信バッファ以外の受信バッファを選択するものである。
【００１５】
この発明によれば、受信バッファを、２つのバッファブロックで構成した場合、いずれのバッファブロックも使用することができないときが生じ、受信オーバランが発生しやすくなるので、３つのバッファブロックの構成および待機バッファ設けることにより、待機バッファに新規フレームを割り当てることが可能になる。
【００１６】
【発明の実施の形態】
以下、本発明にかかるネットワークインターフェイス回路の好適な実施の形態について添付図面を参照し、詳細に説明する。なお、本発明はこの実施の形態に限定されるものではない。
【００１７】
本発明は、デジタル複写機やプリンタ、またはコピー・プリンタ・ファクシミリなどの機能を実現する複合機など各種の画像形成装置に内蔵されるネットワークインターフェイスを実現するものとして、画像処理や画像出力、データ通信など複数のアプリケーション機能を有し、それぞれのアプリケーション機能がメモリ、ハードディクスなどを共有資源として利用可能に設計されたＡＳＩＣを搭載している。以下、その具体的な構成および動作について記述する。
【００１８】
図１は、本発明の実施の形態にかかるＡＳＩＣ（ネットワークインターフェイス回路）の構成例を示すブロック図である。なお、この実施の形態におけるネットワークは、１００Ｍｂｐｓあるいは１００Ｍｂｐｓのイーサネット（Ｅｔｈｅｒｎｅｔ）に特定される。
【００１９】
このＡＳＩＣは、ネットワークのプロトコル制御を実行するＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ：媒体アクセス制御）部１と、ＭＡＣ１につながる受信バッファコントロール部２と、受信バッファコントロール部２に接続される３つの受信バッファ３〜５と、受信バッファコントロール部２に接続されるＤＭＡコントロール部６と、を備えている。受信バッファ３〜５は、たとえば小容量のＦＩＦＯ(ｆｉｓｔ―ｉｎ  ｆｉｓｔ−ｏｕｔ：先入れ先出しのバッファ回路)メモリで構成されている。
【００２０】
なお、ＭＡＣとは、ＬＡＮに必要な伝送制御技術で、構内ケーブルと複数ノードが円滑に共同利用するためのアクセス制御を行なうものである。すなわち、伝送媒体の種類に依存しないリンクレベル通信機能を実現する。送信要求および物理層が受信したシリアルデータに対し、フレームの組み立て／分解、ＣＳＭＡ／ＣＤアクセス制御などを行なう。
【００２１】
ＤＭＡコントロール部６は、ＤＭＡコントロール部１１、１２との調停を行なうバスアービタ７に接続され、間接的にメモリコントロール部８を介してシステムメモリ９につながれている。
【００２２】
受信バッファコントロール部２は、受信バッファ３〜５のデータ管理と共に、ＭＡＣ１からのデータ受信とＤＭＡコントロール部６へのデータ送出も制御している。
【００２３】
このＡＳＩＣは、装置全体を制御するＣＰＵ１２に接続され、さらに汎用バスであるＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス１３、ローカルバス１４に接続されている。さらに、このＡＳＩＣは、ＰＨＹ（ｐｈｙｓｉｃａｌ  ｌａｙｅｒ  ｐｒｏｔｏｏｌ：物理層プロトコル）１５などの副層を介してネットワーク１６につながれている。
【００２４】
受信バッファ３〜５のサイズは、ＡＳＩＣの動作周波数やバスの優先順位などにより調整を行なう必要があるが、ＤＭＡ転送速度が受信速度に対して十分に速いならば、ＤＭＡのバースト転送サイズ、たとえば３２バイト（３ブロック合計でも９６バイト）としても支障はない。
【００２５】
ところで、画像処理機能などを内蔵する多機能ＡＳＩＣでは内部バスが優先的に使用できない場合が多い。しかし、バスの獲得間隔の最大値から受信バッファサイズを算出することにより容易に構成を決定することができるため、あらゆる構成のＡＳＩＣに対して対応することが可能になる。
【００２６】
つぎに、本発明にかかる受信バッファの最適化の例について図２を参照しながら説明する。ここでは、初期状態において、すべての受信ブロック（図１における受信バッファ３〜５）は空き状態にある。なお、図２では、図１における受信バッファ３〜５を、説明の便宜上、それぞれ受信バッファＡ，Ｂ，Ｃと記述する。この状態でフレームが受信された場合は、受信バッファＡ，Ｂ，Ｃは優先順位で格納されるようになっている。
【００２７】
いま、フレーム１が受信されたとする。まず、[状態１]では、フレーム１は、受信バッファＡに格納される。つづいて、[状態２]では、受信バッファＡが満杯になると、フレーム１は受信バッファＢに引き続き格納される。これと同時に、ＤＭＡコントローラ６は、受信バッファＡからデータを読み出し、システムメモリ９へ転送する。
【００２８】
[状態３]では、ネットワーク１６が１００Ｍｂｐｓのイーサネットである場合、受信バッファへのデータ格納速度は、最高で１２．５Ｍｂｙｔｅ／ｓｅｃである。ＡＳＩＣ内部のデータ転送速度をこれ以上の速度に設定しておくことにより、受信バッファＢが満杯になる前に受信バッファＡが空くことになる。
【００２９】
[状態４]では、受信バッファＢが満杯になると、フレーム１は再び受信バッファＡに格納される。同時に、受信バッファＢからシステムメモリ９へのデータ転送が開始される。[状態１〜４]において、受信バッファＣは常に新規フレームを待ちつづけ、受信動作自体は常に２つの受信バッファで行なわれる。
【００３０】
[状態５]では、フレーム１の受信が終了しつぎのフレーム（フレーム２）が送られてきた場合、受信バッファＣに格納される。これは、受信バッファＡ，Ｂの状態によらない。前のフレーム受信で受信バッファＡ，Ｃを使用したならば、受信バッファＢに新しいフレームが格納されることになる。
【００３１】
[状態６]では、受信バッファＣが満杯になる前に、受信バッファＡまたは受信バッファＢのいずれかが空く。受信バッファＣが満杯になった時点で、空いている受信バッファを自動的に選択する。なお、図１の場合には、フレーム２は受信バッファＣ，Ｂにより受信される。
【００３２】
ところで、受信バッファ３〜５を、２つのバッファブロックで構成した場合、上記[状態４]〜[状態５]に移る際にいずれのバッファブロックも使用することができないときがあり、受信オーバランが発生しやすくなるが、上記図１のように３つのバッファブロックの構成とすることにより、容易にこの不具合の発生を回避することができる。
【００３３】
以上のように、数十バイト程度の受信バッファ３〜５でなるメモリブロックと、これを管理する制御ブロック、ネットワークのプロトコル制御ブロック、およびＤＭＡ制御ブロックを構成させ、ＤＭＡ制御ブロックは、ＡＳＩＣ内部のアービタ７を介し、メモリ制御ブロックに接続する。また、ＤＭＡ制御ブロックは、３２バイト程度のものを３ブロック用意すればよく、受信バッファのＡＳＩＣへの内蔵を容易に行なうことができる。
【００３４】
このように、本発明では、フレーム単位にメモリを管理するのではなく、メモリをブロック化した小規模のメモリブロックの集合体（受信バッファ３〜５）とし、各メモリブロックには１フレームしか格納されないようにするものである。これにより、フレームの管理を容易にし、回路構成のシンプル化が実現する。また、安定したデータ受信を確保するためには、メモリブロックは３２〜１２８バイト程度のものを３ブロックも用意すればよく、受信バッファのＡＳＩＣへの内蔵を容易に行なうことが可能になる。
【００３６】
【発明の効果】
以上説明したように、本発明にかかるネットワークインターフェイス回路（請求項１）によれば、受信バッファを、２つのバッファブロックで構成した場合、いずれのバッファブロックも使用することができないときが生じ、受信オーバランが発生しやすくなるので、３つのバッファブロックの構成および待機バッファを設けることにより、待機バッファに新規フレームを割り当てることが可能になるため、安定したフレームデータの受信制御が実現する。
【図面の簡単な説明】
【図１】本発明の実施の形態にかかるＡＳＩＣ（ネットワークインターフェイス回路）のシステム構成例を示すブロック図である。
【図２】図１における受信バッファブロックの受信および転送動作例を示す説明図である。
【図３】従来における一般的なネットワークインターフェイス回路のシステム構成例を示すブロック図である。
【符号の説明】
１  ＭＡＣ
２  受信バッファコントロール部
３〜５  受信バッファ
６  ＤＭＡコントロール部
７  バスアービタ
８  メモリコントロール部
９  システムメモリ
１６  ネットワーク
【図１】
0003908928.tif 000002
【図２】
0003908928.tif 000003
【図３】
0003908928.tif 000004