(57)【要約】【課題】帯域情報を保持する情報記憶部の容量を抑えつつ、所望の状態における帯域情報を十分に取得できるようにする。【解決手段】複数のバスマスターによりアクセスされるメモリを有する画像形成装置において、メモリを制御するメモリコントローラとバスマスターとの間のバスに接続され、バスの帯域情報を取得して情報記憶部に保持する帯域取得手段と、バスでのデータ転送を行うのに伴って出力される開始指示信号が入力される制御手段とを有し、制御手段が、開始指示信号が入力されると、入力された開始指示信号に応じて関連付けられているバスの帯域取得手段に対して、帯域情報の取得を開始するように制御する。【選択図】図２
2019200679.tif 000002
【特許請求の範囲】
【請求項１】
複数のバスマスターによりアクセスされるメモリを有する画像形成装置であって、
前記メモリを制御するメモリコントローラと前記バスマスターとの間のバスに接続され、前記バスの帯域情報を取得して情報記憶部に保持する帯域取得手段と、
前記バスでのデータ転送を行うのに伴って出力される開始指示信号が入力され、前記開始指示信号が入力されると、入力された前記開始指示信号に応じて関連付けられているバスの前記帯域取得手段に対して、前記帯域情報の取得を開始するように制御する制御手段とを有することを特徴とする画像形成装置。
【請求項２】
前記開始指示信号が、画像形成に係る垂直同期信号であることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記開始指示信号が、前記バスマスターが転送処理可能であることを示すイネーブル信号であることを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記制御手段は、前記バスでのデータ転送の終了に伴って出力される停止指示信号が入力され、前記停止指示信号が入力されると、入力された前記停止指示信号に応じて関連付けられているバスの前記帯域取得手段に対して、前記帯域情報の取得を停止するように制御することを特徴とする請求項１〜３の何れか１項に記載の画像形成装置。
【請求項５】
前記制御手段は、予め設定されている複数のバスの前記開始指示信号が入力された場合、設定されているすべてのバスの前記帯域取得手段に対して、前記帯域情報の取得を開始するように制御することを特徴とする請求項１〜４の何れか１項に記載の画像形成装置。
【請求項６】
前記制御手段は、前記バスでのデータ転送の終了に伴って出力される停止指示信号であって、設定されている前記複数のバスの内の何れかの前記停止指示信号が入力された場合、設定されているすべてのバスの前記帯域取得手段に対して、前記帯域情報の取得を停止するように制御することを特徴とする請求項５に記載の画像形成装置。
【請求項７】
前記複数のバスマスターは、スキャン処理して得られる画像データを前記メモリに書き込むバスマスターと、プリント処理する画像データを前記メモリから読み出すバスマスターとを含むことを特徴とする請求項１〜６の何れか１項に記載の画像形成装置。
【請求項８】
前記複数のバスマスターは、前記メモリから画像データを読み出し、所定の画像処理を施した前記画像データを前記メモリに書き込むバスマスターを含むことを特徴とする請求項１〜７の何れか１項に記載の画像形成装置。
【請求項９】
複数のバスマスターによりアクセスされるメモリを制御するメモリコントローラと前記バスマスターとの間のバスに接続され、前記バスの帯域情報を取得して情報記憶部に保持する帯域取得手段と、
前記バスでのデータ転送を行うのに伴って出力される開始指示信号が入力され、前記開始指示信号が入力されると、入力された前記開始指示信号に応じて関連付けられているバスの前記帯域取得手段に対して、前記帯域情報の取得を開始するように制御する制御手段とを有することを特徴とする帯域モニター装置。
【請求項１０】
複数のバスマスターによりアクセスされるメモリを制御するメモリコントローラと前記バスマスターとの間のバスでのデータ転送を行うのに伴って出力される開始指示信号が入力されると、入力された前記開始指示信号に応じて関連付けられている前記バスに接続された帯域取得手段に対して、前記バスの帯域情報の取得を開始するように制御する工程と、
前記バスの帯域情報の取得を開始するように制御された前記帯域取得手段が、前記バスの帯域情報を取得して情報記憶部に保持する工程とを有することを特徴とする帯域モニター方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、帯域モニター装置、及び帯域モニター方法に関する。
【背景技術】
【０００２】
スキャナ機能、プリンタ機能、コピー機能、ネットワーク通信機能、ＦＡＸ送受信機能といった様々な機能を兼ね備えるデジタル複合機のような画像形成装置が知られている。デジタル複合機における機能動作は、通常、コントローラと呼ばれる画像入出力制御部により制御されている。コントローラは、コストを低減するために、ＣＰＵ及び前述の機能を実現する複数の機能処理部を１つのチップ内に集約している。また、各機能を実現する際に画像データの転送等を行うためのメインメモリも集約されてきており、メインメモリへのアクセス量が非常に増大してきている。
【０００３】
メインメモリへのアクセス量を増大させる要因の１つに、スキャン処理やプリント処理の高速化があげられる。スキャン処理やプリント処理といった処理は、一度動作を開始すると、少なくとも処理中のページの入出力が完了するまでは止まることができないリアルタイム処理が必須な処理となる。コントローラとしては、リアルタイム処理が必須な画像処理に対するメインメモリへのアクセスは常に一定の転送帯域を保証しつつ、非リアルタイム処理もできる限り並行して処理することが望ましい。
【０００４】
言い方をかえると、リアルタイム処理が必須な画像処理に対するメインメモリへのアクセスの転送帯域が保証できなくなる状況が発生しないようコントローラは作られている。例えば、すべての機能を動作させてもメモリ転送性能が十分保証できる高周波数・多ビット幅のメモリを使用して十分なメモリ転送性能を確保している。しかしながら、動作周波数が高周波数のメモリを使用することは、コスト及び消費電力の増加につながる。また、多ビット幅のメモリを使用することは、チップにおけるピン数の増加によるチップ単価の増加につながる。
【０００５】
そこで、メモリの高周波数化及び多ビット化を抑制しつつ、リアルタイム処理でのメインメモリへの転送帯域を確保する手法が提案されている。例えば、特許文献１には、非リアルタイム処理を行う機能部とメインメモリ間の転送帯域をモニター可能な帯域モニターを有し、予め設定した転送帯域を超えた場合に、非リアルタイム処理を行う機能部からのアクセス要求を抑止する技術が提案されている。この技術により、非リアルタイム処理を行う機能部からのアクセスを受け付けないよう制御することで非リアルタイム処理に係る転送帯域を抑制し、リアルタイム処理に係る転送帯域を保証することが可能となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−１６０３４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来の帯域モニターは、ＣＰＵによって帯域情報の取得動作を開始する指示が出され、取得した帯域情報を、例えばＳＲＡＭ等の情報記憶部に格納する。しかしながら、ＣＰＵは、実際に帯域情報を取得したい状況となるタイミングを正確には把握できない。例えば、複合機におけるスキャン処理を例にとると、スキャン処理の開始操作が行われてから、スキャナを起動し、コントローラへ画像が実際に入力されて画像処理が行われ、メモリへ出力されるまでには、タイムラグがある。
【０００８】
そのため、従来の帯域モニターに対しては、帯域情報を取得したい状況となる前段で帯域情報の取得動作を開始する指示を行う必要があった。この場合、所望のバス転送が行われている状態の下で十分な情報を保持でき、かつＣＰＵによる開始指示から実際にデータ転送が行われるまでのタイムラグの間の帯域情報を取得しても十分に情報を保持可能な容量を有する情報記憶部を実装する必要がある。しかしながら、ＳＲＡＭ等の情報記憶部が有する容量の増大は、チップコストの増大に繋がる。本発明は、帯域情報を保持する情報記憶部の容量を抑えつつ、所望の状態における帯域情報を十分に取得できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る画像形成装置は、複数のバスマスターによりアクセスされるメモリを有する画像形成装置であって、前記メモリを制御するメモリコントローラと前記バスマスターとの間のバスに接続され、前記バスの帯域情報を取得して情報記憶部に保持する帯域取得手段と、前記バスでのデータ転送を行うのに伴って出力される開始指示信号が入力され、前記開始指示信号が入力されると、入力された前記開始指示信号に応じて関連付けられているバスの前記帯域取得手段に対して、前記帯域情報の取得を開始するように制御する制御手段とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、無駄な帯域情報の取得期間を削減でき、帯域情報を保持する情報記憶部の容量を抑えつつ、所望の状態における帯域情報を十分に取得することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態における画像形成装置の構成例を示す図である。
【図２】第１の実施形態におけるコントローラ部の構成例を示す図である。
【図３】第１の実施形態における帯域モニターの構成例を示す図である。
【図４】第１の実施形態における帯域モニター動作を説明する図である。
【図５】第１の実施形態における帯域モニターの動作例を示すフローチャートである。
【図６】第２の実施形態におけるコントローラ部の構成例を示す図である。
【図７】第２の実施形態における帯域モニターの構成例を示す図である。
【図８】第２の実施形態における帯域モニター動作を説明するタイミングチャートである。
【図９】第２の実施形態における帯域モニターの動作例を示すフローチャートである。
【図１０】第３の実施形態における帯域モニターの構成例を示す図である。
【図１１】第３の実施形態における帯域モニター動作を説明するタイミングチャートである。
【図１２】第３の実施形態における帯域モニターの動作例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図面に基づいて説明する。
（第１の実施形態）
本発明の第１の実施形態について説明する。
＜画像形成装置＞
図１は、本発明の一実施形態における画像形成装置の構成例を示すブロック図である。本実施形態における画像形成装置１００は、スキャナ部１１０、コントローラ部１２０、操作部１３０、及びプリンタ部１４０を有する。
【００１３】
スキャナ部１１０は、原稿画像を光学的に読み取り、画像データに変換する。スキャナ部１１０は、原稿用紙を搬送するための機能を持つ原稿給紙部１１１と、原稿画像を読み取るための機能を持つ原稿読取部１１２とを有する。プリンタ部１４０は、記録紙を搬送し、その上に画像データを可視画像として印字して装置外に排紙する。プリンタ部１４０は、画像データを記録紙に転写し定着させる機能を持つ転写定着部１４１と、複数種類の記録紙を供給する機能を持つ給紙部１４２と、印字された記録紙をソートやステイプル等して装置外へ出力する機能を持つ排紙部１４３とを有する。
【００１４】
コントローラ部１２０は、スキャナ部１１０及びプリンタ部１４０と電気的に接続され、さらにネットワーク１５０と通信可能に接続されている。ネットワーク１５０は、例えば、ＬＡＮ（Local Area Network）、ＩＳＤＮ（Integrated Services Digital Network）等の通信回線網、インターネット／イントラネット等である。コントローラ部１２０は、例えばスキャナ部１１０やプリンタ部１４０を制御する。コントローラ部１２０がスキャナ部１１０やプリンタ部１４０を制御することで、画像形成装置１００においてコピー機能、スキャナ機能、及びプリンタ機能等が提供される。
【００１５】
例えば、コントローラ部１２０は、スキャナ部１１０を制御して原稿の画像データを読み込み、プリンタ部１４０を制御して画像データを記録紙に出力してコピー機能を提供する。また、例えば、コントローラ部１２０は、スキャナ部１１０から読み取った画像データをコードデータに変換し、ネットワーク１５０を介して図示しないホストコンピュータ等へ送信してスキャナ機能を提供する。また、例えば、コントローラ部１２０は、図示しないホストコンピュータ等からネットワーク１５０を介して受信したコードデータを画像データに変換し、プリンタ部１４０により画像データを記録紙に出力してプリンタ機能を提供する。
【００１６】
また、コントローラ部１２０による制御によって、例えばＩＳＤＮ等の通信回線網からデータを受信してプリントするＦＡＸ受信機能や、ＩＳＤＮ等の通信回線網へスキャンしたデータを送信するＦＡＸ送信機能が提供される。これらスキャン処理やプリント処理、ＦＡＸ送受信処理といった処理をジョブと呼び、画像形成装置１００はこれらジョブを指示に従って処理する。操作部１３０は、コントローラ部１２０に接続され、例えば液晶タッチパネルで構成され、画像形成装置１００を操作するためのユーザインタフェースを提供する。
【００１７】
＜コントローラ部＞
図２は、第１の実施形態におけるコントローラ部１２０の構成例を示すブロック図である。なお、以下に説明するコントローラ部１２０、及びその内部の各機能部は、ハードウェア回路によって構成されている。ＣＰＵ（Central Processing Unit）２００は、システム全体を制御するプロセッサである。ＣＰＵ２００は、ＲＡＭ（Random Access Memory）２７０に展開されたオペレーティングシステム（ＯＳ）や制御プログラムに従って、プリント処理やスキャン処理といったジョブに関わる処理を統括的に制御する。
【００１８】
ＲＯＭコントローラ（ＲＯＭＣ）２１０は、システムのブートプラグラムを格納しているＲＯＭ（Read Only Memory）２１１にアクセスするための制御モジュールである。画像形成装置１００の電源がＯＮされた時に、ＣＰＵ２００は、ＲＯＭコントローラ２１０を介してＲＯＭ２１１にアクセスし、ブートプラグラムを読み出してブート処理を実行する。
【００１９】
ネットワークインターフェース（ＮＷ＿ＩＦ）２２０は、ネットワーク１５０に接続し、外部のホストコンピュータ等との間で画像データ等の情報の入出力を行う。インターコネクト（ＩｎｔｅｒＣｏｎｎｅｃｔ）２３０、２３１は、ＣＰＵや各処理部とメモリコントローラ（ＭＥＭＣ）２６０とを接続するインターコネクトである。
【００２０】
メモリコントローラ２６０は、システムの制御プログラムや画像データが格納されるＲＡＭ２７０にアクセスするための制御モジュールである。メモリコントローラ２６０は、バッファ（ＢＵＦＦＥＲ）２６１、２６２、２６３、２６４及びバス変換部（ＢＵＳ＿ＣＯＮＶＥＲＴＥＲ）２６５を有する。また、メモリコントローラ２６０は、ＲＡＭ２７０の設定や制御を行うためのレジスタを有しており、このレジスタは、ＣＰＵ２００からアクセス可能である。
【００２１】
バッファ２６１〜２６４は、対応するＤＭＡ（Direct Memory Access）コントローラ（ＤＭＡＣ）及びインターコネクトに対する受信データや送信データを一時的にバッファリングするバッファである。バッファ２６１〜２６４は、それぞれ接続されたバス２９０〜２９３において一度にバースト転送可能なデータ量に応じたバッファサイズ（記憶容量）を少なくとも有している。なお、バッファ２６１〜２６４は、バス２９０〜２９３の動作周波数とバス変換部２６５の動作周波数とが異なる場合には非同期対応バッファにもなる。バス変換部２６５は、調停機能を有し、例えば各バッファ２６１〜２６４のアクセス権をラウンドロビンで調停する。また、バス変換部２６５は、ＲＡＭ２７０へアクセスするためのプロトコル変換を行う。
【００２２】
ＲＡＭ２７０は、システムにおけるメインメモリとしてのメモリであり、本例ではＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）で構成されるものとする。ＲＡＭ２７０は、ＣＰＵ２００が動作するためのシステムワークメモリでもあり、画像データを記憶するための画像メモリでもある。なお、ＲＡＭ２７０は、ＳＤＲＡＭで構成されるものに限定されず、他のメモリで構成されていてもよい。
【００２３】
ＤＭＡＣ２４０、２４１、２４２、２４３、２４４、２４５、２４６は、メモリコントローラ２６０を介してＲＡＭ２７０へアクセスするメモリアクセスマスター（バスマスター）となるＤＭＡコントローラである。ＤＭＡＣ２４０〜２４６は、対応する各処理部２５０〜２５６とＲＡＭ２７０間のデータ転送を行う。ＤＭＡＣ２４０〜２４６の各々は、ＣＰＵ２００によって制御され、例えば、どのメモリアドレスに対してデータの読み書きを行うか、及びＤＭＡ転送を行うタイミングを制御する機能を有する。
【００２４】
また、それぞれ所定の画像処理を行うスキャン処理部２５０、回転処理部２５１、変倍処理部２５２、ＲＩＰ処理部２５３、圧縮処理部２５４、伸張処理部２５５、及びプリント処理部２５６も、ＣＰＵ２００により制御される。以下の各処理部２５０〜２５６の説明において、画像データとは圧縮されていない画像データであるものとし、圧縮画像データとは何らかの圧縮手段で圧縮された画像データであるものとする。
【００２５】
スキャン処理部２５０は、ＣＰＵ２００による設定に従い、スキャナ部１１０から入力される画像データに対して所定の画像処理を行い、画像処理した画像データをＤＭＡＣ２４０に出力する。スキャン処理部２５０は、例えばシェーディング補正処理、ＭＴＦ補正処理、入力ガンマ補正、フィルタ処理等の画像処理を行う。回転処理部２５１は、ＣＰＵ２００による設定に従い、ＤＭＡＣ２４１から入力される画像データに対し、９０度、１８０度、２７０度等の回転処理を行い、回転処理した画像データをＤＭＡＣ２４１に出力する。
【００２６】
変倍処理部２５２は、ＣＰＵ２００による設定に従い、ＤＭＡＣ２４２から入力される画像データに対し、１／２倍、１／４倍等の任意の倍率に変倍し、変倍処理した画像データをＤＭＡＣ２４２に出力する。ＲＩＰ処理部２５３は、ＣＰＵ２００による設定に従い、ＤＭＡＣ２４３から入力されるＰＤＬ画像に対してレンダリング処理を行い、レンダリング処理した画像データをＤＭＡＣ２４３に出力する。圧縮処理部２５４は、ＣＰＵ２００による設定に従い、ＤＭＡＣ２４４から入力される画像データに対し、ＪＰＥＧ、ＪＢＩＧといった画像圧縮処理を行い、得られる圧縮画像データをＤＭＡＣ２４４に出力する。
【００２７】
伸張処理部２５５は、ＣＰＵ２００による設定に従い、ＤＭＡＣ２４５から入力されるＪＰＥＧ、ＪＢＩＧのような圧縮画像データに対して伸張処理を行い、伸張処理後の画像データをＤＭＡＣ２４５に出力する。プリント処理部２５６は、ＣＰＵ２００による設定に従い、ＤＭＡＣ２４５から入力される画像データに対して所定の画像処理を行い、画像処理した画像データをプリンタ部１４０に出力する。プリント処理部２５６は、例えば色空間変換処理、フィルタ処理、ハーフトーン処理等の画像処理を行う。
【００２８】
ここで、ＤＭＡＣ２４０、インターコネクト２３１、ＤＭＡＣ２４６、及びインターコネクト２３０と、メモリコントローラ２６０とは、それぞれバス２９０、２９１、２９２、２９３により接続されている。また、インターコネクト２３１とＤＭＡＣ２４１〜２４５とは、それぞれバス２９４、２９５、２９６、２９７、２９８により接続されている。バス２９０〜２９８は、例えば標準バスであるＡＸＩ（Advance eXtensible Interface）バス等が適用される。
【００２９】
帯域モニター２８０は、バス２９０〜２９３の転送データ量をモニターし、モニタリング対象のバスの帯域情報を取得する。本実施形態における帯域情報には、ある時間間隔で区切ったそれぞれの期間内において、モニタリング対象のバスで行われたデータ転送による転送データ量の情報を含む。帯域モニター２８０は、バス２９０〜２９３の各バスの帯域情報を個別に取得可能である。帯域モニター２８０が取得する各バスの帯域情報から導ける合計帯域は、ＲＡＭ２７０に対する使用メモリ帯域となる。帯域モニター２８０が取得した帯域情報はＳＲＡＭ（Static Random Access Memory）２８１に保持され、ＣＰＵ２００から読み出し可能である。ＳＲＡＭ２８１は、情報記憶部の一例である。
【００３０】
また、帯域モニター２８０は、帯域情報を取得しＳＲＡＭ２８１へ書き込み始めるタイミングを指定可能なように構成されている。帯域情報を取得しＳＲＡＭ２８１へ書き込み始めるタイミングの指定方法は、書き込み開始をＣＰＵ２００によって指示する方法のほかに、帯域情報の取得を開始するタイミングを通知する制御信号を帯域モニターに入力することでも制御可能なように構成される。本実施形態では、帯域情報の取得を開始するタイミングを通知する制御信号として、スキャン処理部２５０から帯域モニター２８０に制御信号２８２が入力され、プリント処理部２５６から帯域モニター２８０に制御信号２８３が入力される。制御信号２８２、２８３は、例えばバスでのデータ転送を行うのに伴って出力される信号である。制御信号２８２は、例えばスキャン処理部２５０から出力される垂直同期信号（ＳＶＳＹＮＣ）であり、制御信号２８３は、例えばプリント処理部２５６から出力される垂直同期信号（ＰＶＳＹＮＣ）である。
【００３１】
また、帯域モニター２８０は、帯域情報の取得を停止しＳＲＡＭ２８１への書き込みを停止するタイミングを指定可能なようにも構成されている。停止するタイミングを指定する制御信号として、ＤＭＡＣの転送終了割り込み等のバスでのデータ転送が終了することを示す信号が帯域モニター２８０に入力される。本実施形態では、スキャン処理部２５０に接続されたＤＭＡＣ２４０から帯域モニター２８０に制御信号２８４が入力され、プリント処理部２５６に接続されたＤＭＡＣ２４６から帯域モニター２８０に制御信号２８５が入力される。
【００３２】
制御信号２８４は、例えばＤＭＡＣ２４０から出力される転送終了割り込み信号（ＩＮＴ＿ＳＰａｇｅＥｎｄ）であり、制御信号２８５は、例えばＤＭＡＣ２４６から出力される転送終了割り込み信号（ＩＮＴ＿ＰＰａｇｅＥｎｄ）である。転送終了割り込み信号（ＩＮＴ＿ＳＰａｇｅＥｎｄ）は、ＤＭＡＣ２４０が１ページ分のデータ転送を完了した際にアサートされる割り込み信号である。また、転送終了割り込み信号（ＩＮＴ＿ＰＰａｇｅＥｎｄ）は、ＤＭＡＣ２４６が１ページ分のデータ転送を完了した際にアサートされる割り込み信号である。
【００３３】
以下では、一例として、制御信号２８２がスキャン処理に係る垂直同期信号（ＳＶＳＹＮＣ）であるものとし、制御信号２８３がプリント処理に係る垂直同期信号（ＰＶＳＹＮＣ）であるものとして説明する。また、制御信号２８４がＤＭＡＣ２４０の転送終了割り込み信号（ＩＮＴ＿ＳＰａｇｅＥｎｄ）であるものとし、制御信号２８５がＤＭＡＣ２４６の転送終了割り込み信号（ＩＮＴ＿ＰＰａｇｅＥｎｄ）であるものとして説明する。
【００３４】
＜帯域モニター＞
図３は、第１の実施形態における帯域モニター２８０の構成例を示すブロック図である。図３において、図２に示した構成要素と同一の構成要素には同一の符号を付している。なお、以下に説明する帯域モニター２８０、及びその内部の各機能部は、ハードウェア回路によって構成されている。帯域モニター２８０は、タイミング判定部３００、レジスタ部３０１、帯域取得部３０２、３０３、３０４、３０５、マルチプレクサ（ＭＵＸ）３０６、及びＳＲＡＭインターフェース（ＳＲＡＭ  Ｉ／Ｆ）３０７を有する。
【００３５】
タイミング判定部３００は、外部入力信号に基づいて、帯域取得部３０２〜３０５による帯域情報の取得開始及び取得停止を制御する。タイミング判定部３００は、制御手段の一例である。タイミング判定部３００には、垂直同期信号（ＳＶＳＹＮＣ）２８２、垂直同期信号（ＰＶＳＹＮＣ）２８３が帯域情報の取得開始を指示する開始指示信号として入力されている。タイミング判定部３００には、ＤＭＡＣ２４０の転送終了割り込み信号（ＩＮＴ＿ＳＰａｇｅＥｎｄ）２８４、ＤＭＡＣ２４６の転送終了割り込み信号（ＩＮＴ＿ＰＰａｇｅＥｎｄ）２８５が帯域情報の取得停止を指示する停止指示信号として入力されている。また、レジスタ部３０１から帯域情報の取得開始及び取得停止を指示する制御信号３１０がタイミング判定部３００に入力されている。
【００３６】
タイミング判定部３００は、入力される開始指示信号２８２、２８３及び制御信号３１０の内の何れかの入力を受けると、入力された信号に応じて関連付けられているバスの帯域情報の取得を開始させる。また、タイミング判定部３００は、入力される停止指示信号２８４、２８５及び制御信号３１０の内の何れかの入力を受けると、入力された信号に応じて関連付けられているバスの帯域情報の取得を停止させる。
【００３７】
例えば、タイミング判定部３００は、垂直同期信号（ＳＶＳＹＮＣ）２８２が入力されると、スキャン処理部２５０とメモリコントローラ２６０との間のバス２９０の帯域情報を取得する帯域取得部３０２が帯域情報の取得を開始するように制御する。また、タイミング判定部３００は、帯域取得部３０２が取得した帯域情報をＳＲＡＭ  Ｉ／Ｆ３０７を通じて、情報記憶部としてのＳＲＡＭ２８１へ書き込むように制御する。そして、タイミング判定部３００は、ＤＭＡＣ２４０の転送終了割り込み信号（ＩＮＴ＿ＳＰａｇｅＥｎｄ）２８４の入力を受けると、帯域取得部３０２がバス２９０の帯域情報の取得を停止するように制御する。
【００３８】
レジスタ部３０１は、帯域モニター２８０の各種設定値を保持する。また、レジスタ部３０１は、ＣＰＵ２００による帯域情報の取得開始及び取得停止の制御を受け付け、制御信号３１０を通じてタイミング判定部３００へ通知する。
【００３９】
帯域取得部３０２は、接続されたバス２９０の帯域情報を取得する。帯域取得部３０２は、タイミング判定部３００からの制御信号を受けて、帯域情報の取得の開始及び停止を行うよう制御される。帯域取得部３０２は、ある時間間隔内にバス２９０で行われたデータ転送によるデータ転送量を取得し、取得したデータ転送量を取得時間とともに帯域情報としてＳＲＡＭ２８１へ出力する。帯域取得部３０３〜３０５は、帯域取得部３０２と同様に構成され、帯域情報を取得するバスが異なる。帯域取得部３０３はバス２９１の帯域情報を取得し、帯域取得部３０４はバス２９２の帯域情報を取得し、帯域取得部３０４はバス２９３の帯域情報を取得する。
【００４０】
なお、各帯域取得部３０２〜３０５において、帯域情報の取得に係る時間間隔（取得時間）は一定でも良いし、ＣＰＵ２００によって可変に設定できるようにしても良い。また、取得する情報は、データ転送量の他にも、マスターＩＤ等のデータ転送において付随的に発生する情報も同時に取得してもよい。また、ＳＲＡＭ２８１へ出力する帯域情報は、取得した帯域情報をそのまま出力しても良いが、帯域値として算出してから出力しても良い。この場合、帯域取得部３０２〜３０５は、図示しない帯域計算部を内部に備えることになる。
【００４１】
マルチプレクサ３０６は、ＣＰＵ２００から帯域モニター２８０へのアクセスが発生した場合に、レジスタ部３０１へのアクセスであるのか、ＳＲＡＭ２８１へのアクセスであるのかを判定して、アクセス先を制御する。ＳＲＡＭ  Ｉ／Ｆ３０７は、帯域モニター２８０の内部モジュールやＣＰＵ２００からのＳＲＡＭ２８１へのアクセスに対するインターフェースである。
【００４２】
＜帯域情報の取得及びＳＲＡＭへの書き込み制御＞
図４（ａ）〜図４（ｃ）を参照して、第１の実施形態における帯域モニター動作について説明する。図４（ａ）は、本実施形態を適用する場合のスキャン処理部２５０及びＤＭＡＣ２４０の構成例を示すブロック図である。スキャン処理部２５０は、入力された画像データに対して所定の画像処理を行うための種々の機能部を内部に有している。図４（ａ）には一例として、スキャン処理部２５０が、シェーディング補正部４０３、ガンマ補正部４０４、及びフィルタ処理部４０５を有する例を示している。
【００４３】
スキャン処理部２５０は、スキャナ部１１０によって読み取った画像の画像データを受信する。読み取られた画像は、一般的に、画像形成に係る垂直同期信号によって１ページの開始と、水平同期信号によって１ラインの開始を制御される。本実施形態では、スキャナ部１１０から入力される垂直同期信号をＳＶＳＹＮＣ＿ＩＮ信号４００とし、水平同期信号をＳＨＳＹＮＣ＿ＩＮ信号４０１とし、実際の画像データの信号をＳＤＡＴＡ＿ＩＮ信号４０２とする。
【００４４】
スキャン処理部２５０に入力された画像データは、スキャン処理部２５０の内部で種々の画像処理を施された後にＤＭＡＣ２４０へ出力される。この例では、ＳＶＳＹＮＣ＿Ｃ信号とＳＨＳＹＮＣ＿Ｃ信号とＳＤＡＴＡ＿Ｃ信号とによって、画像データをスキャン処理部２５０からＤＭＡＣ２４０へと出力している。ＤＭＡＣ２４０は、メモリコントローラ２６０を介してＲＡＭ２７０へ画像データを書き込む。
【００４５】
ここで、垂直同期信号（ＳＶＳＹＮＣ）２８２は、スキャン処理部２５０から出力される垂直同期信号であるＳＶＳＹＮＣ＿Ｃ信号を帯域モニター２８０に出力するための信号である。垂直同期信号（ＳＶＳＹＮＣ）２８２は、帯域モニター２８０のタイミング判定部３００に入力され、バス２９０の帯域情報を取得する帯域取得部３０２に対して帯域情報の取得開始のタイミングを制御する制御信号として使われる。
【００４６】
また、転送終了割り込み信号（ＩＮＴ＿ＳＰａｇｅＥｎｄ）２８４は、ＤＭＡＣ２４０が１ページ分のデータ出力を完了した際にアサートされる割り込み信号である。転送終了割り込み信号（ＩＮＴ＿ＳＰａｇｅＥｎｄ）２８４は、帯域モニター２８０のタイミング判定部３００に入力され、バス２９０の帯域情報を取得する帯域取得部３０２に対して帯域情報の取得停止のタイミングを制御する制御信号として使われる。
【００４７】
次に、図４（ａ）に示した構成を例に、帯域情報を取得しＳＲＡＭ２８１へ書き込むタイミングの制御について説明する。図４（ｂ）は、スキャン処理を実行してＤＭＡＣ２４０によりＲＡＭ２７０へデータを書き込む場合に、帯域モニター２８０での帯域情報の取得開始をＣＰＵ２００によって指示した例を示すタイミングチャートである。
【００４８】
時刻ｔ４１において、ＣＰＵ２００が、スキャンジョブの開始操作を受けて、所望のスキャン条件のもと、スキャナ部１１０に対して起動指示を行う。また、ＣＰＵ２００が、帯域モニター２８０に対して帯域情報の取得開始の指示を行う。帯域モニター２８０は、取得開始の指示を受けて、タイミング判定部３００が帯域取得部３０２に帯域情報の取得を開始するように制御を行う。帯域取得部３０２は、バス２９０の帯域情報の取得、及び取得した帯域情報のＳＲＡＭ２８１への保存を開始する。
【００４９】
時刻ｔ４２において、スキャン処理部２５０から垂直同期信号（ＳＶＳＹＮＣ）２８２が出力される。したがって、時刻ｔ４１〜ｔ４２の間はスキャナ起動期間となり、時刻ｔ４２でＣＰＵ２００の起動指示を受けたスキャナ部１１０の起動が完了してスキャンを開始する。つまり、時刻ｔ４１〜ｔ４２の間はバス２９０上でのデータ転送が行われず、時刻ｔ４２が、スキャン処理部２５０で画像処理された画像データが、スキャン処理部２５０からＤＭＡＣ２４０へ出力され始めるタイミングである。
【００５０】
時刻ｔ４３において、ＤＭＡＣ２４０が、すべての画像データをＲＡＭ２７０へ書き込み終わり、書き込みが完了したことを示す転送終了割り込み信号（ＩＮＴ＿ＳＰａｇｅＥｎｄ）２８４をアサートする。帯域モニター２８０は、転送終了割り込み信号（ＩＮＴ＿ＳＰａｇｅＥｎｄ）２８４がアサートされると、タイミング判定部３００が帯域取得部３０２に帯域情報の取得を停止するように制御を行う。帯域取得部３０２は、バス２９０の帯域情報の取得、及び帯域情報のＳＲＡＭ２８１への保存を停止する。
【００５１】
図４（ｃ）は、スキャン処理を実行してＤＭＡＣ２４０によりＲＡＭ２７０へデータを書き込む場合に、帯域モニター２８０での帯域情報の取得開始を垂直同期信号（ＳＶＳＹＮＣ）２８２によって指示した例を示すタイミングチャートである。時刻ｔ４１において、ＣＰＵ２００が、スキャンジョブの開始操作を受けて、所望のスキャン条件のもと、スキャナ部１１０に対して起動指示を行う。この図４（ｃ）に示した例では、図４（ｂ）に示した例とは異なり、ＣＰＵ２００は、帯域モニター２８０に対して帯域情報の取得開始の指示は行わない。
【００５２】
時刻ｔ４２において、スキャン処理部２５０から垂直同期信号（ＳＶＳＹＮＣ）２８２が出力される。したがって、時刻ｔ４１〜ｔ４２の間はスキャナ起動期間となり、時刻ｔ４２でＣＰＵ２００の起動指示を受けたスキャナ部１１０の起動が完了してスキャンを開始し、スキャン処理部２５０で画像処理された画像データがＤＭＡＣ２４０へ出力され始める。スキャン処理部２５０から出力された垂直同期信号（ＳＶＳＹＮＣ）２８２は帯域モニター２８０に入力される。帯域モニター２８０は、垂直同期信号（ＳＶＳＹＮＣ）２８２を受けて、タイミング判定部３００が帯域取得部３０２に帯域情報の取得を開始するように制御を行う。帯域取得部３０２は、バス２９０の帯域情報の取得、及び取得した帯域情報のＳＲＡＭ２８１への保存を開始する。
【００５３】
時刻ｔ４３において、ＤＭＡＣ２４０が、すべての画像データをＲＡＭ２７０へ書き込み終わり、書き込みが完了したことを示す転送終了割り込み信号（ＩＮＴ＿ＳＰａｇｅＥｎｄ）２８４をアサートする。帯域モニター２８０は、転送終了割り込み信号（ＩＮＴ＿ＳＰａｇｅＥｎｄ）２８４がアサートされると、タイミング判定部３００が帯域取得部３０２に帯域情報の取得を停止するように制御を行う。帯域取得部３０２は、バス２９０の帯域情報の取得、及び帯域情報のＳＲＡＭ２８１への保存を停止する。
【００５４】
ここで、図４（ｂ）及び図４（ｃ）に示した例において、実際にバス２９０上でのデータ転送が行われるのは、時刻ｔ４２〜ｔ４３の間のバス転送期間である。しかしながら、図４（ｂ）に示した例では、時刻ｔ４１の時点で帯域モニター２８０は帯域情報の取得を開始している。そのため、このような動作を行うには、バス２９０上にデータ転送が発生しない時刻ｔ４１〜ｔ４２の期間に取得した帯域情報を書き込んでも、時刻ｔ４３までの期間で帯域情報を取得できるような容量のＳＲＡＭ２８１を実装する必要がある。
【００５５】
それに対して、図４（ｃ）に示した例では、スキャン処理部２５０から出力される垂直同期信号（ＳＶＳＹＮＣ）２８２を、帯域モニター２８０での帯域情報の取得開始を指示する開始指示信号として入力している。そのため、帯域情報の取得に関して無駄な時刻ｔ４１〜ｔ４２の期間を削減し、実際にバス２９０上でのデータ転送が行われる時刻ｔ４２〜ｔ４３のバス転送期間に絞って帯域情報の取得が可能となる。したがって、スキャナ起動期間における帯域情報の取得が行われなくなるため、ＣＰＵ２００により帯域モニター２８０の起動制御を行う場合に比べて、少ない容量のＳＲＡＭを用いてもバス転送期間における帯域情報を十分に取得することが可能となる。
【００５６】
＜帯域情報の取得及びＳＲＡＭへの書き込み制御フロー＞
図５は、第１の実施形態における帯域モニター２８０の動作例を示すフローチャートである。図５には、帯域モニター２８０が、垂直同期信号（ＳＶＳＹＮＣ）２８２によって帯域情報の取得を開始する場合の例を示している。
【００５７】
ステップＳ５０１にて、帯域モニター２８０のタイミング判定部３００が、スキャン処理部２５０からの垂直同期信号（ＳＶＳＹＮＣ）２８２が入力されたか否かを判定する。垂直同期信号（ＳＶＳＹＮＣ）２８２が入力されていないと判定した場合（ステップＳ５０１のＮｏ）、タイミング判定部３００は、垂直同期信号（ＳＶＳＹＮＣ）２８２が入力されるまで、ステップＳ５０１での判定を繰り返す。垂直同期信号（ＳＶＳＹＮＣ）２８２が入力されたとタイミング判定部３００が判定した場合（ステップＳ５０１のＹｅｓ）にはステップＳ５０２へ進む。
【００５８】
ステップＳ５０２にて、タイミング判定部３００が、垂直同期信号（ＳＶＳＹＮＣ）２８２が入力されたことを受けて、帯域取得部３０２にバス２９０の帯域情報の取得を開始するように制御する。そして、帯域取得部３０２は、バス２９０の帯域情報の取得、及び取得した帯域情報のＳＲＡＭ２８１への保存を開始する。以降、帯域取得部３０２は、ある時間間隔を単位としてバス２９０の帯域情報を取得し、取得した帯域情報のＳＲＡＭ２８１への書き込みを行う処理を、ステップＳ５０５において帯域情報の取得を停止するように制御されるまで繰り返す。
【００５９】
ステップＳ５０３にて、タイミング判定部３００が、帯域情報が書き込まれるＳＲＡＭ２８１が、これ以上の帯域情報の書き込みが行えないフル状態であるか否かを判定する。ＳＲＡＭ２８１がフル状態であるとタイミング判定部３００が判定した場合（ステップＳ５０３のＹｅｓ）にはステップＳ５０５へ進む。一方、ＳＲＡＭ２８１がフル状態ではないとタイミング判定部３００が判定した場合（ステップＳ５０３のＮｏ）にはステップＳ５０４へ進む。
【００６０】
ステップＳ５０４にて、タイミング判定部３００が、ＤＭＡＣ２４０の転送終了割り込み信号（ＩＮＴ＿ＳＰａｇｅＥｎｄ）２８４が入力されたか否かを判定する。転送終了割り込み信号（ＩＮＴ＿ＳＰａｇｅＥｎｄ）２８４が入力されていないとタイミング判定部３００が判定した場合（ステップＳ５０４のＮｏ）、帯域情報を引き続き取得し続ける必要があるので、ステップＳ５０３へ進む。一方、転送終了割り込み信号（ＩＮＴ＿ＳＰａｇｅＥｎｄ）２８４が入力されたとタイミング判定部３００が判定した場合（ステップＳ５０４のＹｅｓ）にはステップＳ５０５へ進む。
【００６１】
なお、ステップＳ５０３及びＳ５０４におけるＳＲＡＭ２８１がフル状態であるか否かの判定と、ＤＭＡＣ２４０の転送終了割り込み信号（ＩＮＴ＿ＳＰａｇｅＥｎｄ）２８４が入力されたか否かの判定を行う順序は順不同である。ＤＭＡＣ２４０の転送終了割り込み信号（ＩＮＴ＿ＳＰａｇｅＥｎｄ）２８４が入力されたか否かの判定を行った後に、ＳＲＡＭ２８１がフル状態であるか否かの判定を行うようにしてもよい。
【００６２】
ステップＳ５０５にて、タイミング判定部３００が、帯域情報の取得を停止する条件を満たしたことを受けて、帯域取得部３０２に帯域情報の取得を停止するように制御する。これにより、帯域取得部３０２は、バス２９０の帯域情報の取得を停止し、ＳＲＡＭ２８１への帯域情報の書き込みも停止する。
【００６３】
以上、スキャン処理を例に、スキャン処理部２５０からの垂直同期信号（ＳＶＳＹＮＣ）２８２により帯域情報の取得を開始し、ＤＭＡＣ２４０からの転送終了割り込み信号（ＩＮＴ＿ＳＰａｇｅＥｎｄ）２８４により帯域情報の取得を停止する例を説明した。本実施形態は、スキャン処理に限らず、プリント処理についても同様に適用可能である。プリント処理では、プリント処理部２５６からの垂直同期信号（ＰＶＳＹＮＣ）２８３によりバス２９２の帯域情報の取得を開始し、ＤＭＡＣ２４６からの転送終了割り込み信号（ＩＮＴ＿ＰＰａｇｅＥｎｄ）２８５によりバス２９２の帯域情報の取得を停止する。
【００６４】
第１の実施形態によれば、帯域情報の取得を開始するタイミングを通知する制御信号によって、帯域モニター２８０による帯域情報の取得開始を制御する。例えば、スキャン処理においては、スキャン処理部２５０から出力される垂直同期信号（ＳＶＳＹＮＣ）２８２によって帯域モニター２８０による帯域情報の取得開始を制御する。これにより、ＣＰＵ２００により帯域情報の取得開始の制御を行う場合に比べて、無駄な帯域情報の取得期間を削減でき、実際にバス上でデータ転送が行われるバス転送期間に絞って帯域情報の取得が可能となる。そのため、起動期間における帯域情報の取得が行われなくなるため、ＣＰＵ２００により帯域モニター２８０の起動制御を行う場合に比べて、少ない容量のＳＲＡＭを用いても十分な帯域情報を取得することが可能となる。したがって、帯域情報を保持する情報記憶部の容量を抑えつつ、所望の状態であるバス転送期間における帯域情報を十分に取得することが可能となる。
【００６５】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。第１の実施形態では、帯域モニター２８０の帯域情報の取得開始のタイミングを垂直同期信号によって制御することにより、ＣＰＵ２００により帯域情報の取得開始の制御を行う場合に比べて、バス転送期間に絞って帯域情報の取得が可能となる例を示した。
【００６６】
以下に説明する第２の実施形態では、帯域情報の取得開始のタイミングに、機能モジュールの有効・無効を示す動作ステータス信号を用いる。これにより、垂直同期信号（ＳＶＳＹＮＣ）２８２のような同期信号を使用しないバスマスターによるデータ転送であっても、実際にデータ転送が行われるバス転送期間に絞った帯域情報の取得を可能とし、帯域情報を取得する期間を絞ることが可能となる。なお、以下では、第１の実施形態と異なるものについて説明し、第１の実施形態と同様のものについては説明を省略する。
【００６７】
＜コントローラ部＞
図６は、第２の実施形態におけるコントローラ部１２０の構成例を示すブロック図である。図６において、図２に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。なお、以下に説明する第２の実施形態におけるコントローラ部１２０、及びその内部の各機能部も、ハードウェア回路によって構成されている。
【００６８】
本実施形態で説明する同期信号を使用しないバスマスターとは、図６に示す処理部２５１〜２５５のような同期信号が不要な機能モジュールがＤＭＡＣと接続され、ＲＡＭ２７０とデータの送受信を行いながら処理を行うモジュールのことである。動作ステータス信号６００は、処理部２５１〜２５５に接続されるＤＭＡＣ２４１〜２４５の動作状態を示す信号をまとめたバスである。ＤＭＡＣの動作ステータス信号６００は、少なくともＤＭＡＣがデータ転送を行うのに伴って出力される転送処理可能な状態であることを示すイネーブル信号と転送処理が完了した場合に出力される割り込み信号とをまとめたものである。
【００６９】
例えば、図６に示したＩＮＴ＿ＰａｇｅＥｎｄ信号６０１〜６０５は、ＤＭＡＣ２４１〜２４５から出力される転送終了割り込み信号であり、帯域情報の取得を停止するタイミングを指定する制御信号として帯域モニター２８０に入力される。ＩＮＴ＿ＰａｇｅＥｎｄ６０１〜６０５は、動作ステータス信号６００にまとめられて帯域モニター２８０へと入力されるものとする。
その他は、図２に示した第１の実施形態におけるコントローラ部１２０と同様であるので説明は省略する。
【００７０】
＜帯域モニター部＞
図７は、第２実施形態における帯域モニター２８０の構成例を示すブロック図である。図７において、図３に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。なお、以下に説明する第２の実施形態における帯域モニター２８０、及びその内部の各機能部も、ハードウェア回路によって構成されている。
【００７１】
第２の実施形態における帯域モニター２８０において、タイミング判定部３００には、更に動作ステータス信号６００が入力される。タイミング判定部３００は、動作ステータス信号６００に含まれる、イネーブル信号を受信すると、対応するバス２９１の帯域情報の取得を開始し、取得した帯域情報をＳＲＡＭ２８１へ書き込むように帯域取得部３０３を制御する。そして、タイミング判定部３００は、動作ステータス信号６００に含まれる、転送終了割り込み信号を受信すると、バス２９１の帯域情報の取得を停止するように帯域取得部３０３を制御する。
【００７２】
＜帯域情報の取得及びＳＲＡＭへの書き込み制御＞
図８は、第２実施形態における帯域モニター２８０について、動作ステータス信号によって帯域モニター２８０での帯域情報の取得開始を指示した例を示すタイミングチャートである。なお、以下では、ＤＭＡＣ２４１を一例として説明するが、他のＤＭＡＣ２４２〜２４５においても同様である。また、ここではＤＭＡＣがＲＡＭ２７０からデータを読み出すリード動作を例に説明するが、ＲＡＭ２７０へデータを書き込むライト動作についても適用できることは言うまでもない。
【００７３】
時刻ｔ８１において、ＣＰＵ２００が、ＤＭＡＣ２４１に対して起動指示を行う。起動指示を受けたＤＭＡＣ２４１は、起動指示に応じて自身の動作ステータス信号であるイネーブル信号（ＤＭＡＣ＿ＥＮＢ）をハイレベルにアサートするとともに、メモリコントローラ２６０へデータの要求を行う。メモリコントローラ２６０は、ＤＭＡＣ２４１からのデータ転送要求を受けて、データ転送要求に応じたデータをＲＡＭ２７０から読み出してＤＭＡＣ２４１への転送を開始する。また、イネーブル信号（ＤＭＡＣ＿ＥＮＢ）は、動作ステータス信号６００として帯域モニター２８０が有するタイミング判定部３００に入力される。動作ステータス信号６００が入力されると、タイミング判定部３００は、バスＳ２９１に対応する帯域取得部３０３に帯域情報の取得を開始するように制御を行う。帯域取得部３０３は、バス２９１の帯域情報の取得、及び取得した帯域情報のＳＲＡＭ２８１への保存を開始する。
【００７４】
時刻ｔ８２において、ＤＭＡＣ２４１が、すべての画像データを受信したことを示す転送終了割り込み信号（ＩＮＴ＿ＰａｇｅＥｎｄ）をアサートする。アサートされた転送終了割り込み信号（ＩＮＴ＿ＰａｇｅＥｎｄ）は、動作ステータス信号６００を介して帯域モニター２８０のタイミング判定部３００に入力される。タイミング判定部３００は、転送終了割り込み信号（ＩＮＴ＿ＰａｇｅＥｎｄ）が入力されると、バス２９１に対応する帯域取得部３０３に帯域情報の取得を停止するように制御を行う。帯域取得部３０３は、バス２９１の帯域情報の取得、及び帯域情報のＳＲＡＭ２８１への保存を停止する。
【００７５】
＜帯域情報の取得及びＳＲＡＭへの書き込み制御フロー＞
図９は、第２の実施形態における帯域モニター２８０の動作例を示すフローチャートである。図９には、帯域モニター２８０が、動作ステータス信号に含まれるイネーブル信号によって帯域情報の取得を開始し、転送終了割り込み信号によって帯域情報の取得を停止する場合の例を示している。以下では、ＤＭＡＣ２４１を一例に説明するが、他のＤＭＡＣ２４２〜２４５においても同様である。
【００７６】
ステップＳ９０１にて、帯域モニター２８０が有するタイミング判定部３００が、動作ステータス信号に含まれる、ＤＭＡＣ２４１のイネーブル信号（ＤＭＡＣ＿ＥＮＢ）が入力されたか否かを判定する。イネーブル信号（ＤＭＡＣ＿ＥＮＢ）が入力されていないと判定した場合（ステップＳ９０１のＮｏ）、タイミング判定部３００は、イネーブル信号（ＤＭＡＣ＿ＥＮＢ）が入力されるまで、ステップＳ９０１での判定を繰り返す。イネーブル信号（ＤＭＡＣ＿ＥＮＢ）が入力されたとタイミング判定部３００が判定した場合（ステップＳ９０１のＹｅｓ）にはステップＳ９０２へ進む。
【００７７】
ステップＳ９０２にて、タイミング判定部３００が、イネーブル信号（ＤＭＡＣ＿ＥＮＢ）が入力されたことを受けて、帯域取得部３０３にバス２９１の帯域情報の取得を開始するように制御する。そして、帯域取得部３０３は、バス２９０の帯域情報の取得、及び取得した帯域情報のＳＲＡＭ２８１への保存を開始する。以降、帯域取得部３０３は、ある時間間隔を単位としてバス２９１の帯域情報を取得し、取得した帯域情報のＳＲＡＭ２８１への書き込みを行う処理を、ステップＳ９０５において帯域情報の取得を停止するように制御されるまで繰り返す。
【００７８】
ステップＳ９０３にて、タイミング判定部３００が、帯域情報が書き込まれるＳＲＡＭ２８１がフル状態であるか否かを判定する。ＳＲＡＭ２８１がフル状態であるとタイミング判定部３００が判定した場合（ステップＳ９０３のＹｅｓ）にはステップＳ９０５へ進む。一方、ＳＲＡＭ２８１がフル状態ではないとタイミング判定部３００が判定した場合（ステップＳ９０３のＮｏ）にはステップＳ９０４へ進む。
【００７９】
ステップＳ９０４にて、タイミング判定部３００が、ＤＭＡＣ２４１の転送終了割り込み信号（ＩＮＴ＿ＰａｇｅＥｎｄ）が入力されたか否かを判定する。転送終了割り込み信号（ＩＮＴ＿ＰａｇｅＥｎｄ）が入力されていないとタイミング判定部３００が判定した場合（ステップＳ９０４のＮｏ）、帯域情報を引き続き取得し続ける必要があるので、ステップＳ９０３へ進む。一方、転送終了割り込み信号（ＩＮＴ＿ＰａｇｅＥｎｄ）が入力されたとタイミング判定部３００が判定した場合（ステップＳ９０４のＹｅｓ）にはステップＳ９０５へ進む。
【００８０】
なお、ステップＳ９０３及びＳ９０４におけるＳＲＡＭ２８１がフル状態であるか否かの判定と、ＤＭＡＣ２４１の転送終了割り込み信号（ＩＮＴ＿ＰａｇｅＥｎｄ）が入力されたか否かの判定を行う順序は順不同である。ＤＭＡＣ２４１の転送終了割り込み信号（ＩＮＴ＿ＰａｇｅＥｎｄ）が入力されたか否かの判定を行った後に、ＳＲＡＭ２８１がフル状態であるか否かの判定を行うようにしてもよい。
【００８１】
ステップＳ９０５にて、タイミング判定部３００が、帯域情報の取得を停止する条件を満たしたことを受けて、帯域取得部３０３に帯域情報の取得を停止するように制御する。これにより、帯域取得部３０３は、バス２９１の帯域情報の取得を停止し、ＳＲＡＭ２８１への帯域情報の書き込みも停止する。
【００８２】
第２の実施形態によれば、動作ステータス信号に含まれるＤＭＡＣのイネーブル信号によって帯域モニター２８０による帯域情報の取得を開始し、ＤＭＡＣの転送終了割り込み信号によって帯域情報の取得を停止する。これにより、同期信号を使用しないバスマスターによるデータ転送であっても、実際にバス上でのデータ転送が行われるバス転送期間に絞った帯域情報の取得を可能とし、帯域情報を取得するバス転送期間を絞ることが可能となる。したがって、少ない容量のＳＲＡＭを用いても十分な帯域情報を取得することが可能となり、帯域情報を保持する情報記憶部の容量を抑えつつ、所望の状態であるバス転送期間における帯域情報を十分に取得することが可能となる。
【００８３】
なお、本実施形態では、ＤＭＡＣの動作ステータス信号を帯域情報の取得を開始させる開始指示信号として用いる場合を例に説明したが、ＤＭＡＣ以外の機能モジュールの動作ステータス信号を開始指示信号として用いても良い。
【００８４】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。第３の実施形態では、帯域情報の取得条件を複数のバスが競合して動作している場合に設定し、複数の開始指示信号を検知することで、複数のバスマスターの競合状態の時のみ帯域情報を取得するように制御する。なお、以下では、前述した実施形態と異なるものについて説明し、前述した実施形態と同様のものについては説明を省略する。第３の実施形態におけるコントローラ部１２０は、図６に示した第２の実施形態におけるコントローラ部１２０と同様である。
【００８５】
＜帯域モニター＞
図１０は、第３の実施形態における帯域モニター２８０の構成例を示すブロック図である。図１０において、図３、７に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。第３の実施形態における帯域モニター２８０は、複数のバスマスターの競合状態を複数の開始指示信号から判別し、競合状態であると判別した場合に帯域情報の取得を開始する。なお、図１０に示す第３の実施形態における帯域モニター２８０、及びその内部の各機能部も、ハードウェア回路によって構成されている。
【００８６】
本実施形態において、帯域モニターが競合状態と判別して帯域情報の取得を開始する条件は、ＣＰＵ２００によってレジスタ部３０１に設定される。競合条件通知信号１０００は、そのレジスタ部３０１に設定された帯域情報の取得を開始する条件を、タイミング判定部３００へ通知する制御信号である。レジスタ部３０１に設定される競合状態の条件とは、帯域観測可能なバス２９０〜２９３の内の２つ以上のバスを選択することで設定される。設定されたバスの組み合わせは、競合条件通知信号１０００によってタイミング判定部３００へ通知される。そして、タイミング判定部３００は、通知されたバスの組み合わせに対応する開始指示信号が入力されると、通知されたバスの帯域情報を取得する帯域取得部に対して帯域情報の取得を開始するように制御を行う。また、タイミング判定部３００は、通知されたバスに対応する停止指示信号が１つでも入力されると、通知されたバスの帯域情報を取得するすべての帯域取得部に対して帯域情報の取得を停止するように制御を行う。
【００８７】
＜帯域情報の取得及びＳＲＡＭへの書き込み制御＞
図１１は、第３の実施形態における帯域モニター２８０において、バス２９０とバス２９２とが競合状態であるときに帯域情報を取得するよう設定した例を示すタイミングチャートである。なお、バス２９０とバス２９２とが同時に動作する場合としては、例えばスキャン処理とプリント処理を行うコピージョブがある。
【００８８】
時刻ｔ１１１において、ＣＰＵ２００が、帯域モニター２８０のレジスタ部３０１に競合条件であるバスの組み合わせを設定する。バスの組み合わせは、任意に設定できるようにしても良いし、予め定められた組み合わせの中から選択し設定するようにしても良い。時刻ｔ１１２において、ＣＰＵ２００が、コピージョブの開始操作を受けて、所望のスキャン条件のもと、スキャナ部１１０に対して起動指示を行う。また、時刻ｔ１１３において、ＣＰＵ２００が、コピージョブの開始操作を受けて、所望のプリント条件のもと、プリンタ部１４０に対して起動指示を行う。
【００８９】
時刻ｔ１１４において、スキャン処理部２５０から垂直同期信号（ＳＶＳＹＮＣ）２８２が出力される。ここで、帯域モニター２８０は、垂直同期信号（ＳＶＳＹＮＣ）２８２が入力されたことを保持するが、帯域情報の取得を開始するバスの競合条件を満たしていないので、帯域情報の取得を開始しない。
【００９０】
その後、時刻ｔ１１５において、プリント処理部２５６へ垂直同期信号（ＰＶＳＹＮＣ）２８３が入力される。ここで、帯域モニター２８０は、時刻ｔ１１１において競合条件として設定されたバスの組み合わせに基づいて競合動作が始まったと判定し、バス２９０とバス２９２の帯域情報の取得を開始する。具体的には、タイミング判定部３００が、帯域取得部３０２、３０４に帯域情報の取得を開始するように制御を行う。そして、帯域取得部３０２、３０４は、バス２９０、２９２の帯域情報の取得、及び取得した帯域情報のＳＲＡＭ２８１への保存を開始する。
【００９１】
時刻ｔ１１６において、ＤＭＡＣ２４０が、すべての画像データをＲＡＭ２７０へ書き込み終わり、書き込みが完了したことを示す転送終了割り込み信号（ＩＮＴ＿ＳＰａｇｅＥｎｄ）２８４をアサートする。バス２９０でのデータ転送が終了したことにより、設定されたバスの競合条件が満たされなくなるため、タイミング判定部３００は、帯域取得部３０２、３０４に対して帯域情報の取得を停止するように制御を行う。帯域取得部３０２、３０４は、バス２９０、２９２の帯域情報の取得、及び帯域情報のＳＲＡＭ２８１への保存を停止する。
【００９２】
時刻ｔ１１７において、ＤＭＡＣ２４６が、すべての画像データを受信したことを示す転送終了割り込み信号（ＩＮＴ＿ＰＰａｇｅＥｎｄ）２８５をアサートする。本実施形態では、その前の時刻ｔ１１６において既に帯域情報の取得を停止している。したがって、アサートされた転送終了割り込み信号（ＩＮＴ＿ＰＰａｇｅＥｎｄ）２８５がタイミング判定部３００に入力されるだけで、転送終了割り込み信号（ＩＮＴ＿ＰＰａｇｅＥｎｄ）２８５に応じた帯域取得部３０２、３０４に対する制御は行われない。
【００９３】
以上のように構成することで、複数のバスの競合状態の時に絞って帯域情報を取得することが可能となる。そのため、複数の帯域情報を同時に取得する場合でも、帯域情報を取得する時間を短縮できるため、少ない容量のＳＲＡＭで十分な帯域情報を取得することが可能となる。
【００９４】
＜帯域情報の取得及びＳＲＡＭへの書き込み制御フロー＞
図１２は、第３の実施形態における帯域モニター２８０の動作例を示すフローチャートである。図１２には、帯域モニター２８０が、バスの競合状態を判定して帯域情報の取得を開始する場合の例を示している。なお、以下の説明では、スキャン処理とプリント処理との同時動作を競合動作として設定することを例に説明するが、組み合わせとして設定可能なものはこれに限る物ではないことは言うまでも無い。
【００９５】
ステップＳ１２０１にて、ＣＰＵ２００が、帯域モニター２８０のレジスタ部３０１に競合条件であるバスの組み合わせを設定する。ここでは、バス２９０とバス２９２との同時動作が競合条件として設定する。ステップＳ１２０２にて、帯域モニター２８０が有するタイミング判定部３００が、垂直同期信号（ＳＶＳＹＮＣ）２８２が入力されたか否かを確認する。また、ステップＳ１２０３にて、タイミング判定部３００が、垂直同期信号（ＰＶＳＹＮＣ）２８３信号が入力されたか否かを確認する。
【００９６】
ステップＳ１２０４にて、タイミング判定部３００が、ステップＳ１２０２及びＳ１２０３において確認した結果に基づいて、帯域情報の取得を開始するバスの競合条件を満たしたか否かを判定する。バスの競合条件を満たしているとタイミング判定部３００が判定した場合（ステップＳ１２０４のＹｅｓ）にはステップＳ１２０５へ進み、満たしていないとタイミング判定部３００が判定した場合（ステップＳ１２０４のＮｏ）にはステップＳ１２０２へ戻る。
【００９７】
ステップＳ１２０５にて、タイミング判定部３００が、バスの競合条件が満たされたとステップＳ１２０４において判定したことを受けて、ステップＳ１２０１において競合条件として設定した各バスの帯域情報の取得を開始するように制御を行う。具体的には、タイミング判定部３００が、帯域取得部３０２、３０４にバス２９０、２９２の帯域情報の取得を開始するように制御し、帯域取得部３０２、３０４は、帯域情報の取得及び取得した帯域情報のＳＲＡＭ２８１への保存を開始する。以降、帯域取得部３０２、３０４は、ある時間間隔を単位として帯域情報を取得してＳＲＡＭ２８１へ書き込む処理を、ステップＳ１２０９において帯域情報の取得を停止するように制御されるまで繰り返す。
【００９８】
ステップＳ１２０６にて、タイミング判定部３００が、帯域情報が書き込まれるＳＲＡＭ２８１がフル状態であるか否かを判定する。ＳＲＡＭ２８１がフル状態であるとタイミング判定部３００が判定した場合（ステップＳ１２０６のＹｅｓ）にはステップＳ１２０９へ進む。一方、ＳＲＡＭ２８１がフル状態ではないとタイミング判定部３００が判定した場合（ステップＳ１２０６のＮｏ）にはステップＳ１２０７へ進む。
【００９９】
ステップＳ１２０７にて、タイミング判定部３００が、ＤＭＡＣ２４０の転送終了割り込み信号（ＩＮＴ＿ＳＰａｇｅＥｎｄ）２８４が入力されたか否かを判定する。転送終了割り込み信号（ＩＮＴ＿ＳＰａｇｅＥｎｄ）２８４が入力されていないとタイミング判定部３００が判定した場合（ステップＳ１２０６のＮｏ）、ステップＳ１２０８へ進む。一方、転送終了割り込み信号（ＩＮＴ＿ＳＰａｇｅＥｎｄ）２８４が入力されたとタイミング判定部３００が判定した場合（ステップＳ１２０７のＹｅｓ）にはステップＳ１２０９へ進む。
【０１００】
ステップＳ１２０８にて、タイミング判定部３００が、ＤＭＡＣ２４６の転送終了割り込み信号（ＩＮＴ＿ＰＰａｇｅＥｎｄ）２８５が入力されたか否かを判定する。転送終了割り込み信号（ＩＮＴ＿ＰＰａｇｅＥｎｄ）２８５が入力されていないとタイミング判定部３００が判定した場合（ステップＳ１２０８のＮｏ）、帯域情報を引き続き取得し続ける必要があるので、ステップＳ１２０６へ進む。一方、転送終了割り込み信号（ＩＮＴ＿ＰＰａｇｅＥｎｄ）２８５が入力されたとタイミング判定部３００が判定した場合（ステップＳ１２０８のＹｅｓ）にはステップＳ１２０９へ進む。
【０１０１】
なお、ステップＳ１２０６、Ｓ１２０７、及びＳ１２０８における処理の実行は順不同であり、図１２に示した例とは異なる順序で実行するようにしてもよい。
【０１０２】
ステップＳ１２０９にて、タイミング判定部３００が、帯域情報の取得を停止する条件を満たしたことを受けて、帯域取得部３０２、３０４に帯域情報の取得を停止するように制御する。これにより、帯域取得部３０２、３０４は、バス２９０、２９２の帯域情報の取得を停止し、ＳＲＡＭ２８１への帯域情報の書き込みも停止する。
【０１０３】
第３の実施形態によれば、帯域情報の取得条件を複数のバスが競合して動作している場合に設定し、複数の開始指示信号を検知することで、複数のバスマスターの競合状態の時のみ帯域情報を取得することが可能となる。そのため、複数の帯域情報を同時に取得する場合でも、帯域情報の取得時間を短縮できるため、少ない容量のＳＲＡＭを用いても十分な帯域情報を取得することが可能となる。したがって、帯域情報を保持する情報記憶部の容量を抑えつつ、所望の状態における帯域情報を十分に取得することが可能となる。
【０１０４】
なお、前述した第１〜第３の実施形態は、それぞれ単独で適用されるものに限定されず、前述した各実施形態を適宜組み合わせて適用するようにしてもよい。
【０１０５】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１０６】
１００：画像形成装置  １１０：スキャナ部  １２０：コントローラ部  １４０：プリンタ部  ２００：ＣＰＵ  ２４０〜２４６：ＤＭＡコントローラ  ２５０：スキャン処理部  ２５６：プリント処理部  ２６０：メモリコントローラ  ２７０：ＲＡＭ  ２８０：帯域モニター  ２８１：ＳＲＡＭ  ２９０〜２９３：バス  ３００：タイミング判定部  ３０１：レジスタ部  ３０２〜３０５：帯域取得部  ３０６：マルチプレクサ  ３０７：ＳＲＡＭインターフェース
【図１】
2019200679.tif 000003
【図２】
2019200679.tif 000004
【図３】
2019200679.tif 000005
【図４】
2019200679.tif 000006
【図５】
2019200679.tif 000007
【図６】
2019200679.tif 000008
【図７】
2019200679.tif 000009
【図８】
2019200679.tif 000010
【図９】
2019200679.tif 000011
【図１０】
2019200679.tif 000012
【図１１】
2019200679.tif 000013
【図１２】
2019200679.tif 000014