JP2007185911A - プリンタコントローラ、およびプリンタ - Google Patents
プリンタコントローラ、およびプリンタ Download PDFInfo
- Publication number
- JP2007185911A JP2007185911A JP2006007348A JP2006007348A JP2007185911A JP 2007185911 A JP2007185911 A JP 2007185911A JP 2006007348 A JP2006007348 A JP 2006007348A JP 2006007348 A JP2006007348 A JP 2006007348A JP 2007185911 A JP2007185911 A JP 2007185911A
- Authority
- JP
- Japan
- Prior art keywords
- register
- data
- setting
- command
- circuit
- 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
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【課題】画像形成装置のコントローラに搭載されている各回路のレジスタの設定処理を効率的に行い、レジスタの設定処理時間を短縮する。
【解決手段】IOASIC40と、RAM30と、RAM30に対するデータの読み書き処理、および印刷エンジン1の動作を制御する制御ASIC10とを備えるプリンタコントローラ1において、RAM30の所定領域に、設定する対象のレジスタのアドレス毎に、そのレジスタの設定内容を示したコマンドを対応付けた設定データを格納しておく。また、制御ASICに、RAM30の所定領域から設定データを読み出し、読み出した設定データのアドレスが特定するレジスタに対して、読み出した設定データのコマンドが示すレジスタ設定処理を実行するレジスタ設定回路を設ける。
【選択図】図1
【解決手段】IOASIC40と、RAM30と、RAM30に対するデータの読み書き処理、および印刷エンジン1の動作を制御する制御ASIC10とを備えるプリンタコントローラ1において、RAM30の所定領域に、設定する対象のレジスタのアドレス毎に、そのレジスタの設定内容を示したコマンドを対応付けた設定データを格納しておく。また、制御ASICに、RAM30の所定領域から設定データを読み出し、読み出した設定データのアドレスが特定するレジスタに対して、読み出した設定データのコマンドが示すレジスタ設定処理を実行するレジスタ設定回路を設ける。
【選択図】図1
Description
本発明は、画像形成装置の技術に関し、特に、画像形成装置のコントローラに搭載されているASIC(Application Specific Integrated Circuit)に各種のデータを設定するための技術に関する。
従来から、特定用途向けの集積回路であるASICに設けられているレジスタに初期設定を行うレジスタ設定回路が知られている(例えば、特許文献1)。特許文献1のレジスタ設定回路は、メモリに格納されている「初期値」を読み出し、その初期値をレジスタに格納する動作を行う。
ところで、プリンタ等の画像形成装置では、電源が投入された際に行われるASICの初期値の設定だけでなく、動作中においてもレジスタの設定値を変更する処理が行われている。また、ASICに搭載されているレジスタの設定は、単純にメモリから読み出したデータをレジスタに格納するだけでは行えないものがある。例えば、あるレジスタaにデータを格納するためには、別のレジスタbに所定データが格納されていることが条件となることがある。この場合、あるレジスタaにデータを格納する前に、レジスタbのデータを読み出し、その読み出したデータが所定データであることを確認する処理が必要になる。
上記特許文献1のレジスタ設定回路は、メモリから読み出した初期値を単にレジスタの格納することはできるが、装置の動作中においてレジスタの設定値を初期値以外に変更したり、或いは、所定の条件を考慮した上でASICのレジスタのデータを設定していくことまではできない。すなわち、上記特許文献1の構成では、プリンタ等の画像形成装置に搭載されたASICの設定に対応できないことがある。そのため、プリンタ等の画像形成装置では、ASICの設定をソフトウェアの処理で行っている。具体的には、画像形成装置のCPUがプログラムを実行することにより、ASICのレジスタの値を設定している。
しかしながら、CPUによりASICのレジスタを設定する方法は、プログラム量が大きくなることや、設定処理に長時間かかるという別の問題を有している。特に、プリンタに搭載されているASICにある画像処理回路は、設定するレジスタの数が多いため、ASICの設定処理時間が長時間かかるケースが多くなる。また、プリンタは、紙詰まり、IFエラー等が起こるたびに、ASICのレジスタの値を設定する処理が必要になるため、そのたびに利用者は、長時間待たされてしまう。
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、画像形成装置等の情報処理装置に搭載されているコントローラに設けられた回路のレジスタの設定処理を効率的に行い、回路を設定する処理時間を短縮することにある。
上記課題を解決するため、本発明の一態様は、印刷エンジンに印刷データを出力し、該印刷エンジンに印刷処理を実行させるプリンタコントローラに適用される。
そして、前記プリンタコントローラは、外部装置との間で行われるデータの送受信を制御するIO制御回路と、メモリと、前記メモリに対するデータの読み書き処理、および前記印刷エンジンの動作を制御する制御回路と、を備え、前記IO制御回路および前記制御回路には、各々、各種データを設定するためのレジスタが搭載されていて、前記メモリの所定領域には、設定する対象の前記レジスタのアドレス毎に、該レジスタへの設定処理の内容を示したコマンドを対応付けた設定データが格納されていて、前記制御回路は、前記メモリの所定領域から前記設定データを読み出し、該読み出した設定データに含まれるアドレスのレジスタに対して、該読み出した設定データのコマンドが示す設定処理を実行するレジスタ設定回路を有する。
このように、本一態様では、プリンタコントローラの制御回路に、制御回路およびIO制御回路に搭載されているレジスタを設定するレジスタ設定回路を設けるようにしている。また、レジスタ設定回路は、読み出したコマンドが示す設定処理を行う構成を採用している。そのため、本一態様によれば、CPUがプログラムを実行することにより行っていたレジスタ設定処理をハードウェアで行うことができるようになる。その結果、本一態様によれば、コントローラに搭載されている各回路のレジスタ設定処理を高速化することができる共に、CPUを面倒なレジスタ設定処理から開放させることができる。
また、前記プリンタコントローラにおいて、前記プリンタコントローラの全体の制御を行う演算処理部を備え、前記演算処理部は、前記レジスタ設定回路に、レジスタの設定処理を指示するデータを出力し、前記レジスタ設定回路は、前記演算処理部からの前記指示するデータを受けると、前記設定データを読み出し、該読み出した設定データのコマンドが示す設定処理を実行することとしてもよい。
このように構成することにより、演算処理部は、レジスタ設定回路に対して、任意のタイミングでプリンタコントローラのレジスタの設定を実行させることができる。例えば、演算処理部は、初期設定を行う起動タイミングだけでなく、必要なタイミング(例えば、印刷処理を行うたびに)で、レジスタ設定回路にレジスタの設定を指示することができる。すなわち、演算処理部がレジスタ設定を行うタイミングを判定するだけで、後は、ハード処理でレジスタ設定が行われるようになる。
また、前記プリンタコントローラにおいて、前記演算処理部は、前記メモリ上に画像データを生成する処理を行い、前記制御回路は、前記メモリ上の画像データを読み出し、該画像データから印刷データを生成し、該生成した印刷データを前記印刷エンジンに出力する画像処理回路を有していて、前記設定データには、前記画像処理回路に搭載されているレジスタを設定するためのデータが含まれていることとしてもよい。
このように構成することにより、ソフトウェアによる処理では、長時間かかる画像処理回路のレジスタ設定時間を短縮することができる。
また、前記プリンタコントローラにおいて、前記コマンドは、レジスタへのデータ書き込みを指示するライトコマンド、所定時間処理を待つことを指示するWAITコマンド、およびポーリング処理を指示するコマンドのいずれかであることとしてもよい。
このように、WAITコマンドやポーリング処理を指示するコマンドに対応する処理をレジスタ設定回路で行うようにしたのは、これらのコマンドに対応する処理は、ハード側で行う方がソフトウェアで行うより高速化できるためである。
以下、本発明の実施形態について図面を用いて説明する。
先ず、本発明の一実施形態が適用された画像形成装置の概略構成を図1に示す。なお、以下では、画像形成装置がプリンタである場合を例にする。
図1は、本発明の実施形態のプリンタのハードウェアブロック図である。
図示するように、プリンタは、プリンタコントローラ1と、印刷エンジン2とを有する。プリンタコントローラ1は、プリンタ全体の動作を制御する。印刷エンジン2は、プリンタコントローラ1からの指示にしたがい紙等の印刷メディアに印刷処理を実行する。
具体的には、プリンタンコントローラ1は、メモリの制御および画像処理を行うメモリ・画像処理制御ASIC(Application Specific Integrated Circuit)10と、CPU(Central Processing Unit)20と、主記憶装置として機能するRAM(Random Access Memory)30と、外部装置やROM50等のデバイスとの間で行われるデータの送受信を制御するIOASIC40と、IOASIC40に接続されているROM(Read Only Memory)50とを有する。
メモリ・画像処理制御ASIC(以下、「制御ASICという」)10は、CPU20を介さずに、RAM30に格納されている各種データを他のデバイスにDMA(Direct Memory Access)転送したり、或いは、RAM30に格納されている画像データを受け付け、画像データを印刷データに変換して印刷エンジン2に出力する。また、制御ASIC10は、CPU20からの要求を受付け、自身に搭載されている各種のレジスタ(図示しない)、およびIOASIC40に搭載されている各種のレジスタ(図示しない)に対して各種データの設定を行う。
CPU20は、ROM50に格納されている各種プログラムをRAM30にロードして実行することにより、プリンタ全体の動作を制御する。例えば、CPU20は、制御ASIC10にプリンタコントローラ1内のレジスタ(制御ASIC10およびIOASIC40のレジスタ)の設定を指示する。また、例えば、CPU20は、RAM30上に印刷処理のための画像データを生成する。
RAM30は、一時的にデータを記憶したり、ワークエリアとして機能する。ROM50は、プリンタの機能を実現するための各種プログラムや印刷処理に必要な各種データが格納するための補助記憶装置である。なお、ROM50の所定の領域には、制御ASIC10およびIOASIC40に搭載されているレジスタの設定に利用するレジスタ設定データ(図2参照)が格納されている。なお、上記では、プログラム等を記憶する補助記憶装置としてROM50を利用しているが特にこれに限定するものではない。また、主記憶装置としてRAM30を利用しているがこれは例示に過ぎない。
IOASIC40は、ホストコンピュータ等の外部装置(図示しない)との間で行われるデータの送受信を制御する。また、IOASIC40は、メモリ制御ASIC10を介して、ROM30に格納されている各種データやプログラムをRAM30に送信する。
印刷エンジン2は、プリンタコントローラ1の画像処理回路500が出力する印刷データを受信し、その印刷データに用いて紙等の印刷メディアに印刷処理を実行する。なお、印刷エンジン2の具体的な構成については特に限定しないが、例えば、プリンタがレーザプリンタであれば、レーザ照射機構、感光体ドラム、紙送り機構等により構成される。
続いて、制御ASIC10の構成について説明する。具体的には、制御ASIC10は、レジスタ設定回路100、CPU制御部200、メモリ制御部300、制御回路400、および画像処理回路500を有する。
レジスタ設定回路100は、CPU20からの要求にしたがいメモリ(RAM30或いはROM50)の所定の領域に格納されているレジスタ設定データ(図2参照)を読み出し、そのレジスタ設定データにしたがいプリンタコントローラ1内にあるレジスタの設定を行う。
具体的には、レジスタ設定データには、設定する対象のレジスタ(メモリ制御ASIC10に搭載されているレジスタ、およびIOASIC40に搭載されているレジスタ)のアドレスと、設定処理の内容を指示するコマンドとが含まれている。レジスタ設定回路100は、CPU20からレジスタ設定データが格納されているメモリ(RAM30或いはROM50)のメモリアドレスを取得する。レジスタ設定回路100は、取得したメモリアドレス先にあるレジスタ設定データをメモリ(RAM30或いはROM50)から読み出す。そして、レジスタ設定回路100は、読み出したレジスタ設定データに含まれるアドレスにより特定されるレジスタに対し、コマンドにより指示される設定処理を行う。
CPU制御部200は、CPU20との間で行われるデータの送受信を制御する。例えば、CPU制御部200は、CPU20からレジスタ設定の要求を受け付けると、その要求をレジスタ設定回路100に出力する。
メモリ制御部300は、RAM30への書き込み読み出し処理を行う。例えば、メモリ制御部300は、RAM30に記憶されているレジスタ設定データを読み出してレジスタ設定回路100にDMA転送する。また、例えば、メモリ制御部300は、RAM30に記憶されている画像データを読み出し、画像処理回路500にDMA転送する。また、メモリ制御部300は、CPU20からのデータを受け付けて、RAM30の所定の領域に書き込む。
制御回路400は、IOASIC40との間で行われるデータの送受信を制御する。画像処理回路500は、メモリ制御部300からの画像データを受信し、受信した画像データを印刷データに変換し、その印刷データを印刷エンジン2に出力する。
続いて、レジスタ設定データのデータ構成について、図2を用いて説明する。
図2は、本実施形態のプリンタコントローラがレジスタの設定処理に利用するレジスタ設定データのデータ構成の一例を模擬的に示した図である。図2では、(a)図にレジスタ設定データのデータ構成を説明するための図を示し、(b)図にレジスタ設定データの各フィールドにデータが登録された場合を例示している。なお、図示する例では、レジスタ設定データが64bitのデータとして構成されているが特にこれに限定するものではない。
具体的には、レジスタ設定データは、コマンドを登録するためのフィールド2000と、設定するレジスタ(以下「設定レジスタ」ということにある)のアドレスを登録するためのフィールド3000と、コマンドに対応するデータを登録するためのフィールド4000とを備える。
フィールド2000には、「2bit」の領域が割り当てられ、「2bit」で示されるコマンドが登録される。以下では、コマンドに、データの書き込みを指示する「ライトコマンド」、ポーリング処理を指示する「ポーリングコマンド」、および所定時間を待つことを指示する「WAITコマンド」の3種類のコマンドが利用される場合を例に説明する。そして、「ライトコマンド」を「01」で示し、「ポーリングコマンド」を「10」で示し、「WAITコマンド」を「11」で示すこととする。すなわち、フィールド2000には、「01」、「10」、および「11」の中のいずれかがコマンドとして登録される。
フィールド3000には、「30bit」の領域が割り当てられている。そして、フィールド3000には、設定レジスタのアドレスを示した30bitのデータが登録される。設定レジスタとは、制御ASIC10に搭載されているレジスタ(例えば、画像処理回路500に搭載されている各種のレジスタや、制御回路400に搭載されている各種レジスタ)、およびIOASIC40に搭載されているレジスタである。
フィールド4000には、「32bit」の領域が割り当てられている。そして、フィールド4000には、フィールド2000に登録されているコマンドに対応するデータが登録される。フィールド2000に「ライトコマンド(01)」が登録されている場合、フィールド4000には「設定するレジスタに書き込むライトデータ」が登録される。フィールド2000に「ポーリングコマンド(10)」が登録されている場合、フィールド4000には「真偽の判別データ(同じであれば真とする)」が登録される。フィールド2000に「WAITコマンド(11)」コマンドが登録されている場合、フィールド4000には「待ち時間を示すデータ」が登録される。
なお、レジスタ設定データは、設定対象のレジスタ毎に設けておく必要がある。また、レジスタ設定データは、1つのレジスタであっても、設定する処理毎(レジスタに初期設定値を設定する処理、レジスタの初期設定値を変更する処理等)に設けておく必要がある。本実施形態では、予め、ROM50の所定の領域には、図2(b)に示すように、複数のレジスタ設定データが格納されているものとする。
続いて、レジスタ設定回路100の具体的な構成について図3を用いて説明する。
図3は、本実施形態のレジスタ設定回路のブロック図である。
図示するように、レジスタ設定回路100は、DMA開始メモリアドレスレジスタ110と、DMA終了メモリアドレスレジスタ120と、コマンド認識部130と、設定レジスタアドレスバッファ140と、設定レジスタのデータバッファ150と、フラグ解析/カウンタ回路160と、アドレスバッファ170と、制御部180とを有する。なお、図示している設定レジスタ1000とは、レジスタ設定回路100が設定する対象のレジスタを示している。
DMA開始メモリアドレスレジスタ110は、レジスタ設定データの読み出し開始位置を指定するメモリアドレス(RAM30またはROM50上の領域を指定するアドレス)を格納するためのレジスタである。DMA終了メモリアドレスレジスタ120は、レジスタ設定データの読み出し終了位置を指定するメモリアドレス(RAM30またはROM50の領域を指定するアドレス)を格納するためのレジスタである。
コマンド認識部130は、メモリ(RAM30またはROM50)から取得したレジスタ設定データの中のコマンドを受け取り、そのコマンドの内容を解釈し、そのコマンドにより指示される処理を行う。
設定レジスタアドレスバッファ140は、取得したレジスタ設定データに含まれる「設定アドレス(図2のフィールド3000のデータ)」を格納するためのバッファである。データバッファ150は、取得したレジスタ設定データに含まれる「コマンドに対応するデータ(図2のフィールド4000のデータ)」を格納するためのバッファである。
フラグ解析/カウンタ回路170は、設定レジスタ1000から読み出してきたデータを受け取り、後述する真偽判定処理を行う。また、フラグ解析/カウンタ回路170は、タイマ(図示しない)を保持していて、コマンド認識部130が取得したコマンドが「WAITコマンド」の場合に待ち時間をカウントする処理を行う。
アドレスバッファ170は、レジスタ設定回路100が取得したレジスタ設定データが格納されていたメモリアドレスを登録しておくためのバッファである。
制御部180は、DMA開始メモリアドレスレジスタ110にメモリアドレスが書き込まれると、メモリ(RAM30或いはROM50)からレジスタ設定データを取得する。また、制御部180は、レジスタ設定処理が終了した場合、CPU20に割り込み信号を送信する。
続いて、本実施形態のプリンタコントローラ1が行うレジスタ設定処理について詳細に説明する。本実施形態のレジスタ設定処理は、CPU20により行われる処理(ソフト処理)と、レジスタ設定回路100により行われる処理(ハード処理)とに分類される。CPU20により行われるソフト処理とは、CPU20がROM50上のプログラムをRAM30にロードして実行することにより行われるものである。具体的には、ソフト処理では、レジスタ設定回路100に、レジスタ設定処理に必要なデータを書き込む処理が行われる。レジスタ設定回路100により行われるハード処理とは、プリンタンコントローラ1の各レジスタに各種データを設定する処理である。なお、以下の説明は、RAM30にレジスタ設定データを格納しておいて、レジスタ設定回路100にRAM30に格納されているレジスタ設定データを読み出させる場合を例にするが特にこれに限定するものではない。レジスタ設定回路10がROM50に格納されているレジスタ設定データを直接読み出すようにしてもよい。
最初にCPU20により行われるソフト処理について説明する。
図4は、本実施形態のプリンタコントローラ1のレジスタ設定のソフト処理のフローを説明するための図である。
先ず、CPU20は、メモリにレジスタ設定データを書き込む処理を行う(S10)。具体的には、CPU20は、ROM50上の所定領域に格納されているレジスタ設定データを取得する(制御ASIC10を介して取得する)。CPU20は、取得したレジスタ設定データをRAM30の所定の領域に格納する(制御ASIC10を介して格納する)。RAM30の所定領域に、図2(b)に例示するようなレジスタ設定データが書き込まれる。
次に、CPU20は、制御ASIC10のレジスタ設定回路100に、「DMA開始のメモリアドレス」と、「DMA終了のメモリアドレス」とを設定する(S20)。具体的には、CPU20は、レジスタ設定回路100に実行させるレジスタ設定データの読み出し開始位置を示すメモリアドレス(ここではRAM30上のメモリアドレス)を特定し、そのメモリアドレスをDMA開始メモリアドレスレジスタ110(図3参照)に書き込む。また、CPU20は、レジスタ設定回路100に実行させるレジスタ設定データの読み出し終了位置を示すメモリアドレス(ここではRAM30上のメモリアドレス)を特定し、そのメモリアドレスをDMA終了メモリアドレスレジスタ120(図3参照)に書き込む。
その後、CPU20は、レジスタ設定回路100からの割り込み信号を受け付けると設定処理を終了する(S30)。
続いて、レジスタ設定回路100により行われるレジスタ処理を説明する。
図5は、本実施形態のプリンタコントローラ1のレジスタ設定回路が行うレジスタ設定処理のフローを説明するための図である。なお、以下の説明では、DMA開始メモリアドレスレジスタ110およびDMA終了メモリアドレスレジスタ120には、CPU20により、メモリアドレスが格納されているものとする。
先ず、レジスタ設定回路100は、DMA開始メモリアドレスレジスタ110がCPU20からのアクセスを受けると(S100)、以下の処理ステップを開始する。具体的には、制御部180は、CPU20がDMA開始メモリアドレスレジスタ110にメモリアドレスを格納したことを検知するとS101の処理に進む。
S101では、レジスタ設定回路100の制御部180が、DMA開始メモリアドレスレジスタ110に格納されているメモリアドレス(DMA開始メモリアドレス)をアドレスバッファ170にロードする。
次に、レジスタ設定回路100の制御部180は、メモリ制御部300を介して、アドレスバッファ170に登録されているメモリアドレスが示すRAM30上の領域からレジスタ設定データをDMAで読み出す(S102)。なお、読み出されたレジスタ設定データの中の「コマンド(図2に示すレジスタ設定データのフィールド2000のデータ)」は、コマンド認識部130が取得する。読み出されたレジスタ設定データの中の「設定アドレス(図2に示すレジスタ設定データのフィールド3000のデータ)」は、設定レジスタアドレスバッファ140に格納される。また、読み出されたレジスタ設定データの中の「コマンドに対応するデータ(図2に示すレジスタ設定データのフィールド4000のデータ)」は、設定レジスタのデータバッファ150に格納される。
次に、コマンド認識部130によりコマンドを判定する処理が行われる(S103)。具体的には、コマンド認識部130は、取得したコマンドが「ポーリングコマンド」であると判定した場合(ここでは、「10」を示すデータである場合)、S104の処理に遷移する。コマンド認識部130は、取得したコマンドが「ライトコマンド」であると判定した場合(ここでは、「01」を示すデータである場合)、S105の処理に遷移する。コマンド認識部130は、取得したコマンドが「WAITコマンド」であると判定した場合(ここでは、「11」を示すデータである場合)、S106の処理に遷移する。
続いて、S103の後で行われるS104〜S106の処理について、S104の処理から順番に説明していく。なお、本ステップ(S104)に進む場合に、データバッファ150に格納されているデータは、「真偽の判別データ」である。
S104では、設定レジスタアドレスバッファ140に格納されている設定アドレスにより特定される設定レジスタ1000からデータを読み出す。具体的には、コマンド認識部130は、設定レジスタ1000にリード信号を送信して、設定レジスタ1000に登録されているデータを読み出す。なお、設定レジスタ1000から読み出されたデータは、フラグ解析/カウンタ回路160に入力される。
次に、フラグ解析/カウンタ回路160は、入力されたデータと、データバッファ150に格納されている「真偽の判別データ」とを比較する。フラグ解析/カウンタ回路160は、比較の結果、両者が同じデータの場合、その旨を制御部180に通知し、S108の処理に進み、同じデータではない場合にS104の処理に戻る。S104〜S105の処理により、設定レジスタ1000の値が所定値(真偽の判別データ)になることを条件にして、次のレジスタの設定処理に進めるようになる。設定レジスタ1000の値が所定値になる場合とは、例えば、レジスタ設定回路100以外のデバイスにより、設定レジスタ1000の値が書き換えられる場合等をいう。
次にS103においてコマンドが「ライトコマンド」であると判定された場合に進むS105の処理について説明する。なお、本ステップに進む場合に、データバッファ150に格納されているデータは、設定レジスタ1000に書き込むためのデータ(ライトデータ)」である。
S105では、コマンド認識部130は、設定レジスタアドレスバッファに格納されている設定アドレスにより特定される設定レジスタ1000に、データバッファ150に格納されているライトデータを書き込む処理を行う。具体的には、コマンド認識部130は、設定レジスタ1000にライト信号を送信する共に、データバッファ150に格納されているライトデータを送信する。その結果、設定レジスタ1000には、データバッファ150に格納されているデータが書き込まれる。その後、コマンド認識部130は、S105の処理終了を制御部180に通知して、S108の処理に移る。
次に、S103においてコマンドが「WAITコマンド」であると判定された場合に進むS106の処理について説明する。なお、本ステップに進む場合に、データバッファ150に格納されているデータは、「待ち時間」を示すデータである。
S106では、フラグ解析/カウンタ回路160がデータバッファ150に格納されているデータが示す「待ち時間」が経過するまで待機して、S108の処理に進む。具体的には、フラグ解析/カウンタ回路160は、タイマにより、「待ち時間」をカウントする。フラグ解析/カウンタ回路160は、「待ち時間」が経過すると、その旨を制御部180に通知してS108の処理に移る。
S108では、制御部180がアドレスバッファ170に格納されているメモリアドレスの値を次のアドレスの値に更新する。
続いて、制御部180は、アドレスバッファ170に格納されているメモリアドレスと、DMA終了メモリアドレスレジスタ120に格納されているメモリアドレスとが同じか否かを判定する。制御部180は、アドレスバッファ170に格納されているメモリアドレスと、DMA終了メモリアドレスレジスタ120に格納されているメモリアドレスとが同じと判定した場合、S110に処理に進み、同じではないと判定した場合にS102の処理に戻る。
S110では、制御部180がCPU20に割り込み信号を送信して処理を終了する。
このように、本実施形態では、プリンタコントローラ1にレジスタを設定する専用回路を設け、レジスタ設定をハードウェア処理で行うようにしている。なお、本実施形態のレジスタ設定回路100は、単にメモリ(例えばRAM30)にあるデータをレジスタに書き込むだけでなく、所定のコマンドを解釈して、コマンドにしたがいレジスタの設定を行う。
このようにレジスタ設定処理をハードウェアにより行うようにしたのは、レジスタ設定処理が図5に例示したように比較的単純なものが多いことと、その処理数(設定が必要なレジスタの数、設定処理の処理ステップ)が多いことを考慮したためである。そして、レジスタの設定をハードウェアで行うことで、ソフトウェアでの処理に較べて、レジスタ設定処理を高速化することができる。さらに、本実施形態によれば、CPUを面倒なレジスタ設定処理から開放させることができ、CPUの処理負荷を軽減することができる。
したがって、本実施形態のプリンタコントローラによれば、従来、CPUが所定のプログラムを実行して、ソフト処理により行っていた各種レジスタの設定処理を効率的に行い、設定処理時間を短縮することができる。
例えば、本実施形態によれば、プリンタに電源が投入された際のプリンタコントローラの初期設定時間を短縮することができるようになる。すなわち、本実施形態によれば、プリンタの起動処理を短縮させることができる。また、本実施形態によれば、紙詰まり、省電力復帰等の際のレジスタ設定を短縮することができる。また、例えば、本実施形態では、PLL初期化等の規定時間以上待ってから設定する必要がある処理についてもハード処理で行うため、ソフトウェアでの時間待ちが必要なくなる。
また、本実施形態をレーザプリンタに適用すると特に有効である。具体的には、レ−ザープリンタのプリンタコントローラに搭載されているASIC(特に画像処理回路)は、設定するレジスタの数が多い。そのため、本実施形態を適用することによる効果、すなわち、CPUの負荷軽減およびレジスタ設定時間の短縮効果は、より大きいものとなる。
また、4サイクルカラープリンタ(1色ごとにレザーを出力するプリンタ)では、印刷処理の高速化に伴い、次の色を出力するまでの時間が非常に短くなっている。そのため、印刷処理の際のスクリーンレジスタの書き換え処理時間が印刷処理のボトルネックとなっている。そして、4サイクルカラープリンタに本実施形態のプリンタコントローラを用いるようにすれば、スクリーンレジスタの書き換えを高速に行えるため、印刷処理の高速化に対応することができるようになる。
なお、本発明は、以上で説明した実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形が可能である。例えば、上記実施形態の図4、5のフローでは、レジスタ設定回路100は、レジスタ設定データをRAM30から読み出し、その読み出したレジスタ設定データを利用するようにしたが、上述したように、レジスタ設定回路100が、ROM50に格納されているレジスタ設定データを直接読み出すようにしてもよい。この場合には、図4に示したS10の処理は不要となる。なお、この場合、図4のS20において、CPU20は、ROM50上のメモリアドレスをレジスタ設定回路100に設定する。
また、上記実施形態では、レジスタ設定回路100の設定対象のレジスタが、制御ASIC10およびIOASIC40に搭載されている各種のレジスタである場合を例示したが特にこれに限定されるものではない。プリンタコントローラ1に搭載されている他のICがあれば、そのIC上に搭載されているレジスタの値を設定するようにしてもよい。
また、画像形成装置以外の情報処理装置に、本実施形態を適用するようにしてもよい。
1…プリンタコントローラ、2…印刷エンジン、10…制御ASIC、20…CPU、30…RAM、40…IOASIC、50…ROM、100…レジスタ設定回路、110…DMA開始メモリアドレスレジスタ、120…DMA終了メモリアドレスレジスタ、130…コマンド認識部、140…設定レジスタアドレスバッファ、150…データバッファ、160…フラグ/解析カウンタ回路、170…アドレスバッファ、180…制御部
Claims (5)
- 印刷エンジンに印刷データを出力し、該印刷エンジンに印刷処理を実行させるプリンタコントローラであって、
外部装置との間で行われるデータの送受信を制御するIO制御回路と、
メモリと、
前記メモリに対するデータの読み書き処理、および前記印刷エンジンの動作を制御する制御回路と、を備え、
前記IO制御回路および前記制御回路には、各々、各種データを設定するためのレジスタが搭載されていて、
前記メモリの所定領域には、設定する対象の前記レジスタのアドレス毎に、該レジスタへの設定処理の内容を示したコマンドを対応付けた設定データが格納されていて、
前記制御回路は、前記メモリの所定領域から前記設定データを読み出し、該読み出した設定データに含まれるアドレスのレジスタに対して、該読み出した設定データのコマンドが示す設定処理を実行するレジスタ設定回路を有すること
を特徴とするプリンタコントローラ。 - 請求項1に記載のプリンタコントローラであって、
前記プリンタコントローラの全体の制御を行う演算処理部を備え、
前記演算処理部は、前記レジスタ設定回路に、レジスタの設定処理を指示するデータを出力し、
前記レジスタ設定回路は、前記演算処理部からの前記指示するデータを受けると、前記設定データを読み出し、該読み出した設定データのコマンドが示す設定処理を実行すること
を特徴とするプリンタコントローラ。 - 請求項1〜2のいずれか一項に記載のプリンタコントローラであって、
前記演算処理部は、前記メモリ上に画像データを生成する処理を行い、
前記制御回路は、
前記メモリ上の画像データを読み出し、該画像データから印刷データを生成し、該生成した印刷データを前記印刷エンジンに出力する画像処理回路を有していて、
前記設定データには、前記画像処理回路に搭載されているレジスタを設定するためのデータが含まれていること
を特徴とするプリンタコントローラ。 - 請求項1〜3のいずれか一項に記載のプリンタコントローラであって、
前記コマンドは、レジスタへのデータ書き込みを指示するライトコマンド、所定時間処理を待つことを指示するWAITコマンド、およびポーリング処理を指示するコマンドのいずれかであること
を特徴とするプリンタコントローラ。 - 請求項1〜4のいずれか一項のプリンタコントローラと、
前記プリンタコントローラが出力する印刷エンジンを用いて、印刷処理を実行する印刷エンジンと、を備えるプリンタ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006007348A JP2007185911A (ja) | 2006-01-16 | 2006-01-16 | プリンタコントローラ、およびプリンタ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006007348A JP2007185911A (ja) | 2006-01-16 | 2006-01-16 | プリンタコントローラ、およびプリンタ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007185911A true JP2007185911A (ja) | 2007-07-26 |
Family
ID=38341404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006007348A Pending JP2007185911A (ja) | 2006-01-16 | 2006-01-16 | プリンタコントローラ、およびプリンタ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007185911A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013178638A (ja) * | 2012-02-28 | 2013-09-09 | Ricoh Co Ltd | 画像処理回路、画像処理装置及び画像処理回路の制御方法 |
-
2006
- 2006-01-16 JP JP2006007348A patent/JP2007185911A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013178638A (ja) * | 2012-02-28 | 2013-09-09 | Ricoh Co Ltd | 画像処理回路、画像処理装置及び画像処理回路の制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150134892A1 (en) | Information processing apparatus, method of controlling the same, and storage medium | |
US10534986B2 (en) | Printing apparatus having interpreters interpreting print data, printing method, and storage medium | |
US20180182059A1 (en) | Information processing apparatus and communication control method having communication mode based on function | |
US20190171918A1 (en) | Print data processing apparatus | |
JP2007185911A (ja) | プリンタコントローラ、およびプリンタ | |
US7457943B2 (en) | Controller, image processing apparatus, and method of controlling execution of program | |
JP2007188434A (ja) | 画像処理装置 | |
US10262247B2 (en) | Image forming apparatus for converting print data into intermediate data, method for controlling image forming apparatus, and storage medium | |
JP3230516B2 (ja) | プリンタ、記録媒体およびプリンタのメモリ管理方法 | |
US9197782B2 (en) | Image processing device and image processing method | |
JP4468754B2 (ja) | 画像形成装置及びメモリ制御方法 | |
US7589859B2 (en) | Print apparatus, print control method, storage medium storing computer-readable program, and program | |
JPH07210365A (ja) | 画像形成装置 | |
JP2010098426A (ja) | 制御装置、画像形成装置、およびプログラム | |
JP2007241757A (ja) | 情報処理装置 | |
JPH05327955A (ja) | 画像形成装置及び該装置における制御プログラムの処理方法 | |
US20060132494A1 (en) | High speed image processing method and apparatus, program product of the method, computer readable medium of the product, and image forming system having the apparatus | |
JP2007105914A (ja) | 印刷処理装置および印刷処理システム | |
JPH11203059A (ja) | 画像入出力処理装置および画像入出力処理装置のメモリアクセス方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JP2010170489A (ja) | 処理装置、画像形成装置及び処理方法 | |
JP3027849B2 (ja) | 印字装置 | |
KR100636817B1 (ko) | 시스템 버스로의 트랜잭션을 줄이기 위한 그래픽처리장치와 이를 구비한 화상형성장치 | |
JP2008073955A (ja) | 画像形成装置 | |
JPH05324220A (ja) | 印刷装置 | |
JP2009064342A (ja) | データ転送システム |