JP2019200679A - 画像形成装置、帯域モニター装置、及び帯域モニター方法 - Google Patents
画像形成装置、帯域モニター装置、及び帯域モニター方法 Download PDFInfo
- Publication number
- JP2019200679A JP2019200679A JP2018095902A JP2018095902A JP2019200679A JP 2019200679 A JP2019200679 A JP 2019200679A JP 2018095902 A JP2018095902 A JP 2018095902A JP 2018095902 A JP2018095902 A JP 2018095902A JP 2019200679 A JP2019200679 A JP 2019200679A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- band
- information
- input
- bandwidth
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】帯域情報を保持する情報記憶部の容量を抑えつつ、所望の状態における帯域情報を十分に取得できるようにする。【解決手段】複数のバスマスターによりアクセスされるメモリを有する画像形成装置において、メモリを制御するメモリコントローラとバスマスターとの間のバスに接続され、バスの帯域情報を取得して情報記憶部に保持する帯域取得手段と、バスでのデータ転送を行うのに伴って出力される開始指示信号が入力される制御手段とを有し、制御手段が、開始指示信号が入力されると、入力された開始指示信号に応じて関連付けられているバスの帯域取得手段に対して、帯域情報の取得を開始するように制御する。【選択図】図2
Description
本発明は、画像形成装置、帯域モニター装置、及び帯域モニター方法に関する。
スキャナ機能、プリンタ機能、コピー機能、ネットワーク通信機能、FAX送受信機能といった様々な機能を兼ね備えるデジタル複合機のような画像形成装置が知られている。デジタル複合機における機能動作は、通常、コントローラと呼ばれる画像入出力制御部により制御されている。コントローラは、コストを低減するために、CPU及び前述の機能を実現する複数の機能処理部を1つのチップ内に集約している。また、各機能を実現する際に画像データの転送等を行うためのメインメモリも集約されてきており、メインメモリへのアクセス量が非常に増大してきている。
メインメモリへのアクセス量を増大させる要因の1つに、スキャン処理やプリント処理の高速化があげられる。スキャン処理やプリント処理といった処理は、一度動作を開始すると、少なくとも処理中のページの入出力が完了するまでは止まることができないリアルタイム処理が必須な処理となる。コントローラとしては、リアルタイム処理が必須な画像処理に対するメインメモリへのアクセスは常に一定の転送帯域を保証しつつ、非リアルタイム処理もできる限り並行して処理することが望ましい。
言い方をかえると、リアルタイム処理が必須な画像処理に対するメインメモリへのアクセスの転送帯域が保証できなくなる状況が発生しないようコントローラは作られている。例えば、すべての機能を動作させてもメモリ転送性能が十分保証できる高周波数・多ビット幅のメモリを使用して十分なメモリ転送性能を確保している。しかしながら、動作周波数が高周波数のメモリを使用することは、コスト及び消費電力の増加につながる。また、多ビット幅のメモリを使用することは、チップにおけるピン数の増加によるチップ単価の増加につながる。
そこで、メモリの高周波数化及び多ビット化を抑制しつつ、リアルタイム処理でのメインメモリへの転送帯域を確保する手法が提案されている。例えば、特許文献1には、非リアルタイム処理を行う機能部とメインメモリ間の転送帯域をモニター可能な帯域モニターを有し、予め設定した転送帯域を超えた場合に、非リアルタイム処理を行う機能部からのアクセス要求を抑止する技術が提案されている。この技術により、非リアルタイム処理を行う機能部からのアクセスを受け付けないよう制御することで非リアルタイム処理に係る転送帯域を抑制し、リアルタイム処理に係る転送帯域を保証することが可能となる。
従来の帯域モニターは、CPUによって帯域情報の取得動作を開始する指示が出され、取得した帯域情報を、例えばSRAM等の情報記憶部に格納する。しかしながら、CPUは、実際に帯域情報を取得したい状況となるタイミングを正確には把握できない。例えば、複合機におけるスキャン処理を例にとると、スキャン処理の開始操作が行われてから、スキャナを起動し、コントローラへ画像が実際に入力されて画像処理が行われ、メモリへ出力されるまでには、タイムラグがある。
そのため、従来の帯域モニターに対しては、帯域情報を取得したい状況となる前段で帯域情報の取得動作を開始する指示を行う必要があった。この場合、所望のバス転送が行われている状態の下で十分な情報を保持でき、かつCPUによる開始指示から実際にデータ転送が行われるまでのタイムラグの間の帯域情報を取得しても十分に情報を保持可能な容量を有する情報記憶部を実装する必要がある。しかしながら、SRAM等の情報記憶部が有する容量の増大は、チップコストの増大に繋がる。本発明は、帯域情報を保持する情報記憶部の容量を抑えつつ、所望の状態における帯域情報を十分に取得できるようにすることを目的とする。
本発明に係る画像形成装置は、複数のバスマスターによりアクセスされるメモリを有する画像形成装置であって、前記メモリを制御するメモリコントローラと前記バスマスターとの間のバスに接続され、前記バスの帯域情報を取得して情報記憶部に保持する帯域取得手段と、前記バスでのデータ転送を行うのに伴って出力される開始指示信号が入力され、前記開始指示信号が入力されると、入力された前記開始指示信号に応じて関連付けられているバスの前記帯域取得手段に対して、前記帯域情報の取得を開始するように制御する制御手段とを有することを特徴とする。
本発明によれば、無駄な帯域情報の取得期間を削減でき、帯域情報を保持する情報記憶部の容量を抑えつつ、所望の状態における帯域情報を十分に取得することが可能となる。
以下、本発明の実施形態を図面に基づいて説明する。
(第1の実施形態)
本発明の第1の実施形態について説明する。
<画像形成装置>
図1は、本発明の一実施形態における画像形成装置の構成例を示すブロック図である。本実施形態における画像形成装置100は、スキャナ部110、コントローラ部120、操作部130、及びプリンタ部140を有する。
(第1の実施形態)
本発明の第1の実施形態について説明する。
<画像形成装置>
図1は、本発明の一実施形態における画像形成装置の構成例を示すブロック図である。本実施形態における画像形成装置100は、スキャナ部110、コントローラ部120、操作部130、及びプリンタ部140を有する。
スキャナ部110は、原稿画像を光学的に読み取り、画像データに変換する。スキャナ部110は、原稿用紙を搬送するための機能を持つ原稿給紙部111と、原稿画像を読み取るための機能を持つ原稿読取部112とを有する。プリンタ部140は、記録紙を搬送し、その上に画像データを可視画像として印字して装置外に排紙する。プリンタ部140は、画像データを記録紙に転写し定着させる機能を持つ転写定着部141と、複数種類の記録紙を供給する機能を持つ給紙部142と、印字された記録紙をソートやステイプル等して装置外へ出力する機能を持つ排紙部143とを有する。
コントローラ部120は、スキャナ部110及びプリンタ部140と電気的に接続され、さらにネットワーク150と通信可能に接続されている。ネットワーク150は、例えば、LAN(Local Area Network)、ISDN(Integrated Services Digital Network)等の通信回線網、インターネット/イントラネット等である。コントローラ部120は、例えばスキャナ部110やプリンタ部140を制御する。コントローラ部120がスキャナ部110やプリンタ部140を制御することで、画像形成装置100においてコピー機能、スキャナ機能、及びプリンタ機能等が提供される。
例えば、コントローラ部120は、スキャナ部110を制御して原稿の画像データを読み込み、プリンタ部140を制御して画像データを記録紙に出力してコピー機能を提供する。また、例えば、コントローラ部120は、スキャナ部110から読み取った画像データをコードデータに変換し、ネットワーク150を介して図示しないホストコンピュータ等へ送信してスキャナ機能を提供する。また、例えば、コントローラ部120は、図示しないホストコンピュータ等からネットワーク150を介して受信したコードデータを画像データに変換し、プリンタ部140により画像データを記録紙に出力してプリンタ機能を提供する。
また、コントローラ部120による制御によって、例えばISDN等の通信回線網からデータを受信してプリントするFAX受信機能や、ISDN等の通信回線網へスキャンしたデータを送信するFAX送信機能が提供される。これらスキャン処理やプリント処理、FAX送受信処理といった処理をジョブと呼び、画像形成装置100はこれらジョブを指示に従って処理する。操作部130は、コントローラ部120に接続され、例えば液晶タッチパネルで構成され、画像形成装置100を操作するためのユーザインタフェースを提供する。
<コントローラ部>
図2は、第1の実施形態におけるコントローラ部120の構成例を示すブロック図である。なお、以下に説明するコントローラ部120、及びその内部の各機能部は、ハードウェア回路によって構成されている。CPU(Central Processing Unit)200は、システム全体を制御するプロセッサである。CPU200は、RAM(Random Access Memory)270に展開されたオペレーティングシステム(OS)や制御プログラムに従って、プリント処理やスキャン処理といったジョブに関わる処理を統括的に制御する。
図2は、第1の実施形態におけるコントローラ部120の構成例を示すブロック図である。なお、以下に説明するコントローラ部120、及びその内部の各機能部は、ハードウェア回路によって構成されている。CPU(Central Processing Unit)200は、システム全体を制御するプロセッサである。CPU200は、RAM(Random Access Memory)270に展開されたオペレーティングシステム(OS)や制御プログラムに従って、プリント処理やスキャン処理といったジョブに関わる処理を統括的に制御する。
ROMコントローラ(ROMC)210は、システムのブートプラグラムを格納しているROM(Read Only Memory)211にアクセスするための制御モジュールである。画像形成装置100の電源がONされた時に、CPU200は、ROMコントローラ210を介してROM211にアクセスし、ブートプラグラムを読み出してブート処理を実行する。
ネットワークインターフェース(NW_IF)220は、ネットワーク150に接続し、外部のホストコンピュータ等との間で画像データ等の情報の入出力を行う。インターコネクト(InterConnect)230、231は、CPUや各処理部とメモリコントローラ(MEMC)260とを接続するインターコネクトである。
メモリコントローラ260は、システムの制御プログラムや画像データが格納されるRAM270にアクセスするための制御モジュールである。メモリコントローラ260は、バッファ(BUFFER)261、262、263、264及びバス変換部(BUS_CONVERTER)265を有する。また、メモリコントローラ260は、RAM270の設定や制御を行うためのレジスタを有しており、このレジスタは、CPU200からアクセス可能である。
バッファ261〜264は、対応するDMA(Direct Memory Access)コントローラ(DMAC)及びインターコネクトに対する受信データや送信データを一時的にバッファリングするバッファである。バッファ261〜264は、それぞれ接続されたバス290〜293において一度にバースト転送可能なデータ量に応じたバッファサイズ(記憶容量)を少なくとも有している。なお、バッファ261〜264は、バス290〜293の動作周波数とバス変換部265の動作周波数とが異なる場合には非同期対応バッファにもなる。バス変換部265は、調停機能を有し、例えば各バッファ261〜264のアクセス権をラウンドロビンで調停する。また、バス変換部265は、RAM270へアクセスするためのプロトコル変換を行う。
RAM270は、システムにおけるメインメモリとしてのメモリであり、本例ではSDRAM(Synchronous Dynamic Random Access Memory)で構成されるものとする。RAM270は、CPU200が動作するためのシステムワークメモリでもあり、画像データを記憶するための画像メモリでもある。なお、RAM270は、SDRAMで構成されるものに限定されず、他のメモリで構成されていてもよい。
DMAC240、241、242、243、244、245、246は、メモリコントローラ260を介してRAM270へアクセスするメモリアクセスマスター(バスマスター)となるDMAコントローラである。DMAC240〜246は、対応する各処理部250〜256とRAM270間のデータ転送を行う。DMAC240〜246の各々は、CPU200によって制御され、例えば、どのメモリアドレスに対してデータの読み書きを行うか、及びDMA転送を行うタイミングを制御する機能を有する。
また、それぞれ所定の画像処理を行うスキャン処理部250、回転処理部251、変倍処理部252、RIP処理部253、圧縮処理部254、伸張処理部255、及びプリント処理部256も、CPU200により制御される。以下の各処理部250〜256の説明において、画像データとは圧縮されていない画像データであるものとし、圧縮画像データとは何らかの圧縮手段で圧縮された画像データであるものとする。
スキャン処理部250は、CPU200による設定に従い、スキャナ部110から入力される画像データに対して所定の画像処理を行い、画像処理した画像データをDMAC240に出力する。スキャン処理部250は、例えばシェーディング補正処理、MTF補正処理、入力ガンマ補正、フィルタ処理等の画像処理を行う。回転処理部251は、CPU200による設定に従い、DMAC241から入力される画像データに対し、90度、180度、270度等の回転処理を行い、回転処理した画像データをDMAC241に出力する。
変倍処理部252は、CPU200による設定に従い、DMAC242から入力される画像データに対し、1/2倍、1/4倍等の任意の倍率に変倍し、変倍処理した画像データをDMAC242に出力する。RIP処理部253は、CPU200による設定に従い、DMAC243から入力されるPDL画像に対してレンダリング処理を行い、レンダリング処理した画像データをDMAC243に出力する。圧縮処理部254は、CPU200による設定に従い、DMAC244から入力される画像データに対し、JPEG、JBIGといった画像圧縮処理を行い、得られる圧縮画像データをDMAC244に出力する。
伸張処理部255は、CPU200による設定に従い、DMAC245から入力されるJPEG、JBIGのような圧縮画像データに対して伸張処理を行い、伸張処理後の画像データをDMAC245に出力する。プリント処理部256は、CPU200による設定に従い、DMAC245から入力される画像データに対して所定の画像処理を行い、画像処理した画像データをプリンタ部140に出力する。プリント処理部256は、例えば色空間変換処理、フィルタ処理、ハーフトーン処理等の画像処理を行う。
ここで、DMAC240、インターコネクト231、DMAC246、及びインターコネクト230と、メモリコントローラ260とは、それぞれバス290、291、292、293により接続されている。また、インターコネクト231とDMAC241〜245とは、それぞれバス294、295、296、297、298により接続されている。バス290〜298は、例えば標準バスであるAXI(Advance eXtensible Interface)バス等が適用される。
帯域モニター280は、バス290〜293の転送データ量をモニターし、モニタリング対象のバスの帯域情報を取得する。本実施形態における帯域情報には、ある時間間隔で区切ったそれぞれの期間内において、モニタリング対象のバスで行われたデータ転送による転送データ量の情報を含む。帯域モニター280は、バス290〜293の各バスの帯域情報を個別に取得可能である。帯域モニター280が取得する各バスの帯域情報から導ける合計帯域は、RAM270に対する使用メモリ帯域となる。帯域モニター280が取得した帯域情報はSRAM(Static Random Access Memory)281に保持され、CPU200から読み出し可能である。SRAM281は、情報記憶部の一例である。
また、帯域モニター280は、帯域情報を取得しSRAM281へ書き込み始めるタイミングを指定可能なように構成されている。帯域情報を取得しSRAM281へ書き込み始めるタイミングの指定方法は、書き込み開始をCPU200によって指示する方法のほかに、帯域情報の取得を開始するタイミングを通知する制御信号を帯域モニターに入力することでも制御可能なように構成される。本実施形態では、帯域情報の取得を開始するタイミングを通知する制御信号として、スキャン処理部250から帯域モニター280に制御信号282が入力され、プリント処理部256から帯域モニター280に制御信号283が入力される。制御信号282、283は、例えばバスでのデータ転送を行うのに伴って出力される信号である。制御信号282は、例えばスキャン処理部250から出力される垂直同期信号(SVSYNC)であり、制御信号283は、例えばプリント処理部256から出力される垂直同期信号(PVSYNC)である。
また、帯域モニター280は、帯域情報の取得を停止しSRAM281への書き込みを停止するタイミングを指定可能なようにも構成されている。停止するタイミングを指定する制御信号として、DMACの転送終了割り込み等のバスでのデータ転送が終了することを示す信号が帯域モニター280に入力される。本実施形態では、スキャン処理部250に接続されたDMAC240から帯域モニター280に制御信号284が入力され、プリント処理部256に接続されたDMAC246から帯域モニター280に制御信号285が入力される。
制御信号284は、例えばDMAC240から出力される転送終了割り込み信号(INT_SPageEnd)であり、制御信号285は、例えばDMAC246から出力される転送終了割り込み信号(INT_PPageEnd)である。転送終了割り込み信号(INT_SPageEnd)は、DMAC240が1ページ分のデータ転送を完了した際にアサートされる割り込み信号である。また、転送終了割り込み信号(INT_PPageEnd)は、DMAC246が1ページ分のデータ転送を完了した際にアサートされる割り込み信号である。
以下では、一例として、制御信号282がスキャン処理に係る垂直同期信号(SVSYNC)であるものとし、制御信号283がプリント処理に係る垂直同期信号(PVSYNC)であるものとして説明する。また、制御信号284がDMAC240の転送終了割り込み信号(INT_SPageEnd)であるものとし、制御信号285がDMAC246の転送終了割り込み信号(INT_PPageEnd)であるものとして説明する。
<帯域モニター>
図3は、第1の実施形態における帯域モニター280の構成例を示すブロック図である。図3において、図2に示した構成要素と同一の構成要素には同一の符号を付している。なお、以下に説明する帯域モニター280、及びその内部の各機能部は、ハードウェア回路によって構成されている。帯域モニター280は、タイミング判定部300、レジスタ部301、帯域取得部302、303、304、305、マルチプレクサ(MUX)306、及びSRAMインターフェース(SRAM I/F)307を有する。
図3は、第1の実施形態における帯域モニター280の構成例を示すブロック図である。図3において、図2に示した構成要素と同一の構成要素には同一の符号を付している。なお、以下に説明する帯域モニター280、及びその内部の各機能部は、ハードウェア回路によって構成されている。帯域モニター280は、タイミング判定部300、レジスタ部301、帯域取得部302、303、304、305、マルチプレクサ(MUX)306、及びSRAMインターフェース(SRAM I/F)307を有する。
タイミング判定部300は、外部入力信号に基づいて、帯域取得部302〜305による帯域情報の取得開始及び取得停止を制御する。タイミング判定部300は、制御手段の一例である。タイミング判定部300には、垂直同期信号(SVSYNC)282、垂直同期信号(PVSYNC)283が帯域情報の取得開始を指示する開始指示信号として入力されている。タイミング判定部300には、DMAC240の転送終了割り込み信号(INT_SPageEnd)284、DMAC246の転送終了割り込み信号(INT_PPageEnd)285が帯域情報の取得停止を指示する停止指示信号として入力されている。また、レジスタ部301から帯域情報の取得開始及び取得停止を指示する制御信号310がタイミング判定部300に入力されている。
タイミング判定部300は、入力される開始指示信号282、283及び制御信号310の内の何れかの入力を受けると、入力された信号に応じて関連付けられているバスの帯域情報の取得を開始させる。また、タイミング判定部300は、入力される停止指示信号284、285及び制御信号310の内の何れかの入力を受けると、入力された信号に応じて関連付けられているバスの帯域情報の取得を停止させる。
例えば、タイミング判定部300は、垂直同期信号(SVSYNC)282が入力されると、スキャン処理部250とメモリコントローラ260との間のバス290の帯域情報を取得する帯域取得部302が帯域情報の取得を開始するように制御する。また、タイミング判定部300は、帯域取得部302が取得した帯域情報をSRAM I/F307を通じて、情報記憶部としてのSRAM281へ書き込むように制御する。そして、タイミング判定部300は、DMAC240の転送終了割り込み信号(INT_SPageEnd)284の入力を受けると、帯域取得部302がバス290の帯域情報の取得を停止するように制御する。
レジスタ部301は、帯域モニター280の各種設定値を保持する。また、レジスタ部301は、CPU200による帯域情報の取得開始及び取得停止の制御を受け付け、制御信号310を通じてタイミング判定部300へ通知する。
帯域取得部302は、接続されたバス290の帯域情報を取得する。帯域取得部302は、タイミング判定部300からの制御信号を受けて、帯域情報の取得の開始及び停止を行うよう制御される。帯域取得部302は、ある時間間隔内にバス290で行われたデータ転送によるデータ転送量を取得し、取得したデータ転送量を取得時間とともに帯域情報としてSRAM281へ出力する。帯域取得部303〜305は、帯域取得部302と同様に構成され、帯域情報を取得するバスが異なる。帯域取得部303はバス291の帯域情報を取得し、帯域取得部304はバス292の帯域情報を取得し、帯域取得部304はバス293の帯域情報を取得する。
なお、各帯域取得部302〜305において、帯域情報の取得に係る時間間隔(取得時間)は一定でも良いし、CPU200によって可変に設定できるようにしても良い。また、取得する情報は、データ転送量の他にも、マスターID等のデータ転送において付随的に発生する情報も同時に取得してもよい。また、SRAM281へ出力する帯域情報は、取得した帯域情報をそのまま出力しても良いが、帯域値として算出してから出力しても良い。この場合、帯域取得部302〜305は、図示しない帯域計算部を内部に備えることになる。
マルチプレクサ306は、CPU200から帯域モニター280へのアクセスが発生した場合に、レジスタ部301へのアクセスであるのか、SRAM281へのアクセスであるのかを判定して、アクセス先を制御する。SRAM I/F307は、帯域モニター280の内部モジュールやCPU200からのSRAM281へのアクセスに対するインターフェースである。
<帯域情報の取得及びSRAMへの書き込み制御>
図4(a)〜図4(c)を参照して、第1の実施形態における帯域モニター動作について説明する。図4(a)は、本実施形態を適用する場合のスキャン処理部250及びDMAC240の構成例を示すブロック図である。スキャン処理部250は、入力された画像データに対して所定の画像処理を行うための種々の機能部を内部に有している。図4(a)には一例として、スキャン処理部250が、シェーディング補正部403、ガンマ補正部404、及びフィルタ処理部405を有する例を示している。
図4(a)〜図4(c)を参照して、第1の実施形態における帯域モニター動作について説明する。図4(a)は、本実施形態を適用する場合のスキャン処理部250及びDMAC240の構成例を示すブロック図である。スキャン処理部250は、入力された画像データに対して所定の画像処理を行うための種々の機能部を内部に有している。図4(a)には一例として、スキャン処理部250が、シェーディング補正部403、ガンマ補正部404、及びフィルタ処理部405を有する例を示している。
スキャン処理部250は、スキャナ部110によって読み取った画像の画像データを受信する。読み取られた画像は、一般的に、画像形成に係る垂直同期信号によって1ページの開始と、水平同期信号によって1ラインの開始を制御される。本実施形態では、スキャナ部110から入力される垂直同期信号をSVSYNC_IN信号400とし、水平同期信号をSHSYNC_IN信号401とし、実際の画像データの信号をSDATA_IN信号402とする。
スキャン処理部250に入力された画像データは、スキャン処理部250の内部で種々の画像処理を施された後にDMAC240へ出力される。この例では、SVSYNC_C信号とSHSYNC_C信号とSDATA_C信号とによって、画像データをスキャン処理部250からDMAC240へと出力している。DMAC240は、メモリコントローラ260を介してRAM270へ画像データを書き込む。
ここで、垂直同期信号(SVSYNC)282は、スキャン処理部250から出力される垂直同期信号であるSVSYNC_C信号を帯域モニター280に出力するための信号である。垂直同期信号(SVSYNC)282は、帯域モニター280のタイミング判定部300に入力され、バス290の帯域情報を取得する帯域取得部302に対して帯域情報の取得開始のタイミングを制御する制御信号として使われる。
また、転送終了割り込み信号(INT_SPageEnd)284は、DMAC240が1ページ分のデータ出力を完了した際にアサートされる割り込み信号である。転送終了割り込み信号(INT_SPageEnd)284は、帯域モニター280のタイミング判定部300に入力され、バス290の帯域情報を取得する帯域取得部302に対して帯域情報の取得停止のタイミングを制御する制御信号として使われる。
次に、図4(a)に示した構成を例に、帯域情報を取得しSRAM281へ書き込むタイミングの制御について説明する。図4(b)は、スキャン処理を実行してDMAC240によりRAM270へデータを書き込む場合に、帯域モニター280での帯域情報の取得開始をCPU200によって指示した例を示すタイミングチャートである。
時刻t41において、CPU200が、スキャンジョブの開始操作を受けて、所望のスキャン条件のもと、スキャナ部110に対して起動指示を行う。また、CPU200が、帯域モニター280に対して帯域情報の取得開始の指示を行う。帯域モニター280は、取得開始の指示を受けて、タイミング判定部300が帯域取得部302に帯域情報の取得を開始するように制御を行う。帯域取得部302は、バス290の帯域情報の取得、及び取得した帯域情報のSRAM281への保存を開始する。
時刻t42において、スキャン処理部250から垂直同期信号(SVSYNC)282が出力される。したがって、時刻t41〜t42の間はスキャナ起動期間となり、時刻t42でCPU200の起動指示を受けたスキャナ部110の起動が完了してスキャンを開始する。つまり、時刻t41〜t42の間はバス290上でのデータ転送が行われず、時刻t42が、スキャン処理部250で画像処理された画像データが、スキャン処理部250からDMAC240へ出力され始めるタイミングである。
時刻t43において、DMAC240が、すべての画像データをRAM270へ書き込み終わり、書き込みが完了したことを示す転送終了割り込み信号(INT_SPageEnd)284をアサートする。帯域モニター280は、転送終了割り込み信号(INT_SPageEnd)284がアサートされると、タイミング判定部300が帯域取得部302に帯域情報の取得を停止するように制御を行う。帯域取得部302は、バス290の帯域情報の取得、及び帯域情報のSRAM281への保存を停止する。
図4(c)は、スキャン処理を実行してDMAC240によりRAM270へデータを書き込む場合に、帯域モニター280での帯域情報の取得開始を垂直同期信号(SVSYNC)282によって指示した例を示すタイミングチャートである。時刻t41において、CPU200が、スキャンジョブの開始操作を受けて、所望のスキャン条件のもと、スキャナ部110に対して起動指示を行う。この図4(c)に示した例では、図4(b)に示した例とは異なり、CPU200は、帯域モニター280に対して帯域情報の取得開始の指示は行わない。
時刻t42において、スキャン処理部250から垂直同期信号(SVSYNC)282が出力される。したがって、時刻t41〜t42の間はスキャナ起動期間となり、時刻t42でCPU200の起動指示を受けたスキャナ部110の起動が完了してスキャンを開始し、スキャン処理部250で画像処理された画像データがDMAC240へ出力され始める。スキャン処理部250から出力された垂直同期信号(SVSYNC)282は帯域モニター280に入力される。帯域モニター280は、垂直同期信号(SVSYNC)282を受けて、タイミング判定部300が帯域取得部302に帯域情報の取得を開始するように制御を行う。帯域取得部302は、バス290の帯域情報の取得、及び取得した帯域情報のSRAM281への保存を開始する。
時刻t43において、DMAC240が、すべての画像データをRAM270へ書き込み終わり、書き込みが完了したことを示す転送終了割り込み信号(INT_SPageEnd)284をアサートする。帯域モニター280は、転送終了割り込み信号(INT_SPageEnd)284がアサートされると、タイミング判定部300が帯域取得部302に帯域情報の取得を停止するように制御を行う。帯域取得部302は、バス290の帯域情報の取得、及び帯域情報のSRAM281への保存を停止する。
ここで、図4(b)及び図4(c)に示した例において、実際にバス290上でのデータ転送が行われるのは、時刻t42〜t43の間のバス転送期間である。しかしながら、図4(b)に示した例では、時刻t41の時点で帯域モニター280は帯域情報の取得を開始している。そのため、このような動作を行うには、バス290上にデータ転送が発生しない時刻t41〜t42の期間に取得した帯域情報を書き込んでも、時刻t43までの期間で帯域情報を取得できるような容量のSRAM281を実装する必要がある。
それに対して、図4(c)に示した例では、スキャン処理部250から出力される垂直同期信号(SVSYNC)282を、帯域モニター280での帯域情報の取得開始を指示する開始指示信号として入力している。そのため、帯域情報の取得に関して無駄な時刻t41〜t42の期間を削減し、実際にバス290上でのデータ転送が行われる時刻t42〜t43のバス転送期間に絞って帯域情報の取得が可能となる。したがって、スキャナ起動期間における帯域情報の取得が行われなくなるため、CPU200により帯域モニター280の起動制御を行う場合に比べて、少ない容量のSRAMを用いてもバス転送期間における帯域情報を十分に取得することが可能となる。
<帯域情報の取得及びSRAMへの書き込み制御フロー>
図5は、第1の実施形態における帯域モニター280の動作例を示すフローチャートである。図5には、帯域モニター280が、垂直同期信号(SVSYNC)282によって帯域情報の取得を開始する場合の例を示している。
図5は、第1の実施形態における帯域モニター280の動作例を示すフローチャートである。図5には、帯域モニター280が、垂直同期信号(SVSYNC)282によって帯域情報の取得を開始する場合の例を示している。
ステップS501にて、帯域モニター280のタイミング判定部300が、スキャン処理部250からの垂直同期信号(SVSYNC)282が入力されたか否かを判定する。垂直同期信号(SVSYNC)282が入力されていないと判定した場合(ステップS501のNo)、タイミング判定部300は、垂直同期信号(SVSYNC)282が入力されるまで、ステップS501での判定を繰り返す。垂直同期信号(SVSYNC)282が入力されたとタイミング判定部300が判定した場合(ステップS501のYes)にはステップS502へ進む。
ステップS502にて、タイミング判定部300が、垂直同期信号(SVSYNC)282が入力されたことを受けて、帯域取得部302にバス290の帯域情報の取得を開始するように制御する。そして、帯域取得部302は、バス290の帯域情報の取得、及び取得した帯域情報のSRAM281への保存を開始する。以降、帯域取得部302は、ある時間間隔を単位としてバス290の帯域情報を取得し、取得した帯域情報のSRAM281への書き込みを行う処理を、ステップS505において帯域情報の取得を停止するように制御されるまで繰り返す。
ステップS503にて、タイミング判定部300が、帯域情報が書き込まれるSRAM281が、これ以上の帯域情報の書き込みが行えないフル状態であるか否かを判定する。SRAM281がフル状態であるとタイミング判定部300が判定した場合(ステップS503のYes)にはステップS505へ進む。一方、SRAM281がフル状態ではないとタイミング判定部300が判定した場合(ステップS503のNo)にはステップS504へ進む。
ステップS504にて、タイミング判定部300が、DMAC240の転送終了割り込み信号(INT_SPageEnd)284が入力されたか否かを判定する。転送終了割り込み信号(INT_SPageEnd)284が入力されていないとタイミング判定部300が判定した場合(ステップS504のNo)、帯域情報を引き続き取得し続ける必要があるので、ステップS503へ進む。一方、転送終了割り込み信号(INT_SPageEnd)284が入力されたとタイミング判定部300が判定した場合(ステップS504のYes)にはステップS505へ進む。
なお、ステップS503及びS504におけるSRAM281がフル状態であるか否かの判定と、DMAC240の転送終了割り込み信号(INT_SPageEnd)284が入力されたか否かの判定を行う順序は順不同である。DMAC240の転送終了割り込み信号(INT_SPageEnd)284が入力されたか否かの判定を行った後に、SRAM281がフル状態であるか否かの判定を行うようにしてもよい。
ステップS505にて、タイミング判定部300が、帯域情報の取得を停止する条件を満たしたことを受けて、帯域取得部302に帯域情報の取得を停止するように制御する。これにより、帯域取得部302は、バス290の帯域情報の取得を停止し、SRAM281への帯域情報の書き込みも停止する。
以上、スキャン処理を例に、スキャン処理部250からの垂直同期信号(SVSYNC)282により帯域情報の取得を開始し、DMAC240からの転送終了割り込み信号(INT_SPageEnd)284により帯域情報の取得を停止する例を説明した。本実施形態は、スキャン処理に限らず、プリント処理についても同様に適用可能である。プリント処理では、プリント処理部256からの垂直同期信号(PVSYNC)283によりバス292の帯域情報の取得を開始し、DMAC246からの転送終了割り込み信号(INT_PPageEnd)285によりバス292の帯域情報の取得を停止する。
第1の実施形態によれば、帯域情報の取得を開始するタイミングを通知する制御信号によって、帯域モニター280による帯域情報の取得開始を制御する。例えば、スキャン処理においては、スキャン処理部250から出力される垂直同期信号(SVSYNC)282によって帯域モニター280による帯域情報の取得開始を制御する。これにより、CPU200により帯域情報の取得開始の制御を行う場合に比べて、無駄な帯域情報の取得期間を削減でき、実際にバス上でデータ転送が行われるバス転送期間に絞って帯域情報の取得が可能となる。そのため、起動期間における帯域情報の取得が行われなくなるため、CPU200により帯域モニター280の起動制御を行う場合に比べて、少ない容量のSRAMを用いても十分な帯域情報を取得することが可能となる。したがって、帯域情報を保持する情報記憶部の容量を抑えつつ、所望の状態であるバス転送期間における帯域情報を十分に取得することが可能となる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。第1の実施形態では、帯域モニター280の帯域情報の取得開始のタイミングを垂直同期信号によって制御することにより、CPU200により帯域情報の取得開始の制御を行う場合に比べて、バス転送期間に絞って帯域情報の取得が可能となる例を示した。
次に、本発明の第2の実施形態について説明する。第1の実施形態では、帯域モニター280の帯域情報の取得開始のタイミングを垂直同期信号によって制御することにより、CPU200により帯域情報の取得開始の制御を行う場合に比べて、バス転送期間に絞って帯域情報の取得が可能となる例を示した。
以下に説明する第2の実施形態では、帯域情報の取得開始のタイミングに、機能モジュールの有効・無効を示す動作ステータス信号を用いる。これにより、垂直同期信号(SVSYNC)282のような同期信号を使用しないバスマスターによるデータ転送であっても、実際にデータ転送が行われるバス転送期間に絞った帯域情報の取得を可能とし、帯域情報を取得する期間を絞ることが可能となる。なお、以下では、第1の実施形態と異なるものについて説明し、第1の実施形態と同様のものについては説明を省略する。
<コントローラ部>
図6は、第2の実施形態におけるコントローラ部120の構成例を示すブロック図である。図6において、図2に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。なお、以下に説明する第2の実施形態におけるコントローラ部120、及びその内部の各機能部も、ハードウェア回路によって構成されている。
図6は、第2の実施形態におけるコントローラ部120の構成例を示すブロック図である。図6において、図2に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。なお、以下に説明する第2の実施形態におけるコントローラ部120、及びその内部の各機能部も、ハードウェア回路によって構成されている。
本実施形態で説明する同期信号を使用しないバスマスターとは、図6に示す処理部251〜255のような同期信号が不要な機能モジュールがDMACと接続され、RAM270とデータの送受信を行いながら処理を行うモジュールのことである。動作ステータス信号600は、処理部251〜255に接続されるDMAC241〜245の動作状態を示す信号をまとめたバスである。DMACの動作ステータス信号600は、少なくともDMACがデータ転送を行うのに伴って出力される転送処理可能な状態であることを示すイネーブル信号と転送処理が完了した場合に出力される割り込み信号とをまとめたものである。
例えば、図6に示したINT_PageEnd信号601〜605は、DMAC241〜245から出力される転送終了割り込み信号であり、帯域情報の取得を停止するタイミングを指定する制御信号として帯域モニター280に入力される。INT_PageEnd601〜605は、動作ステータス信号600にまとめられて帯域モニター280へと入力されるものとする。
その他は、図2に示した第1の実施形態におけるコントローラ部120と同様であるので説明は省略する。
その他は、図2に示した第1の実施形態におけるコントローラ部120と同様であるので説明は省略する。
<帯域モニター部>
図7は、第2実施形態における帯域モニター280の構成例を示すブロック図である。図7において、図3に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。なお、以下に説明する第2の実施形態における帯域モニター280、及びその内部の各機能部も、ハードウェア回路によって構成されている。
図7は、第2実施形態における帯域モニター280の構成例を示すブロック図である。図7において、図3に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。なお、以下に説明する第2の実施形態における帯域モニター280、及びその内部の各機能部も、ハードウェア回路によって構成されている。
第2の実施形態における帯域モニター280において、タイミング判定部300には、更に動作ステータス信号600が入力される。タイミング判定部300は、動作ステータス信号600に含まれる、イネーブル信号を受信すると、対応するバス291の帯域情報の取得を開始し、取得した帯域情報をSRAM281へ書き込むように帯域取得部303を制御する。そして、タイミング判定部300は、動作ステータス信号600に含まれる、転送終了割り込み信号を受信すると、バス291の帯域情報の取得を停止するように帯域取得部303を制御する。
<帯域情報の取得及びSRAMへの書き込み制御>
図8は、第2実施形態における帯域モニター280について、動作ステータス信号によって帯域モニター280での帯域情報の取得開始を指示した例を示すタイミングチャートである。なお、以下では、DMAC241を一例として説明するが、他のDMAC242〜245においても同様である。また、ここではDMACがRAM270からデータを読み出すリード動作を例に説明するが、RAM270へデータを書き込むライト動作についても適用できることは言うまでもない。
図8は、第2実施形態における帯域モニター280について、動作ステータス信号によって帯域モニター280での帯域情報の取得開始を指示した例を示すタイミングチャートである。なお、以下では、DMAC241を一例として説明するが、他のDMAC242〜245においても同様である。また、ここではDMACがRAM270からデータを読み出すリード動作を例に説明するが、RAM270へデータを書き込むライト動作についても適用できることは言うまでもない。
時刻t81において、CPU200が、DMAC241に対して起動指示を行う。起動指示を受けたDMAC241は、起動指示に応じて自身の動作ステータス信号であるイネーブル信号(DMAC_ENB)をハイレベルにアサートするとともに、メモリコントローラ260へデータの要求を行う。メモリコントローラ260は、DMAC241からのデータ転送要求を受けて、データ転送要求に応じたデータをRAM270から読み出してDMAC241への転送を開始する。また、イネーブル信号(DMAC_ENB)は、動作ステータス信号600として帯域モニター280が有するタイミング判定部300に入力される。動作ステータス信号600が入力されると、タイミング判定部300は、バスS291に対応する帯域取得部303に帯域情報の取得を開始するように制御を行う。帯域取得部303は、バス291の帯域情報の取得、及び取得した帯域情報のSRAM281への保存を開始する。
時刻t82において、DMAC241が、すべての画像データを受信したことを示す転送終了割り込み信号(INT_PageEnd)をアサートする。アサートされた転送終了割り込み信号(INT_PageEnd)は、動作ステータス信号600を介して帯域モニター280のタイミング判定部300に入力される。タイミング判定部300は、転送終了割り込み信号(INT_PageEnd)が入力されると、バス291に対応する帯域取得部303に帯域情報の取得を停止するように制御を行う。帯域取得部303は、バス291の帯域情報の取得、及び帯域情報のSRAM281への保存を停止する。
<帯域情報の取得及びSRAMへの書き込み制御フロー>
図9は、第2の実施形態における帯域モニター280の動作例を示すフローチャートである。図9には、帯域モニター280が、動作ステータス信号に含まれるイネーブル信号によって帯域情報の取得を開始し、転送終了割り込み信号によって帯域情報の取得を停止する場合の例を示している。以下では、DMAC241を一例に説明するが、他のDMAC242〜245においても同様である。
図9は、第2の実施形態における帯域モニター280の動作例を示すフローチャートである。図9には、帯域モニター280が、動作ステータス信号に含まれるイネーブル信号によって帯域情報の取得を開始し、転送終了割り込み信号によって帯域情報の取得を停止する場合の例を示している。以下では、DMAC241を一例に説明するが、他のDMAC242〜245においても同様である。
ステップS901にて、帯域モニター280が有するタイミング判定部300が、動作ステータス信号に含まれる、DMAC241のイネーブル信号(DMAC_ENB)が入力されたか否かを判定する。イネーブル信号(DMAC_ENB)が入力されていないと判定した場合(ステップS901のNo)、タイミング判定部300は、イネーブル信号(DMAC_ENB)が入力されるまで、ステップS901での判定を繰り返す。イネーブル信号(DMAC_ENB)が入力されたとタイミング判定部300が判定した場合(ステップS901のYes)にはステップS902へ進む。
ステップS902にて、タイミング判定部300が、イネーブル信号(DMAC_ENB)が入力されたことを受けて、帯域取得部303にバス291の帯域情報の取得を開始するように制御する。そして、帯域取得部303は、バス290の帯域情報の取得、及び取得した帯域情報のSRAM281への保存を開始する。以降、帯域取得部303は、ある時間間隔を単位としてバス291の帯域情報を取得し、取得した帯域情報のSRAM281への書き込みを行う処理を、ステップS905において帯域情報の取得を停止するように制御されるまで繰り返す。
ステップS903にて、タイミング判定部300が、帯域情報が書き込まれるSRAM281がフル状態であるか否かを判定する。SRAM281がフル状態であるとタイミング判定部300が判定した場合(ステップS903のYes)にはステップS905へ進む。一方、SRAM281がフル状態ではないとタイミング判定部300が判定した場合(ステップS903のNo)にはステップS904へ進む。
ステップS904にて、タイミング判定部300が、DMAC241の転送終了割り込み信号(INT_PageEnd)が入力されたか否かを判定する。転送終了割り込み信号(INT_PageEnd)が入力されていないとタイミング判定部300が判定した場合(ステップS904のNo)、帯域情報を引き続き取得し続ける必要があるので、ステップS903へ進む。一方、転送終了割り込み信号(INT_PageEnd)が入力されたとタイミング判定部300が判定した場合(ステップS904のYes)にはステップS905へ進む。
なお、ステップS903及びS904におけるSRAM281がフル状態であるか否かの判定と、DMAC241の転送終了割り込み信号(INT_PageEnd)が入力されたか否かの判定を行う順序は順不同である。DMAC241の転送終了割り込み信号(INT_PageEnd)が入力されたか否かの判定を行った後に、SRAM281がフル状態であるか否かの判定を行うようにしてもよい。
ステップS905にて、タイミング判定部300が、帯域情報の取得を停止する条件を満たしたことを受けて、帯域取得部303に帯域情報の取得を停止するように制御する。これにより、帯域取得部303は、バス291の帯域情報の取得を停止し、SRAM281への帯域情報の書き込みも停止する。
第2の実施形態によれば、動作ステータス信号に含まれるDMACのイネーブル信号によって帯域モニター280による帯域情報の取得を開始し、DMACの転送終了割り込み信号によって帯域情報の取得を停止する。これにより、同期信号を使用しないバスマスターによるデータ転送であっても、実際にバス上でのデータ転送が行われるバス転送期間に絞った帯域情報の取得を可能とし、帯域情報を取得するバス転送期間を絞ることが可能となる。したがって、少ない容量のSRAMを用いても十分な帯域情報を取得することが可能となり、帯域情報を保持する情報記憶部の容量を抑えつつ、所望の状態であるバス転送期間における帯域情報を十分に取得することが可能となる。
なお、本実施形態では、DMACの動作ステータス信号を帯域情報の取得を開始させる開始指示信号として用いる場合を例に説明したが、DMAC以外の機能モジュールの動作ステータス信号を開始指示信号として用いても良い。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。第3の実施形態では、帯域情報の取得条件を複数のバスが競合して動作している場合に設定し、複数の開始指示信号を検知することで、複数のバスマスターの競合状態の時のみ帯域情報を取得するように制御する。なお、以下では、前述した実施形態と異なるものについて説明し、前述した実施形態と同様のものについては説明を省略する。第3の実施形態におけるコントローラ部120は、図6に示した第2の実施形態におけるコントローラ部120と同様である。
次に、本発明の第3の実施形態について説明する。第3の実施形態では、帯域情報の取得条件を複数のバスが競合して動作している場合に設定し、複数の開始指示信号を検知することで、複数のバスマスターの競合状態の時のみ帯域情報を取得するように制御する。なお、以下では、前述した実施形態と異なるものについて説明し、前述した実施形態と同様のものについては説明を省略する。第3の実施形態におけるコントローラ部120は、図6に示した第2の実施形態におけるコントローラ部120と同様である。
<帯域モニター>
図10は、第3の実施形態における帯域モニター280の構成例を示すブロック図である。図10において、図3、7に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。第3の実施形態における帯域モニター280は、複数のバスマスターの競合状態を複数の開始指示信号から判別し、競合状態であると判別した場合に帯域情報の取得を開始する。なお、図10に示す第3の実施形態における帯域モニター280、及びその内部の各機能部も、ハードウェア回路によって構成されている。
図10は、第3の実施形態における帯域モニター280の構成例を示すブロック図である。図10において、図3、7に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。第3の実施形態における帯域モニター280は、複数のバスマスターの競合状態を複数の開始指示信号から判別し、競合状態であると判別した場合に帯域情報の取得を開始する。なお、図10に示す第3の実施形態における帯域モニター280、及びその内部の各機能部も、ハードウェア回路によって構成されている。
本実施形態において、帯域モニターが競合状態と判別して帯域情報の取得を開始する条件は、CPU200によってレジスタ部301に設定される。競合条件通知信号1000は、そのレジスタ部301に設定された帯域情報の取得を開始する条件を、タイミング判定部300へ通知する制御信号である。レジスタ部301に設定される競合状態の条件とは、帯域観測可能なバス290〜293の内の2つ以上のバスを選択することで設定される。設定されたバスの組み合わせは、競合条件通知信号1000によってタイミング判定部300へ通知される。そして、タイミング判定部300は、通知されたバスの組み合わせに対応する開始指示信号が入力されると、通知されたバスの帯域情報を取得する帯域取得部に対して帯域情報の取得を開始するように制御を行う。また、タイミング判定部300は、通知されたバスに対応する停止指示信号が1つでも入力されると、通知されたバスの帯域情報を取得するすべての帯域取得部に対して帯域情報の取得を停止するように制御を行う。
<帯域情報の取得及びSRAMへの書き込み制御>
図11は、第3の実施形態における帯域モニター280において、バス290とバス292とが競合状態であるときに帯域情報を取得するよう設定した例を示すタイミングチャートである。なお、バス290とバス292とが同時に動作する場合としては、例えばスキャン処理とプリント処理を行うコピージョブがある。
図11は、第3の実施形態における帯域モニター280において、バス290とバス292とが競合状態であるときに帯域情報を取得するよう設定した例を示すタイミングチャートである。なお、バス290とバス292とが同時に動作する場合としては、例えばスキャン処理とプリント処理を行うコピージョブがある。
時刻t111において、CPU200が、帯域モニター280のレジスタ部301に競合条件であるバスの組み合わせを設定する。バスの組み合わせは、任意に設定できるようにしても良いし、予め定められた組み合わせの中から選択し設定するようにしても良い。時刻t112において、CPU200が、コピージョブの開始操作を受けて、所望のスキャン条件のもと、スキャナ部110に対して起動指示を行う。また、時刻t113において、CPU200が、コピージョブの開始操作を受けて、所望のプリント条件のもと、プリンタ部140に対して起動指示を行う。
時刻t114において、スキャン処理部250から垂直同期信号(SVSYNC)282が出力される。ここで、帯域モニター280は、垂直同期信号(SVSYNC)282が入力されたことを保持するが、帯域情報の取得を開始するバスの競合条件を満たしていないので、帯域情報の取得を開始しない。
その後、時刻t115において、プリント処理部256へ垂直同期信号(PVSYNC)283が入力される。ここで、帯域モニター280は、時刻t111において競合条件として設定されたバスの組み合わせに基づいて競合動作が始まったと判定し、バス290とバス292の帯域情報の取得を開始する。具体的には、タイミング判定部300が、帯域取得部302、304に帯域情報の取得を開始するように制御を行う。そして、帯域取得部302、304は、バス290、292の帯域情報の取得、及び取得した帯域情報のSRAM281への保存を開始する。
時刻t116において、DMAC240が、すべての画像データをRAM270へ書き込み終わり、書き込みが完了したことを示す転送終了割り込み信号(INT_SPageEnd)284をアサートする。バス290でのデータ転送が終了したことにより、設定されたバスの競合条件が満たされなくなるため、タイミング判定部300は、帯域取得部302、304に対して帯域情報の取得を停止するように制御を行う。帯域取得部302、304は、バス290、292の帯域情報の取得、及び帯域情報のSRAM281への保存を停止する。
時刻t117において、DMAC246が、すべての画像データを受信したことを示す転送終了割り込み信号(INT_PPageEnd)285をアサートする。本実施形態では、その前の時刻t116において既に帯域情報の取得を停止している。したがって、アサートされた転送終了割り込み信号(INT_PPageEnd)285がタイミング判定部300に入力されるだけで、転送終了割り込み信号(INT_PPageEnd)285に応じた帯域取得部302、304に対する制御は行われない。
以上のように構成することで、複数のバスの競合状態の時に絞って帯域情報を取得することが可能となる。そのため、複数の帯域情報を同時に取得する場合でも、帯域情報を取得する時間を短縮できるため、少ない容量のSRAMで十分な帯域情報を取得することが可能となる。
<帯域情報の取得及びSRAMへの書き込み制御フロー>
図12は、第3の実施形態における帯域モニター280の動作例を示すフローチャートである。図12には、帯域モニター280が、バスの競合状態を判定して帯域情報の取得を開始する場合の例を示している。なお、以下の説明では、スキャン処理とプリント処理との同時動作を競合動作として設定することを例に説明するが、組み合わせとして設定可能なものはこれに限る物ではないことは言うまでも無い。
図12は、第3の実施形態における帯域モニター280の動作例を示すフローチャートである。図12には、帯域モニター280が、バスの競合状態を判定して帯域情報の取得を開始する場合の例を示している。なお、以下の説明では、スキャン処理とプリント処理との同時動作を競合動作として設定することを例に説明するが、組み合わせとして設定可能なものはこれに限る物ではないことは言うまでも無い。
ステップS1201にて、CPU200が、帯域モニター280のレジスタ部301に競合条件であるバスの組み合わせを設定する。ここでは、バス290とバス292との同時動作が競合条件として設定する。ステップS1202にて、帯域モニター280が有するタイミング判定部300が、垂直同期信号(SVSYNC)282が入力されたか否かを確認する。また、ステップS1203にて、タイミング判定部300が、垂直同期信号(PVSYNC)283信号が入力されたか否かを確認する。
ステップS1204にて、タイミング判定部300が、ステップS1202及びS1203において確認した結果に基づいて、帯域情報の取得を開始するバスの競合条件を満たしたか否かを判定する。バスの競合条件を満たしているとタイミング判定部300が判定した場合(ステップS1204のYes)にはステップS1205へ進み、満たしていないとタイミング判定部300が判定した場合(ステップS1204のNo)にはステップS1202へ戻る。
ステップS1205にて、タイミング判定部300が、バスの競合条件が満たされたとステップS1204において判定したことを受けて、ステップS1201において競合条件として設定した各バスの帯域情報の取得を開始するように制御を行う。具体的には、タイミング判定部300が、帯域取得部302、304にバス290、292の帯域情報の取得を開始するように制御し、帯域取得部302、304は、帯域情報の取得及び取得した帯域情報のSRAM281への保存を開始する。以降、帯域取得部302、304は、ある時間間隔を単位として帯域情報を取得してSRAM281へ書き込む処理を、ステップS1209において帯域情報の取得を停止するように制御されるまで繰り返す。
ステップS1206にて、タイミング判定部300が、帯域情報が書き込まれるSRAM281がフル状態であるか否かを判定する。SRAM281がフル状態であるとタイミング判定部300が判定した場合(ステップS1206のYes)にはステップS1209へ進む。一方、SRAM281がフル状態ではないとタイミング判定部300が判定した場合(ステップS1206のNo)にはステップS1207へ進む。
ステップS1207にて、タイミング判定部300が、DMAC240の転送終了割り込み信号(INT_SPageEnd)284が入力されたか否かを判定する。転送終了割り込み信号(INT_SPageEnd)284が入力されていないとタイミング判定部300が判定した場合(ステップS1206のNo)、ステップS1208へ進む。一方、転送終了割り込み信号(INT_SPageEnd)284が入力されたとタイミング判定部300が判定した場合(ステップS1207のYes)にはステップS1209へ進む。
ステップS1208にて、タイミング判定部300が、DMAC246の転送終了割り込み信号(INT_PPageEnd)285が入力されたか否かを判定する。転送終了割り込み信号(INT_PPageEnd)285が入力されていないとタイミング判定部300が判定した場合(ステップS1208のNo)、帯域情報を引き続き取得し続ける必要があるので、ステップS1206へ進む。一方、転送終了割り込み信号(INT_PPageEnd)285が入力されたとタイミング判定部300が判定した場合(ステップS1208のYes)にはステップS1209へ進む。
なお、ステップS1206、S1207、及びS1208における処理の実行は順不同であり、図12に示した例とは異なる順序で実行するようにしてもよい。
ステップS1209にて、タイミング判定部300が、帯域情報の取得を停止する条件を満たしたことを受けて、帯域取得部302、304に帯域情報の取得を停止するように制御する。これにより、帯域取得部302、304は、バス290、292の帯域情報の取得を停止し、SRAM281への帯域情報の書き込みも停止する。
第3の実施形態によれば、帯域情報の取得条件を複数のバスが競合して動作している場合に設定し、複数の開始指示信号を検知することで、複数のバスマスターの競合状態の時のみ帯域情報を取得することが可能となる。そのため、複数の帯域情報を同時に取得する場合でも、帯域情報の取得時間を短縮できるため、少ない容量のSRAMを用いても十分な帯域情報を取得することが可能となる。したがって、帯域情報を保持する情報記憶部の容量を抑えつつ、所望の状態における帯域情報を十分に取得することが可能となる。
なお、前述した第1〜第3の実施形態は、それぞれ単独で適用されるものに限定されず、前述した各実施形態を適宜組み合わせて適用するようにしてもよい。
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
100:画像形成装置 110:スキャナ部 120:コントローラ部 140:プリンタ部 200:CPU 240〜246:DMAコントローラ 250:スキャン処理部 256:プリント処理部 260:メモリコントローラ 270:RAM 280:帯域モニター 281:SRAM 290〜293:バス 300:タイミング判定部 301:レジスタ部 302〜305:帯域取得部 306:マルチプレクサ 307:SRAMインターフェース
Claims (10)
- 複数のバスマスターによりアクセスされるメモリを有する画像形成装置であって、
前記メモリを制御するメモリコントローラと前記バスマスターとの間のバスに接続され、前記バスの帯域情報を取得して情報記憶部に保持する帯域取得手段と、
前記バスでのデータ転送を行うのに伴って出力される開始指示信号が入力され、前記開始指示信号が入力されると、入力された前記開始指示信号に応じて関連付けられているバスの前記帯域取得手段に対して、前記帯域情報の取得を開始するように制御する制御手段とを有することを特徴とする画像形成装置。 - 前記開始指示信号が、画像形成に係る垂直同期信号であることを特徴とする請求項1に記載の画像形成装置。
- 前記開始指示信号が、前記バスマスターが転送処理可能であることを示すイネーブル信号であることを特徴とする請求項1又は2に記載の画像形成装置。
- 前記制御手段は、前記バスでのデータ転送の終了に伴って出力される停止指示信号が入力され、前記停止指示信号が入力されると、入力された前記停止指示信号に応じて関連付けられているバスの前記帯域取得手段に対して、前記帯域情報の取得を停止するように制御することを特徴とする請求項1〜3の何れか1項に記載の画像形成装置。
- 前記制御手段は、予め設定されている複数のバスの前記開始指示信号が入力された場合、設定されているすべてのバスの前記帯域取得手段に対して、前記帯域情報の取得を開始するように制御することを特徴とする請求項1〜4の何れか1項に記載の画像形成装置。
- 前記制御手段は、前記バスでのデータ転送の終了に伴って出力される停止指示信号であって、設定されている前記複数のバスの内の何れかの前記停止指示信号が入力された場合、設定されているすべてのバスの前記帯域取得手段に対して、前記帯域情報の取得を停止するように制御することを特徴とする請求項5に記載の画像形成装置。
- 前記複数のバスマスターは、スキャン処理して得られる画像データを前記メモリに書き込むバスマスターと、プリント処理する画像データを前記メモリから読み出すバスマスターとを含むことを特徴とする請求項1〜6の何れか1項に記載の画像形成装置。
- 前記複数のバスマスターは、前記メモリから画像データを読み出し、所定の画像処理を施した前記画像データを前記メモリに書き込むバスマスターを含むことを特徴とする請求項1〜7の何れか1項に記載の画像形成装置。
- 複数のバスマスターによりアクセスされるメモリを制御するメモリコントローラと前記バスマスターとの間のバスに接続され、前記バスの帯域情報を取得して情報記憶部に保持する帯域取得手段と、
前記バスでのデータ転送を行うのに伴って出力される開始指示信号が入力され、前記開始指示信号が入力されると、入力された前記開始指示信号に応じて関連付けられているバスの前記帯域取得手段に対して、前記帯域情報の取得を開始するように制御する制御手段とを有することを特徴とする帯域モニター装置。 - 複数のバスマスターによりアクセスされるメモリを制御するメモリコントローラと前記バスマスターとの間のバスでのデータ転送を行うのに伴って出力される開始指示信号が入力されると、入力された前記開始指示信号に応じて関連付けられている前記バスに接続された帯域取得手段に対して、前記バスの帯域情報の取得を開始するように制御する工程と、
前記バスの帯域情報の取得を開始するように制御された前記帯域取得手段が、前記バスの帯域情報を取得して情報記憶部に保持する工程とを有することを特徴とする帯域モニター方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018095902A JP2019200679A (ja) | 2018-05-18 | 2018-05-18 | 画像形成装置、帯域モニター装置、及び帯域モニター方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018095902A JP2019200679A (ja) | 2018-05-18 | 2018-05-18 | 画像形成装置、帯域モニター装置、及び帯域モニター方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019200679A true JP2019200679A (ja) | 2019-11-21 |
Family
ID=68613185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018095902A Pending JP2019200679A (ja) | 2018-05-18 | 2018-05-18 | 画像形成装置、帯域モニター装置、及び帯域モニター方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019200679A (ja) |
-
2018
- 2018-05-18 JP JP2018095902A patent/JP2019200679A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108363669B (zh) | 存储器访问系统、其控制方法、存储介质及图像形成装置 | |
JP2009259217A (ja) | データ処理回路、省電力方法、省電力プログラム、記録媒体及び機器 | |
EP2863618B1 (en) | Image forming apparatus that guarantees a multi-operation | |
US11256459B2 (en) | Data processing apparatus that switches to execution of a different command list at a preset control point, method of controlling the same, and computer-readable storage medium | |
JP2019200679A (ja) | 画像形成装置、帯域モニター装置、及び帯域モニター方法 | |
US20160154603A1 (en) | Data transfer control device, apparatus including the same, and data transfer control method | |
JP3714840B2 (ja) | データ転送方法とデータ転送制御装置 | |
JP3730586B2 (ja) | 画像処理装置 | |
JP2018118477A (ja) | 画像処理装置とその制御方法、及びプログラム | |
JP4034323B2 (ja) | 画像データ処理方法と画像データ処理装置及び画像形成装置 | |
JP6833491B2 (ja) | 情報処理装置 | |
JP2008282135A (ja) | 画像処理装置、画像読取り装置、画像形成装置および画像処理方法 | |
JP2010098426A (ja) | 制御装置、画像形成装置、およびプログラム | |
JP2002254729A (ja) | 画像データのdma制御装置 | |
JP2019197299A (ja) | 情報処理装置のメモリシステム、情報処理装置のメモリシステムの制御方法及びプログラム | |
JP2019200626A (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
JP2009038776A (ja) | 画像処理装置及び画像処理方法 | |
JP2003091425A (ja) | 画像処理装置および画像処理方法 | |
JP2013098627A (ja) | 画像処理制御回路、画像処理装置及び画像処理制御方法 | |
JP6264757B2 (ja) | 画像形成装置、画像形成システム、画像形成装置の制御方法、及び画像形成装置の制御プログラム | |
JP2018116646A (ja) | 集積回路、集積回路の制御方法、及びプログラム | |
JP2010062984A (ja) | 画像形成装置 | |
JP2006018406A (ja) | 画像形成装置 | |
JP2011013812A (ja) | メモリシステム | |
JP2004274270A (ja) | データ処理装置 |