(57)【特許請求の範囲】
【請求項１】
シリアル接続され、中継機能を有する複数のスレーブのいずれかを宛先として要求信号を送信するコンピュータを、
複数の前記要求信号の送信に際し、前記要求信号に対する応答信号のデータ長に応じて予め定められた設定値に基づいて第１の補正値を算出し、前記要求信号の宛先の順序に基づいて予め定められた送信タイミングの補正量に基づいて第２の補正値を算出し、前記第１の補正値と前記第２の補正値とを合計して前記複数の要求信号の間隔を補正する補正手段として機能させるための通信制御プログラム。
【請求項２】
前記要求信号に対する応答信号のデータ長及び前記要求信号の宛先の順序に基づいて補正された当該複数の要求信号の間隔が予め定めて間隔より小さい場合に最小間隔を設定する最小間隔設定手段としてさらに機能させる請求項１に記載の通信制御プログラム。
【請求項３】
前記補正手段は、前記要求信号の宛先であるスレーブに至るまでに中継されるスレーブの数と、前記要求信号の宛先の順序とに基づいて前記複数の要求信号の間隔を補正する請求項１又は２に記載の通信制御プログラム。
【請求項４】
シリアル接続され、中継機能を有する複数のスレーブのいずれかを宛先として要求信号を送信するコンピュータであって、
複数の前記要求信号の送信に際し、当該複数の要求信号の間に基本間隔を設定する基本間隔設定手段と、
前記要求信号に対する応答信号のデータ長に応じて予め定められた設定値に基づいて第１の補正値を算出する第１の補正手段と、
前記要求信号の宛先の順序に基づいて予め定められた送信タイミングの補正量に基づいて第２の補正値を算出する第２の補正手段と、
前記第１の補正手段及び前記第２の補正手段により算出された前記第１の補正値と前記第２の補正値とを合計して前記複数の要求信号の間隔を補正し、該補正された間隔で前記複数の要求信号を前記複数のスレーブに送信する送信手段として機能させるための通信制御プログラム。
【請求項５】
前記コンピュータは、シリアル接続され、中継機能を有する複数のスレーブのいずれかを宛先とし、書き込み用パケット又は読み出し用パケットを要求信号として送信するものであって、
さらに、前記補正された間隔に対して、前記書き込み用パケットに対して前記データ長の分だけ前記間隔を詰めるように補正するとともに、前記書き込み用パケットの後に送信される前記読み出し用パケットについては一定に前記間隔を詰めるように補正する第３の補正手段を備え、
前記第１の補正手段、前記第２の補正手段及び前記第３の補正手段により補正された間隔で前記複数の要求信号を前記複数のスレーブに送信する送信手段として機能させる請求項４に記載の通信制御プログラム。
【請求項６】
シリアル接続され、中継機能を有する複数のスレーブのいずれかを宛先として要求信号を送信する通信制御装置であって、
複数の前記要求信号の送信に際し、前記要求信号に対する応答信号のデータ長に応じて予め定められた設定値に基づいて第１の補正値を算出するとともに、前記要求信号の宛先の順序に基づいて予め定められた送信タイミングの補正量に基づいて第２の補正値を算出し、前記第１の補正値と前記第２の補正値とを合計して前記複数の要求信号の間隔を補正する補正手段を有する通信制御装置。
【請求項７】
マスタ制御部に下り通信線および上り通信線を経由して中継機能を有する複数のスレーブ装置をツリー状に接続し、前記マスタ制御部から前記複数のスレーブのいずれかを宛先として要求信号を送信する通信制御方法であって、
複数の前記要求信号の送信に際し、当該複数の要求信号の間に基本間隔を設定するステップと、
前記要求信号に対する応答信号のデータ長に応じて予め定められた設定値に基づいて第１の補正値を算出するステップと、
前記要求信号の宛先の順序に予め定められた送信タイミングの補正量に基づいて第２の補正値を算出するステップと、
前記算出された前記第１の補正値と前記第２の補正値とを合計して前記複数の要求信号の間隔を補正し、該補正された間隔で前記複数の要求信号を前記複数のスレーブに送信するステップとを有する通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御プログラム、通信制御装置及び通信制御方法に関する。
【背景技術】
【０００２】
従来の技術として、複数のスレーブがシリアル接続された通信制御装置が提案されている（例えば、特許文献１参照）。
【０００３】
特許文献１に開示された通信制御装置は、マスタであるメイン制御モジュールを有し、複数のスレーブとデイジーチェーンによりシリアル接続され、マスタはスレーブのそれぞれに対し要求信号を送信し、当該要求信号に対する応答を受信する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１１９２５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、予め定めた間隔で要求信号を送信する場合に比べて、要求信号のデータ長及び要求信号の宛先の順序に起因して生じる応答の遅延又は衝突を抑制する通信制御プログラム、通信制御装置置及び通信制御方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の一態様は、上記目的を達成するため、以下の通信制御プログラム、通信制御装置置及び通信制御方法を提供する。
【０００７】
［１］シリアル接続され、中継機能を有する複数のスレーブのいずれかを宛先として要求信号を送信するコンピュータを、
複数の前記要求信号の送信に際し、前記要求信号に対する応答信号のデータ長に応じて予め定められた設定値に基づいて第１の補正値を算出し、前記要求信号の宛先の順序に基づいて予め定められた送信タイミングの補正量に基づいて第２の補正値を算出し、前記第１の補正値と前記第２の補正値とを合計して前記複数の要求信号の間隔を補正する補正手段として機能させるための通信制御プログラム。
［２］前記要求信号に対する応答信号のデータ長及び前記要求信号の宛先の順序に基づいて補正された当該複数の要求信号の間隔が予め定めて間隔より小さい場合に最小間隔を設定する最小間隔設定手段としてさらに機能させる［１］に記載の通信制御プログラム。
［３］前記補正手段は、前記要求信号の宛先であるスレーブに至るまでに中継されるスレーブの数と、前記要求信号の宛先の順序とに基づいて前記複数の要求信号の間隔を補正する［１］又は［２］に記載の通信制御プログラム。
［４］シリアル接続され、中継機能を有する複数のスレーブのいずれかを宛先として要求信号を送信するコンピュータであって、
複数の前記要求信号の送信に際し、当該複数の要求信号の間に基本間隔を設定する基本間隔設定手段と、
前記要求信号に対する応答信号のデータ長に応じて予め定められた設定値に基づいて第１の補正値を算出する第１の補正手段と、
前記要求信号の宛先の順序に基づいて予め定められた送信タイミングの補正量に基づいて第２の補正値を算出する第２の補正手段と、
前記第１の補正手段及び前記第２の補正手段により算出された前記第１の補正値と前記第２の補正値とを合計して前記複数の要求信号の間隔を補正し、該補正された間隔で前記複数の要求信号を前記複数のスレーブに送信する送信手段として機能させるための通信制御プログラム。
［５］前記コンピュータは、シリアル接続され、中継機能を有する複数のスレーブのいずれかを宛先とし、書き込み用パケット又は読み出し用パケットを要求信号として送信するものであって、
さらに、前記補正された間隔に対して、前記書き込み用パケットに対して前記データ長の分だけ前記間隔を詰めるように補正するとともに、前記書き込み用パケットの後に送信される前記読み出し用パケットについては一定に前記間隔を詰めるように補正する第３の補正手段を備え、
前記第１の補正手段、前記第２の補正手段及び前記第３の補正手段により補正された間隔で前記複数の要求信号を前記複数のスレーブに送信する送信手段として機能させる［４］に記載の通信制御プログラム。
［６］シリアル接続され、中継機能を有する複数のスレーブのいずれかを宛先として要求信号を送信する通信制御装置であって、
複数の前記要求信号の送信に際し、前記要求信号に対する応答信号のデータ長に応じて予め定められた設定値に基づいて第１の補正値を算出するとともに、前記要求信号の宛先の順序に基づいて予め定められた送信タイミングの補正量に基づいて第２の補正値を算出し、前記第１の補正値と前記第２の補正値とを合計して前記複数の要求信号の間隔を補正する補正手段を有する通信制御装置。
［７］マスタ制御部に下り通信線および上り通信線を経由して中継機能を有する複数のスレーブ装置をツリー状に接続し、前記マスタ制御部から前記複数のスレーブのいずれかを宛先として要求信号を送信する通信制御方法であって、
複数の前記要求信号の送信に際し、当該複数の要求信号の間に基本間隔を設定するステップと、
前記要求信号に対する応答信号のデータ長に応じて予め定められた設定値に基づいて第１の補正値を算出するステップと、
前記要求信号の宛先の順序に予め定められた送信タイミングの補正量に基づいて第２の補正値を算出するステップと、
前記算出された前記第１の補正値と前記第２の補正値とを合計して前記複数の要求信号の間隔を補正し、該補正された間隔で前記複数の要求信号を前記複数のスレーブに送信するステップとを有する通信制御方法。
【発明の効果】
【０００８】
請求項１、４、５、６又は７に係る発明によれば、予め定めた間隔で要求信号を送信する場合に比べて、要求信号のデータ長及び要求信号の宛先の順次に起因して生じる応答の遅延又は衝突を抑制することができる。
請求項２に係る発明によれば、複数の要求信号の間隔が予め定めた間隔よりも小さい場合に最小間隔を設定することができる。
請求項３に係る発明によれば、要求信号の宛先であるスレーブに至るまでに中継されるスレーブの数と、要求信号の宛先の順序とに基づいて複数の要求信号の間隔を補正することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、第１の実施の形態に係る画像形成装置の構成例を示すブロック図である。
【図２】図２は、マスタ制御部の構成の一例を示すブロック図である。
【図３】図３（ａ）及び（ｂ）は、要求パケット及び応答パケットの構成の一例を示す概略図である。
【図４】図４は、アクセス順序補正テーブルの構成の一例を示す概略図である。
【図５】図５は、設定値の構成の一例を示す概略図である。
【図６】図６（ａ）−（ｃ）は、画像形成装置の動作を示す概略図である。
【図７】図７（ａ）及び（ｂ）は、第２の実施の形態に係る画像形成装置の動作の一例を示す概略図である。
【図８】図８（ａ）及び（ｂ）は、第２の実施の形態に係る画像形成装置の動作の他の例を示す概略図である。
【図９】図９は、パケット長補正手段及びアクセス順序補正手段による補正を行わなかった場合の要求パケットの送信状態及び応答パケットの受信状態を示す概略図である。
【発明を実施するための形態】
【００１０】
［第１の実施の形態］
（画像形成装置の構成）
図１は、第１の実施の形態に係る画像形成装置の構成例を示すブロック図である。
【００１１】
画像形成装置１は、通信制御装置の一例としてのマスタ制御部Ｍと、マスタ制御部Ｍの要求に応じて動作する複数のスレーブＳ１−Ｓ５とを、上り通信線Ｌｕと下り通信線Ｌｄとが独立したシリアル通信線で接続して構成される。上り通信線Ｌｕと下り通信線Ｌｄとを有するシリアル通信線は、差動のツイストペアである。
【００１２】
マスタ制御部Ｍは、スレーブＳ１−Ｓ５に対して要求信号としてＷｒｉｔｅパケット又はＲｅａｄパケット（以下、総称して「要求パケット」という。）を発行して送信し、当該要求信号に対する応答信号を受信する。つまり、マスタ制御部ＭとスレーブＳ１−Ｓ５とはＲｅｑｕｅｓｔ−Ｒｅｓｐｏｎｓｅ方式により動作する。
【００１３】
スレーブＳ１−Ｓ５は、それぞれ図示しない画像形成装置１のセンサやアクチュエータ等の機器に接続され、マスタ制御部Ｍから受信した要求パケットに応じて当該機器を制御する等して処理を実行し、マスタ制御部Ｍに処理結果としてＷｒｉｔｅパケットに対するＡｃｋｎｏｗｌｅｄｇｅを示す応答信号であるＡｃｋ、Ｒｅａｄパケットに対するＲｅａｄデータを含んだ応答信号であるＲｅｓｐｏｎｓｅ、エラーが生じた場合の応答信号であるＮａｃｋ等（以下、総称して「応答パケット」という。）を送信する。
【００１４】
なお、スレーブＳ１−Ｓ５は直列に接続されているが、上位に１ポート、下位に複数ポートを有して分岐するように構成してもよい。また、スレーブＳ１−Ｓ５は中継機能を有し、自ノード宛のパケットに応じて処理を実行し、自ノード宛以外のパケットは下位のノードに送信する。
【００１５】
なお、画像形成装置１は、マスタ制御部ＭとスレーブＳ１−Ｓ５を適用した装置の一例であり、スレーブＳ１−Ｓ５は画像形成装置１のセンサやアクチュエータ等の機器を動作させる。なお、画像形成装置１に限らず、他の種類の装置のＩ／Ｏを制御するものであってもよい。なお、スレーブＳ１−Ｓ５は５つ示しているが、複数であればよくその数は限定されない。
【００１６】
（マスタ制御部の構成）
図２は、マスタ制御部Ｍの構成の一例を示すブロック図である。
【００１７】
マスタ制御部Ｍは、ＩＣ（Ｉｎｔｅｇｒａｌ  Ｃｉｒｃｕｉｔ）等から構成され、パケットの生成、送信、及び受信を行う制御部１０と、フラッシュメモリ等の記憶媒体から構成され情報を記憶する記憶部１１と、シリアル通信線を介してスレーブと通信する通信部１２とを備える。
【００１８】
制御部１０は、後述する通信制御プログラム１１０を実行することで、要求パケット生成手段１００、基本間隔設定手段１０１、パケット長補正手段１０２、アクセス順序補正手段１０３、最小間隔設定手段１０４、要求パケット送信手段１０５及び応答パケット受信手段１０６等として機能する。
【００１９】
要求パケット生成手段１００は、要求パケット１１１としてスレーブＳ１−Ｓ５のいずれかを宛先とするＷｒｉｔｅパケット又はＲｅａｄパケットを生成する。
【００２０】
基本間隔設定手段１０１は、複数の要求パケット１１１を順に送出する際に、隣り合う要求パケット１１１間に予め定めたデータ間隔（基本間隔）を設ける。第１の実施の形態では一例として８Ｂｙｔｅの基本間隔を設ける。
【００２１】
パケット長補正手段１０２は、設定値１１２を参照し、要求パケット１１１に対する応答パケットのパケット長に応じて隣り合う要求パケット１１１間に予め定めたデータ間隔を挿入又は削除して基本間隔を補正する。第１の実施の形態では、先送のＲｅａｄパケットに対する応答パケットのＰａｙＬｏａｄ長を考慮し、一例として、先送のＲｅａｄパケットと後送の要求パケットとの間隔をＰａｙＬｏａｄ長−２だけ増加させる。
【００２２】
アクセス順序補正手段１０３は、アクセス順序補正テーブル１１３を参照し、要求パケット１１１の宛先のスレーブに至るまでに中継するスレーブの数及び宛先であるスレーブの順序に基づいて、隣り合う要求パケット１１１間に予め定めたデータ間隔を削除又は挿入して基本間隔を補正する。
【００２３】
これは、中継するスレーブの数が多いと要求パケット１１１が到達するまでに要する時間と、スレーブが送信する応答パケット１１４を受信するまでに要する時間とが長くかかることに起因するものであり、中継するスレーブの数が多い宛先、中継するスレーブの数が少ない宛先の順で要求パケット１１１を送信する場合や、その反対の場合において生じる応答の衝突や応答の遅延を抑制するために必要となる補正である。
【００２４】
最小間隔設定手段１０４は、設定値１１２を参照し、パケット長補正手段１０２及びアクセス順序補正手段１０３により補正された間隔が予め定めたデータ間隔（最小間隔）より小さい場合に、隣り合う要求パケット１１１間に予め定めた最小間隔を設定する。
【００２５】
要求パケット送信手段１０５は、基本間隔設定手段１０１、パケット長補正手段１０２、アクセス順序補正手段１０３及び最小間隔設定手段１０４によって設定及び補正された間隔で複数の要求パケット１１１をスレーブＳ１−Ｓ５に対して送信する。
【００２６】
応答パケット受信手段１０６は、スレーブＳ１−Ｓ５から要求パケット１１１に対する応答として送信された応答パケット１１４を受信する。
【００２７】
記憶部１１は、制御部１０を上述した各手段１００−１０６として動作させる通信制御プログラム１１０、要求パケット１１１、設定値１１２、アクセス順序補正テーブル１１３及び応答パケット１１４等を記憶する。
【００２８】
図３（ａ）及び（ｂ）は、要求パケット１１１及び応答パケット１１４の構成の一例を示す概略図である。
【００２９】
図３（ａ）に示すように、Ｒｅａｄパケット１１１ｒは、Ｒｅａｄ要求であることを示すヘッダＨ１と、Ｒｅａｄアドレスを示すＡｄｒと、誤り検出符号を示すＣＲＣとを有する。また、Ｗｒｉｔｅパケット１１１ｗは、Ｗｒｉｔｅ要求であることを示すヘッダＨ１と、Ｗｒｉｔｅアドレスを示すＡｄｒと、書き込みデータの本体であるペイロードを示すＰＬと、誤り検出符号を示すＣＲＣとを有する。
【００３０】
図３（ｂ）に示すように、Ｎａｃｋ１１４ｎは、Ｎａｃｋであることを示すヘッダＨ１と、誤り検出符号を示すＣＲＣとを有する。Ａｃｋ及びＲｅｓｐｏｎｓｅ１１４ａは、データの本体であるペイロードを示すＰＬと、誤り検出符号を示すＣＲＣとを有する。
【００３１】
図４は、アクセス順序補正テーブル１１３の構成の一例を示す概略図である。
【００３２】
図４に示すように、アクセス順序補正テーブル１１３は、要求パケット１１１を先送したスレーブ及び要求パケット１１１を後送するスレーブの組み合わせに応じて、後送する要求パケット１１１を送信するタイミングの補正量を、データ量（Ｂｙｔｅ）を単位として表したものである。
【００３３】
図５は、設定値１１２の構成の一例を示す概略図である。
【００３４】
設定値１１２は、項目として基本間隔、パケット長補正及び最小間隔を有する。基本間隔は、基本間隔設定手段１０１が、複数の要求パケット１１１を順に送出する際に、隣り合う要求パケット１１１間に設けられるデータ間隔である。パケット長補正は、パケット長補正手段１０２が、基本間隔を補正するために、要求パケット１１１に対する応答パケットのパケット長に応じて隣り合う要求パケット１１１間に挿入する予め定めたデータ間隔である。最小間隔は、最小間隔設定手段１０４が、パケット長補正手段１０２及びアクセス順序補正手段１０３により補正された基本間隔が予め定めた最小間隔より小さい場合に、隣り合う要求パケット１１１間に設定するデータ間隔である。
【００３５】
（画像形成装置の動作）
次に、本実施の形態の作用を説明する。図６（ａ）−（ｃ）は、画像形成装置１の動作を示す概略図である。なお、図中の１マスは２Ｂｙｔｅのデータ量を示しており、左側ほど先送、右側ほど後送のパケットであることを示す。
【００３６】
図６（ａ）は、要求パケット生成手段１００が生成する要求パケット１１１であり、「Ｗ」はＷｒｉｔｅパケットを、「Ｒ」はＲｅａｄパケットを示し、「Ｗ」及び「Ｒ」に付される最初の数字は宛先であるスレーブの番号、二番目の数字は書き込む又は読み出すＰａｙＬｏａｄ長を示す。各要求パケットは、基本間隔設定手段１０１により４マス分、つまり８Ｂｙｔｅの間隔を設けられる。また、図３（ａ）に示すように、Ｗｒｉｔｅパケット、ＲｅａｄパケットともにヘッダＨ１及び誤り検出符号ＣＲＣを有するが、それぞれ１マス分、つまり２Ｂｙｔｅ必要であるものとする。また、Ｗｒｉｔｅパケットはこれらに加えてＰａｙＬｏａｄ長分が加えられる。
【００３７】
次に、図６（ｂ）に示すように、パケット長補正手段１０２は、先送のＲｅａｄパケットに対する応答パケットのパケット長を考慮して、先送のＲｅａｄパケットと後送の要求パケットとの間隔を増加させる。例えば、Ｒｅａｄパケット「Ｒ４＿４」の後の「Ｒ１＿４」は、スレーブＳ４を宛先とするＲｅａｄパケット「Ｒ４＿４」のＰａｙＬｏａｄ長が４Ｂｙｔｅであるため、設定値１１２を参照して４−２＝＋２Ｂｙｔｅ分、スレーブＳ１を宛先とするＲｅａｄパケット「Ｒ１＿４」との間隔を増加させる。
【００３８】
また、アクセス順序補正手段は、Ｒｅａｄパケット「Ｒ４＿４」の後の「Ｒ１＿４」は、アクセス順序補正テーブル１１３を参照し、先送であるスレーブＳ４と後送であるスレーブＳ１の組み合わせから６Ｂｙｔｅ分、Ｒｅａｄパケット「Ｒ１＿４」との間隔を増加させる。つまり、上記したパケット長補正手段１０２の補正量と合計して、＋６＋２＝＋８Ｂｙｔｅ分、Ｒｅａｄパケット「Ｒ１＿４」との間隔を増加させる。
【００３９】
また、Ｒｅａｄパケット「Ｒ４＿４」の補正量は、先送の「Ｗ２＿２」とのアクセス順序に基づきアクセス順序補正手段１０３により補正されたものである。つまり、図６（ｂ）中の補正量は、１つのみ記載されている場合は先送の要求パケット１１１がＷｒｉｔｅパケットであってパケット長補正がなく、アクセス順序補正手段１０３により補正された補正値のみを示し、２つ数字の和が記載されている場合は最初の補正量がアクセス順序補正手段１０３により補正された補正値、２つ目の補正量がパケット長補正手段１０２により補正された補正値を示す。
【００４０】
なお、Ｒｅａｄパケット「Ｒ５＿６」のように、アクセス順序補正手段１０３により補正された補正値が「−８」、パケット長補正手段１０２により補正された補正値が「０」であった場合、基本間隔８Ｂｙｔｅと補正値との和が０Ｂｙｔｅとなるが、最小間隔設定手段１０４により、Ｒｅａｄパケット「Ｒ１＿２」との間に２Ｂｙｔｅ、つまり１マス分の間隔が設定される。
【００４１】
次に、要求パケット送信手段１０５は、上記したように基本間隔設定手段１０１、パケット長補正手段１０２、アクセス順序補正手段１０３及び最小間隔設定手段１０４によって設定及び補正された間隔でスレーブＳ１−Ｓ５に対して要求パケット１１１を送信する。
【００４２】
一方、スレーブＳ１−Ｓ５は、マスタ制御部Ｍから要求パケット１１１を受信し、宛先が自己のものについて処理を実行するとともに応答パケット１１４をマスタ制御部Ｍに送信し、宛先が自己でないものについては中継して下位のスレーブに送信する。
【００４３】
次に、図６（ｃ）に示すように、応答パケット受信手段１０６は、応答パケット１１４を受信する。「Ａ」はＷｒｉｔｅパケットに対するＡｃｋを、「ＡＲ」はＲｅａｄパケットに対するＲｅｓｐｏｎｓｅを示し、「ＡＲ」に付される数字は読み出したデータ量（ＰａｙＬｏａｄ長）を示す。各応答パケットはそれぞれ最低８Ｂｙｔｅの間隔を有して受信されている。なお、図３（ｂ）に示すように、Ｗｒｉｔｅパケットに対するＡｃｋ、Ｒｅａｄパケットに対するＡｃｋ（Ｒｅｓｐｏｎｓｅ）ともにヘッダＨ１及び誤り検出符号ＣＲＣを有するが、それぞれ１マス分、つまり２Ｂｙｔｅ必要であるものとする。また、Ｒｅａｄパケットはこれらに加えてペイロードＰＬ分が加えられる。
【００４４】
（第１の実施の形態の効果）
上記した第１の実施の形態によれば、パケット長補正手段１０２、アクセス順序補正手段１０３により補正された間隔で要求パケット１１１をスレーブＳ１−Ｓ５に送信するようにしたため、スレーブがＲｅａｄパケットに応じてデータを読み出すのに必要な時間及びスレーブを中継する回数するのに必要な時間を考慮することとなり、マスタ制御部Ｍから予め定めた間隔で要求パケット１１１をスレーブＳ１−Ｓ５に送信する場合に比べて、要求信号のデータ長及び要求信号の宛先の順序に起因して生じる応答の遅延又は衝突を抑制することができる。
（比較例）
図９は、パケット長補正手段１０２及びアクセス順序補正手段１０３による補正を行わなかった場合の要求パケット１１１の送信状態及び応答パケット１１４の受信状態を示す概略図である。
【００４５】
各要求パケットは、基本間隔設定手段１０１により４マス分、つまり８Ｂｙｔｅの間隔を設けられ、要求パケット送信手段１０５によりスレーブＳ１−Ｓ５に対して送信される。
【００４６】
Ｒｅａｄパケット「Ｒ４＿４」を先送とし、Ｒｅａｄパケット「Ｒ１＿４」を後送としたことで、スレーブＳ４に対するＲｅａｄパケットがスレーブＳ１−Ｓ３を中継することになり、Ｒｅａｄパケット「Ｒ４＿４」に対する応答パケット「ＡＲ」は、スレーブＳ１に対するＲｅａｄパケットの応答に比べて遅れて応答パケット受信手段１０６により受信される。その結果、スレーブＳ１が上記した応答パケット「ＡＲ」を中継中に、Ｒｅａｄパケット「Ｒ１＿４」に対する応答パケットを送信することができず、上記「ＡＲ」の後にＮａｃｋである「Ｎ」を送信することとなる。つまり、パケットの遅延及び衝突が起きている。
【００４７】
応答パケット受信手段１０６がＮａｃｋを受信すると、要求パケット送信手段１０５はＲｅａｄパケット「Ｒ１＿４」を再送するよう動作する。その結果、同じタイミングで送信するはずだったＷｒｉｔｅパケット「Ｗ３＿４」以降の要求パケットも順次、再送となる。
【００４８】
同様の原因による再送は３重に起こり、その結果として図６（ｃ）に示す応答に比べて遅延を生じることとなる。
【００４９】
［第２の実施の形態］
第２の実施の形態は、ＷｒｉｔｅパケットのＰａｙＬｏａｄ長をさらに考慮する点で第１の実施の形態と異なる。
【００５０】
スレーブＳ１−Ｓ５は、Ｗｒｉｔｅパケットを受信すると、ＷｒｉｔｅパケットのＰａｙＬｏａｄ長分のデータを書き込む動作が必要となるが、当該ＰａｙＬｏａｄ長が増えるに従ってその応答パケットを送信するタイミングが遅れることとなる。従って、パケット長補正手段１０２は、Ｗｒｉｔｅパケットにも同様にＰａｙＬｏａｄ長の分だけ送信するタイミングを早めるよう動作する。なお、この動作は第１の実施の形態におけるパケット長補正手段１０２、アクセス順序補正手段１０３の補正を実行した上にさらに実行されるものである。
【００５１】
図７（ａ）及び（ｂ）は、第２の実施の形態に係る画像形成装置１の動作の一例を示す概略図である。
【００５２】
図７（ａ）に示すように、Ｗｒｉｔｅパケット「Ｗ３＿４」は、４Ｂｙｔｅのペイロード長を有するため、パケット長補正手段１０２は、−４Ｂｙｔｅ分、送信のタイミングを早める。同様に、Ｗｒｉｔｅパケット「Ｗ３＿６」については−６Ｂｙｔｅ分、Ｗｒｉｔｅパケット「Ｗ１＿２」については−２Ｂｙｔｅ分、送信のタイミングを早める。なお、最小間隔設定手段１０４は、この動作を行った後、補正された基本間隔が予め定めた最小間隔より小さい場合には、最小間隔２Ｂｙｔｅを設定するものとする。
【００５３】
その結果、図７（ｂ）に示すように、図６（ｃ）に示した応答に比べて応答の間隔がより短くなる。
【００５４】
さらに、Ｗｒｉｔｅパケットの後にＲｅａｄパケットが送信される場合、ＷｒｉｔｅパケットのＡｃｋ応答にはペイロードＰＬが含まれないため、２Ｂｙｔｅ分間隔が空くこととなる。従って、Ｗｒｉｔｅパケットの後に送信されるＲｅａｄパケットの送信のタイミングを一律２Ｂｙｔｅ分、送信のタイミングを早めることで更なる効果が期待できる。
【００５５】
図８（ａ）及び（ｂ）は、第２の実施の形態に係る画像形成装置１の動作の他の例を示す概略図である。
【００５６】
図８（ａ）に示すように、パケット長補正手段１０２は、Ｗｒｉｔｅパケットの後に送信されるＲｅａｄパケット「Ｒ４＿４」、「Ｒ２＿２」、「Ｒ４＿６」、「Ｒ１＿２」について、一律−２Ｂｙｔｅ分、送信のタイミングを早める。なお、最小間隔設定手段１０４は、この動作を行った後、補正された基本間隔が予め定めた最小間隔より小さい場合には、最小間隔２Ｂｙｔｅを設定するものとする。
【００５７】
その結果、図８（ｂ）に示すように、図７（ｂ）に示した応答に比べて応答の間隔がより短くなる。
【００５８】
［他の実施の形態］
なお、本発明は、上記実施の形態に限定されず、本発明の趣旨を逸脱しない範囲で種々な変形が可能である。
【００５９】
上記実施の形態では制御部１０の各手段１００〜１０６の機能をプログラムで実現したが、各手段の全て又は一部をＡＳＩＣ等のハードウエアによって実現してもよい。また、上記実施の形態で用いたプログラムをＣＤ−ＲＯＭ等の記録媒体に記憶して提供することもできる。また、上記実施の形態で説明した上記ステップの入れ替え、削除、追加等は本発明の要旨を変更しない範囲内で可能である。
【符号の説明】
【００６０】
１     画像形成装置
１０   制御部
１１   記憶部
１２   通信部
１００ 要求パケット生成手段
１０１ 基本間隔設定手段
１０２ パケット長補正手段
１０３ アクセス順序補正手段
１０４ 最小間隔設定手段
１０５ 要求パケット送信手段
１０６ 応答パケット受信手段
１１０ 通信制御プログラム
１１１ 要求パケット
１１２ 設定値
１１３ アクセス順序補正テーブル
１１４ 応答パケット
Ｍ     マスタ制御部
Ｓ１−Ｓ５    スレーブ
【図１】
0006413472.tif 000002
【図２】
0006413472.tif 000003
【図３】
0006413472.tif 000004
【図４】
0006413472.tif 000005
【図５】
0006413472.tif 000006
【図６】
0006413472.tif 000007
【図７】
0006413472.tif 000008
【図８】
0006413472.tif 000009
【図９】
0006413472.tif 000010