以下、図面を参照して、本発明の実施形態に係る記録装置について説明する。なお、以下の実施形態は、本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
図1は、インクジェット記録装置1(以下、記録装置1)の内部構成図である。図において、x方向は水平方向、y方向(紙面垂直方向)は後述する記録ヘッド8において吐出口が配列される方向、z方向は鉛直方向をそれぞれ示す。
記録装置1は、プリント部2とスキャナ部3を備える複合機であり、記録動作と読取動作に関する様々な処理を、プリント部2とスキャナ部3で個別にあるいは連動して実行することができる。スキャナ部3は、ADF(オートドキュメントフィーダ)とFBS(フラットベッドスキャナ)を備えており、ADFで自動給紙される原稿の読み取りと、ユーザによってFBSの原稿台に置かれた原稿の読み取り(スキャン)を行うことができる。なお、ここでは、プリント部2とスキャナ部3を併せ持った複合機であるが、スキャナ部3を備えない形態であってもよい。また、図1では、記録装置1が記録動作も読取動作も行っていない待機状態にあるときを示す。
プリント部2において、筐体4の鉛直方向下方の底部には、記録媒体(カットシート)Sを収容するための第1カセット5Aと第2カセット5Bが着脱可能に設置されている。第1カセット5AにはA4サイズまでの比較的小さな記録媒体が、第2カセット5BにはA3サイズまでの比較的大きな記録媒体が、平積みに収容されている。第1カセット5A近傍には、収容されている記録媒体を1枚ずつ分離して給送するための第1給送ユニット6Aが設けられている。同様に、第2カセット5B近傍には、第2給送ユニット6Bが設けられている。記録動作が行われる際にはいずれか一方のカセットから選択的に記録媒体Sが給送される。
搬送ローラ7、排出ローラ12、ピンチローラ7a、拍車7b、ガイド18、インナーガイド19およびフラッパ11は、記録媒体Sを所定の方向に導くための搬送機構である。搬送ローラ7は、記録ヘッド8の上流側および下流側に配され、不図示の搬送モータによって駆動される駆動ローラである。ピンチローラ7aは、搬送ローラ7と共に記録媒体Sをニップして回転する従動ローラである。排出ローラ12は、搬送ローラ7の下流側に配され、不図示の搬送モータによって駆動される駆動ローラである。拍車7bは、記録ヘッド8の下流側に配される搬送ローラ7及び排出ローラ12と共に記録媒体Sを挟持して搬送する。
ガイド18は、記録媒体Sの搬送経路に設けられ、記録媒体Sを所定の方向に案内する。インナーガイド19は、y方向に延在する部材で湾曲した側面を有し、当該側面に沿って記録媒体Sを案内する。フラッパ11は、両面記録動作の際に、記録媒体Sが搬送される方向を切り替えるための部材である。排出トレイ13は、記録動作が完了し、排出ローラ12によって排出された記録媒体Sを積載保持するためのトレイである。
記録ヘッド8は、ラインヘッドタイプのカラーインクジェット記録ヘッドであり、記録データに従ってインクを吐出する吐出口が、図1におけるy方向に沿って記録媒体Sの幅に相当する分だけ複数、配列されている。記録ヘッド8が待機位置にあるとき、記録ヘッド8の吐出口面8aは、図1のように鉛直下方を向きキャップユニット10によってキャップされている。記録動作を行う際は、後述するプリントエンジンユニット940によって、吐出口面8aがプラテン9と対向するように記録ヘッド8の向きが変更される。プラテン9は、y方向に延在する平板によって構成され、記録ヘッド8によって記録動作が行われる記録媒体Sを背面から支持する。
インクタンクユニット14は、記録ヘッド8に供給される4色のインクをそれぞれ貯留する。インク供給ユニット15は、インクタンクユニット14と記録ヘッド8を接続する流路の途中に設けられ、記録ヘッド8内のインクの圧力及び流量を適切な範囲に調整する。記録装置1は、循環型のインク供給系を有し、インク供給ユニット15は記録ヘッド8に供給されるインクの圧力と記録ヘッド8から回収されるインクの流量を適切な範囲に調整する。メンテナンスユニット16は、キャップユニット10とワイピングユニット17を備え、所定のタイミングにこれらを作動させて、記録ヘッド8に対するメンテナンス動作を行う。
次に、記録装置1の制御構成について説明する。記録装置1は、主にプリント部2を統括するプリントエンジンユニット940と、スキャナ部3を統括するスキャナエンジンユニット300と、記録装置1全体を統括するコントローラユニット900によって構成されている。プリントエンジンユニット940は、コントローラユニット900(メインコントローラASIC1001)の指示に従って、各種機構を制御する。プリントエンジンユニット940は、複数の画像処理コントローラと記録制御コントローラを備え、コントローラユニットで生成された画像データを分割して、当該複数の画像処理コントローラの各々により並列に画像処理を実行する。以下、図2を用いて、記録装置1の制御構成を説明する。
図2は、記録装置1の制御構成を示すブロック図である。記録装置1は、コントローラユニット900、並びに、第1画像処理コントローラユニット910、第2画像処理コントローラユニット920、及び記録制御コントローラユニット930から構成されるプリントエンジンユニット940を備える。即ち、記録装置1は、4つのコントローラユニットを備えている。
コントローラユニット900は、第1画像処理コントローラユニット910、第2画像処理コントローラユニット920で画像処理する画像データを生成するメインユニットとして機能する。他方、第1画像処理コントローラユニット910及び第2画像処理コントローラユニット920は、コントローラユニット900に対するサブユニットとして機能する。以下、これらのユニットに関して、説明を補足する。
コントローラユニット900は、上述のように、入力された印刷ジョブに基づいて、第1画像処理コントローラユニット910、第2画像処理コントローラユニット920で画像処理する画像データを生成する。
コントローラユニット900のCPU(Central Processing Unit)901は、ROM907に格納されたプログラム等に従って、コントローラユニット全体を制御する演算装置である。レンダラ処理部902は、ホスト装置400からホストIF制御部904を介して送信されたページ記述言語(以下、PDL)データに基づいて、1ページ分の画像データを生成する。スキャナ画像処理部903は、スキャナエンジンユニット300からスキャナIF制御部905を介して送信されたスキャンデータに基づいて、1ページ分の画像データを生成する。
レンダラ処理部902又はスキャナ画像処理部903で生成された画像データは、コントローラユニット900のRAM908に一時的に格納され、第1画像処理コントローラユニット910又は第2画像処理コントローラユニット920に送信される。なお、以降において、送信対象とする画像データが格納されるRAMの領域を、送信バッファ領域と称する。
送信バッファ領域に格納された画像データは、ASIC間IF制御部906を介して第1画像処理コントローラユニット910に送信され、第1画像処理コントローラユニット910のRAM918に格納される。なお、以降において、受信した画像データが格納されるRAMの領域を、受信バッファ領域と称する。なお、本実施形態では、ASIC間IFとしてPCI Express規格(登録商標)の通信方式(即ち、シリアル通信方式)を用いる。また、PCI Express(以下、PCIe)におけるプロトコル処理及びDMA制御をASIC間IF制御部906(913)で実行する。
第1画像処理コントローラユニット910のCPU911は、RAM918の受信バッファ領域に格納された画像データに関して、第1画像処理コントローラユニット910において処理の対象とする画像データであるか判定する。即ち、第1画像処理コントローラユニット910のCPU911は、第1画像処理コントローラユニット910において記録データ生成処理の対象とする画像データであるか判定する。
その判定の結果、その画像データが記録データ生成処理の対象とする画像データであると判定されると、CPU911は、RAM918の受信バッファ領域に格納されている画像データに基づいて、画像処理部912に記録データを生成するように命令する。
画像処理部912は、上述のCPU911の命令に従って、RAM918の受信バッファ領域に格納された画像データに基づいて、記録データを生成し、その生成した記録データをRAM918に格納する。なお、以降において、記録データが格納されるRAMの領域を、プリントバッファ領域と称する。
RAM918のプリントバッファ領域に格納された記録データは、ASIC間IF制御部914を介して第2画像処理コントローラユニット920に送信され、RAM928のプリントバッファ領域に格納される。
他方、その画像データが記録データ生成処理の対象とする画像データではないと判定されると、RAM918の受信バッファ領域に格納されている画像データを、ASIC間IF制御部914を介して第2画像処理コントローラユニット920に転送する。そして、この転送された画像データは、第2画像処理コントローラユニット920のRAM928の受信バッファ領域に格納される。
第2画像処理コントローラユニット920の画像処理部922は、RAM928の受信バッファ領域に格納されている画像データに基づいて記録データを生成する。画像処理部922で生成された記録データは、RAM928のプリントバッファ領域に格納される。なお、RAM928のプリントバッファ領域には、第1画像処理コントローラユニット910で生成された記録データも格納されるので、最終的に、RAM928のプリントバッファ領域において、1ページ分の記録データが生成されることとなる。
RAM928のプリントバッファ領域において、1ページ分の記録データの生成が完了すると、CPU921は、当該1ページ分の記録データに基づく記録開始通知を、記録制御コントローラユニット930に通知する。この記録開始通知の後に、CPU921は、RAM928のプリントバッファ領域に格納されている記録データを、ASIC間IF制御部924を介して記録制御コントローラユニット930に送信する。そして、この送信された記録データは、記録制御コントローラユニット930のRAM938に格納される。
記録制御コントローラユニット930は、第2画像処理コントローラユニット920から記録開始通知が通知されると、記録データを受信し、その受信した記録データをRAM938に格納する。その後、HV処理部931は、RAM938に格納された記録データに対してHV変換処理を実行する。HV処理部931は、そのHV変換処理によって並び替えた記録データを、再びRAM938に格納する。記録制御部934は、RAM938に格納されたHV変換処理後の記録データを記録ヘッド8に送信することで、用紙等の記録媒体に画像を記録する記録動作を制御する。
図3は、記録装置1のリセット構成図である。以下、図3を用いて、コントローラユニット900、第1画像処理コントローラユニット910、第2画像処理コントローラユニット920、記録制御コントローラユニット930のリセット構成に関して、詳細に説明する。なお、図3において、図2で図示している構成(ブロック)と同じ構成には同じ符号を付しており、当該構成に関して、ここではその説明を省略する。
メインコントローラASIC1001は、図2のCPU901、レンダラ処理部902、スキャナ画像処理部903、ホストIF制御部904、スキャナIF制御部905、及びASIC間IF制御部906を内部に実装したASICである。メインコントローラASIC1001にはROM907、RAM908が接続され、メインコントローラASIC1001は、ROM907に格納された動作用プログラムを読み出すことで、各種動作を制御する。
メインコントローラASIC1001は、プログラム制御可能な端子としてP01端子、P02端子を備え、P01端子によりP_PW_ON信号、P02端子によりP_RST_L信号(リセット制御信号)を駆動する。加えて、これらの信号は、プリントエンジンユニット940に配線接続される。
それ以外の端子として、メインコントローラASIC1001(より詳細には、ASIC間IF制御部906)は、PCIeの端子としてTX端子とRX端子を備える。メインコントローラASIC1001のTX端子から出力される信号SG_DW_1は、第1画像処理コントローラASIC1011のRX1端子に接続される。また、第1画像処理コントローラASIC1011のTX1端子から出力される信号SG_UP_1は、メインコントローラASIC1001のRX端子に接続される。
補足として、PCIeのTX信号、RX信号は差動信号として規格化されており、図3に示す各々のASICに関して、正極性信号TX_P、その反転信号である負極性信号TX_N、同様にRX_P、RX_Nが組になって差動信号を形成する。なお、以降の説明において、表記を簡便にするため、差動信号としての表記を省略する。
第1画像処理コントローラASIC1011は、図2のCPU911、画像処理部912、ASIC間IF制御部913、及びASIC間IF制御部914を内部に実装したASICである。第1画像処理コントローラASIC1011にはROM917、RAM918が接続され、第1画像処理コントローラASIC1011は、ROM917に格納された動作用プログラムを読み出すことで、各種動作を制御する。
第1画像処理コントローラにおいて、ASIC間IF制御部913は、PCIeの端子としてTX1端子とRX1端子を備え、また、ASIC間IF制御部913の制御するPCIe信号は、TX信号とRX信号が組になっている。なお、メインコントローラASIC1001との接続は、上述のとおりである。
また、ASIC間IF制御部914はPCIeの端子としてTX2端子とRX2端子を備え、ASIC間IF制御部914の制御するPCIe信号は、TX信号とRX信号が組になっている。第1画像処理コントローラASIC1011のTX2端子から出力される信号SG_DW_2は、第2画像処理コントローラASIC1021のRX1端子に接続される。また、第2画像処理コントローラASIC1021のTX1端子から出力される信号SG_UP_2は、第1画像処理コントローラASIC1011のRX2端子に接続される。
第2画像処理コントローラASIC1021は、図2のCPU921、画像処理部922、ASIC間IF制御部923、ASIC間IF制御部924を内部に実装したASICである。第2画像処理コントローラASIC1021にはROM927、RAM928が接続され、第2画像処理コントローラASIC1021は、ROM927に格納された動作用プログラムを読み出すことで、各種動作を制御する。
第2画像処理コントローラASIC1021は、プログラム制御可能な端子としてP20端子、P21端子、P22端子を備え、P20端子によりH_VH_ON信号、P21端子によりH_PW_ON信号、P22端子によりH_RST_L信号を駆動する。加えて、H_VH_ON信号はFET1043、H_PW_ON信号はFET1042、H_RST_L信号はオープンドレインバッファ1033に配線接続される。
それ以外の端子として、第2画像処理コントローラユニット920(より詳細には、ASIC間IF制御部923及びASIC間IF制御部924)は、PCIeの端子を備える。第2画像処理コントローラにおいて、ASIC間IF制御部923は、PCIeの端子としてTX1端子とRX1端子を備え、ASIC間IF制御部923の制御するPCIe信号は、TX信号とRX信号が組になっている。なお、第1画像処理コントローラASIC1011との接続は、上述のとおりである。
ASIC間IF制御部924は、PCIeの端子としてTX2端子とRX2端子を備え、ASIC間IF制御部924の制御するPCIe信号は、TX信号とRX信号が組になっている。第2画像処理コントローラASIC1021のTX2端子から出力される信号SG_DW_3は、記録制御コントローラASIC1031のRX端子に接続される。また、記録制御コントローラASIC1031のTX端子から出力される信号SG_UP_3は、第2画像処理コントローラASIC1021のRX2端子に接続される。
記録制御コントローラASIC1031は、図2のHV処理部931、ASIC間IF制御部933、及び記録制御部934を内部に実装したASICである。記録制御コントローラASIC1031にはROM937、RAM938が接続され、記録制御コントローラASIC1031は、ROM937に格納された動作用プログラムを読み出すことで、各種動作を制御する。
記録制御コントローラASIC1031において、ASIC間IF制御部933は、PCIeの端子としてTX端子とRX端子を備え、ASIC間IF制御部933の制御するPCIe信号は、TX信号とRX信号が組になっている。なお、第2画像処理コントローラASIC1011との接続は、上述のとおりである。また、記録制御コントローラASIC1031は、記録ヘッド8に対して記録信号を出力する。
次に、第1画像処理コントローラASIC1011、第2画像処理コントローラASIC1021を動作させる電源供給系と、初期化動作を制御するリセット信号系に関して説明する。
電源ユニット1051は、不図示の商用電源から供給される電力を記録装置1の動作用電源として供給する。具体的には、電源ユニット1051は、図3に示されるように、電源VC、VM、VHの3系統で供給する。
電源VCは、常夜電源であり、商用電源から電源が供給される間、出力される。電源VCは、メインコントローラASIC1001の動作用電源として使用される。メインコントローラASIC1001は、記録装置1の全ての動作モードにおいて通電状態で動作し、省電力モードへの移行、省電力モードからの復帰時にプリントエンジンユニット940の電源状態と電源の遮断状態を解除するリセットを制御する。
また、電源VMはプリントエンジンユニットに、電源VHは記録ヘッド8に供給される。電源VMに関して、電源VM_SWとして第1画像処理コントローラ及び第2画像処理コントローラに供給され、電源VM_SW1として記録制御コントローラに供給される。
以下、先ず、電源VM_SWに関して、説明を補足する。メインコントローラASIC1001は、FET1041をP_PW_ON信号によりスィッチング制御することで、第1及び第2画像処理コントローラ内部に供給する電源VM_SWのオン又はオフを制御する。具体的には、メインコントローラASIC1001は、P_PW_ON信号をHighレベルに制御することで電源VM_SWをオン、Lowレベルに制御することで電源VM_SWをオフにする。
第1電源部1012は、供給される電源VM_SWを、第1画像処理コントローラASIC1011、ROM917、RAM918、オープンドレインバッファ1013、その他不図示のこれらに関連する電気回路の動作用電源VDD1に変換する。また、第1電源部1012は、リセット端子RST1_O_Lを有し、VDD1電源電圧が所定の閾値を越えた後、不図示の抵抗やキャパシタ等の受動部品により決定される時定数の期間が経過するまで、Lowレベルとなるリセット信号を出力する。なお、リセットの解除時は、Lowレベルの駆動が停止され、ハイ・インピーダンス状態となる。
オープンドレインバッファ1013は、メインコントローラASIC1001のP02端子から入力されるP_RST_L信号を、RST1_L信号として第1画像処理コントローラASIC1011のリセット端子RST_Lに出力する。
なお、RST1_L信号は、上述の第1電源部1012のリセット端子RST1_O_Lに接続され、さらに、図示は省略しているが、プルアップ抵抗を介して、VDD1にも接続される。
このような構成により、RST1_L信号は、P_RST_L信号とRST1_O_L端子より出力される信号の論理積(AND)となる。即ち、P_RST_L信号とRST1_O_L端子より出力される信号のどちらかがLowレベルの場合、RST1_L信号はLowレベルとなる。また、P_RST_L信号がHighレベル、RST1_O_L端子より出力される信号がハイ・インピーダンス状態となった場合、上述のプルアップ抵抗によってRST1_L信号はHighレベルとなる。詰まるところ、P_RST_L信号とRST1_O_L端子より出力される信号の両方がLowレベルを駆動しない場合、論理積の構成はリセット解除信号出力手段として機能し、リセット解除信号が出力される。
第2電源部1022は、供給される電源VM_SWを、第2画像処理コントローラASIC1021、ROM927、RAM928、オープンドレインバッファ1023、その他不図示のこれらに関連する電気回路の動作用電源VDD2に変換する。また、第2電源部1022は、リセット端子RST2_O_Lを有し、VDD2電源電圧が所定の閾値を超えた後、不図示の抵抗やキャパシタ等の受動部品により決定される時定数の期間が経過するまで、Lowレベルとなるリセット信号を出力する。なお、リセットの解除時は、Lowレベルの駆動が停止され、ハイ・インピーダンス状態となる。
オープンドレインバッファ1023は、メインコントローラASIC1001のP02端子から入力されるP_RST_L信号を、RST2_L信号として第2画像処理コントローラASIC1021のリセット端子RST_Lに出力する。
なお、RST2_L信号は、上述の第2電源部1022のリセット端子RST2_O_Lに接続され、さらに、図示は省略しているが、プルアップ抵抗を介して、VDD2にも接続される。
このような構成により、RST2_L信号は、P_RST_L信号とRST2_O_L端子より出力される信号の論理積(AND)となる。即ち、P_RST_L信号とRST2_O_L端子より出力される信号のどちらかがLowレベルの場合、RST2_L信号はLowレベルとなる。また、P_RST_L信号とRST2_O_L端子より出力される信号の両方がLowレベルを駆動しない場合、上述のプルアップ抵抗によってハイレベルとなる。
なお、RST1_L信号及びRST2_L信号を上述したような構成としたことで、メインコントローラASIC1001は何等かのエラー状態に陥った場合等に、2つの画像処理コントローラASICの両方に対して、同時にリセットをかけることができる。即ち、メインコントローラASIC1001は、P02端子のP_RST_L信号をLowレベルに駆動することで、第1画像処理コントローラユニット910と第2画像処理コントローラユニット920の動作を停止することができる。
また、メインコントローラASIC1001は、記録装置1を省電力モードや電源オフ状態に遷移させる場合、プリントエンジンユニット940に対して終了処理を指示し、終了準備が完了した通知を受け取ると、P_RST_L信号を使ってリセットをかける。第1画像処理コントローラASIC1011、第2画像処理コントローラASIC1021がリセット状態になった後、P_PW_ON信号を用いて電源VM_SWを遮断する。このように、リセット状態にした後に電源をオフにすることで、電源が低下する過渡状態においても、異常な状態が発生することを防止することができる。
次に、電源VM_SW_1に関して、説明を補足する。第2画像処理コントローラASIC1021は、FET1042をH_PW_ON信号によりスィッチング制御することで、記録制御コントローラ内部に供給する電源VM_SW_1のオン又はオフを制御する。具体的には、第2画像処理コントローラASIC1021は、H_PW_ON信号をHighレベルに制御することで電源VM_SW_1をオン、Lowレベルに制御することで電源VM_SW_1をオフする。
第3電源部1032は、供給される電源VM_SW_1を、記録制御コントローラASIC1031、ROM937、RAM938、オープンドレインバッファ1033、その他不図示のこれらに関連する電気回路の動作用電源VDD3に変換する。また、第3電源部1032は、リセット端子RST3_O_Lを有し、所定の条件を充足するまで、リセット信号を出力する。具体的には、例えば、VDD3電源電圧が所定の閾値を越えた後、不図示の抵抗やキャパシタ等の受動部品により決定される時定数の期間が経過するまで、Lowレベルとなるリセット信号を出力する。なお、リセットの解除時は、Lowレベルの駆動が停止され、ハイ・インピーダンス状態となる。
オープンドレインバッファ1033は、第2画像処理コントローラASIC1021のP22端子から入力されるH_RST_L信号を、RST3_L信号として記録制御コントローラASIC1031のリセット端子RST_Lに出力する。
なお、RST3_L信号は、上述の第3電源部1032のリセット端子RST3_O_Lに接続され、さらに、図示は省略しているが、プルアップ抵抗を介して、VDD3にも接続される。
このような構成により、RST3_L信号は、H_RST_L信号とRST3_O_L端子より出力される信号の論理積(AND)となる。即ち、H_RST_L信号とRST3_O_L端子より出力される信号のどちらかがLowレベルの場合、RST3_L信号はLowレベルとなる。また、H_RST_L信号とRST3_O_L端子より出力される信号の両方がLowレベルを駆動しない場合、上述のプルアップ抵抗によってHighレベルとなる。
なお、RST3_L信号を上述したような構成としたことで、第2画像処理コントローラASIC1021は何等かのエラー状態に陥った場合等に、記録制御コントローラASIC1031にリセットをかけることができる。即ち、第2画像処理コントローラASIC1021は、P22端子のH_RST_L信号をLowレベルに駆動することで、記録制御コントローラユニット930の動作を停止することができる。
また、電源VHに関して、電源VH_SWとして記録ヘッド8に供給される。以下、電源VH_SWに関して、説明を補足する。第2画像処理コントローラASIC1021は、FET1043を、P20端子から出力するH_VH_ON信号によりスィッチング制御することで、記録ヘッド8内部に供給する電源VH_SWのオン又はオフを制御する。具体的には、第2画像処理コントローラユニット920は、H_VH_ON信号をHighレベルに制御することで電源VH_SWをオン、Lowレベルに制御することで電源VH_SWをオフにする。
その他、オープンドレインバッファについて説明を補足する。第1電源部1012又は第2電源部1022において、電源電圧が一時的に低下する等の状態が発生すると、リセット信号(RST1_L信号又はRST2_L信号)をLowレベルに駆動する。そして、リセット信号がLowレベルに駆動されると、画像処理コントローラASICにリセットがかかる。その一方で、リセット構成として、オープンドレインバッファ1013、1023が各々、組み込まれていることから、電源部で駆動されるリセット信号の状態は、他方の画像処理コントローラASICに伝搬しない。即ち、この場合、電源に何らかの異常が発生した画像処理コントローラASICにのみリセットがかかることになり、正常な電源状態の画像処理コントローラASICは、動作を継続することができる。また、これにより正常な電源状態で動作を継続できる画像処理コントローラASICは、他方のコントローラASICで電源異常が発生した場合のエラーログを取得する等、適切なエラー処理を実行することができる。
図4は、コントローラユニット900、第1画像処理コントローラユニット910、第2画像処理コントローラユニット920、及び記録制御コントローラユニット930の起動時における処理の手順を示すフローチャートである。以下、処理の手順に関して、詳細に説明する。
コントローラユニット900のメインコントローラASIC1001は、記録装置1の電源がオンされると起動を開始し、ROM907からプログラムを読み込み、初期化処理を実行する(S401)。
次に、メインコントローラASIC1001は、P01端子より出力される信号(P_PW_ON信号)の出力レベルをLowレベルからHighレベルに切り替え、プリントエンジンユニット940の一部の電源をオンに制御する(S402)。
即ち、メインコントローラASIC1001は、P_PW_ON信号によりFET1041をスィッチング制御し、電源VMを第1画像処理コントローラユニット910及び第2画像処理コントローラユニット920に電源VM_SWとして供給する。
そして、電源VM_SWが第1画像処理コントローラユニット910に供給されると、第1電源部1012は、第1画像処理コントローラASIC1011に電源VDD1を供給する(S403)。即ち、第1画像処理コントローラASIC1011の電源がオンされる(S403)。同様に、電源VM_SWが第2画像処理コントローラユニット920に供給されると、第2電源部1022は、第2画像処理コントローラASIC1021に電源VDD2を供給する(S404)。さらに、第2画像処理コントローラASIC1021に電源VDD2が供給されると、第2画像処理コントローラASIC1021はFET1042をスィッチング制御する。これにより、電源VM_SW_1が記録制御コントローラユニット930に供給され、第3電源部1032は、記録制御コントローラASIC1031に電源VDD3を供給する(S405)。
メインコントローラASIC1001は、各々、電源を供給すると、P02端子より出力される信号(P_RST_L)の出力レベルをLowレベルからHighレベルに切り替え、各々のコントローラに対してリセット解除処理を実行する(S406)。
なお、上述のように、P_RST_L信号は、第1電源部1012のリセット端子RST1_O_Lより出力される信号との論理積(AND)として、第1画像処理コントローラASIC1011のRST_L端子に入力される。そのため、P_RST_L信号をHighレベルに切り替えた状態で、RST1_O_Lより出力される信号がハイ・インピーダンス状態になると、RST_L端子にHighレベルの信号が入力される。即ち、この場合、第1画像処理コントローラASIC1011において、リセットが解除される。また、このリセットの解除に関して、第2画像処理コントローラASIC1021、記録制御コントローラASIC1031においても、同様の処理となる。但し、記録制御コントローラASIC1031のリセットを解除する上で、記録制御コントローラASIC1031に入力されるリセット制御信号(H_RST_L)は、第2画像処理コントローラASIC1021により制御される。
各々のコントローラは、リセットが解除されると、他のコントローラとは独立してブート処理(S407)、メインファームロード処理(S408)、OS起動及び親タスクの起動(S409)を順次実行する。その後、各々のコントローラは、当該コントローラに接続される周辺電源(例えば、不図示のヘッド電源やモータードライバ電源等)の初期化処理を実行する(S410)。なお、ここで、親タスクとは、他のコントローラとの通信を有効化する上で必要とされるタスクのことである。
メインコントローラASIC1001は、コントローラの初期化処理を実行すると(S411)、第1画像処理コントローラASIC1011との通信路であるPCIe(ここでは、PCIe1と称する)のリンク確立に関する処理を実行する(S4l4)。なお、この場合、PCIe1において、主従関係が構築され、メインコントローラASIC1001はRC(主)、第1画像処理コントローラASIC1011はEP(従)として設定される。
また、リンク確立に関して、ASIC間IF制御部906は、ハードウェアレベルで動作する通信条件を対向チップとやり取りするリンクトレーニングで通信ネゴシエーションを実行する。
具体的には、ASIC間IF制御部906は、先ず、SG_DW_1信号を用いて、第1画像処理コントローラASIC1011にネゴシエーション条件を送信する。ASIC間IF制御部906は、次に、第1画像処理コントローラASIC1011から、SG_UP_1信号によりネゴシエーション条件を受信する。そして、ASIC間IF制御部906は、そのネゴシエーション条件が一致して接続が完了すると、割り込み信号を発行する。さらに、メインコントローラASIC1001のCPU901が、この割り込み信号を受信することで、PCIe1のリンク確立が完了する(S4l4 Yes)。
また、PCIe1接続に関して、接続が完了するまでにかかる時間が予め設定された所定時間内であるか否かが判定され、接続が完了しない場合はタイムアウトとなり、接続エラーと判定される(S4l4 No)。
メインコントローラASIC1001は、PCIe1のリンク確立が完了すると、PCIe1の各種初期化処理を実行する。例えば、対向ASICをメモリマップに配置する初期設定等を実行する。
続いて、PCIe1のEP側である第1画像処理コントローラASIC1011におけるPCIeのリンク確立に関する処理から、説明を補足する。第1画像処理コントローラASIC1011は、周辺電源の初期化処理を実行すると、メインコントローラASIC1001のASIC間IF制御部906と通信ネゴシエーションを実行することで、PCIe1のリンク確立に関する処理を実行する(S414)。
なお、第1画像処理コントローラASIC1011は、図4に示されるように、S414の前に、第2画像処理コントローラASIC1021との通信路であるPCIe(ここでは、PCIe2と称する)のリンク確立に関する処理を実行する(S413)。但し、(S413)と(S414)に関して、処理の順序が問われることはない。第1画像処理コントローラASIC1011は、PCIe1及びPCIe2に関してリンクが確立すると、コンフィグ設定処理を実行する(S417)。
なお、第2画像処理コントローラASIC1021と記録制御コントローラASIC1031の通信路(ここでは、PCIe3と称する)におけるリンク確立処理も、同様に実行される(S412)。さらに、そのリンク確立処理後において、同様に、コンフィグ設定処理が実行される(S416)。
次に、記録制御コントローラASIC1031は、PCIe3通信可能フラグを有効化する(S418)。具体的には、PCIe3に関してリンクが確立し(S412)、コンフィグ設定処理を実行すると(S415)、記録制御コントローラASIC1031は、第2画像処理コントローラの一部メモリを読み書きすることが可能となる。記録制御コントローラASIC1031は、この読み書きが可能なメモリを利用して、PCIe3通信可能フラグを第2画像処理コントローラASICに書き込む。これにより、PCIe3経由でのチップ間通信が可能となったことが証明される(即ち、PCIe3通信可能フラグが有効化される)。
記録制御コントローラASIC1031は、PCIe3通信可能フラグを書き込むと、子タスク(即ち、親タスク以外のタスクであって、通信(通信フラグ)が有効化された後においても実行可能なタスク)を起動する(S419)。記録制御コントローラASIC1031は、子タスクを起動すると、全てのコントローラに関する情報の同期が開始されることを待機する。
第2画像処理コントローラASIC1021に、PCIe3通信可能フラグが所定時間内に書き込まれると(S420 Yes)、第2画像処理コントローラASIC1021は、PCIe3と同様に、PCIe2通信可能フラグを有効化する(S421)。そして、第2画像処理コントローラASIC1021は、PCIe2通信可能フラグを有効化すると、子タスクを起動し(S422)、全てのコントローラに関する情報の同期が開始されることを待機する。なお、第2画像処理コントローラASIC1021は、PCIe3通信可能フラグが所定時間内に書き込まれない場合(S420 No)、タイムアウト(即ち、エラー)と判定する。
第1画像処理コントローラASIC1011においても、同様に、PCIe1通信可能フラグを有効化(S424)し、その後に子タスクの起動(S425)を実行し、全てのコントローラに関する情報の同期が開始されることを待機する。
メインコントローラASIC1001は、PCIe1のリンク確立に関する処理を実行すると(S414)、その後に、第1画像処理コントローラASIC1011によりPCIe1通信可能フラグが所定時間内に書き込まれるか否かを判定する(S426)。即ち、所定時間内に全てのPCIeにおいて通信可能フラグが書き込まれるか否かを判定する。
そして、全てのPCIeにおいて通信可能フラグが書き込まれると(各コントローラにおいて、メモリ情報の一部が読み書きできる状態になると)、メインコントローラASIC1001は、ファームバージョン情報の同期を実行する(S427)。
なお、上述のように、サブコントローラ(即ち、第1及び第2画像処理コントローラASIC、記録制御コントローラASIC)は、PCIeの通信可能フラグを有効化すると、直ぐに子タスクを起動することができる。そのため、記録装置1において、例えば、第1画像処理コントローラASIC1011における子タスクの起動と、メインコントローラASIC1001におけるPCIe1通信可能フラグの有効可否を確認(判定)する処理を並列して実行することができる。これにより、記録装置1において、使用可能な状態になるまでの時間(即ち、起動時間)を全体として短縮することができる。
また、本実施形態では、下流側から上流側のメモリに通信可能フラグを書き込み、その通信可能フラグを上流側のコントローラが確認し、これを繰り返すことで、メインコントローラASIC1001は、チップ間において通信可能となっていることを確認した。但し、メインコントローラASIC1001が、チップ間において通信が可能となっていることを確認する方法として、必ずしもこれに限定されない。したがって、全てのコントローラASICの各々から書き込み可能であって、通信路毎の通信可能フラグを格納したメモリを実装することで、メインコントローラASIC1001によりチップ間の通信が可能となっていることを確認してもよい。具体的には、各コントローラASICは、他のコントローラとの通信に関するリンクが確立すると、リンクが確立した通信路のフラグを有効化し、メインコントローラASIC1001は、全ての通信可能フラグが有効化されているか否かを確認する。なお、通信可能フラグを格納したメモリは、フラグ記憶手段に対応する。
次に、メインコントローラASIC1001は、ファームバージョン情報に不整合がないか判定する(S428)。メインコントローラASIC1001は、ファームバージョン情報に整合があると判定すると(S428 Yes)、各コントローラに対して起動要因、時刻設定、動作モデル情報の同期を実行する(S429)。
ここで、起動要因は、メインコントローラASIC1001を含めた電源オンによる通常起動、又はメインコントローラASIC1001を除いた省電力状態からの復帰(起動)等の要因を示す。また、時刻設定はメインコントローラASIC1001において管理される時刻の設定を示し、動作モデル情報はオプション機器の接続有無やハード構成上、有効/無効となる機能に関する情報を示す。
なお、メインコントローラASIC1001は、不整合がある場合(即ち、各コントローラのファームバージョン情報が予めプログラムに組み込まれたバージョンの組み合わせと異なる場合)(S428 No)、不整合エラーと判定して、起動処理を中断する。このように、メインコントローラASIC1001は、通信が可能な状態になると、ファームバージョン情報の整合を確認することで、各コントローラに接続されたROMに書き込まれているファームウェア情報が想定されている組み合わせか否かを判定する。
メインコントローラASIC1001は、各コントローラに対して起動要因、時刻設定、動作モデル情報の同期を実行すると、各コントローラに対して、記録装置1におけるユーザインタフェース(以下、UI)表示に必要な情報を同期させる(S430)。ここで、UI表示に必要な情報とは、例えば、インクの残量、用紙等に関する情報である。
メインコントローラASIC1001は、次に、プリントエンジンユニット940にメカ初期化を指示する(S431)。また、プリントエンジンユニット940の各コントローラは、メインコントローラASIC1001からメカ初期化に関する指示を受けると、上述の起動要因や動作モデル情報に基づいて、必要なメカ初期化処理を実行する(S432)。
このように、メカ初期化までの処理を完了することで、記録装置1は、印刷が可能な状態となる(即ち、図4に示すフローチャートの手順に従って処理を実行することで、記録装置1は、印刷が可能な状態に移行する)。
以上、説明したように、第1画像処理コントローラASIC1011、第2画像処理コントローラASIC1021には各々ROMが接続されており、動作用プログラムを転送した後に起動し、初期化を行う必要がないため、高速な起動処理が可能である。即ち、ブート処理、メインファームロード処理、OS起動等を並列して処理することができるため、その分、高速に起動することができる。そのため、プリントエンジンユニット940は、消費電力を低減した上で、電源オフ状態又は省電力状態から復帰するまでの時間を短縮することができる。
また、上述のように、記録装置を起動させる上でタスクを、通信を有効化する上で必要とされるタスク(親タスク)と、それ以外のタスク(子タスク)に分け、親タスクを優先して実行することで、記録装置全体を高速に起動することができる。
さらに、ハードウェア動作で決定されるリセット期間での起動が可能なため(ハードウェア制御で起動することができるため)、ソフトウェア・ウェイトが不要となり、最適な起動時間で起動させることができる。
加えて、メインコントローラASIC1001と第1画像処理コントローラASIC1011、第2画像処理コントローラASIC1021は別電源であり、上述したように個別に制御可能である。即ち、第1電源部1012、第2電源部1022に供給する電源を個別に制御可能な構成とすることで、第1画像処理コントローラユニット910、第2画像処理コントローラユニット920の電源を個別に制御することができる。具体的には、第2電源部1022の前段にFETを組み込み、そのFETにおけるスィッチング制御(電源供給の制御)を、メインコントローラASIC1001又は第1画像処理コントローラASICのいずれかで行うことで、個別に制御することができる。
(その他の実施形態)
上述の実施形態では、画像処理コントローラを2個、実装する構成として説明したが、本実施形態では、画像処理コントローラを1個、実装する構成とする。なお、具体的な処理に関して、上述の実施形態におけるメインコントローラASIC1001と第1画像処理コントローラASIC1011との処理と同様である。
そのため、画像処理コントローラが1個の構成であっても、上述の実施形態と同様に、起動時において、画像処理コントローラASICの動作用プログラムを転送してから起動する必要がなく、高速な起動処理が可能である。即ち、ブート処理、メインファームロード処理、OS起動等を並列して処理することができるため、その分、高速に起動することができる。
また、上述のように、記録装置を起動させる上でタスクを、通信を有効化する上で必要とされるタスク(親タスク)と、それ以外のタスク(子タスク)に分け、親タスクを優先して実行することで、記録装置全体を高速に起動することができる。
さらに、ハードウェア動作で決定されるリセット期間での起動が可能なため(ハードウェア制御で起動することができるため)、ソフトウェア・ウェイトが不要となり、最適な起動時間で起動させることができる。加えて、実装する画像処理コントローラを1個で構成することで、製造コストを削減することができる。
その他、上述では、画像処理コントローラASICの数を2個、1個とする場合を例に説明したが、画像処理コントローラASICの数は必ずしもこれに限定されず、3個以上でもよい。また、画像処理コントローラASICの数が増加すれば増加するほど、起動時間の短縮をより図ることができる。
なお、上述の実施形態において、メインコントローラASICと接続されるASICを画像処理コントローラASICとして説明したが、必ずしも、画像処理コントローラである必要はない(即ち、画像処理という機能は、必須ではない)。したがって、他の機能、例えば、モータ制御を行うメカトロニクスコントローラASICを用いても、同様の効果を奏することができる。即ち、上述の実施形態では、その一例として、記録装置を例に説明した。しかしながら、少なくとも上述の電源制御構成及びリセット制御構成を有する装置(電子機器)であれば、本発明を適用することができる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。