(57)【特許請求の範囲】
【請求項１】
外部のメインコントローラと複数のデバイスとの間のデータの転送をそれぞれ制御する複数のインターフェイスコントローラを有する集積回路装置であって、
前記複数のインターフェイスコントローラはそれぞれ少なくとも１つのレジスタを含み、
前記複数のインターフェイスコントローラの前記少なくとも１つのレジスタを含むレジスタ群に設定する設定値が格納された内部メモリと、
イベントを検出すると、前記レジスタ群の中の検出されたイベントに関連付されたレジスタの値を、前記検出されたイベントに関連付された設定値に更新するレジスタコントローラと、
前記レジスタコントローラが前記レジスタ群の各レジスタに設定値を並列に供給する専用バスと、
前記メインコントローラとデータを入出力するメインインターフェイスコントローラと、
前記メインインターフェイスコントローラと前記複数のインターフェイスコントローラとを接続する内部バスとをさらに有し、
前記複数のインターフェイスコントローラのそれぞれは、前記少なくとも１つのレジスタに対するアクセスを前記内部バスと前記専用バスとに切り替えるセレクタ回路を含む、集積回路装置。
【請求項２】
外部のメインコントローラと複数のデバイスとの間のデータの転送をそれぞれ制御する複数のインターフェイスコントローラを有する集積回路装置であって、
前記複数のインターフェイスコントローラはそれぞれ少なくとも１つのレジスタを含み、
前記複数のインターフェイスコントローラの前記少なくとも１つのレジスタを含むレジスタ群に設定する設定値が格納された内部メモリと、
イベントを検出すると、前記レジスタ群の中の検出されたイベントに関連付されたレジスタの値を、前記検出されたイベントに関連付された設定値に更新するレジスタコントローラと、
前記レジスタコントローラが前記レジスタ群の各レジスタに設定値を並列に供給する専用バスとをさらに有し、
前記レジスタコントローラは、前記メインコントローラからの更新コマンドをイベントとして認識する機能を含む、集積回路装置。
【請求項３】
外部のメインコントローラと複数のデバイスとの間のデータの転送をそれぞれ制御する複数のインターフェイスコントローラを有する集積回路装置であって、
前記複数のインターフェイスコントローラはそれぞれ少なくとも１つのレジスタを含み、
前記複数のインターフェイスコントローラの前記少なくとも１つのレジスタを含むレジスタ群に設定する設定値が格納された内部メモリと、
イベントを検出すると、前記レジスタ群の中の検出されたイベントに関連付されたレジスタの値を、前記検出されたイベントに関連付された設定値に更新するレジスタコントローラと、
前記レジスタコントローラが前記レジスタ群の各レジスタに設定値を並列に供給する専用バスとをさらに有し、
前記レジスタコントローラは、前記検出されたイベントに関連付されたレジスタの値を更新すると、前記メインコントローラに更新済みを連絡する機能を含む、集積回路装置。
【請求項４】
請求項１ないし３のいずれかにおいて、
前記レジスタコントローラは、リセットの際に、外部メモリから前記レジスタ群に設定する設定値を前記内部メモリにロードする機能を含む、集積回路装置。
【請求項５】
請求項１ないし４のいずれかにおいて、
定期的にイベントを生成して前記レジスタコントローラに供給するタイマをさらに有する集積回路装置。
【請求項６】
請求項１ないし５のいずれかにおいて、
外部デバイスからのトリガ信号によりイベントを生成して前記レジスタコントローラに供給する第１のユニットをさらに有する集積回路装置。
【請求項７】
請求項１ないし６のいずれかにおいて、
外部センサーの測定値によりイベントを生成して前記レジスタコントローラに供給する第２のユニットをさらに有する集積回路装置。
【請求項８】
請求項１ないし７のいずれかに記載の集積回路装置と、
前記メインコントローラとを有する制御ボード。
【請求項９】
請求項８に記載の制御ボードと、
前記複数のデバイスとを有する装置。
【請求項１０】
請求項９において、
前記複数のデバイスは、スキャナと、プリンタとを含み、
さらに、前記スキャナに原稿を供給する原稿自動送り装置を有する装置。
【請求項１１】
外部のメインコントローラと複数のデバイスとの間のデータの転送をそれぞれ制御する複数のインターフェイスコントローラを有する集積回路装置を有する装置であって、
前記複数のインターフェイスコントローラはそれぞれ少なくとも１つのレジスタを含み、
前記集積回路装置は、
前記複数のインターフェイスコントローラの前記少なくとも１つのレジスタを含むレジスタ群に設定する設定値が格納された内部メモリと、
イベントを検出すると、前記レジスタ群の中の検出されたイベントに関連付されたレジスタの値を、前記検出されたイベントに関連付された設定値に更新するレジスタコントローラと、
前記レジスタコントローラが前記レジスタ群の各レジスタに設定値を並列に供給する専用バスとをさらに有し、さらに、
前記集積回路装置と前記メインコントローラとを有する制御ボードと、
前記複数のデバイスとを有し、
前記複数のデバイスは、スキャナと、プリンタとを含み、
さらに、前記スキャナに原稿を供給する原稿自動送り装置を有する装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のインターフェイスコントローラが集積された集積回路装置に関するものである。
【背景技術】
【０００２】
特許文献１には、画像形成装置における制御系の接続を簡素化するとともに、その消費電力を低減することが記載されている。特許文献１では、多機能複写機は、多機能複写機全体の動作を制御するメインコントローラと、メインコントローラによる制御の下でスキャナの動作を制御するスキャンコントローラと、メインコントローラによる制御の下でプリントエンジンの動作を制御するプリントコントローラと、メインコントローラによる制御の下でタッチパネルディスプレイの動作を制御するＵＩコントローラとを備える。そして、スキャンコントローラ、メインコントローラ、ＵＩコントローラおよびプリンタコントローラを、この順番で、Ｔｈｕｎｄｅｒｂｏｌｔ（登録商標）インタフェース（コントローラおよびケーブル）を用いてデイジーチェーン接続する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−２７６２８
【発明の概要】
【発明が解決しようとする課題】
【０００４】
多機能複写機（ＭＦＰ）などのように複数の機能が連動して処理を行うシステムにおいてメインコントローラが各コントローラを協調制御する必要がある。そのために、高性能で処理速度の速いプロセッサあるいはマイクロコンピュータがメインコントローラとして使用され、さらに、メインコントローラと各コントローラとが高速で広帯域のバスで接続される。
【課題を解決するための手段】
【０００５】
本発明の一態様は、外部のメインコントローラと複数のデバイスとの間のデータの転送をそれぞれ制御する複数のインターフェイスコントローラを有する集積回路装置である。複数のインターフェイスコントローラはそれぞれ少なくとも１つのレジスタを含み、集積回路装置は、さらに、複数のインターフェイスコントローラの少なくとも１つのレジスタを含むレジスタ群に設定する設定値が格納された内部メモリと、イベントを検出すると、レジスタ群の中の検出されたイベントに関連付されたレジスタの値を、検出されたイベントに関連付された設定値に更新するレジスタコントローラと、レジスタコントローラがレジスタ群の各レジスタに設定値を並列に供給する専用バスとを有する。
【０００６】
この集積回路装置は、多機能な装置において、その装置の全体を制御するメインコントローラと、複数のデバイスとの間に設置されるワンチップ化された集積回路装置、たとえば、ＬＳＩあるいはＡＳＩＣと称されるものである。多機能プリンタ（ＭＦＰ）であれば、集積回路装置は、メインコントローラと、スキャナ、プリンタ、ディスプレイなどの複数のデバイスとの間に配置され、これらの間のデータ転送を制御する。
【０００７】
メインコントローラが複数のデバイスを協調制御する際の１つの処理は、複数のデバイスのコントロールに要する複数のレジスタの設定値を更新することである。この集積回路装置においては、集積回路装置内のレジスタコントローラがレジスタ群の各レジスタの設定値を更新する。したがって、メインコントローラが協調制御に要する処理と処理時間とを省略できる。このため、メインコントローラの処理能力を他の制御に用いたり、メインコントローラを汎用の比較的処理能力の低いマイクロコンピュータ（マイコン）で実現することが可能となる。
【０００８】
さらに、ワンチップ化された集積回路内にレジスタコントローラとレジスタ群とを配置できるのでレジスタコントローラとレジスタ群の各レジスタとを専用バスにより並列に接続できる。このため、数クロックサイクルで協調制御に必要なレジスタの値を同期して更新できる。したがって、複数のデバイスが関与する処理の速度を向上できる。また、メインコントローラと各デバイスのコントローラとを接続する広帯域のバスを省略することも可能となるので低コストで、処理速度の速い装置を提供できる。
【０００９】
レジスタコントローラは、リセットの際に、外部メモリからレジスタ群に設定する設定値を内部メモリにロードする機能を含むことが望ましい。レジスタ群の設定値を更新するために要する処理時間をさらに短縮できる。
【００１０】
集積回路装置は、メインコントローラとデータを入出力するメインインターフェイスコントローラと、メインインターフェイスコントローラと複数のインターフェイスコントローラとを接続する内部バスとを有し、複数のインターフェイスコントローラのそれぞれは、少なくとも１つのレジスタに対するアクセスを内部バスと専用バスとに切り替えるセレクタ回路を含む。メインコントローラが各レジスタにアクセスすることができ、メインコントローラが各レジスタの値を更新したり、デバッグのために参照したりすることができる。
【００１１】
集積回路装置は、定期的にイベントを生成してレジスタコントローラに供給するタイマを有していてもよい。集積回路装置は、外部デバイスからのトリガ信号によりイベントを生成してレジスタコントローラに供給する第１のユニットを有していてもよい。集積回路装置は、外部センサーの測定値によりイベントを生成してレジスタコントローラに供給する第２のユニットを有していてもよい。レジスタコントローラが、メインコントローラからの更新コマンドをイベントとして認識する機能を含んでいてもよい。レジスタコントローラは、検出されたイベントに関連付されたレジスタの値を更新すると、メインコントローラに更新済みを連絡する機能を含んでいてもよい。
【００１２】
本発明の他の態様の１つは、上記の集積回路装置と、メインコントローラとを有する制御ボードである。また、本発明の他の態様の１つは、制御ボードと、複数のデバイスとを有する装置（システム）である。装置の一形態は、複数のデバイスとして、スキャナと、プリンタとを含む多機能プリンタ（ＭＦＰ）である。ＭＦＰは、スキャナに原稿を供給する原稿自動送り装置を有するものも含まれる。
【００１３】
異なる他の態様の１つは、外部のメインコントローラと複数のデバイスとの間のデータの転送をそれぞれ制御する複数のインターフェイスコントローラを有する集積回路装置の制御方法である。複数のインターフェイスコントローラはそれぞれ少なくとも１つのレジスタを含み、集積回路装置は、さらに、複数のインターフェイスコントローラの少なくとも１つのレジスタを含むレジスタ群に設定する設定値が格納された内部メモリと、レジスタ群の各レジスタに設定値を並列に供給する専用バスにより各レジスタと接続されたレジスタコントローラとを含む。
【００１４】
当該制御方法は、レジスタコントローラがイベントを検出すると、レジスタ群の中の検出されたイベントに関連付されたレジスタの値を、専用バスを介して検出されたイベントに関連付された設定値に更新するステップを含む。
【００１５】
制御方法は、さらに、レジスタコントローラがリセットを検出すると、外部メモリからレジスタ群に設定する設定値を内部メモリにロードするステップを含んでいてもよい。
【図面の簡単な説明】
【００１６】
【図１】ＭＦＰの概略構成を示すブロック図。
【図２】プリンタＩＦコントローラの構成を示すブロック図。
【図３】デバイスコントローラの処理の概要を示すフローチャート。
【発明を実施するための形態】
【００１７】
図１に、多機能プリンタ（多機能複写機、Multi-Function Printer、ＭＦＰ）の概略構成をブロック図により示している。このＭＦＰ１は、ＭＦＰ１の全体的な制御を行うメインコントローラである汎用マイコン３と、原稿からデータを入力するスキャナ機構（スキャナメカ）５と、データを出力するプリンタ機構（プリンタメカ）６と、ＬＣＤなどの表示機能を含む操作用のパネル７と、スキャナメカ５に原稿を自動送りするドキュメントフィーダ（ＡＤＦ）８と、汎用マイコン３と、スキャナメカ５、プリンタメカ６、パネル７を含む複数のデバイスとの間のデータの転送をそれぞれ制御する複数のインターフェイスコントローラを有するデバイスコントローラ１０とを含む。
【００１８】
デバイスコントローラ１０は、複数の回路を搭載したワンチップのＬＳＩまたはＡＳＩＣと称される半導体集積回路装置（半導体集積回路）である。デバイスコントローラ１０と汎用マイコン３とは制御ボード５０に搭載（実装）され、外部バス５１により接続されている。制御ボード５０には、汎用マイコン３のプログラムの格納領域、作業領域、さらに、後述するレジスタ群の設定値情報５２を格納する領域を含む不揮発メモリ（ＲＯＭ）５３と、スキャンデータや処理中のデータのバッファとなるＤＲＡＭ５８などが搭載されている。ＲＯＭ５３は外部バス５１に接続されている。ＤＲＡＭ５８はデバイスコントローラ１０のバッファとして機能するように接続されている。
【００１９】
デバイスコントローラ１０は、外部バス５１を介して汎用マイコン３などとのデータ交換を処理するマイコンバスインターフェイスコントローラ（マイコンバスＩＦコントローラ）１１と、スキャナメカ５からデータを取得するスキャナインターフェイスコントローラ（スキャナＩＦコントローラ）１２と、プリンタメカ６にデータを出力するプリンタインターフェイスコントローラ(プリンタＩＦコントローラ)１３と、操作パネル７との間のデータの入出力を制御するパネルインターフェイスコントローラ（パネルＩＦコントローラ）１４と、ＤＲＡＭ５８との間のデータの入出力を制御するＤＲＡＭＩＦコントローラ１５と、汎用外部ＩＦとしての機能をサポートする外部ＩＦコントローラ１６と、それぞれのＩＦコントローラ１２〜１６のレジスタの設定を制御するレジスタコントローラ２０と、これらを接続する内部バス１７とを含む。
【００２０】
これらのＩＦコントローラ１２〜１６は、それぞれのＩＦコントローラ１２〜１６における処理を制御したり、処理中に参照されるレジスタ群３１を含む。それぞれのＩＦコントローラ１２〜１６のレジスタ群３１は、少なくとも１つのレジスタを含む。さらに、それぞれのＩＦコントローラ１２〜１６は、レジスタ群３１に対するアクセスを制御するセレクタユニット３２を含む。デバイスコントローラ１０は、レジスタコントローラ２０とレジスタ群３１の各レジスタとを並列に接続する専用バス２９を含み、セレクタユニット３２は、レジスタ群３１の各レジスタに対するアクセスを専用バス２９と内部バス１７とに切り替える機能を含む。
【００２１】
デバイスコントローラ１０は、さらに、画像処理などのデバイスコントローラ１０の内部でクローズする処理を行う処理ユニット１９を１または複数含んでいてもよい。処理ユニット１９も、レジスタ群３１と、セレクタユニット３２とを含み、レジスタコントローラ２０によりレジスタ群３１の各レジスタの設定値が更新される。
【００２２】
デバイスコントローラ１０は、さらに、イベント６１を発生してレジスタコントローラ２０に供給するいくつかのユニットを含む。タイマ４１は、前のイベント６１から予め設定された時間が経過するとイベントを発生し、その信号（イベント信号）６１を、専用線４５を介してレジスタコントローラ２０に供給する。内部バス１７を介してイベント信号６１を供給してもよい。また、イベントは割り込み信号としてレジスタコントローラ２０に供給されてもよい。以下においても同様である。
【００２３】
ＡＤＣ（アナログデジタルコンバータ）４２は、外部センサー４９からの測定値を評価し、予め設定された範囲または閾値に達するとイベントを発生し、専用線４５を介してレジスタコントローラ２０に供給する。
【００２４】
割り込みコントローラ４３は外部デバイスからの割り込み信号あるいは外部トリガ信号を検出するとイベントを発生し、その信号６１をレジスタコントローラ２０に供給する。外部デバイスの一例はＡＤＦ８であり、ＡＤＦ８から用紙検出の割り込み信号を取得するとイベントを発生してレジスタコントローラ２０に供給する。
【００２５】
デバイスコントローラ１０は、さらに、これらのイベント６１の発生を記憶するステータスレジスタ４６を有する。レジスタコントローラ２０はステータスレジスタ４６に格納されたイベントの履歴により、次に処理する内容を判断することができる。
【００２６】
レジスタコントローラ２０は、供給されたイベントの種類を判断するイベント認識ユニット２２と、専用バス２９を介してレジスタ群３１の中の所定のレジスタの値を更新するレジスタ設定値更新ユニット(更新ユニット)２４とを含む。更新ユニット２４は、イベント認識ユニット２２がイベントを検出すると、それをトリガとしてレジスタ群３１の中の検出されたイベントに関連付されたレジスタの値（設定値）６５を、専用バス２９を介して、検出されたイベントに関連付された設定値に更新する。イベント認識ユニット２２は、デバイスコントローラ１０の内部で生成されたイベントを認識する機能の他に、マイコン３からのレジスタ更新コマンドを、デバイスコントローラ１０のレジスタ群３１を更新するイベントとして認識する機能２２ａを含む。
【００２７】
レジスタコントローラ２０は、さらに、レジスタの設定値情報を格納する内部メモリ（ＳＲＡＭ）２５と、リセット（電源投入、初期化）を検出すると、外部メモリ（ＲＯＭ）５３に格納されたレジスタの設定値情報５２をＳＲＡＭ２５にダウンロードするロードユニット２１とを含む。ロードユニット２１は、初期設定として設定値情報５２をロードする機能に加え、マイコン３からのロードコマンドにより、ＲＯＭ５３に格納された設定値情報５２から、その後、レジスタ群３１の更新に必要となる設定値情報５２をＳＲＡＭ２５にロードする機能を含む。更新ユニット２４は、ＳＲＡＭ２５にロードされた設定値情報５２に含まれている所定の設定値６５を、イベントの発生をトリガとして、イベントに関連付けられたレジスタ群３１の各レジスタに並列に供給して更新する。
【００２８】
レジスタコントローラ２０は、さらに、あるイベントの発生によりレジスタに設定値６５を供給してレジスタを更新すると、汎用マイコン３に更新済みの信号６７を供給するフィードバックユニット２３を含む。更新済みの信号６７は、デバイスコントローラ１０から割り込み信号として汎用マイコン３に供給される。
【００２９】
図２に、ＩＦコントローラの一例としてプリンタＩＦコントローラ１３のさらに詳しい構成を示している。プリンタＩＦコントローラ１３は、印刷用のデータを生成してプリンタメカ６に出力する処理回路（処理ユニット）１３ａと、内部バス１７を介したデータ転送を制御するバスコントローラ１３ｂとを含む。処理回路１３ａは、レジスタ群３１を含む。
【００３０】
レジスタ群３１に含まれる複数のレジスタ３３に対するアクセスは、セレクタユニット３２により、専用バス２９と、内部バス１７とに切り替えられる。バスコントローラ１３ｂは、内部バス１７から供給されるコマンドによりセレクタユニット３２を制御し、レジスタ群３１の単位で、またはレジスタ３３の単位で、レジスタ３３に対するアクセスを専用バス２９と内部バス１７とに切り替える。たとえば、処理に時間を要してもよいデバッグモードにおいては、レジスタ３３に対するアクセスを内部バス１７に切り替えることにより、レジスタ３３の内部状態の制御および監視を汎用マイコン３により行うことができる。
【００３１】
通常処理モードにおいては、レジスタ３３に対するアクセスを専用バス２９に切り替えることにより、レジスタ３３の更新をレジスタコントローラ２０が行い、汎用マイコン３の負荷を低減できる。それとともに、デバイスコントローラ１０の内部で、専用バス２９を用いて複数のレジスタ３３を並列に更新できるので、レジスタ３３の更新に要する時間を大幅に短縮でき、デバイスコントローラ１０に接続されている各デバイス５〜７による処理時間を短縮できる。また、デバイス５〜７が協調して処理する場合に、各ＩＦコントローラ１２〜１４のレジスタが順次更新するのを待つ必要がなくなり、各デバイス５〜７の待ち時間を短縮できる。このため、ＭＦＰ１の動作速度を向上できる。
【００３２】
たとえば、プリンタＩＦコントローラ１３の処理回路１３ａは、データ回転角度パラメータ（９０度、１８０度、２７０度）やデータトリミングパラーメータ（余白挿入、余白削除）を格納するレジスタ３３を含む。面付け印刷や両面印刷を行う場合に、スキャンデータごとにこれらのレジスタ３３のパラメータを更新する必要がある。デバイスコントローラ１０においては、たとえば、ＡＤＦ８からの用紙検出割り込み信号によりイベントが発生し、レジスタコントローラ２０が検出すると、レジスタコントローラ２０はプリンタＩＦコントローラ１３の複数のレジスタ３３を並列に更新し、処理回路１３ａにおける処理をスタートする。それとともに、汎用マイコン３に更新済みの情報６７を供給し、汎用マイコン３はプリンタメカ６をスタートする。処理回路１３ａは、スキャンＩＦコントローラ１２から入力されたデータを補正し、フォーマット変換（ＣＭＹＫ変換）し、データ回転し、さらにトリミングすることによりプリントアウトするデータを生成する。処理回路１３ａは、生成したデータをプリンタメカ６に送り、プリンタメカ６は印刷を開始する。
【００３３】
レジスタコントローラ２０は、プリンタＩＦコントローラ１３のレジスタ３３を更新する処理と平行して、スキャナＩＦコントローラ１２、パネルＩＦコントローラ１４のレジスタ３３も更新する。スキャナＩＦコントローラ１２は用紙検出により更新されたレジスタ３３の設定値により読み取り処理を開始する。パネルＩＦコントローラ１４は、たとえば、レジスタ３３に設定されている読み取りページ数が更新され、パネル７の表示を更新する。
【００３４】
ＭＦＰ１においては、これらのレジスタ３３を更新する処理およびそれに続く処理がデバイスコントローラ１０の内部で、イベントの発生により自律的に開始される。したがって、メインコントローラである汎用マイコン３の負荷を低減できる。また、ワンチップ化されたデバイスコントローラ１０の内部に、複数のレジスタ３３に並列にアクセスする専用バス２９を設け、レジスタコントローラ２０は、専用バス２９を介して自律的に複数のレジスタ３３を更新する。このため、複数のレジスタ３３の更新に要する処理時間を数クロック程度まで短縮でき、デバイスコントローラ１０に接続されているスキャナメカ５、プリンタメカ６、パネル７の動作を、よりスムーズに、遅延が少ない状態で制御できる。
【００３５】
ＭＦＰ１においては、ＡＤＦ（Auto Document Feeder）８による連続スキャンを行う場合、直前のスキャン終了から次のスキャン開始までの間（用紙間）に次のスキャンのための準備を行う必要がある。この準備には、スキャナＩＦコントローラ１２やプリンタＩＦコントローラ１３などのレジスタ３３を更新することが含まれる。従来のＭＦＰではＭＦＰコントローラが持つ膨大なレジスタの更新に時間が掛かってしまい、レジスタ更新が完了するまで次のスキャンを待たせておく必要があるためＭＦＰのコピー性能(枚/分)が低下してしまうという問題があった。
【００３６】
このＭＦＰ１においては、ソフトウェアサイドの汎用マイコン３ではなく、ハードウェアサイドのデバイスコントローラ１０が自律的にレジスタ３３を高速に再設定する。このため、ＭＦＰ１においては、用紙間の処理時間が大幅に削減され、コピー性能が低下するといった問題を解消できる。
【００３７】
図３に、デバイスコントローラ１０において実行される処理をレジスタの更新を中心に示している。デバイスコントローラ１０においては、レジスタコントローラ２０がデバイスコントローラ１０の全体の処理を制御するメインプロセッサあるいはシーケンサとしての機能を含む。レジスタの更新を中心とする以下の処理は、ハードウェアで制御されてもよく、マイクロプログラムなどのソフトウェアで制御されてもよい。
【００３８】
まず、デバイスコントローラ１０が電源投入などによりリセットされると、ステップ７１において、デバイスコントローラ１０が初期設定される。この際、レジスタコントローラ２０のロードユニット２１は、外部のＲＯＭ５３から初期化後に必要とされる適当なパターン数分のレジスタ設定値情報５２を内部ＳＲＡＭ２５にロードする。
【００３９】
初期設定後は、ステップ７２において、ロードユニット２１がマイコン３からロードコマンドを認識すると、それをトリガとして、ステップ７３においてデバイスコントローラ１０のレジスタ群３１に設定するレジスタ設定値情報５２を外部ＲＯＭ５３から内部ＳＲＡＭ２５にロードする。レジスタ設定値情報５２は、外部ＲＯＭ５３に格納されていてもよいし、適当なタイミングでマイコン３がネットワークなどにアクセスしてクラウドからダウンロードしてもよい。
【００４０】
初期設定後は、ステップ７４において、イベント認識ユニット２２がマイコン３から更新コマンドを認識すると、ステップ７８において、それをトリガとして更新ユニット２４がデバイスコントローラ１０の内部の所定のレジスタ群３１のレジスタ３３の設定値を更新する。ステップ７９において、フィードバックユニット２３が汎用マイコン３にレジスタの更新をフィードバックする。ステップ８０において、デバイスコントローラ１０の各ＩＦコントローラ１２〜１６は設定値が更新されたレジスタ群３１を参照して処理を開始する。
【００４１】
処理を実行中に、ステップ７５においてタイマ４１が一定周期で生成するイベントを生成したり、ステップ７６においてＡＤＣ４２がセンサー値の変動によりイベントを発生させたり、ステップ７７において割り込みコントローラ４３が外部割込み（外部トリガ信号）を検出してイベントを発生すると、レジスタコントローラ２０のイベント認識ユニット２２が各イベントを認識し、それをトリガとして、更新ユニット２４がデバイスコントローラ（ＡＳＩＣ）１０の全てのレジスタ群３１またはイベントに関連付けられたレジスタ群３１をハードウェア的に自動で一斉に更新する。
【００４２】
ステップ７９において、レジスタ更新が完了後、汎用マイコン３の側へ割り込みを出力する。更新した内容、たとえば、更新トリガとなったイベントの種別やレジスタ設定パターン番号等が、デバイスコントローラ１０の内部のステータスレジスタ４６に格納される。マイコン３は割り込みを受信することで、次のジョブ、たとえばＡＤＦ８によるスキャンを実行または再開する。
【００４３】
内部のタイマ４１により一定周期で生成するイベントの例は、ＡＤＦスキャン時に用紙センサーの割り込みのみでは問題が発生する場合であり、内部タイマ４１を使うことでレジスタ群３１を更新しても問題が発生しない最速のタイミングでトリガをかけて、レジスタ群３１を更新することによりスキャンスピードの低下を抑制できる。割り込み応答に問題が発生すると、次のスキャン開始が遅くなることで連続印刷の目標性能が出ないケースがあるが、内部タイマ４１によりイベントを定期的に発生することにより問題を解消でき、ＡＤＦ８によるスキャン動作を最速にすることが可能となる。  
【００４４】
センサ４９の一例は温度センサーおよび／または湿度センサーである。プリンタのタイプによっては、温度や湿度の変化により印刷した画質に影響が出ることがある。したがって、ＡＤＣ４２は温度や湿度が変動して閾値に達したり、所定の範囲になるとイベントを生成する。そのイベントにより、レジスタコントローラ２０は、画像処理を行う処理ユニット１９のレジスタ群３１の設定値を自動更新し、印刷結果の濃度を微調整する。
【００４５】
割り込みコントローラ４３が生成するイベントの一例はＡＤＦ８からの用紙検出の割り込みであり、これについては上記において説明した通りである。また、このデバイスコントローラ１０は、ＤＲＡＭＩＦコントローラ１５を含み、ＤＲＡＭ５８をスキャンデータのバッファとして利用したり、画像処理ユニット１９のバッファとして利用したりすることができる。たとえば、一旦ＤＲＡＭ５８に格納されたスキャンデータを各モジュール１９で処理させながら最終的にプリンタＩＦコントローラ１３やパネルＩＦコントローラ１４までデータを転送し、プリンタメカ６やパネル７に出力する。ＤＲＡＭＩＦコントローラ１５は、転送処理を制御する内部ＤＭＡＣとしての機能を含む。データの格納アドレスはスキャンデータごとに異なるので、レジスタコントローラ２０は、ＡＤＦ８からの割り込み信号や、ＤＲＡＭＩＦコントローラ１５あるいは処理ユニット１９などからの転送終了の信号（不図示）をイベントとして認識し、所定のレジスタ群３１のレジスタ３３の設定値を自動更新する。
【００４６】
このように、本例のデバイスコントローラ１０においては、全てのレジスタ３３を同タイミングで更新可能な構成を含み、数クロック分の時間で全レジスタ３３が更新可能である。したがって、汎用マイコン３が各レジスタ３３を順次更新していた処理（数百ミリ秒〜数秒程度）を、デバイスコントローラ１０のハードウェアが自律的に行うことで数クロック分の時間（数マイクロ〜数十マイクロ秒程度）に抑えることが可能となる。これによって大きな負荷となっていたレジスタ値更新処理の大幅な高速化が可能となり、デバイスコントローラ１０を含む製品の性能を向上できる。ＭＦＰ１においては、ＡＤＦ８の用紙検出センサーによって連続スキャンの用紙間を検出することにより、デバイスコントローラ１０の内部で、自律的に数クロックでレジスタの設定値が更新される。したがって、連続スキャンの処理速度をソフトウェア処理を理由に調整する必要が低下し、スキャンスピードを向上することが容易となる。
【００４７】
また、上記では、メインコントローラとして汎用マイコンを採用したシステムを例に説明しているが、メインコントローラはＡＳＩＣであってもよく、ＣＰＵまたはＭＰＵであってもよい。デバイスコントローラ１０の内部のレジスタの設定値の更新をデバイスコントローラ１０自身が行えるので、メインコントローラ３の処理負荷を低減できる。したがって、低コストの汎用マイコン３を採用し、高速なバスを用意しなくても十分な処理速度を備えたＭＦＰなどの多機能な装置を提供できる。
【００４８】
なお、上記では、デバイスコントローラ１０を採用した装置の一例としてＭＦＰを説明しているが、多数のデバイスを制御する他の装置あるいはシステムにおいても本発明を適用できる。たとえば、多数のプリンタや表示装置を備えたＰＯＳや、自動車あるいはロボットなどの制御システムに適用できる。
【符号の説明】
【００４９】
１  ＭＦＰ、  ３  汎用マイコン、  １０  デバイスコントローラ
２０  レジスタコントローラ
【図１】
0006435544.tif 000002
【図２】
0006435544.tif 000003
【図３】
0006435544.tif 000004