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