(57)【要約】【課題】送信される情報量が低減され、シリアルバスの占有時間が短縮された通信制御装置及び画像形成装置を提供する。【解決手段】第１記憶部を備え、システムタイマのカウント周期以下の更新周期で第１記憶部に記憶された情報を転送単位で読み出して、読み出された転送単位の情報が更新されている場合には当該情報が格納されたパケットを生成して送信し、読み出された転送単位の情報が更新されていない場合には当該情報が格納されていないパケットを生成して送信する従制御手段と、従制御手段にシリアル接続されると共に、システムタイマのカウント周期に基づいて動作する中央処理装置及び第２記憶部を備え、更新周期で従制御手段から送信された複数のパケットの各々から転送単位の情報を抽出し、抽出した転送単位の情報を第２記憶部に順次書き込んで更新する主制御手段と、を備えた通信制御装置とする。【選択図】図７
2015023407.tif 000002
【特許請求の範囲】
【請求項１】
第１記憶部を備え、システムタイマのカウント周期以下の更新周期で前記第１記憶部に記憶された情報を転送単位で読み出して、読み出された転送単位の情報が更新されている場合には当該情報が格納されたパケットを生成して送信し、読み出された転送単位の情報が更新されていない場合には当該情報が格納されていないパケットを生成して送信する従制御手段と、
前記従制御手段にシリアル接続されると共に、前記システムタイマのカウント周期に基づいて動作する中央処理装置及び第２記憶部を備え、前記更新周期で前記従制御手段から送信された複数のパケットの各々から転送単位の情報を抽出し、抽出した転送単位の情報を前記第２記憶部に順次書き込んで更新する主制御手段と、
を備えた通信制御装置。
【請求項２】
前記第１記憶部が、各々が転送単位の情報を記憶する複数の記憶領域を有し、
前記従制御手段が、複数の記憶領域の更新の有無を記憶領域毎に監視する監視部を更に備えた、
請求項１に記載の通信制御装置。
【請求項３】
前記第２記憶部が、前記第１記憶部の複数の記憶領域に対応する複数の記憶領域を有し、
前記主制御手段が、情報が格納されていないパケットを受信した場合は、当該パケットの送信順序に対応する前記第２記憶部の記憶領域への情報の書き込みを行わずに、前記第２記憶部の次の記憶領域に進む、
請求項１又は請求項２に記載の通信制御装置。
【請求項４】
前記従制御手段が、情報が格納されているパケットか、情報が格納されていないパケットかを識別する識別情報を含むヘッダを生成して、該当するパケットに付加するヘッダ生成部を更に備え、
前記主制御手段が、受信したパケットに付加されたヘッダに含まれる識別情報に基づいて、情報が格納されているパケットか、情報が格納されていないパケットかを識別するパケット識別部を更に備えた、
請求項１から請求項３までの何れか１項に記載の通信制御装置。
【請求項５】
請求項１から請求項４までのいずれか１項に記載の通信制御装置と、
前記従制御手段に接続され、画像形成を行なうための少なくとも１つの機器と、
を備えた画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御装置及び画像形成装置に関する。
【背景技術】
【０００２】
特許文献１には、少なくとも１つの機器が接続され、前記機器の駆動を制御するデータ及び前記機器の状態を示すデータの各々が記憶される第１記憶部、及び前記第１記憶部に記憶された各データを読出して送信する読出送信手段を備えた機器制御部と、中央処理装置、第２記憶部、及び前記機器制御部から送信されたデータを前記第２記憶部に書込む書込手段を備えた主制御部と、前記主制御部と前記機器制御部とを接続する全二重方式のシリアルバスと、を有し、前記読出送信手段及び前記書込手段は、前記中央処理装置の動作の基準となるシステムタイマのカウント周期以下の周期で、前記第１記憶部に記憶された各データが読出されて送信され前記第２記憶部に書込まれるように動作する、制御装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特願２０１２−１３５９２０号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、第１記憶部を備えた従制御手段と中央処理装置及び第２記憶部を備え主制御手段とがシリアル接続され、予め定めた周期で第１記憶部に記憶された情報が読出されて送信され第２記憶部に順次書込まれる通信制御装置であって、送信される情報量が低減され、シリアルバスの占有時間が短縮された通信制御装置及びこれを用いた画像形成装置を提供することにある。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、請求項１に記載の発明は、第１記憶部を備え、システムタイマのカウント周期以下の更新周期で前記第１記憶部に記憶された情報を転送単位で読み出して、読み出された転送単位の情報が更新されている場合には当該情報が格納されたパケットを生成して送信し、読み出された転送単位の情報が更新されていない場合には当該情報が格納されていないパケットを生成して送信する従制御手段と、前記従制御手段にシリアル接続されると共に、前記システムタイマのカウント周期に基づいて動作する中央処理装置及び第２記憶部を備え、前記更新周期で前記従制御手段から送信された複数のパケットの各々から転送単位の情報を抽出し、抽出した転送単位の情報を前記第２記憶部に順次書き込んで更新する主制御手段と、を備えた通信制御装置である。
【０００６】
請求項２に記載の発明は、前記第１記憶部が、各々が転送単位の情報を記憶する複数の記憶領域を有し、前記従制御手段が、複数の記憶領域の更新の有無を記憶領域毎に監視する監視部を更に備えた、請求項１に記載の通信制御装置である。
【０００７】
請求項３に記載の発明は、前記第２記憶部が、前記第１記憶部の複数の記憶領域に対応する複数の記憶領域を有し、前記主制御手段が、情報が格納されていないパケットを受信した場合は、当該パケットの送信順序に対応する前記第２記憶部の記憶領域への情報の書き込みを行わずに、前記第２記憶部の次の記憶領域に進む、請求項１又は請求項２に記載の通信制御装置である。
【０００８】
請求項４に記載の発明は、前記従制御手段が、情報が格納されているパケットか、情報が格納されていないパケットかを識別する識別情報を含むヘッダを生成して、該当するパケットに付加するヘッダ生成部を更に備え、前記主制御手段が、受信したパケットに付加されたヘッダに含まれる識別情報に基づいて、情報が格納されているパケットか、情報が格納されていないパケットかを識別するパケット識別部を更に備えた、請求項１から請求項３までの何れか１項に記載の通信制御装置である。
【０００９】
請求項５に記載の発明は、請求項１から請求項４までのいずれか１項に記載の通信制御装置と、前記従制御手段に接続され、画像形成を行なうための少なくとも１つの機器と、を備えた画像形成装置である。
【発明の効果】
【００１０】
請求項１、請求項５に係る発明によれば、第１記憶部を備えた従制御手段と中央処理装置及び第２記憶部を備え主制御手段とがシリアル接続され、予め定めた周期で第１記憶部に記憶された情報が読出されて送信され第２記憶部に順次書込まれる通信制御装置において、送信される情報量（トラフィック）が低減され、シリアルバスの占有時間が短縮される。
【００１１】
請求項２に係る発明によれば、更新の有無が転送単位毎に判断される。
【００１２】
請求項３に係る発明によれば、送信される情報量が低減されると共に、第１記憶部の複数の記憶領域の個数分のパケットが転送されて第２記憶部が順次更新される。
【００１３】
請求項４に係る発明によれば、情報が格納されているパケットか、情報が格納されていないパケットかが識別される。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態に係る画像形成装置の構成例を示すブロック図である。
【図２】本発明の実施の形態に係る主制御部のＳｅｒＤeｓ制御部の構成例を示すブロック図である。
【図３】本発明の実施の形態に係る機器制御部のＳｅｒＤeｓ制御部の構成例を示すブロック図である。
【図４】本発明の実施の形態に係る監視部の構成例を示すブロック図である。
【図５】（Ａ）は複写パケットの構成の一例を示す模式図である。（Ｂ）はダミーパケットの構成の一例を示す模式図である。
【図６】（Ａ）は複写パケットが連続送信される様子を示す模式図である。（Ｂ）はダミーパケットが挿入される様子を示す模式図である。
【図７】レジスタデータ転送回路の動作の流れを示すフローチャートである。
【図８】パケット生成回路の処理の動作の流れを示すフローチャートである。
【図９】複写レジスタ更新回路の動作の流れを示すフローチャートである。
【図１０】従来の制御装置の構成を例示した模式図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、実施形態について詳細に説明する。
【００１６】
＜制御装置を有する画像形成装置＞
図１は、本発明の実施の形態に係る画像形成装置１０の構成例を示す図である。この画像形成装置１０は、主制御部１２及び機器制御部１４がシリアルバス４０を介して接続された制御装置１１と、機器制御部１４に接続された各種機器を含む機器群１６とを含んで構成されている。シリアルバス４０は、主制御部１２から見た場合には送信用となる信号線Ｔｘ、及び受信用となる信号線Ｒｘを備えた全二重の伝送路である。
【００１７】
機器群１６に含まれる各機器は、画像形成を行なうための機器であって、例えば、感光体や現像ロール等を回転させるモータ、用紙検出のためのセンサ、或いはトナー濃度を検出するためのセンサ等が含まれる。なお、ここでは画像形成装置１０を、電子写真方式で画像形成を行なう画像形成装置として説明したが、インクジェット方式で画像形成を行なう画像形成装置であってもよい。
【００１８】
主制御部１２は、ＣＰＵ（中央処理装置：Central Processing Unit）２０、シリアライザ・デシリアライザ制御部２２（以下、ＳｅｒＤｅｓ制御部２２という）、及び複写レジスタ群２４を備えている。
【００１９】
ＣＰＵ２０は、不図示の不揮発性の記憶部に記憶されたプログラムを実行し、画像形成装置１０全体を制御する。なお、ＣＰＵ２０が実行するプログラムを記憶するための記憶部は、ＨＤＤ（ハードディスクドライブ）、フレキシブルディスクやＤＶＤディスク、光磁気ディスクやＵＳＢ（Universal Serial Bus)メモリ等（不図示）であってもよいし、不図示の通信ＩＦを介して接続された他の装置の記憶媒体であってもよい。
【００２０】
ＣＰＵ２０は、ＣＰＵバス２６を介してＳｅｒＤｅｓ制御部２２と接続されている。ＣＰＵバス２６は、複数の信号線を備えたパラレルバスである。
【００２１】
ＳｅｒＤｅｓ制御部２２は、ＣＰＵ２０からＣＰＵバス２６を介して機器制御部１４に送信する情報（パラレル信号）を受け取ると、当該パラレル信号をパケット化し、各パケットをシリアル信号に変換してシリアルバス４０を介して機器制御部１４に送信する。また、ＳｅｒＤｅｓ制御部２２は、機器制御部１４からシリアルバス４０を介してシリアル形式のパケットを受信すると、当該受信したパケットをパラレル形式のパケットに変換し、当該パラレル形式のパケットをデコードして、当該パケットに含まれるデータを取り出す。
【００２２】
複写レジスタ群２４は、複数のレジスタ（記憶領域）を含むメモリで構成されている。また、複写レジスタ群２４は、各々が転送単位の情報を記憶する複数のブロックを含んで構成されている。以下では、１つのブロックに記憶される転送単位の情報を、「ブロック単位のデータ」という。ブロック単位のデータは、数ワード分（例えば、６４ビット）のデータとしてもよい。
【００２３】
機器制御部１４に含まれる入出力制御レジスタ群３２の各レジスタの記憶内容が、この複写レジスタ群２４に複写される。ここで「複写」とは、入出力制御レジスタ群３２からレジスタに記憶されたデータを読出して、当該読出したデータをシリアルバス４０を介して主制御部１２に送信し、複写レジスタ群２４の各レジスタに書込む一連の処理をいう。複写により、複写レジスタ群２４の記憶内容が更新される。
【００２４】
機器制御部１４は、シリアライザ・デシリアライザ制御部３０（以下、ＳｅｒＤｅｓ制御部３０という）、入出力制御レジスタ群３２、駆動・受信回路３４、及び監視部３６を備えている。
【００２５】
ＳｅｒＤｅｓ制御部３０は、主制御部１２からシリアルバス４０を介してシリアル形式のパケットを受信すると、当該受信したパケットをパラレル形式のパケットに変換し、パラレル形式のパケットをデコードして、当該パケットに含まれるデータを取り出す。また、ＳｅｒＤｅｓ制御部３０は、主制御部１２に送信する情報（パラレル信号）をパケット化し、各パケットをシリアル信号に変換してシリアルバス４０を介して主制御部１２に送信する。
【００２６】
入出力制御レジスタ群３２は、複数のレジスタ（記憶領域）を含むメモリで構成されている。入出力制御レジスタ群３２もまた、各々が転送単位の情報を記憶する複数のブロックを含んで構成されている。入出力制御レジスタ群３２の複数のレジスタは、入力レジスタと、出力レジスタとを含んでいる。入力レジスタには、各機器の状態を示すデータが書込まれる。出力レジスタには、主制御部１２のＣＰＵ２０から送信された各機器を制御するデータが書込まれる。また、入出力制御レジスタ群３２には、割込の発生を示すデータが書込まれるレジスタ（以下、割込レジスタという）、及び割込要因を示すデータが書込まれるレジスタ（以下、割込要因レジスタという）も含まれる。
【００２７】
入出力制御レジスタ群３２の各レジスタに記憶された記憶内容は、前述したように、主制御部１２の複写レジスタ群２４にブロック毎に複写される。本実施形態では、ＣＰＵ２０は、複写レジスタ群２４に複写されたデータを読み出すことにより、入出力制御レジスタ群３２に書込まれたデータと同じデータを参照することができる。この他、本実施形態では、ＣＰＵ２０は、シリアルバス４０を介して入出力制御レジスタ群３２に書込まれたデータを読出して取得することもできる。
【００２８】
なお、本実施形態において、複写レジスタ群２４のメモリサイズ、及び入出力制御レジスタ群３２のメモリサイズは、互いに等しく、入出力制御レジスタ群３２から複写レジスタ群２４への複写の際には、入出力制御レジスタ群３２のブロックの１つから読み出されたデータは、当該データが記憶されていた入出力制御レジスタ群３２のブロックに対応する複写レジスタ群２４のブロックに書込まれるものとする。
【００２９】
駆動・受信回路３４は、画像形成装置１０を構成する機器群１６の各機器に接続される。駆動・受信回路３４は、入出力制御レジスタ群３２の出力レジスタに機器を制御するためのデータが書込まれると、そのデータに応じた駆動信号を当該出力レジスタに対応する機器に出力する。機器は出力された駆動信号に応じて駆動される。また、接続された機器から当該機器の状態を示す信号が入力されると、その信号に応じたデータを当該機器の状態を示すデータ用の入力レジスタに書込む。状態を示すデータは、例えば、機器がセンサである場合には、センサの検出結果を示すデータであってもよいし、機器がモータである場合には、モータの回転状態を示すデータであってもよい。
【００３０】
監視部３６は、入出力制御レジスタ群３２に接続されると共に、ＳｅｒＤｅｓ制御部３０にも接続されている。監視部３６は、入出力制御レジスタ群３２の複数のブロックの更新の有無をブロック毎に監視する。そして、監視部３６は、更新の有無を示す情報（比較結果）をＳｅｒＤｅｓ制御部３０に出力する。
【００３１】
画像形成装置１０全体を制御するＣＰＵ２０は、入力レジスタに書込まれたデータから機器の状態を把握し、出力レジスタに制御用のデータを書込むことにより各機器の駆動を制御している。
【００３２】
ただし、本実施形態では、後述するように、システムタイマの周期以下の周期で、入出力制御レジスタ群３２のデータが複写レジスタ群２４へ複写されるため、ＣＰＵ２０は、機器の状態等を把握する際には、わざわざシリアルバス４０を介して入出力制御レジスタ群３２からデータを取得しなくても、主制御部１２に設けられた複写レジスタ群２４に複写されたデータを読み出すことで、機器の状態等を把握することができる。
【００３３】
＜主制御部のＳｅｒＤｅｓ制御部＞
図２は、主制御部１２のＳｅｒＤｅｓ制御部２２の構成例を示す図である。ＳｅｒＤｅｓ制御部２２は、ＣＰＵバスインタフェース５０、コントローラ５２、パケット生成回路５４、バッファ５６、パラレルシリアル変換回路５８、シリアルパラレル変換回路６０、バッファ６２、パケットデコード回路６４、及びアドレスカウンタ６６を備えている。
【００３４】
ＣＰＵバスインタフェース５０は、ＣＰＵバス２６を介してＣＰＵ２０と通信するためのインタフェースである。コントローラ５２は、ＳｅｒＤｅｓ制御部２２を構成する各構成要素と接続され、プロトコル制御や各構成要素の動作タイミング等を制御することで、ＳｅｒＤｅｓ制御部２２全体を制御する。
【００３５】
パケット生成回路５４は、パケットを生成する。バッファ５６は、パケット生成回路５４で生成されたパケットを一時的に記憶する。パラレルシリアル変換回路（シリアライザ）５８は、バッファ５６に一時的に記憶されたパラレル形式のパケットをシリアル形式のパケットに変換して、シリアルバス４０を介して機器制御部１４に送信する。
【００３６】
シリアルパラレル変換回路（デシリアライザ）６０は、機器制御部１４からシリアルバス４０を介して受信したシリアル形式のパケットをパラレル形式のパケットに変換する。バッファ６２は、シリアルパラレル変換回路６０で変換されたパラレル形式のパケットを一時的に記憶する。パケットデコード回路６４は、バッファ６２に一時的に記憶されたパラレル形式のパケットをデコードして、当該パケットに含まれるデータを取り出す。
【００３７】
また、パケットデコード回路６４は、パケット識別部６４ａを有している。パケット識別部６４ａは、後述する複写パケットとダミーパケットとを識別して、複写パケットとダミーパケットの何れであるかを示す識別情報をコントローラ５２に出力する。
【００３８】
アドレスカウンタ６６は、複写レジスタ群２４に入出力制御レジスタ群３２から読出され転送されたデータを書込むときの書込先のアドレスを生成してコントローラ５２に出力する。ここでの「アドレス」とは、複写のために付与されるアドレスカウンタ６６のカウント値であり、複写レジスタ群２４及び入出力制御レジスタ群３２内の、先頭から何番目のブロックであるかを表す番号である。このカウント値は、連続番号（SQ-NUM：シーケンス・ナンバー）としてパケットに含まれている。入出力制御レジスタ群３２の１番目のブロックから読み出されたデータは、対応する複写レジスタ群２４の１番目のブロックに書込まれる。
【００３９】
複写レジスタ群２４へのデータの複写は、入出力制御レジスタ群３２から読出され送信されたブロック単位のデータを複写レジスタ群２４の先頭アドレス（先頭ブロック）から順に書込んでいくことにより行なわれるため、ブロック単位のデータが書込まれる毎に、インクリメントされたアドレスが出力される。アドレスカウンタ６６は、複写レジスタ群２４への全データの書込が終了した後、次に書込を開始する前にリセットされる（先頭アドレスのカウント値となる）。
【００４０】
コントローラ５２には、複写レジスタ更新回路５２ａ、読出選択回路５２ｂ、及び書込選択回路５２ｃが、コントローラ５２の機能として設けられている。
【００４１】
複写レジスタ更新回路５２ａは、入出力制御レジスタ群３２の各レジスタから読出され転送されたデータを複写レジスタ群２４に書込んで、複写レジスタ群２４の記憶内容を更新する。
【００４２】
読出選択回路５２ｂは、ＣＰＵ２０から、入出力制御レジスタ群３２に書込まれたデータの読出要求を受けたときに、当該読出要求に基づいて、複写レジスタ群２４に複写されたデータを読み出すのか、或いは入出力制御レジスタ群３２に書込まれたデータを直接読み出すのかを選択して、読出処理を実行し、読み出したデータをＣＰＵ２０に供給する。
【００４３】
書込選択回路５２ｃは、ＣＰＵ２０から入出力制御レジスタ群３２に対する書込要求を受けたときに、当該書込要求に基づいて、入出力制御レジスタ群３２のみに対して書込むのか、或いは入出力制御レジスタ群３２に書込むだけでなく複写レジスタ群２４にも（複写による更新ではなく）直接書込むのかを選択して、書込処理を実行する。
【００４４】
＜機器制御部のＳｅｒＤｅｓ制御部＞
図３は、機器制御部１４のＳｅｒＤｅｓ制御部３０の構成例を示す図である。ＳｅｒＤｅｓ制御部３０は、コントローラ８０、シリアルパラレル変換回路（デシリアライザ）８２、バッファ８４、パケットデコード回路８６、パケット生成回路８８、バッファ９０、パラレルシリアル変換回路（シリアライザ）９２、及びアドレスカウンタ９４を備えている。
【００４５】
コントローラ８０は、ＳｅｒＤｅｓ制御部３０を構成する他の構成要素と接続され、プロトコル制御や各構成要素の動作タイミング等を制御することで、ＳｅｒＤｅｓ制御部３０全体を制御する。
【００４６】
シリアルパラレル変換回路８２は、主制御部１２からシリアルバス４０を介して受信したシリアル形式のパケットをパラレル形式のパケットに変換する。バッファ８４は、シリアルパラレル変換回路８２で変換されたパラレル形式のパケットを一時的に記憶する。パケットデコード回路８６は、バッファ８４に一時的に記憶されたパラレル形式のパケットをデコードして、当該パケットに含まれるデータを取り出す。
【００４７】
パケット生成回路８８は、入出力制御レジスタ群３２から読み出されたデータに基づいて、後述する複写パケット、ダミーパケット等のパケットを生成する。パケット生成回路８８は、ヘッダ生成部８８ａを有している。ヘッダ生成部８８ａは、後述する通り、データに付加された更新判定ビットに応じて、複写パケットとダミーパケットの何れであるかを示す識別情報を含むヘッダを生成し、生成したヘッダを該当するパケットに付加する。
【００４８】
バッファ９０は、パケット生成回路８８で生成されたパケットを一時的に記憶する。パラレルシリアル変換回路９２は、バッファ９０に一時的に記憶されたパラレル形式のパケットをシリアル形式のパケットに変換して、シリアルバス４０を介して主制御部１２に送信する。
【００４９】
アドレスカウンタ９４は、入出力制御レジスタ群３２からデータを読み出して複写レジスタ群２４に複写するときの、データの読出元のアドレスを生成してコントローラ８０に出力する。複写レジスタ群２４へのデータの複写は、ブロック単位のデータを入出力制御レジスタ群３２から読み出して順次主制御部１２に転送することにより行なわれる。このため、ブロック単位のデータが入出力制御レジスタ群３２から読み出される毎に、インクリメントされたアドレスが出力される。アドレスカウンタ９４は、複写レジスタ群２４への複写のための入出力制御レジスタ群３２からのデータの読出しが終了したとき或いはデータの読出しを開始する際にリセットされる。
【００５０】
コントローラ８０には、レジスタデータ転送回路８０ａが、コントローラ８０の機能の１つとして設けられている。レジスタデータ転送回路８０ａは、入出力制御レジスタ群３２の各レジスタに書込まれているデータを複写レジスタ群２４に複写するため、入出力制御レジスタ群３２からブロック単位のデータを読み出して、パケット生成回路８８に出力し、複写レジスタ群２４に書込ませるためのパケット（複写パケット又はダミーパケット）を生成させる。生成されたパケットは、パラレルシリアル変換回路９２によりシリアル変換され、シリアルバス４０を介して主制御部１２に転送される。
【００５１】
また、コントローラ８０は、入出力制御レジスタ群３２の割込レジスタに割込の発生を示すデータが書込まれると、割込発生を通知する割込パケットをパケット生成回路８８に生成させる。当該生成された割込パケットは、パラレルシリアル変換回路９２でシリアル形式のパケットに変換されて、主制御部１２に送信される。主制御部１２のコントローラ５２は、不図示の割込信号発生回路を備える。割込信号発生回路は、割込パケットを受信すると、割込信号を発生する。ＣＰＵ２０は割込信号を受け取ると、割込が発生したことを把握し、複写レジスタ群２４から割込要因を示すデータを読み出して割込要因に応じた処理を行なう。
【００５２】
なお、主制御部１２のＣＰＵ２０は、システムタイマを基準として動作する。システムタイマは、予め定められた時間間隔（周期）でカウントするものであって、カウント毎にＣＰＵ２０に対してタイマ割込みを発生させる。システムタイマの更新（時計のカウント）は、主制御部１２の基板上に設けられた不図示のタイマＩＣ(Integrated Circuit)から供給されるクロックを基準として行なわれる。システムタイマは、リアルタイムＯＳ（オペレーティングシステム）においては、一般的に知られている技術であるため、ここではこれ以上の説明を省略する。
【００５３】
また、機器制御部１４にも、タイマＩＣ（不図示）が設けられ、上記システムタイマのカウント周期と同じ長さの周期でクロックを出力する。
【００５４】
なお、ＳｅｒＤｅｓ制御部２２、複写レジスタ群２４、ＳｅｒＤｅｓ制御部３０、入出力制御レジスタ群３２、駆動・受信回路３４、及び監視部３６の各々は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウェアにより構成される。
【００５５】
＜監視部＞
図４は本発明の実施の形態に係る監視部の構成例を示すブロック図である。図４に示すように、監視部３６は複数の比較回路３６Ｒを有している。複数の比較回路３６Ｒの各々は、入出力制御レジスタ群３２の複数のブロック３２Ｂの各々に対応して設けられている。図示した例では、複数（ｎ個）のブロック３２Ｂ１〜３２Ｂｎの各々に対応して、複数（ｎ個）の比較回路３６Ｒ１〜３６Ｒｎが設けられている。以下では、複数のブロック３２Ｂ１〜３２Ｂｎを区別する必要がない場合はブロック３２Ｂと総称し、比較回路３６Ｒ１〜３６Ｒｎを区別する必要がない場合は比較回路３６Ｒと総称する。
【００５６】
入出力制御レジスタ群３２に記憶された全データは、システムタイマのカウント周期以下の周期（「複写周期」又は「更新周期」という。）で読み出される。データの読み出しはブロック単位で行われる。比較回路３６Ｒは、対応するブロック３２Ｂから読み出したブロック単位のデータを、対応するブロック３２Ｂから１周期前に読み出したブロック単位のデータと比較する。即ち、対応するブロック３２Ｂのデータについて、更新の有無（１周期の間に更新されたか否か）を監視しているのである。
【００５７】
比較回路３６Ｒは、ブロック単位のデータをビット単位で比較して、比較結果（更新の有無を示す情報）をコントローラ８０に出力する。比較結果は、コントローラ８０の図示しない記憶部に記憶される。複数ビットのデータを比較する比較回路は、例えばトリガ検出を用いたロジック回路等、一般的に知られている技術であるため、回路構成の詳細な説明は省略する。ブロック単位のデータに変化が無ければ、比較結果は「更新なし」となる。一方、ブロック単位のデータに変化が有れば、比較結果は「更新あり」となる。１周期の間に１ビットでもデータが書き換えられると、比較結果は「更新あり」となる。後述する通り、「更新なし」の場合は、データが格納されていないダミーパケットが送信され、「更新あり」の場合は、ブロック単位のデータが格納された複写パケットが送信される。
【００５８】
なお、図４に示す回路構成は、監視部３６の実現手段の一例を示すものであり、入出力制御レジスタ群３２の複数のブロック３２Ｂの更新の有無を監視する機能が実現されればよく、監視部３６の回路構成は図示したものには限定されない。例えば、入出力制御レジスタ群３２の複数のブロック３２Ｂに対し１つの比較回路を設けてもよい。但し、データの読み出しはブロック単位で行われるので、１つのブロック３２Ｂに対して１つの比較回路３６Ｒを設ける方が、複数のブロック３２Ｂに対して１つの比較回路３６Ｒを設ける場合よりも、監視部３６を構成する回路がより小型化されると共に、読み出しのタイミングで比較するのでタイミングの設定が容易になる。
【００５９】
＜複写パケットとダミーパケット＞
ここで複写パケットとダミーパケットとについて説明する。
図５（Ａ）は複写パケットの構成の一例を示す模式図である。図５（Ｂ）はダミーパケットの構成の一例を示す模式図である。複写パケットは、入出力制御レジスタ群３２から読み出したデータを複写レジスタ群２４に書込ませるためのパケットである。従って、複写パケットには、複写対象となるブロック単位のデータが格納されている。これに対し、ダミーパケットには、データは格納されていない。ダミーパケットは、複写レジスタ群２４にデータを書込まずに、アドレスカウンタ６６をインクリメントするためのパケットである。
【００６０】
図５（Ａ）に示す例では、複写パケットは、ヘッダ（HEADER）、データ（DATA）、連続番号（SQ-NUM）、パッド（PAD）及び誤り検出符号（CRC）で構成されている。ヘッダ（HEADER）は７ビットで表され、データ（DATA）は６４ビットで表され、連続番号（SQ-NUM）は４ビットで表され、パッド（PAD）は２ビットで表され、誤り検出符号（CRC）は７ビットで表される。複写パケットのパケット長は、合計８４ビットとされている。
【００６１】
ここで「ヘッダ（HEADER）」は、パケットに付加されるパケット・ヘッダであり、複写パケットであることを示す識別情報を含んでいる。「データ（DATA）」は、複写対象となるブロック単位のデータである。「連続番号（SQ-NUM）」は、アドレスカウンタ９４が生成したデータの読出元のアドレスデータであり、何番目のブロックからの読み出しデータかを表すカウント値のデータである。「パッド（PAD）」は、データ長を揃えるための付加データである。「誤り検出符号（CRC）」は、誤り検出用のコードデータである。
【００６２】
図５（Ｂ）に示す例では、ダミーパケットは、ヘッダ（HEADER）、連続番号（SQ-NUM）、パッド（PAD）及び誤り検出符号（CRC）で構成されている。即ち、データ（DATA）を有しない以外は、複写パケットと同じ構成である。但し、ヘッダは、ダミーパケットであることを示す識別情報を含んでいる。ヘッダ（HEADER）は７ビットで表され、連続番号（SQ-NUM）は４ビットで表され、パッド（PAD）は３ビットで表され、誤り検出符号（CRC）は７ビットで表されている。ダミーパケットのパケット長は、合計２１ビットとされている。
【００６３】
ダミーパケットのパケット長は、データ（DATA）を含まない分、複写パケットのパケット長よりも短い。図５（Ａ）及び（Ｂ）に示す例では、ダミーパケットのパケット長は２１ビットであり、８４ビットである複写パケットのパケット長の１／４の長さである。図６（Ａ）は複写パケットが連続送信される様子を示す模式図である。図６（Ｂ）はダミーパケットが挿入される様子を示す模式図である。これらを比較すれば分かるように、ダミーパケットが挿入されることで、送信される情報量（トラフィック）が低減され、シリアルバスの占有時間が短縮される。シリアルバスの占有時間が短縮されると、割込の発生に対する対応が迅速化されるという利点もある。
【００６４】
なお、複写パケットのパケット長（８４ビット）及びダミーパケットのパケット長（２１ビット）は一例であり、システムの設計に応じて設定してもよい。本実施の形態では、１ワードを７ビットのデータで送信することから、各パケットのパケット長を７ビットの整数倍に調整している。
【００６５】
ここでダミーパケットを送信する理由について補足説明する。
本実施形態では、入出力制御レジスタ群３２に記憶された各データを先頭アドレスから順に読出して、読出したデータから複写先のアドレスを指定せずに複数のパケットを生成して送信し、複写レジスタ群２４の先頭アドレスから当該複数のパケットの転送順にデータを書込む。ここで転送順を表すのが上記の連続番号（SQ-NUM）である。複写パケットに複写先（書込先）のアドレスの情報を含めないことで、アドレスの情報を含める場合に比べて送信される情報量が低減される。
【００６６】
しかしながら、上記の複写処理では、アドレスカウンタ９４のカウント値が示す入出力制御レジスタ群３２のアドレスから、ブロック単位でデータを読み出して複写パケットを生成する。そして、複写パケットをデコードして得られたブロック単位のデータを、アドレスカウンタ６６のカウント値が示す複写レジスタ群２４のアドレスに書き込む。従って、入出力制御レジスタ群３２及び複写レジスタ群２４の複数のブロックに対応した個数分だけパケットを送信しなければ、複写レジスタ群２４が順番に更新されない。このため、従来は、入出力制御レジスタ群３２に更新されていないブロックが存在しても、当該ブロックのデータを格納した複写パケットを送信していた。
【００６７】
本実施の形態では、入出力制御レジスタ群３２の更新されていないブロックについては、当該ブロックのデータが格納されていないダミーパケットを送信する。上記の通り、ダミーパケットを挿入することで、複写パケットだけを送信する場合に比べて送信される情報量が更に低減される。同時に、連続番号（SQ-NUM）を含むダミーパケットを送信することで、アドレスカウンタ９４及びアドレスカウンタ６６がインクリメントされて、複写レジスタ群２４が順番に更新されるのである。
【００６８】
更に、画像形成装置という観点から見ると、画像形成装置の待機時等の機器が動作していない状況では、全機器に亘って送信されるデータ量が低減される。また、画像形成装置の稼働時においても一部の機器に絞ってデータが送信される。
【００６９】
＜制御装置の作用＞
次に、本実施形態に係る制御装置１１の作用について説明する。
【００７０】
（入出力制御レジスタ群３２の更新）
ＣＰＵ２０は、機器を制御するための制御用のデータを書込むための書込要求をＣＰＵバス２６を介してＳｅｒＤｅｓ制御部２２に出力する。この書込要求には、書込むデータだけでなく、書込先となる入出力制御レジスタ群３２のレジスタのアドレスが指定されている。ＳｅｒＤｅｓ制御部２２のコントローラ５２は、ＣＰＵバスインタフェース５０を介して書込要求を受け取ると、パケット生成回路５４、バッファ５６、及びパラレルシリアル変換回路５８を制御して、ＣＰＵ２０から受け取った書込要求をパケット化して送信する。
【００７１】
機器制御部１４のコントローラ８０は、シリアルパラレル変換回路８２、バッファ８４、及びパケットデコード回路８６を制御して、書込要求のパケットをデコードして書込要求を取り出す。
【００７２】
コントローラ８０は、入出力制御レジスタ群３２に含まれる複数のレジスタのうち、上記デコードして得られた書込要求で指定されたアドレスのレジスタ（出力レジスタ）に、当該レジスタに対応する機器を制御するための制御用のデータを書込む。これにより、書込まれた制御用のデータに応じて該当の機器が駆動される。
【００７３】
また、駆動・受信回路３４は、接続された機器から当該機器の状態を示す信号が入力されると、その信号に応じたデータを当該機器の状態を示すデータ用の入力レジスタに書込む。
【００７４】
また、本実施形態において、機器制御部１４には、不図示の割込回路が設けられている。割込回路により割込（例えば、機器の動作異常など）が検出された場合には、機器制御部１４のＳｅｒＤｅｓ制御部３０に設けられたコントローラ８０は、入出力制御レジスタ群３２の割込レジスタに、割込発生を示すデータを書込むと共に、割込要因レジスタに割込要因のデータを書込む。また、コントローラ８０は、パケット生成回路８８に割込パケットを生成させ、パラレルシリアル変換回路９２でシリアル変換して主制御部１２に送信する。
【００７５】
（複写レジスタ群２４への複写）
本実施の形態の制御装置１１では、システムタイマのカウント周期以下の周期で、入出力制御レジスタ群３２に記憶された全データを読出してシリアルバス４０を介して送信し複写レジスタ群２４に書込む複写処理が行なわれる。例えば、システムタイマのカウント周期が１ｍｓであれば、複写周期（更新周期）は１ｍｓ以下の周期とされる。
【００７６】
また、本実施の形態では、入出力制御レジスタ群３２に記憶された各データを先頭アドレス（先頭ブロック）から順に読出して、読出したデータから複写先のアドレスを指定せずに複数のパケットを生成して送信し、複写レジスタ群２４の先頭アドレス（先頭ブロック）から当該複数のパケットの転送順にデータを書込む。これにより、複写レジスタ群２４の記憶内容が更新される。
【００７７】
また、本実施の形態では、入出力制御レジスタ群３２から読み出したブロック単位のデータが更新されていない場合は、ブロック単位のデータが格納された「複写パケット」に代えて、ブロック単位のデータが格納されていない「ダミーパケット」が送信される。
【００７８】
以下、この複写処理を詳しく説明する。
機器制御部１４のＳｅｒＤｅｓ制御部３０のコントローラ８０は、機器制御部１４に設けられたタイマＩＣからクロックが出力されると、入出力制御レジスタ群３２から複写レジスタ群２４へのデータ複写のための読出処理を開始する。なお、ここでは、タイマＩＣのクロックが出力された時を読出開始タイミングとしたが、これは一例であって、読出開始タイミングはこれに限定されない。
【００７９】
具体的には、コントローラ８０のレジスタデータ転送回路８０ａは、アドレスカウンタ９４から出力されたアドレスに従って、入出力制御レジスタ群３２の先頭アドレス（先頭ブロック）からブロック単位のデータを順次読み出して、パケット生成回路８８に当該読み出したデータを順次入力する。
【００８０】
図７はレジスタデータ転送回路８０ａの動作（レジスタ転送処理）の流れを示すフローチャートである。図７を参照して更に詳細に説明すると、レジスタデータ転送回路８０ａは、まず、ステップ１００で、入出力制御レジスタ群３２からブロック単位のデータを読出して取得する。次に、ステップ１０２で、読み出したデータの「比較結果」を取得する。即ち、「更新なし」又は「更新あり」を示す情報を取得する。
【００８１】
次に、ステップ１０４で、更新判定ビットを立てる。「更新なし」のブロック単位のデータには、「更新なし」を示す更新判定ビット「１」を付加する。一方、「更新あり」のブロック単位のデータには、「更新あり」を示す更新判定ビット「０」を付加する。次に、ステップ１０６で、更新判定ビットが付加されたデータを、パケット生成回路８８に出力して、動作を終了する。
【００８２】
アドレスカウンタ９４の初期値は、入出力制御レジスタ群３２の先頭アドレスとされる。そして、レジスタデータ転送回路８０ａがデータを読み出す毎に、アドレスカウンタ９４がカウントアップする。レジスタデータ転送回路８０ａは、入出力制御レジスタ群３２から全データを読み出すまで、アドレスカウンタ９４のカウント値が示すアドレスから上記ブロック単位のデータを読み出してパケット生成回路８８に入力することを繰り返す。
【００８３】
パケット生成回路８８は、複写対象のデータが入力される毎に、当該データを複写レジスタ群２４に書込ませるための複写命令のパケット（即ち、「複写パケット」）、又は当該データを含まないダミーパケットを生成し、バッファ９０に記憶する。
【００８４】
図８はパケット生成回路の処理の動作（パケット生成処理）の流れを示すフローチャートである。図８を参照して更に詳細に説明すると、まず、ステップ２００で、更新判定ビットが「１」か否か（即ち、「更新なし」か否か）を判定する。更新判定ビットが「１」（更新なし）の場合は、ステップ２０２に進み、データが格納されていないダミーパケットを生成する。次に、ステップ２０４で、ダミーパケットであることを示すヘッダをパケットに付加する。続いて、ステップ２０６で、ヘッダが付加されたダミーパケットをバッファ９０に出力して、動作を終了する。
【００８５】
一方、ステップ２００で、更新判定ビットが「１」ではなく「０」（更新あり）の場合は、ステップ２０８に進み、ブロック単位のデータが格納された複写パケットを生成する。次に、ステップ２１０で、複写パケットであることを示すヘッダをパケットに付加する。続いて、ステップ２０６で、ヘッダが付加された複写パケットをバッファ９０に出力して、動作を終了する。
【００８６】
パラレルシリアル変換回路９２は、レジスタデータ転送回路８０ａの制御の下、バッファ９０に記憶された複写パケット又はダミーパケットをシリアル信号に変換して、シリアルバス４０の信号線Ｒｘに出力する。これにより、入出力制御レジスタ群３２に記憶されている全データから複数の複写パケット又はダミーパケットが生成されて主制御部１２に転送される。
【００８７】
主制御部１２に転送された複写パケット又はダミーパケットは、シリアルパラレル変換回路６０によりパラレル形式の複写パケット又はダミーパケットに変換されて、バッファ６２に記憶される。パケットデコード回路６４は、バッファ６２に記憶された複写パケット又はダミーパケットをデコードして、複写パケットから複写すべきデータを取り出す。
【００８８】
複写レジスタ更新回路５２ａは、パケットデコード回路６４でデコードされて得られたデータを、複写レジスタ群２４の、アドレスカウンタ６６から出力されたアドレスが示すレジスタに書込む。１つの複写パケットにより書込まれるデータは、ブロック単位のデータである。従って、書込まれるデータのサイズは、入出力制御レジスタ群３２からデータを読み出したときの読出しサイズに等しい。
【００８９】
アドレスカウンタ６６の初期値は、複写レジスタ群２４の先頭アドレスとされる。そして、複写レジスタ更新回路５２ａが、複写パケット又はダミーパケットを受信する毎に、アドレスカウンタ６６がカウントアップする。複写レジスタ更新回路５２ａは、入出力制御レジスタ群３２から読み出され送信された全データを書込むまで、アドレスカウンタ６６のカウント値が示すアドレスにデータを書込む処理を繰り返す。
【００９０】
図９は複写レジスタ更新回路の動作（複写レジスタ更新処理）の流れを示すフローチャートである。図９を参照して更に詳細に説明すると、まず、ステップ３００で、パケット識別部６４ａから複写パケットとダミーパケットの何れであるかを示す識別情報を取得する。次に、ステップ３０２で、識別情報に基づいて取得したパケットが「ダミーパケット」か否かを判断する。
【００９１】
「ダミーパケット」である場合は、ステップ３０４に進み、アドレスカウンタ６６のカウント値が示すアドレスにはデータを書き込まない（スキップする）。続いて、ステップ３０６で、アドレスカウンタ６６をカウントアップして、動作を終了する。一方、ダミーパケットではなく「複写パケット」である場合は、ステップ３０８に進み、アドレスカウンタ６６のカウント値が示すアドレスにデータを書き込む。続いて、ステップ３０６で、アドレスカウンタ６６をカウントアップして、動作を終了する。
【００９２】
このように、入出力制御レジスタ群３２の先頭アドレスから順に同じサイズのデータを読み出して順次複写レジスタ群２４に書込むことを繰り返すことにより、最終的に更新され送信された全データを複写レジスタ群２４に複写するため、複写パケット又はダミーパケットで複写先（書込先）のアドレスを指定しなくても、問題なく複写処理が実行される。これにより、複写処理が簡易化する。
【００９３】
また、本実施の形態では、入出力制御レジスタ群３２から読み出したブロック単位のデータが更新されていない場合は、ブロック単位のデータが格納された「複写パケット」に代えて、ブロック単位のデータが格納されていない「ダミーパケット」を生成して送信する。これにより、アドレスカウンタ９４及びアドレスカウンタ６６がインクリメントされて複写レジスタ群２４が順番に更新されると共に、送信される情報量（トラフィック）が低減されてシリアルバスの占有時間が短縮される。
【００９４】
また、本実施形態では、上記説明したように、システムタイマのカウント周期以下の周期で、複写レジスタ群２４へ全データが複写されるように、レジスタデータ転送回路８０ａ及び複写レジスタ更新回路５２ａが構成されている。すなわち、全データの複写開始から複写終了までの時間は、システムタイマのカウント周期以下の周期となる。ここで、複写開始とは、入出力制御レジスタ群３２から複写のためのデータの読出しを開始するタイミングをいい、複写終了とは、複写レジスタ群２４への全データの書込が終了するタイミングをいう。従って、あるカウント周期の途中で、入出力制御レジスタ群３２のデータが更新された場合、遅くとも次のカウント周期で、当該更新されたデータが複写レジスタ群２４に複写される。ＣＰＵ２０は、複写レジスタ群２４に複写されたデータを参照することで、システムタイマのカウント周期以下の周期（複写周期/更新周期）で更新されたデータを参照できる。なお、複写周期（更新周期）は予め設定しておく。
【００９５】
更にまた、入出力制御レジスタ群３２のデータから生成された複数の複写パケット又はダミーパケットは、予め定められた時間以上の間隔をあけて（ただし、複写開始から複写終了までの時間がシステムタイマのカウント周期以下となるように）１つずつ送信される。従って、複写パケット又はダミーパケットの転送処理中に割込が発生した場合でも、当該パケットが送信された後、次のパケットが送信されるまでの間に、割込パケットを主制御部１２に送信することができる。もちろん、複写パケット又はダミーパケットの送信間隔は、割込パケットの送信がなければ、間隔を詰めて（すなわち、割込パケットを発行する場合に比べて送信間隔を短くして）送信するようにしてもよい。
【００９６】
（ＣＰＵ２０によるデータ読出）
ＣＰＵ２０は、入出力制御レジスタ群３２に書込まれたデータを参照する場合、入出力制御レジスタ群３２から直接データを取得するのではなく、複写レジスタ群２４からデータを読み出すことで、入出力制御レジスタ群３２に書込まれたデータを参照することができる。
【００９７】
従って、ＣＰＵ２０は、データ読出しの際には、複写レジスタ群２４のアドレスを指定した読出要求をＳｅｒＤｅｓ制御部２２に出力する。ＳｅｒＤｅｓ制御部２２のコントローラ５２の読出選択回路５２ｂは、ＣＰＵバスインタフェース５０を介してＣＰＵ２０から複写レジスタ群２４のデータの読出要求を取得した場合には、複写レジスタ群２４に複写されたデータ（読出要求で指定されたアドレスのデータ）を読み出して、ＣＰＵ２０に供給する。入出力制御レジスタ群３２に対する読出要求のパケットの発行はなされない。      
【００９８】
（従来の制御装置との比較）
ここで、図１０に示す従来の制御装置の構成例と比較しながら、本実施形態の制御装置１１について説明する。ここでは、複写レジスタ群を主制御部に設けた場合の利点について説明する。
【００９９】
図１０（Ａ）に示すように、従来の制御装置は、入出力制御レジスタ群が、主制御部側に設けられていた。主制御部の入出力制御レジスタ群と、機器制御部の駆動・受信回路とはパラレル信号線により接続され、入出力制御レジスタ群から駆動・受信回路に対して、モータやスイッチなどの駆動を制御するデータがパラレル信号線を介して出力され、駆動・受信回路から入出力制御レジスタ群に対して、センサの検出結果等の状態を示すデータがパラレル信号線を介して入力されていた。すなわち、機器の数に比例した分のパラレル信号線で主制御部と機器制御部とを接続する必要があった。しかしながら、主制御部の基板の実装スペース等の問題により、多数のパラレル信号線を配設することは問題があった。
【０１００】
そこで、図１０（Ｂ）に示すように、主制御部及び機器制御部の各々にシリアルＩ／Ｏインタフェース（ＳＩＯ  ＩＦ）を設け、複数のシリアル信号線で主制御部と機器制御部とを接続し、複数のパラレル信号線をいくつかのグループに分け、１つのグループに対して１つのシリアル信号線を対応させて配設し、同一グループに属する複数のパラレル信号をシリアル信号に変換して、対応するシリアル信号線を介して送受信させる構成も考えられる。この構成により、主制御部と機器制御部とを接続する信号線の数を減らすことができるが、駆動・受信回路に接続される機器が増加する等により、機器の変更があった場合には、シリアル信号線が増加してしまう。また、このように機器が増加する場合、グルーピングを新たに設定する必要があり、機器制御部だけでなく、主制御部の作り替えも必要となる。
【０１０１】
これに対して、本実施形態の制御装置１１は、主制御部１２及び機器制御部１４を汎用的なシリアルバス４０により接続し、機器制御部１４に入出力制御レジスタ群３２を設けた。これにより、また、主制御部１２と機器制御部１４を接続する信号線の数が削減され、主制御部１２や機器制御部１４の基板面積も小さくでき、コスト削減につながる。また、機能変更（機器群１６の機器の増加や削減など）が生じても、主制御部１２及び機器制御部１４を接続する信号線に変化は生じない。また、主制御部１２の構成は、増加する機器に依存しないため、主制御部１２の作り替えの必要もない。
【０１０２】
また、本実施形態では、シリアルバス４０を採用したため、パレラルバスのように、遠隔接続時の信号品質の劣化（スキュー、バラつき等)の問題は生じない。
【０１０３】
また、シリアルバス４０は、汎用的な例えば数100Mbpsのシリアル伝送路であるため、当該伝送路のインタフェースとなるＳｅｒＤｅｓ制御部２２やＳｅｒＤｅｓ制御部３０等は、安価なデバイス（ASIC,FPGA）で実現される。また、パケット方式で通信するため、エラーチェックを容易にでき、伝送路の信頼性が向上する。
【０１０４】
なお、入出力制御レジスタ群３２を機器制御部１４側に設け、入出力制御レジスタ群３２から常にデータを読出す構成とした場合、データを読み出す際の遅延が問題となる。すなわち、入出力制御レジスタ群３２に対する読出要求をシリアルバス４０を介して送信してからデータが読み出されてＣＰＵ２０に送信されるまでの時間がかかる。しかしながら、本実施形態では、主制御部１２に複写レジスタ群２４を設け、入出力制御レジスタ群３２のデータを複写レジスタ群２４に複写するようにしたため、ＣＰＵ２０は、シリアルバス４０を介さずとも、複写レジスタ群２４に複写されたデータを読み出せば、入出力制御レジスタ群３２に記憶されたデータを取得できる。
【０１０５】
従って、データ読出しの遅延は生じず、必要以上に高速な伝送路を用いなくても従来と同等の読出性能が確保される。なお、書込については、ＣＰＵ２０からＳｅｒＤｅｓ制御部２２に対して書込要求を出力しさえすれば、その後は、ＳｅｒＤｅｓ制御部２２でパケットが生成され、機器制御部１４で書込処理されるため、ＣＰＵ２０が書込処理待ちとなることはない。
【０１０６】
（直接読出処理）
なお、上記例では、ＣＰＵ２０が複写レジスタ群２４から複写されたデータを読み出す例について説明したが、これに限定されない。入出力制御レジスタ群３２から直接データを読み出す読出要求をＣＰＵ２０が出力した場合には、上述した読出選択回路５２ｂの機能により、入出力制御レジスタ群３２からデータを読み出してＣＰＵ２０に転送することができる。
【０１０７】
読出選択回路５２ｂは、複写レジスタ群２４からデータを読み出す通常の読出要求を受け取った場合には、上記実施形態で説明したように、複写レジスタ群２４の指定アドレスのレジスタからデータを読み出して、ＣＰＵ２０に供給する。一方、読出選択回路５２ｂは、入出力制御レジスタ群３２から直接データを読み出す読出要求を受け取った場合には、複写レジスタ群２４からのデータの読出しは行なわず、入出力制御レジスタ群３２からデータの読出しを行なう読出処理（直接読出処理）を行なう。
【０１０８】
具体的には、読出選択回路５２ｂは、入出力制御レジスタ群３２のアドレスが指定された読出要求をパケット生成回路５４によりパケット化して、バッファ５６に記憶させ、パラレルシリアル変換回路５８により当該バッファ５６に記憶した読出要求のパケットをシリアル信号のパケットに変換して、シリアルバス４０の信号線Ｔｘに出力する。
【０１０９】
機器制御部１４のＳｅｒＤｅｓ制御部３０において、読出要求のパケットを受信すると、当該受信したパケットをシリアルパラレル変換回路８２によりパラレル化して、バッファ８４に記憶し、パケットデコード回路８６により当該バッファ８４に記憶した読出要求のパケットをデコードして、読出要求のデータを取り出す。コントローラ８０は、当該読出要求に基づき、当該読出要求の指定アドレスが示す入出力制御レジスタ群３２のレジスタからデータを読み出して、パケット生成回路８８により当該読み出したデータをパケット化し、バッファ９０に記憶し、パラレルシリアル変換回路９２で、バッファ９０に記憶したパケットをシリアル信号に変換して、信号線Ｒｘに出力する。
【０１１０】
主制御部１２の読出選択回路５２ｂは、機器制御部１４から送信された読出データのパケットを受け取ると、シリアルパラレル変換回路６０によりパラレル変換し、パケットデコード回路６４によりデコードしてデータを取り出して、ＣＰＵバスインタフェース５０を介してＣＰＵバス２６に伝送しＣＰＵ２０に供給する。
【０１１１】
このように直接読出処理を可能に構成することで、ＣＰＵ２０が、入出力制御レジスタ群３２のデータを直接参照したい場合に対応可能となる。
【０１１２】
（直接書込処理）
また、上記例では、ＣＰＵ２０から書込要求が出力されると、入出力制御レジスタ群３２にのみデータを書込むよう動作する例を説明したが、これに限定されない。例えば、ＣＰＵ２０から、入出力制御レジスタ群３２だけでなく、複写レジスタ群２４にも直接データを書込む書込要求があった場合には、書込選択回路５２ｃの機能により、複写レジスタ群２４に対しても指定されたアドレスにデータを書込む処理（直接書込処理）を行なうことができる。
【０１１３】
具体的には、書込選択回路５２ｃは、上記例と同様に、書込要求のパケットを生成して、シリアル化し、シリアルバス４０を介して機器制御部１４に送信して、入出力制御レジスタ群３２のレジスタのうち、書込要求で指定されたアドレスのレジスタに、指定されたデータを書込ませる。
【０１１４】
更にまた、書込選択回路５２ｃは、入出力制御レジスタ群３２にデータを書込んだレジスタに対応する複写レジスタ群２４のレジスタにも、ＣＰＵ２０から受け取った書込要求で指定されたデータを書込む。
【０１１５】
このように、書込選択回路５２ｃは、ＣＰＵ２０から受け取った書込要求が、入出力制御レジスタ群３２にのみに書込む書込要求か、入出力制御レジスタ群３２及び複写レジスタ群２４の双方に書込む書込要求かに応じて、処理内容を選択して実行する。
【０１１６】
なお、直接書込処理を行なった場合には、当該直接書込処理を行なった直後の複写周期で行なわれる複写処理において、当該直接書込を行なった複写レジスタ群２４のレジスタへの書込をマスク（書込を禁止）する。
【０１１７】
＜その他の変形例＞
なお、本実施形態では、機器制御部１４が１つ設けられている場合を例に挙げて説明したが、複数設けられていても良い。複数の機器制御部１４の各々と、主制御部１２とがシリアルバス４０を介して接続されるよう構成し、上記のように、入出力制御レジスタ群３２の複写レジスタ群２４に対する複写をシステムタイマのカウント周期以下の周期で行なえばよい。
【０１１８】
また、上記では説明を省略したが、パケットの送受信において、正常に受信された場合には、正常受信を示す応答パケット(ACK)を相手装置に送信し、受信エラーが生じた場合には、受信エラーを示す応答パケット(NACK)を相手装置に送信することで、相手装置に処理完了・異常が通知される。応答パケットNACK受信時には、パケットが再送される。
【０１１９】
例えば、コントローラ５２は、機器制御部１４から複写パケット又はダミーパケットを受信した場合には、CRCチェック等のエラーチェックを行ない、正常に受信されたことが検出されれば応答パケットACKを返信し、複写レジスタ群２４の先頭アドレスから順番にデータを書込む。また、受信した複写パケット又はダミーパケットのエラーチェックにおいて、不正が検出されれば、応答パケットNACKを返信する。
【０１２０】
また、例えば、入出力制御レジスタ群３２へのデータの書込要求のパケットを主制御部１２から機器制御部１４に送信した場合も同様に、コントローラ８０は、CRCチェック等を行ない、正常に受信されたことが検出されれば、指定アドレスにデータを書込み、応答パケットACKパケットを送信する。
【０１２１】
また、入出力制御レジスタ群３２に対するデータの読出要求のパケットを主制御部１２から機器制御部１４に送信した場合も同様に、コントローラ８０は、CRCチェック等を行ない、正常に受信されたことが検出されれば、指定アドレスからデータを読み出して、読み出したデータをパケット化して送信し、不正が検出されれば、応答パケットNACKを返信する。なお、これら処理において、応答パケットACK/NACKパケットは、パリティチェックのみでCRCチェックは行なわなくてもよい。
【０１２２】
こうした通信制御は一般的に採用されている技術であるため、ここでは詳細な説明を省略する。
【０１２３】
なお、本実施形態では、予め定められた複写周期毎に、複数の複写パケット又はダミーパケットの送信、及び応答パケットACKの返信がなされるため、こうした定期的な通信により、シリアルバス４０のリンク断線エラーのチェックも可能である。例えば、予め定められた時間以上、パケットの送受信がなされなかった場合、シリアルバス４０のリンク断線エラーが発生したと判断してもよい。
【０１２４】
また、本実施形態では、複写レジスタ更新回路５２ａ、読出選択回路５２ｂ、及び書込選択回路５２ｃをコントローラ５２の機能として説明したが、これに限定されず、例えば、コントローラ５２とは別の回路により構成し、コントローラ５２が各回路を制御することによって、各機能を実現するように構成してもよい。
【０１２５】
また、本実施形態では、書込先のアドレスを指定しない複数の複写パケット又はダミーパケットを機器制御部１４から主制御部１２に送信して、複写レジスタ群２４にデータを書込ませる例について説明したが、アドレスを指定した複写パケットを生成して送信することも可能である。この場合には、当該指定されたアドレスにデータが書込まれる。なお、ダミーパケットの場合は、複写レジスタ群２４にデータは書込まれない。
【符号の説明】
【０１２６】
１０   画像形成装置
１１   制御装置
１２   主制御部
１４   機器制御部
１６   機器群
２２   シリアライザ・デシリアライザ制御部
２４   複写レジスタ群
２６   ＣＰＵバス
３０   シリアライザ・デシリアライザ制御部
３２   入出力制御レジスタ群
３２Ｂ ブロック
３４   駆動・受信回路
３６   監視部
３６Ｒ 比較回路
４０   シリアルバス
５０   バスインタフェース
５２   コントローラ
５２ａ 複写レジスタ更新回路
５２ｂ 読出選択回路
５２ｃ 書込選択回路
５４   パケット生成回路
５６   バッファ
５８   パラレルシリアル変換回路
６０   シリアルパラレル変換回路
６２   バッファ
６４   パケットデコード回路
６４ａ パケット識別部
６６   アドレスカウンタ
８０   コントローラ
８０ａ レジスタデータ転送回路
８２   シリアルパラレル変換回路
８４   バッファ
８６   パケットデコード回路
８８   パケット生成回路
８８ａ ヘッダ生成部
９０   バッファ
９２   パラレルシリアル変換回路
９４   アドレスカウンタ
【図１】
2015023407.tif 000003
【図２】
2015023407.tif 000004
【図３】
2015023407.tif 000005
【図４】
2015023407.tif 000006
【図５】
2015023407.tif 000007
【図６】
2015023407.tif 000008
【図７】
2015023407.tif 000009
【図８】
2015023407.tif 000010
【図９】
2015023407.tif 000011
【図１０】
2015023407.tif 000012