以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
図1〜図7は、本発明のデータ処理回路、省電力方法、省電力プログラム、記録媒体及び機器の第1実施例を示す図であり、図1は、本発明のデータ処理回路、省電力方法、省電力プログラム、記録媒体及び機器の第1実施例を適用した複写装置1の要部ブロック構成図である。
図1において、複写装置1は、スキャナ部2、プロッタ部3、データ処理回路としてのASIC4、CPU(Central Processing Unit )5及びメモリ6等を備えており、ASIC4とCPU5及びメモリ6との間は、PCIe7によって接続されている。また、複合装置1は、図示しないが、ROM(Read Only Memory)、RAM(Random Access Memory)、操作表示部等を備えている。
複写装置1は、ROM、EEPROM(Electrically Erasable and Programmable Read Only Memory )、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory )、CD−RW(Compact Disc Rewritable )、DVD(Digital Video Disk)、SD(Secure Digital)カード、MO(Magneto-Optical Disc)等の複写装置1が読み取り可能な記録媒体に記録されている本発明の省電力方法を実行する省電力プログラムを読み込んでROMやハードディスク等に導入することで、後述するデータ処理回路の動作を自動的に省電力動作させる省電力方法を実行するデータ処理回路としてのASIC4を搭載した複写装置1として構築されている。この省電力プログラムは、アセンブラ、C、C++、C#、Java(登録商標)等のレガシープログラミング言語やオブジェクト指向ブログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
CPU5は、ROM内のプログラムに基づいて複写装置1の各部を制御して複写装置1としての基本処理を実行するとともに、後述する省電力処理を実行する。また、機器のデバイスとしてのCPU5は、PCIe I/F回路8を備えており、このPCIe I/F回路8とASIC4のPCIe I/F回路14との間で確立されるリンクのリンク幅によるPCIe転送を行う。このPCIe I/F回路14とPCIe I/F回路8との間で確立されるリンク幅は、PCIe I/F回路14のサポートするリンク幅とPCIe I/F回路8のサポートするリンク幅のうち狭い方のリンク幅に制限される。
スキャナ部2は、例えば、CCD(Charge Coupled Device)を利用したラインイメージセンサ等が用いられており、一般にADFを備えている。ADFには、複数枚の原稿がセットされ、ADFは、セットされた原稿を1枚ずつスキャナ部2の原稿読取位置に送給する。スキャナ部2は、ADFから搬送されてきた原稿を走査して、原稿の画像を所定の解像度で読み取り、サンプリング処理、A/D変換処理等を行ってデジタルの画像データをASIC4に出力する。
プロッタ部3は、ASIC4から渡される画像データに基づいて所定の印刷方式、例えば、電子写真方式やインク噴射方式等によって画像を用紙に記録出力する。
ASIC4は、図2に示すように、スキャナ画像処理部11、編集・蓄積画像処理部12及びプリンタ画像処理部13等の機能モジュールとPCIe I/F回路14を備えているとともに、図2に示すように、クロック供給部20を備えており、クロック供給部20は、SSCG(Spread spectrum clock generator:スペクトラム拡散クロックジェネレータ)21、クロック分周器22、モジュール分周制御部23及び機能モジュールに対応した数(いま、図1及び図2では、機能モジュール数を3つ例示しているので、3つ示している。)のセレクタ24a〜24c等を備えている。
ASIC4の備えているPCIe I/F回路14は、リンク幅情報通知部14aを備えており、リンク幅情報通知部14aは、PCIe I/F回路14がCPU5のPCIe I/F回路8との間で確立したリンク幅を取得して、該リンク幅情報をモジュール分周制御部23に通知する。
スキャナ画像処理部11は、図に太い矢印で示すように、スキャナ部2で読み取られて転送されてくる画像データに対して、所定の画像処理、例えば、スキャナ特性の補正等の画像処理を施し、ASIC4は、このスキャナ画像処理部11で処理された画像データをPCIe7を通し、CPU5を経由させてメモリ6に転送する(以下、このスキャナ部2からASIC4を介してメモリ6へのデータ転送を、必要に応じて、スキャナtoメモリ転送工程Tsmという)。
編集・蓄積画像処理部12は、図4に太い矢印で示すように、メモリ6からPCIe7を通しCPU5を経由させて転送されてきた画像データを受け取って、解像度変換、回転処理等の各種画像編集処理を行って、再度、PCIe7を通しCPU5を経由させてメモリ6に格納する(以下、このメモリ6から読み出された画像データをASIC4で処理してメモリ6に蓄積するデータ転送を、必要に応じて、メモリtoメモリ転送工程Tmmという)。
プロッタ画像処理部13は、図5に太い矢印で示すように、メモリ6からCPU5を経由してPCIe7を通して送られてきた画像データを、プロッタ部3での印刷処理に適したCMYKの画像データに変換して、プロッタ部3に転送する(以下、このメモリ6から読み出された画像データをASIC4で処理してプロッタ部3へ転送して出力するデータ転送を、必要に応じて、メモリtoプロッタ転送工程Tmpという)。
ASIC4のSSCG(クロック発生手段)21は、周波数変調機能付きのクロック発生器であり、所定の基準クロックをクロック分周器22及び各セレクタ24a〜24cに出力する。クロック分周器(複数クロック生成手段)22は、SSCG21から入力される基準クロックを2分周及び4分周して、2分周クロックと4分周クロックを各セレクタ24a〜24cに出力する。
モジュール分周制御部(動作クロック制御手段)23は、PCIe I/F回路14のリンク幅情報通知部14aから通知されるリンク幅に基づいて、各セレクタ24a〜24cに入力されている基準クロック、2分周クロック、4分周クロックのうちの1つを選択させる選択信号を出力する。
各セレクタ(選択手段)24a〜24cは、モジュール分周制御部23からの選択信号に応じて、入力される基準クロック、2分周クロック、4分周クロックのうちの1つを選択して、対応する機能モジュールであるスキャナ画像処理部11、編集・蓄積画像処理部12及びプリンタ画像処理部13に出力する。
次に、本実施例の作用を説明する。本実施例の複写装置1に用いられているASIC4は、その適用される機器や機種に応じて内蔵する機能モジュール11〜13の動作クロックを変更して、省電力を確保する。
すなわち、ASIC4は、通常、その機種や機器に専用に開発すると、コストが高くつくため、他の機種や機器にも適用可能に開発されて製造されている。ところが、データの転送に、高速のPCIe7を用いると、ASIC4のPCIe I/F回路14の備えているリンク幅のみでは、データの転送幅が決定されるわけではなく、適用された機種や機器の転送相手のPCIe I/F回路の備えているリンク幅によっても影響を受ける。
すなわち、いま、複写装置1にASIC4が適用された場合、ASIC4のPCIe7によるデータ転送においては、ASIC4のPCIe I/F回路14とCPU5のPCIe I/F回路8との間で確立されるリンクのリンク幅(バス幅)によってデータ転送の接続リンク幅が決定されるが、このリンク幅は、リンクされるPCIe I/F回路14とPCIe I/F回路8のうちサポートしているリンク幅が狭い方のリンク幅に、ハードウェアとして自動的に規制される。
例えば、いま、ASIC4のPCIe I/F回路14の備えているリンク幅が×16であり、CPU5のPCIe I/F回路8の備えているリンク幅が×8であれば、ASIC4とCPU5との間の接続リンク幅は、×8、×4、×2、×1に規制され、また、CPU5のPCIe I/F回路8の備えているリンク幅が、例えば、×4であると、ASIC4とCPU5との間の接続リンク幅は、×4、×2、×1に規制される。
そこで、このようにリンク幅がASIC4の適用される機器や機種のデータ転送における相手先デバイス(本実施例ではCPU5)のPCIe I/F回路の備えているリンク幅で決定されると、内部の機能モジュールの動作クロックをいくら速くしても、データ転送のリンク幅との関係で、不具合が発生したり、処理の待ちが発生することとなり、消費電力の無駄が生じることとなる。
そこで、本実施例のASIC4は、ハードウェア的に決定されたリンク幅に応じて、内部機能モジュールであるスキャナ画像処理部11、編集・蓄積画像処理部12及びプロッタ画像処理部13の動作クロックを変更して、消費電力を削減させる。すなわち、各機能モジュール11〜13に供給される周波数が下がると、各機能モジュール11〜13で消費される消費電力が削減される。
そこで、ASIC4のPCIe I/F回路14は、相手先のPCIe I/F回路であるCPU5のPCIe I/F回路8との間でリンク幅が決定されると、該決定されたリンク幅情報をリンク幅情報通知部14aがクロック供給部20のモジュール分周制御部23に通知する。
そして、クロック供給部20は、所定の基準クロックを発生させるSSCG21、該基準クロックを分周するクロック分周器22及びそれぞれ基準クロックと分周された分周クロック(2分周クロック、4分周クロック)の入力される機能モジュール11〜13の数だけのセレクタ24a〜24cを備えており、モジュール分周制御部23は、PCIe I/F回路14のリンク幅情報通知部14aから通知されるリンク幅情報に基づいてセレクタ24a〜24cに該複数のクロックのうち該リンク幅に適したクロックを選択して機能モジュールに供給させる選択信号を出力する。
各セレクタ24a〜24cは、モジュール分周制御部23からの選択信号で指示されているクロックを選択して、それぞれ対応する機能モジュールであるスキャナ画像処理部11、編集・蓄積画像処理部12及びプロッタ画像処理部13に供給する。
このようにして、PCIe7の転送幅であるリンク幅に応じてASIC4内の各機能モジュール11〜13の動作クロックを変更すると、各機能モジュール11〜13での無駄な消費電力を削減することができる。
そして、ASIC4の適用される機器や機種のCPU5のリンク幅は、データ転送に関する要求パフォーマンスに関係するところが大きい(カラーであるか、モノクロであるか等)。すなわち、機器や機種毎に要求するパフォーマンスが異なると、ASIC4の対向側のCPU5のリンク幅も異なる。したがって、ASIC4としては、適用された機器や機種のCPUとの間で確立したリンク幅から、どの機種(またはその用途)や機器に適用されているかをある程度判断することができ、適用機種等を判断することができると、その機種等によって要求されるASIC4内部の各機能モジュール11〜13の必要最低限の処理速度も決定することができる。
すなわち、ASIC4の適用される機器や機種によっては、その要求される動作パフォーマンスが異なっており、例えば、複写装置1の場合、図6に太い矢印で示すように、スキャナtoメモリ転送工程Tsm、メモリtoメモリ転送工程Tmm及びメモリtoプロッタ転送工程Tmpが同時に行われることがあり、また、その動作パフォーマンスに関係するものとしては、カラーとモノクロの相違があり、パフォーマンスを表す指標として、原稿副走査方向の処理速度である線速[mm/s]がある。
そして、ASIC4が複写装置1に適用された場合、上記スキャナtoメモリ転送工程Tsm、メモリtoメモリ転送工程Tmm及びメモリtoプロッタ転送工程Tmpを同時に並行して実行する場合、1ライン周期で、(スキャナtoメモリ転送工程Tsmで転送するデータサイズ)+(メモリtoメモリ転送工程Tmmで転送するデータサイズ)+(メモリtoプロッタ転送工程Tmpで転送するデータサイズ)が転送可能な帯域を、要求される線速に応じて確保する必要がある。
例えば、要求される線速が、300[mm/s]のモノクロコピー動作モードのとき、PCIe7のデータ転送レートは、次式で求めることができる。すなわち、A4原稿データ=7400[pixel]×600[line]、A4原稿副走査サイズ=25.4[mm]として、
25.4[mm]/(600[line]×300[mm/sec])
=141.1[μsec]
そして、スキャナtoメモリ転送工程Tsmでは、
7400[pixel]×2[Byte]/141.1[μsec]
=104.9[MB/s]
メモリtoメモリ転送工程Tmmのメモリ6からASIC4への転送(メモリtoASIC転送)において、
7400[pixel]×2[Byte]/141.1[μsec]
=104.9[MB/s]
メモリtoメモリ転送工程TmmのASIC4からメモリ6への転送(ASICtoメモリ転送)において、
7400[pixel]×0.25[Byte]/141.1[μsec]
=52.4[MB/s]
メモリtoプロッタ転送工程Tmpでは、
7400[pixel]×0.25[Byte]/141.1[μsec]
=52.4[MB/s]
したがって、これらの各転送モードでのデータ転送の総和Ttを求めると、以下のようになる。
Tt=104.9+104.9+52.4+52.4=317.4[MB/s]
そして、複写装置1にASIC4が適用された場合、ASIC4のPCIe I/F回路14の備えているリンク幅が×4であるとすると、1回の転送あたりの実行データサイズ(Payloadサイズ)が128Byteである場合、PCIe7の転送レートの理論値は、図7に示すようになる。
したがって、上記例の場合、確立されるリンク幅が×2であると、図7と上記算出値を比較して分かるように、複写装置1の要求パフォーマンスが満足されることとなるので、複写装置1のCPU5のPCIe I/F回路8の備えているリンク幅としては、×2が求められることになる。
そこで、モジュール分周制御部23は、上記各転送モードで要求される転送レートを確立されたリンク幅の範囲で満足させるように、各セレクタ24a〜24cから対応する機能モジュールであるスキャナ画像処理部11、編集・蓄積画像処理部12及びプロッタ画像処理部13に供給するクロック(動作クロック)を決定して、該クロックを供給させる選択信号を各セレクタ24a〜24cに出力する。
このように、本実施例の複写装置1のASIC4は、機能モジュール11〜13と該機能モジュール11〜13に供給する動作クロックを発生するSSCG21を有し、複写装置1等の各種機器に適用されて該機器の取り扱うデータの処理を、該動作クロックに応じた動作速度で動作する該機能モジュール11〜13で行うとともに、該機器のデバイスであるCPU5との間でのデータ転送のPCIe7接続のリンクを確立して、該確立したリンク幅に応じてPCIe7を利用したデータ転送を行うが、CPU5との間で確立されたリンク幅を判定し、該リンク幅に基づいてSSCG7から機能モジュール11〜13に供給する動作クロックのクロック周波数を変更させている。
したがって、リンク幅に見合った動作クロックで機能モジュール11〜13を動作させることができ、消費電力を削減することができる。
また、本実施例のASIC4は、SSCG21の発生するクロックから複数の周波数の動作クロックを生成するクロック分周器22と、複数の該動作クロックから機能モジュール11〜13に供給する動作クロックを選択するセレクタ24a〜24cと、を備え、モジュール分周制御部23が、確立されたリンク幅に基づいてセレクタ24a〜24cに機能モジュール11〜13に供給する動作クロックを選択させている。
したがって、簡単な構成で、機能モジュール11〜13に供給するクロックを適切に選択することができ、安価に消費電力を削減することができる。
さらに、本実施例のASIC4は、CPU5との間で確立したリンク幅をPCIe I/F回路14のリンク幅情報通知部14aがモジュール分周制御部23に通知している。
したがって、モジュール分周制御部23が、わざわざ確立したバス幅を反映したレジスタをソフトウェア的に読みに逝く手間を省くことができ、処理速度を向上させることができる。
また、本実施例のASIC4は、機能モジュール11〜13を複数搭載しており、モジュール分周制御部23は、CPU5との間で確立されたリンク幅に基づいて、該機能モジュール11〜13毎に動作クロックの周波数を変更させている。
したがって、適用された機器(複写装置1等)の要求する動作パフォーマンスを適切に確保しつつ、動作クロックを設定することができ、機器の動作性能の向上と省電力を図ることができる。
なお、上記説明では、バスとして、PCIeが用いられている場合について説明したが、バスとしては、PCIeに限るものではなく、ASIC等のデータ処理回路とCPU等の相手デバイスとの間で確立されるリンクのリンク幅(バス幅)でデータ転送が行われるバス一般に適用することができる。
また、上記説明では、データ処理回路として、ASIC4を例に挙げて説明したが、データ処理回路としては、ASICに限るものではなく、また、上記クロック供給部20、すなわち、クロック発生手段であるSSCG21や動作クロック制御手段であるモジュール分周制御部23、また、複数クロック生成手段であるクロック分周器22や選択手段であるセレクタ24a〜24cは、データ処理回路であるASIC4内に設けられている必要はなく、ASIC4外に設けられていてもよい。
図8から図19は、本発明のデータ処理回路、省電力方法、省電力プログラム、記録媒体及び機器の第2実施例を示す図であり、図8は、本発明のデータ処理回路、省電力方法、省電力プログラム、記録媒体及び機器の第2実施例を適用した機器としての複写装置100の要部ブロック構成図である。
図8において、複写装置100は、スキャナ部101、プロッタ部102、データ処理回路としてのASIC110、ASIC120、ASIC130、メインCPU140、エンジンCPU150及びメモリ160等を備えており、ASIC110とASIC120、ASIC120とメインCPU140及びメインCPU140とASIC130との間は、それぞれ第1PCIe I/F(インターフェイス)171、第2PCIe I/F172、第3PCIe I/F173によって接続されており、メインCPU140とメモリ160とは、DDR(Double Data Rate) I/F174によって接続されている。また、複合装置100は、図示しないが、ROM、RAM、操作表示部等を備えている。
複写装置100は、第1実施例の複写装置1と同様に、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVD、SDカード、MO等の複写装置100が読み取り可能な記録媒体に記録されている本発明の省電力方法を実行する省電力プログラムを読み込んでROMやハードディスク等に導入することで、後述するデータ処理回路の動作を自動的に省電力動作させる省電力方法を実行するデータ処理回路としてのASIC103を搭載した複写装置1として構築されている。この省電力プログラムは、アセンブラ、C、C++、C#、Java(登録商標)等のレガシープログラミング言語やオブジェクト指向ブログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
スキャナ部101は、第1実施例のスキャナ部2と同様の構成であり、例えば、CCDを利用したラインイメージセンサ等が用いられていて、一般にADFを備えている。スキャナ部101は、ADFから搬送されてきた原稿を走査し、原稿の画像を所定の解像度で読み取り、サンプリング処理、A/D変換処理等を行ってデジタルの画像データをASIC110に出力する。
プロッタ部102は、第1実施例のプロッタ部3と同様の構成であり、ASIC130から渡される画像データに基づいて所定の印刷方式、例えば、電子写真方式やインク噴射方式等によって画像を用紙に記録出力する。
ASIC(データ処理回路)110は、第1PCIe I/F171用のI/OであるPCIeエンドポイント(PCI Express ENDP(Endpoint))111を備えているとともに、図9〜図11に示すように、第1画像処理モジュール112を搭載しており、第1画像処理モジュール112は、PCIeエンドポイント111を介してASIC120にデータ転送を行うWDMAC113を備えている。
ASIC110は、入力される動作クロックに基づいて、スキャナ部101から送られてくる画像データに対して、第1画像処理モジュール(機能モジュール)112で、所定の画像処理、例えば、スキャナ特性の補正等の画像処理を施し、第1画像処理モジュール112で処理された画像データをWDMAC113によってPCIeエンドポイント111を通しASIC120に転送する。
ASIC110とASIC120は、第1PCIe I/F171を介してASIC110のPCIeエンドポイント111とASIC120のPCIeルートコンプレックス(PCI Express ROOT(Root Complex))121との間で確立されるリンクのリンク幅によるPCIe転送を行う。PCIeエンドポイント111とPCIeルートコンプレックス121との間で確立されるリンク幅は、PCIeエンドポイント111のサポートするリンク幅とPCIeルートコンプレックス121のサポートするリンク幅のうち狭い方のリンク幅に制限される。
ASIC(データ処理回路)120は、第1PCIe I/F171用のI/OであるPCIeルートコンプレックス121と第2PCIe I/F172用のI/OであるPCIeエンドポイント122を備えているとともに、図9に示すように、入力制御モジュール123と第2画像処理モジュール124を搭載している。入力制御モジュール123は、PCIeエンドポイント111を介してASIC110からデータ転送されてきたデータをPCIeエンドポイント122を介してメインCPU140にデータ転送を行うWDMAC125を備えている。第2画像処理モジュール124は、PCIeエンドポイント122を介してメインCPU140からデータを受け取るRDMAC(Read Direct Memory Access Controller)126を備えているとともに、第2画像処理モジュール124で処理済みの画像データを、PCIeエンドポイント122を介してメインCPU140に転送してメインCPU140によってメモリ(記憶手段)160に書き込ませるWDMAC(Write Direct Memory Access Controller)127を備えている。
ASIC120の第2画像処理モジュール124は、RDMAC126によってPCIeエンドポイント122、第2PCIe I/F172及びメインCPU140のPCIeルートコンプレックス141を通してメインCPU140にメモリ160から読み取らせ画像データに対して解像度変換、回転処理等の各種画像処理を行い、画像処理後の画像データをWDMAC127によってPCIeエンドポイント122、第2PCIe I/F172及びPCIeルートコンプレックス141を通してメインCPU140にメモリ160に書き込ませる。
メインCPU(リンク幅設定手段、データ量判定手段)140は、ROM内のプログラムに基づいて複写装置100の各部を制御して複写装置100としての基本処理を実行するとともに、後述する省電力処理を実行する。また、機器のデバイスとしてのメインCPU140は、PCIeルートコンプレックス141、142を備えており、第2PCIe I/F172を介してPCIeルートコンプレックス141とASIC120のPCIeエンドポイント122との間で確立されるリンクのリンク幅によるPCIe転送を行う。PCIeエンドポイント122とPCIeルートコンプレックス141との間で確立されるリンク幅は、PCIeエンドポイント122のサポートするリンク幅とPCIeルートコンプレックス141のサポートするリンク幅のうち狭い方のリンク幅に制限される。
ASIC(データ処理回路)130は、PCIeエンドポイント131を備えており、PCIeエンドポイント131は、メインCPU140のPCIeルートコンプレックス142と第3PCIe I/F173で接続されている。ASIC130は、図9に示すように、出力制御部モジュール132を搭載しており、出力制御部モジュール132は、PCIeエンドポイント131を介してメインCPU140から画像データを受け取ってプロッタ部102にデータ転送するRDMAC133を備えている。
メインCPU140は、第3PCIe I/F173を介してASIC130のPCIeエンドポイント131とPCIeルートコンプレックス142との間で確立されるリンクのリンク幅によるPCIe転送を行う。PCIeエンドポイント122とPCIeルートコンプレックス141との間で確立されるリンク幅は、PCIeエンドポイント122のサポートするリンク幅とPCIeルートコンプレックス141のサポートするリンク幅のうち狭い方のリンク幅に制限される。
複写装置100は、画像データのデータ転送状態(動作モード)として、図10に示すスキャナ転送状態DT1、図11に示すコピー転送状態DT2及び図12に示すプリント転送状態DT3がある。
複写装置100は、図10のスキャナ転送状態DT1では、スキャナ部101で読み取った1枚の原稿の画像データをメモリ160に転送してメモリ160に保管するスキャナtoメモリ転送工程Tsmでデータ転送を行う。すなわち、複写装置100は、スキャナtoメモリ転送工程Tsmでデータ転送を行うスキャナ転送状態DT1では、スキャナ部101で読み取られた画像データをASIC110の第1画像処理モジュール112で画像処理して、第1画像処理モジュール112のWDMAC113からASIC120の入力制御モジュール123に送り、入力制御モジュール123が、WDMAC125によってPCIeエンドポイント122、第2PCIe I/F172及びPCIeルートコンプレックス141を介してメインCPU140に送って、メインCPU140が該画像データをDDR I/F174を通してメモリ160に書き込む。
また、複写装置100は、図11のコピー転送状態DT2では、スキャナ部101で読み取った1枚の原稿の画像データをメモリ160に転送してメモリ160に保管するスキャナtoメモリ転送工程Tsm、メモリ160に保管されている1ページ分の画像データをASIC120の第2画像処理モジュール124に転送して必要な画像処理を施して再度メモリ160に書き戻すメモリtoメモリ転送工程Tmm及びメモリ160の1ページ分の画像データ2をASIC130の出力制御モジュール132に転送してプロッタ部102に転送してプロッタ部102に画像形成させるメモリtoプロッタ転送工程Tmpでデータ転送する。すなわち、複写装置100は、コピー転送状態DT2のスキャナtoメモリ転送工程Tsmでは、上記同様に、スキャナ部101で読み取られた画像データをASIC110の第1画像処理モジュール112で画像処理して、第1画像処理モジュール112のWDMAC113からASIC120の入力制御モジュール123に送り、入力制御モジュール123が、WDMAC125によってPCIeエンドポイント122、第2PCIe I/F172及びPCIeルートコンプレックス141を介してメインCPU140に送って、メインCPU140が該画像データをDDR I/F174を通してメモリ160に書き込む。そして、複写装置100は、コピー転送状態DT2のメモリtoメモリ転送工程Tmmでは、ASIC120の第2画像処理モジュール124が、RDMAC126によりPCIeエンドポイント122、第2PCIe I/F172及びメインCPU140のPCIeルートコンプレックス141を介してメモリ160から画像データを読み出して、必要な画像処理を施した後、WDMAC125により第2PCIe I/F172を通してメインCPU140に送り、メインCPU140がDDR I/F174を介してメモリ160に送って保管させる。さらに、複写装置100は、コピー転送状態DT2のメモリtoプロッタ転送工程tmpでは、ASIC130の出力制御モジュール132が、RDMAC133によりPCIeエンドポイント131、第3PCIe I/F173及びメインCPU140のPCIeルートコンプレックス142を介してメモリ160から画像データを読み出して、プロッタ部102に送り、プロッタ部102に画像形成させる。
さらに、複写装置100は、図12のプリント転送状態DT3では、上記コピー転送状態DT2でのメモリtoメモリ転送工程Tmmとメモリtoプロッタ転送工程Tmpと同じメモリtoメモリ転送工程Tmmとメモリtoプロッタ転送工程Tmpでデータ転送を行う。
また、本実施例の複写装置100は、ASIC110、ASIC120及びASIC130が、図13に示すように、第1実施例のクロック供給部20と同様のクロック供給部200を搭載しており、クロック供給部(動作クロック制御手段)200は、クロック分周器201、モジュール分周制御部202及び機能モジュールに対応した数のセレクタ203a〜203c等を備えている。なお、セレクタ203は、ASIC110、120、130が搭載している機能モジュール(ASIC110では、第1画像処理モジュール112、ASIC120では、入力制御モジュール123と第2画像処理モジュール124、ASIC130では、出力制御モジュール132)に対応する数を搭載しており、図13では、機能モジュールとして、モジュールAからモジュールCの3つのモジュールを搭載している場合について例示しているので、セレクタ203a〜203cの3つのセレクタを搭載している状態として記載されている。
クロック供給部200は、第1実施例のSSCG21と同様のクロック発生器から所定の基準クロック(動作クロック)が、クロック分周器201及び各セレクタ203a〜203cに入力され、クロック分周器201は、基準クロックを2分周及び4分周して、2分周クロックと4分周クロックを各セレクタ203a〜203cに出力する。
PCIeI/F回路210は、各ASIC110、120、130のPCIeエンドポイント111、PCIeルートコンプレックス121、PCIeエンドポイント122、PCIeエンドポイント131であり、それぞれリンク幅情報通知部211を備えている。各リンク幅情報通知部211は、第1PCIe I/F171、第2PCIe I/F172及び第3PCIe I/F173で接続される相手先のASIC120、またはメインCPU140のPCIe I/F回路との間で確立されたリンクのリンク幅を取得して、該リンク幅情報をモジュール分周制御部202に通知する。
モジュール分周制御部202は、PCIe I/F回路210のリンク幅情報通知部211から通知されるリンク幅に基づいて、各セレクタ203a〜203cに入力されている基準クロック、2分周クロック、4分周クロックのうちの1つを選択させる選択信号を出力する。
各セレクタ203a〜2034cは、モジュール分周制御部202からの選択信号に応じて、入力される基準クロック、2分周クロック、4分周クロックのうちの1つを選択して、対応する機能モジュールA〜Cに出力する。
すなわち、本実施例の複写装置100は、第1PCIe I/F171、第2PCIe I/F172及び第3PCIe I/F173を用いたデータ転送において確立されたリンク幅に応じてクロック周波数を決定するとともに、このリンク幅を複写装置100の備えている動作モードのうち、要求される動作モードに応じてリンク幅を変更し、該変更したリンク幅に応じてクロック周波数を決定する。
なお、複写装置100は、上述のように、データの転送モードとして、上記スキャナtoメモリ転送工程Tsmのデータ転送モード、メモリtoメモリ転送工程Tmm及びメモリtoプロッタ転送工程Tmpの各転送モードを有しているが、その動作モードとしては、上記スキャナ転送状態DT1、コピー転送状態DT2及びプリント転送状態DT3に限るものではなく、スキャナ部101で読み取った原稿の画像データをスキャナtoメモリ転送工程Tsmのデータ転送モードでメモリ160に格納した後、図示しない通信I/Fに接続されているLAN(Local Area Network)やインターネット等のネットワークで接続されている外部装置に転送するスキャナモード、該ネットワークで接続されて外部装置から送られてきたデータを一旦メモリ160に保管した後、必要に応じてメモリtoメモリ転送工程TmmによってASIC120の第2画像処理モジュール124に送って画像処理してメモリ160に戻した後、メモリtoプロッタ転送工程Tmpによってプロッタ部102に転送して画像形成するプリンタモード等を有していてもよい。
また、複写装置100は、このような動作モード、特に、データ転送モードを、複数同時に実行する機能を備えており、要求されている動作モードによってデータ転送に必要な転送モードを判定して、転送モードの切り換え毎に、リンク幅を変更して高効率で高速のデータ転送を行う。
そこで、複写装置100は、図14に示すように、各PCIe I/F171、172、173に対して、図10〜図12に示したデータ転送状態DM1、DM2、DM3でのモノクロデータとカラーデータのデータ種類に応じたリンク幅と待機状態TMでのリンク幅を対応付けたリンク幅テーブルをROM等の不揮発性メモリに予め格納し、CPU140が、データ転送モードDT1、DT2、DT3及び待機状態とデータ種類(モノクロ/カラー)を判断して必要なリンク幅を取得し、データ転送に必要なPCIe I/F171〜173のリンク幅を設定する。なお、リンク幅テーブルでは、待機時は、簡単な通信(レジスタアクセス等)を実行することができればよいため、リンク幅がx1となっており、データ転送モードDT1、DT2、DT3でのリンク幅については、最適なデータ転送と消費電力を考慮したリンク幅となっている。
次に、本実施例の作用を説明する。本実施例の複写装置100は、第1実施例の複写装置1と同様に、各ASIC110、ASIC120及びASIC130が、第1PCIe I/F171、第2PCIe I/F172及び第3PCIe I/F173の確立されるリンク幅に応じてその搭載する機能モジュール112、123、124、132の動作クロックを変更するとともに、要求されている複写装置100の動作モードにおいて必要な転送モードに応じてリンク幅を変更する。
すなわち、複写装置100は、第1実施例の複写装置1と同様に、その搭載するASIC110、120、13が、種々の機種や機器に適用可能な機能モジュール112、123、124、132を内蔵するASICとして開発され製造されたASICを搭載しており、その適用される機種や機器及び接続される相手ASICやCPU等のデバイスによってハードウェア構成上から要求されるリンク幅を決定して、PCIe I/F回路210のリンク幅情報通知部210からクロック供給部200のモジュール分周制御部202にリンク幅を通知する。そして、クロック供給部200が該リンク幅に応じた動作クロックを、そのASIC110、120、130の内蔵する機能モジュール112、123、124、132に出力して、ASIC110、120、130で消費される消費電力を削減させる。
ところが、リンク幅は、ハードウェア構成上から要求されるリンク幅だけでなく、複写装置100の動作モードによって決定されるデータ転送状態DM1、DM2、DM3やデータ転送モードTsm、Tmm、Tmpで適切にデータ転送を行うリンク幅が要求される。
そこで、本実施例の複写装置100は、複写装置100の動作モードによって決定されるデータ転送状態DM1、DM2、DM3に基づいて予め設定されている各PCIe I/F171、172、173のリンク幅を決定して、決定したリンク幅に基づいてクロック供給部200で動作クロックを決定する。
なお、以下の説明では、説明を明確にするために、コピー処理動作モードでのデータ転送制御処理について説明する。各DMAC113、125、126、127、133は、1ページ分のデータ転送が完了すると、メインCPU140に対して割り込みを発行し、メインCPU140は、その割り込みを検知した後、次の再開データ転送タイミングを制御する。エンジンCPU150は、スキャナ部101及びプロッタ部102の起動制御を行い、ASIC130を通してメインCPU140と通信を行う。
メインCPU140は、図15に示すように、スキャナ開始トリガが入力されると(ステップS101)、ASIC120の第2画像処理モジュール124が画像処理実行中であるかチェックし(ステップS102)、第2画像処理モジュール124が画像処理実行中であると、第2画像処理モジュール124のWDMAC127からの一時停止割り込みを待つとともに、該一時停止割り込みが入るまで、エンジンCPU150にスキャナ動作を開始するのを待たせる(ステップS103、S104)。
ステップS104で、第2画像処理モジュール1240のWDMAC127から一時停止割り込みが入ると、メインCPU140は、第2画像処理モジュール124に対しては次の転送開始命令を発行することなく、第2PCIe I/F172のリンク幅(レーン数)の変更を行う。メインCPU140は、このリンク幅の変更において、上述のように、図14に示したリンク幅テーブルを参照して行う。すなわち、いま、第2PCIe I/F172について、リンク幅を調整するため、図14のリンク幅テーブルから、現在の第2PCIe I/F172のデータ転送状態は、スキャナ動作を開始する前であって、第2画像処理モジュール124で画像処理を行っているので、メモリtoメモリ転送工程Tmmとメモリtoプロッタ転送工程Tmpのデータ転送を行っているプリント転送状態DT3であり、処理データがモノクロであっても、カラーであっても、x2である。そして、プリント転送状態DT3でスキャナ開始トリガが入力されたので、データ転送状態としてコピー転送状態DT2が要求されている状態であり、コピー転送状態DT2では、図14のリンク幅テーブルから処理データがモノクロであっても、カラーであっても、リンク幅として、×4が必要となる。そこで、メインCPU140は、1ページの画像データの転送処理が完了した時点で処理を一時停止させて、リンク幅の変更を行う(ステップS103からS105)。
メインCPU140は、リンク幅の変更を行うと、エンジンCPU150を介してスキャナ部101にスキャナ動作を開始させてスキャナtoメモリ転送工程Tsmによってスキャナ部101の読み取った1ページ分の画像データをメモリ160に転送して書き込みを行わせるとともに、第2画像処理モジュール124に停止させていたデータ転送を再開させて、メモリtoメモリ転送工程Tmm及びメモリtoプロッタ転送工程Tmpによって第2画像処理モジュール124で画像処理した画像データのプロッタ部102における画像形成を再開させる(ステップS106)。
メインCPU140は、ステップS102で、画像処理を実行中でないときには、図19に示すリンク幅設定処理を行い(ステップS107)、リンク幅設定処理を完了すると、まず、1枚の原稿のスキャナ処理を開始して、スキャナ転送状態DT1のデータ転送を開始する。
次に、複写装置100は、スキャナの一時停止のトリガが入ったときのデータ転送制御処理を、図16に示すように行う。メインCPU140は、第1画像処理モジュール112のWDMAC113または第2画像処理モジュール124のWDMAC125からスキャナ一時停止トリガが入力されると(ステップS201)、第2画像処理モジュール124が画像処理中であるかチェックし(ステップS202)、画像処理中であると、データ転送状態はコピー転送状態DT2であり、リンク幅(レーン数)は、×4であって、本実施例の場合、これ以上リンク幅を広げることができないので、そのままスキャナ転送1枚の原稿のスキャナ処理を再開させて、データ転送を再開する(ステップS203)。
ステップS202で、第2画像処理モジュール124が画像処理実行中でないときには、メインCPU140は、第2画像処理モジュール124に対する次のジョブ、すなわち、次ページのデータ処理があるかチェックし(ステップS204)、第2画像処理モジュール124に対する次のジョブがあるときには、第2PCIe I/F172のリンク幅(レーン数)が、×4であるかチェックする(ステップS205)。すなわち、第2画像処理モジュール124での画像処理が完了しているが、データ転送状態がコピー転送状態DT2となっていてリンク幅が×4のままであるかチェックするリンク幅のチェックを行う。
ステップS205で、第2PCIe I/F172のリンク幅が×4でないとき(リンク幅が×2のとき)には、メインCPU140は、コピー処理を行うために、図14のリンク幅テーブルからデータ転送状態DT2のリンク幅が必要であるため、第2PCIe I/F172のリンク幅(レーン数)を、×4に変更して(ステップS206)、エンジンCPU150を介してスキャナ部101にスキャナ動作を開始させてスキャナtoメモリ転送工程Tsmによってスキャナ部101の読み取った1ページ分の画像データをメモリ160に転送して書き込みを行わせるとともに、第2画像処理モジュール124にデータ転送を再開させて、メモリtoメモリ転送工程Tmm及びメモリtoプロッタ転送工程Tmpによって第2画像処理モジュール124で画像処理した画像データのプロッタ部102における画像形成を再開させる(ステップS207)。
ステップS205で、第2PCIe I/F172のリンク幅が×4のときには、メインCPU140は、リンク幅の変更を行う必要がないため、そのまま、スキャナ動作を開始させてスキャナtoメモリ転送工程Tsmによってスキャナ部101の読み取った1ページ分の画像データをメモリ160に転送して書き込みを行わせるとともに、第2画像処理モジュール124にデータ転送を再開させて、メモリtoメモリ転送工程Tmm及びメモリtoプロッタ転送工程Tmpによって第2画像処理モジュール124で画像処理した画像データのプロッタ部102における画像形成を再開させる(ステップS207)。
ステップS204で、第2画像処理モジュール124に対する次のジョブがないときには、メインCPU140は、第2PCIe I/F172のリンク幅が×2であるかチェックし(ステップS208)、リンク幅が×2でないときには、第2PCIe I/F172のリンク幅(レーン数)を×2に再構成してデータ転送状態をスキャナ転送状態DT1として(ステップS209)、リンクの再構成が完了すると、スキャナ動作を開始させてスキャナtoメモリ転送工程Tsmによってスキャナ部101の読み取った1ページ分の画像データをメモリ160に転送して書き込みを行わせる(ステップS210)。
ステップS208で、第2PCIe I/F172のリンク幅が×2のときには、メインCPU140は、リンク幅の変更を行う必要がないと判断して、スキャナ動作を開始させてスキャナtoメモリ転送工程Tsmによってスキャナ部101の読み取った1ページ分の画像データをメモリ160に転送して書き込みを行わせる(ステップS210)。
次に、複写装置100は、スキャナ完了トリガが入力されたときのデータ転送制御処理を、図17に示すように行う。メインCPU140は、第1画像処理モジュール112のWDMAC113または第2画像処理モジュール124のWDMAC125からスキャナ完了トリガが入力されると(ステップS301)、第2画像処理モジュール124が画像処理中であるかチェックし(ステップS302)、画像処理中であると、次のスキャナジョブがあるかチェックする(ステップS303)。この次のスキャナジョブの有無は、スキャナ部101に設けられている原稿台上の原稿の有無を検出する原稿検知センサによる検出結果を、エンジンCPU150がメインCPU140に通知し、メインCPU140がこの通知に基づいて判断する。
ステップS303で、次のスキャナジョブがあるときには、メインCPU140は、いま、データ転送状態はコピー転送状態DT2であって、リンク幅(レーン数)は、×4であり、そのままデータ転送状態DT2を維持してリンク幅×4が必要なため、そのまま処理を継続する。
ステップS303で、第2画像処理モジュール124に対する次のジョブがあるときには、メインCPU140は、第2画像処理モジュール124のWDMAC127からの一時停止割り込み(一時停止トリガ)を待ち(ステップS304、S305)、第2画像処理モジュール124からの一時停止トリガを検知すると、図14のリンク幅テーブルに基づいて第2PCIe I/F172のリンク幅(レーン数)を、プリント転送状態DT3で必要とされる×2に変更して(ステップS306)、第2画像処理モジュール124にデータ転送を再開させて、メモリtoメモリ転送工程Tmm及びメモリtoプロッタ転送工程Tmpによって第2画像処理モジュール124で画像処理した画像データのプロッタ部102における画像形成を再開させる(ステップS307)。
ステップS302で、第2画像処理モジュール124が画像処理中でないときには、メインCPU140は、次のスキャナジョブがあるかチェックし(ステップS308)、次のスキャナジョブがないときには、待機状態に遷移するため、リンク幅テーブルを参照して、全てのPCIe I/F171、172、173のリンク幅を、待機状態時のリンク幅である×1に変更して、待機状態に移行する(ステップS309)。
ステップS308で、次のスキャナジョブがあるときには、図15に示したスキャナ開始時データ転送制御処理へ移行する(ステップS310)。
次に、複写装置100は、画像処理完了トリガが入力されたときのデータ転送制御処理を、図18に示すように行う。メインCPU140は、例えば、第2画像処理モジュール124のWDMAC125から画像処理完了トリガが入力されると(ステップS401)、スキャナデータ転送処理中であるかチェックし(ステップS402)、スキャナデータ転送処理中であると、現在のデータ転送状態がコピー転送状態DT2であってリンク幅が×4に設定されていると判断して、このコピー転送状態DT2から画像処理完了によってスキャナ転送状態DT1に移行するために、スキャナ一時停止トリガが入力されるのを待つ(ステップS403、S404)。
ステップS404で、スキャナ一時停止トリガが入力されると、メインCPU140は、図16に示したスキャナ一時停止時データ転送制御処理に移行する(ステップS405)。
ステップS402で、スキャナデータの転送処理中でないときには、メインCPU140は、次のスキャナジョブがあるかチェックし(ステップS406)、次のスキャナジョブがないときには、待機状態に遷移するため、リンク幅テーブルを参照して、全てのPCIe I/F171、172、173のリンク幅を、待機状態時のリンク幅である×1に変更して、待機状態に移行する(ステップS407)。
ステップS406で、次のスキャナジョブがあるときには、メインCPU140は、図15に示したスキャナ開始時データ転送制御処理へ移行する(ステップS408)。
そして、複写装置100は、転送処理対象のデータのデータ量を判定して、判定したデータ量に応じてPCIe I/F171〜173のリンク幅(レーン数)を設定してもよい。この転送処理対象のデータ量の判定は、例えば、処理対象のデータがカラーデータであるのか、モノクロデータであるのかのデータ種類、原稿サイズ、解像度等に基づいて行う。
例えば、複写装置100は、データ種類に基づいてデータ量を判定してPCIe I/F171〜173のリンク幅を設定するリンク幅設定処理を行う場合、以下のように行う。
すなわち、複写装置100は、コピースタート時のデータ処理種別として、カラー、モノクロ、自動判定の処理モードを有しており、いずれのデータ種別でデータ処理するかを操作表示部の操作で設定することができる。メインCPU140は、操作表示部のキー操作でコピースタートが指示操作されると、図19に示すように、まず、操作表示部によるデータ処理種別をチェックして自動判定モードであるか判断する(ステップS501)。
メインCPU140は、ステップS501で、自動判定モードであると、第1画像処理モジュール112または第2画像処理モジュール124によって色判定を行うが、スキャナ部101によって原稿の1ページ目を読み取って画像処理を行うまでは色判定を行うことができないため、データがカラーであるときにも適切に対応するために、第1PCIe I/F171と第3PCIe I/F173のリンク幅(レーン数)を、×4に、第2PCIe I/F172のリンク幅(レーン数)を、×2に設定し(ステップS502)、スキャナ部101での原稿の読み取りを開始させて読み取られたスキャナデータの転送を開始する。メインCPU140は、その後、データ処理種別の自動判定を行って、判定したデータ種別(カラーであるか、モノクロであるか)によって、図14に示したリンク幅の制御を行い、スキャナデータの転送を開始する(ステップS503)。
ステップS501で、自動判定モードでないときには、メインCPU140は、設定されている設定データ処理モードがカラーモードであるか、モノクロモードであるかチェックする(ステップS504)。
ステップS504で、設定データ処理モードがカラーモードであると、第1PCIe I/F171と第3PCIe I/F173のリンク幅(レーン数)を、×4に、第2PCIe I/F172のリンク幅(レーン数)を、×2に設定し(ステップS505)、スキャナ部101での原稿の読み取りを開始させて読み取られたスキャナデータの転送を開始し、その後、カラーモードによって、図14に示したリンク幅の制御を行い、スキャナデータの転送を開始する(ステップS503)。
ステップS504で、設定データ処理モードがモノクロモードであると、全てのPCIe I/F171〜173のリンク幅(レーン数)を、×2に設定し(ステップS506)、スキャナ部101での原稿の読み取りを開始させて読み取られたスキャナデータの転送を開始し、その後、モノクロモードによって、図14に示したリンク幅の制御を行い、コピーデータ制御処理を行う(ステップS503)。
このように、本実施例の複写装置100は、データ処理回路としてのASIC110、120、130が、それぞれ機能モジュールとして、第1画像処理モジュール112、入力制御モジュール123と第2画像処理モジュール124、出力制御部モジュール132を搭載して所定の動作クロックに基づいて動作してモジュール112、123、124、132でデータ処理を行うとともに、その他のデバイスであるメインCPU140との間で、複数の動作モードに応じて、PCIeのデータ転送のバス接続のリンクを確立して、確立したリンクのリンク幅に応じてPCIe I/F171、172、173を利用したデータ転送を行う際に、動作モードに基づいてASIC110、120、130相互とメインCPU140との間で確立されるバス接続のリンクのリンク幅を設定し、設定したリンク幅に基づいて動作クロックのクロック周波数を変更している。
したがって、動作モードに基づいてバス接続のリンク幅を設定して該動作モードに応じたデータ転送を適切に行うことができるとともに、リンク幅に基づいて動作クロックのクロック周波数を変更して、消費電力を適切に削減することができる。
また、本実施例の複写装置100は、データをページ単位でバス接続のリンクを確立してデータ転送を行い、ページ単位でのリンクの確率に際してリンク幅の設定を行っている。
したがって、ページ単位でリンク幅の設定及びクロック周波数の設定を適切に行ってデータ転送してデータ処理を行うことができ、データ処理効率をより一層向上させることができるとともに、データ処理を簡略化してデータ処理に必要なコストを削減することができる。
さらに、本実施例の複写装置100は、動作モードとして、読み取られた原稿の画像データをASIC110とASIC120との間または/及びASIC120、130とメインCPU140との間で確立されるバス接続を通してメモリ160にデータ転送するスキャナ転送状態(スキャナ動作モード)DT1と、メモリ160の画像データをASIC120とメインCPU140との間で確立されるバス接続を通してASIC120に転送してASIC120の第2画像処理モジュール124でデータ処理の施されたデータをメモリ160にバス接続を通してデータ転送するコピー転送状態(画像処理動作モード)DT2と、メモリ160の画像データをASIC130とメインCPU140との間で確立されるバス接続を通してプロッタ部102に転送するテンプレート転送状態(印刷動作モード)DT3と、を備え、各動作モードの開始タイミング、一時停止タイミング、終了タイミングにおいてリンク幅を設定している。
したがって、複写装置100の各種動作モードによって要求されるデータ転送に応じたリンク幅の設定とクロック周波数の設定を適切に行ってデータ転送することができ、処理効率をより一層向上させることができるとともに、処理を簡略化してコストを削減することができる。
また、本実施例の複写装置100は、PCIe I/F171、172、173を通して転送するデータ量を判定し、判定したデータ量に基づいて確立されるバス接続のリンクのリンク幅を設定している。
したがって、実際に転送するデータ量に応じてリンク幅の設定とクロック周波数の設定を適切に行ってデータ転送することができ、処理効率をより一層向上させることができるとともに、処理を簡略化してコストを削減することができる。
さらに、本実施例の複写装置100は、データがモノクロであるか、カラーであるかのデータ種別、データ処理の解像度、原稿サイズ等のデータサイズに基づいてデータ量を判定して、確立されるバス接続のリンクのリンク幅を設定している。
したがって、実際に転送するデータ量に応じてリンク幅の設定とクロック周波数の設定を適切に行ってデータ転送することができ、処理効率をより一層向上させることができるとともに、処理を簡略化してコストを削減することができる。
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。