(57)【要約】【課題】ＣＰＵの重複する読み出し動作を減らし、処理速度を速くする。【解決手段】本発明の印刷装置は、データを記憶するメモリと、受信したデータを前記メモリにＤＭＡ転送するためのＤＭＡコントローラと、前記ＤＭＡコントローラの設定を行う処理装置と、を備える。そして、前記ＤＭＡコントローラが受信するデータは、ヘッダ部とデータ部とを含み、前記ＤＭＡコントローラは、受信したデータを蓄積するバッファを有し、前記ＤＭＡコントローラは、前記データのヘッダ部を前記バッファに蓄積し、前記処理装置は、前記バッファに蓄積された前記ヘッダ部を読み出し、前記処理装置は、前記ヘッダ部に基づいて、前記ＤＭＡコントローラを設定し、前記ＤＭＡコントローラは、設定に従って、前記データの前記データ部を前記メモリにＤＭＡ転送する。【選択図】    図１３
2005193543.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶するメモリと、
受信したデータを前記メモリにＤＭＡ転送するためのＤＭＡコントローラと、
前記ＤＭＡコントローラの設定を行う処理装置と、
を備え、
前記ＤＭＡコントローラが受信するデータは、ヘッダ部とデータ部とを含み、
前記ＤＭＡコントローラは、受信したデータを蓄積するバッファを有し、
前記ＤＭＡコントローラは、前記データのヘッダ部を前記バッファに蓄積し、
前記処理装置は、前記バッファに蓄積された前記ヘッダ部を読み出し、
前記処理装置は、前記ヘッダ部に基づいて、前記ＤＭＡコントローラを設定し、
前記ＤＭＡコントローラは、設定に従って、前記データの前記データ部を前記メモリにＤＭＡ転送する
ことを特徴とする印刷装置。
【請求項２】
請求項１に記載の印刷装置であって、
前記処理装置と前記ＤＭＡコントローラの間に設けられた第１バスと、
前記ＤＭＡコントローラと前記メモリとの間に設けられた第２バスと、
を更に備え、
前記処理装置は、前記メモリに転送されたデータを読み出すとき、前記第１バス及び前記第２バスを利用する
ことを特徴とする印刷装置。
【請求項３】
請求項１又は２に記載の印刷装置であって、
前記ＤＭＡコントローラは、受信したデータのデータ長を計数するカウンタを有し、
カウンタの設定に基づいて、所定のデータ長の前記ヘッダ部を前記バッファに蓄積する
ことを特徴とする印刷装置。
【請求項４】
請求項３に記載の印刷装置であって、
前記ヘッダ部は、前記データ部の長さに関するデータ長情報を有し、
前記処理装置は、前記データ長情報に基づいて、前記カウンタを設定する
ことを特徴とする印刷装置。
【請求項５】
請求項１〜４のいずれかに記載の印刷装置であって、
前記処理装置は、転送先を前記ＤＭＡコントローラに設定し、
前記ＤＭＡコントローラは、設定された前記転送先に従って、前記データの前記データ部を前記メモリにＤＭＡ転送する
ことを特徴とする印刷装置。
【請求項６】
請求項５に記載の印刷装置であって、
前記ヘッダ部は、前記データ部の種類に関する種別情報を有し、
前記処理装置は、前記種別情報に基づいて、前記転送先を決定する
ことを特徴とする印刷装置。
【請求項７】
請求項６に記載の印刷装置であって、
前記印刷装置は、印刷データに基づいて媒体に画像を形成するものであり、
前記データ部は、前記印刷データを含む
ことを特徴とする印刷装置。
【請求項８】
請求項７に記載の印刷装置であって、
前記印刷データは、前記媒体に前記画像を形成するときの制御情報と、前記画像に関する情報とを含むことを特徴とする印刷装置。
【請求項９】
請求項６〜８のいずれかに記載の印刷装置であって、
前記データ部は、前記印刷装置の状況を問い合わせる問い合わせ情報を含み、
前記印刷装置は、前記問い合わせ情報を受信した後、前記問い合わせ情報の発信元に前記印刷装置の状況に関する情報を送信する
ことを特徴とする印刷装置。
【請求項１０】
請求項１〜９のいずれかに記載の印刷装置であって、
前記データ部が前記メモリにＤＭＡ転送された後、前記処理装置は、前記メモリにＤＭＡ転送された前記データ部を読み出すことを特徴とする印刷装置。
【請求項１１】
データを記憶するメモリと、
受信したデータを前記メモリにＤＭＡ転送するためのＤＭＡコントローラと、
前記ＤＭＡコントローラの設定を行う処理装置と、
を備え、
前記ＤＭＡコントローラが受信するデータは、ヘッダ部とデータ部とを含み、
前記ＤＭＡコントローラは、受信したデータを蓄積するバッファを有し、
前記ＤＭＡコントローラは、前記データのヘッダ部を前記バッファに蓄積し、
前記処理装置は、前記バッファに蓄積された前記ヘッダ部を読み出し、
前記処理装置は、前記ヘッダ部に基づいて、前記ＤＭＡコントローラを設定し、
前記ＤＭＡコントローラは、設定に従って、前記データの前記データ部を前記メモリにＤＭＡ転送し、
前記処理装置と前記ＤＭＡコントローラの間に設けられた第１バスと、前記ＤＭＡコントローラと前記メモリとの間に設けられた第２バスと、を更に備え、前記処理装置は、前記メモリに転送されたデータを読み出すとき、前記第１バス及び前記第２バスを利用し、
前記ＤＭＡコントローラは、受信したデータのデータ長を計数するカウンタを有し、
カウンタの設定に基づいて、所定のデータ長の前記ヘッダ部を前記バッファに蓄積し、
前記ヘッダ部は、前記データ部の長さに関するデータ長情報を有し、
前記処理装置は、前記データ長情報に基づいて、前記カウンタを設定し、
前記処理装置は、転送先を前記ＤＭＡコントローラに設定し、
前記ＤＭＡコントローラは、設定された前記転送先に従って、前記データの前記データ部を前記メモリにＤＭＡ転送し、
前記ヘッダ部は、前記データ部の種類に関する種別情報を有し、
前記処理装置は、前記種別情報に基づいて、前記転送先を決定し、
前記印刷装置は、印刷データに基づいて媒体に画像を形成するものであり、
前記データ部は、前記印刷データを含み、
前記印刷データは、前記媒体に前記画像を形成するときの制御情報と、前記画像に関する情報とを含み、
前記データ部は、前記印刷装置の状況を問い合わせる問い合わせ情報を含み、
前記印刷装置は、前記問い合わせ情報を受信した後、前記問い合わせ情報の発信元に前記印刷装置の状況に関する情報を送信し、
前記データ部が前記メモリにＤＭＡ転送された後、前記処理装置は、前記メモリにＤＭＡ転送された前記データ部を読み出す
ことを特徴とする印刷装置。
【請求項１２】
受信したデータをメモリにＤＭＡ転送し、印刷を行う印刷装置であって、
データのヘッダ部をＤＭＡコントローラが受信し、
受信した前記ヘッダ部を前記ＤＭＡコントローラ内のバッファが蓄積し、
ＤＭＡコントローラを制御する処理装置が、前記バッファに蓄積された前記ヘッダ部を読み出し、
前記処理装置が、前記ヘッダ部に基づいて、前記ＤＭＡコントローラを設定し、
前記ＤＭＡコントローラが、設定に従って、前記データの前記データ部を前記メモリにＤＭＡ転送する
ことを特徴とする印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信したデータをメモリにＤＭＡ転送する印刷装置及び印刷方法に関する。
【背景技術】
【０００２】
外部のコンピュータと接続されたプリンタ（印刷装置）は、コンピュータから受信したデータに基づいて、印刷を行う。プリンタの印刷速度を高めるためには、外部からデータを受信した後、そのデータに対応する処理をプリンタが速く行う必要がある。また、印刷を行う場合でなくとも、プリンタは、データを受信した後、そのデータに応じた処理を高速に行うことが望ましい。
【０００３】
一方、プリンタが受信したデータをメモリに高速に転送するために、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送技術を用いることがある。ＤＭＡ転送を用いれば、ＣＰＵを介することなくデータを転送ができるので、ＣＰＵの処理が軽減し、プリンタの処理速度が速くなる。
【特許文献１】特開平１１−１５７１４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＤＭＡ転送により、受信したデータをメモリに転送した場合、受信したデータを処理するため、ＣＰＵは、まずデータのヘッダ部をメモリから読み出し、ヘッダ部の内容に応じてデータのデータ部を読み出し、このデータ部を処理することになる。このため、ＣＰＵがメモリに対して重複して読み出し動作を行うため、ＣＰＵからメモリへのアクセス速度が遅いと、受信したデータに対応する処理を開始するまで時間がかかり、プリンタの処理速度が遅くなる。  
そこで、本発明は、重複する読み出し動作を減らし、処理速度を速くすることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するための主たる発明は、データを記憶するメモリと、受信したデータを前記メモリにＤＭＡ転送するためのＤＭＡコントローラと、前記ＤＭＡコントローラの設定を行う処理装置と、を備え、前記ＤＭＡコントローラが受信するデータは、ヘッダ部とデータ部とを含み、前記ＤＭＡコントローラは、受信したデータを蓄積するバッファを有し、前記ＤＭＡコントローラは、前記データのヘッダ部を前記バッファに蓄積し、前記処理装置は、前記バッファに蓄積された前記ヘッダ部を読み出し、前記処理装置は、前記ヘッダ部に基づいて、前記ＤＭＡコントローラを設定し、前記ＤＭＡコントローラは、設定に従って、前記データの前記データ部を前記メモリにＤＭＡ転送することを特徴とする。
【０００６】
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
【発明の効果】
【０００７】
本発明の印刷装置によれば、処理速度を速くすることができる。
【発明を実施するための最良の形態】
【０００８】
＝＝＝開示の概要＝＝＝
本明細書及び添付図面の記載により、少なくとも、以下の事項が明らかとなる。
【０００９】
データを記憶するメモリと、
受信したデータを前記メモリにＤＭＡ転送するためのＤＭＡコントローラと、
前記ＤＭＡコントローラの設定を行う処理装置と、
を備え、
前記ＤＭＡコントローラが受信するデータは、ヘッダ部とデータ部とを含み、
前記ＤＭＡコントローラは、受信したデータを蓄積するバッファを有し、
前記ＤＭＡコントローラは、前記データのヘッダ部を前記バッファに蓄積し、
前記処理装置は、前記バッファに蓄積された前記ヘッダ部を読み出し、
前記処理装置は、前記ヘッダ部に基づいて、前記ＤＭＡコントローラを設定し、
前記ＤＭＡコントローラは、設定に従って、前記データの前記データ部を前記メモリにＤＭＡ転送する
ことを特徴とする印刷装置。  
このような印刷装置によれば、処理速度を速くすることができる。
【００１０】
かかる印刷装置であって、前記処理装置と前記ＤＭＡコントローラの間に設けられた第１バスと、前記ＤＭＡコントローラと前記メモリとの間に設けられた第２バスと、を更に備え、前記処理装置は、前記メモリに転送されたデータを読み出すとき、前記第１バス及び前記第２バスを利用することが望ましい。処理装置がメモリに記憶されたデータを読み出すときに時間がかかる構成であるが、処理装置に重複する読み出し動作を軽減できるので、処理速度を速くすることができる。
【００１１】
かかる印刷装置であって、前記ＤＭＡコントローラは、受信したデータのデータ長を計数するカウンタを有し、カウンタの設定に基づいて、所定のデータ長の前記ヘッダ部を前記バッファに蓄積することが望ましい。受信したデータをＳＤＲＡＭにＤＭＡ転送する前に、処理装置がヘッダ部を読み出すことができる。
【００１２】
かかる印刷装置であって、前記ヘッダ部は、前記データ部の長さに関するデータ長情報を有し、前記処理装置は、前記データ長情報に基づいて、前記カウンタを設定する
ことが望ましい。データ部の長さに応じてＤＭＡ転送するように処理装置がＤＭＡコントローラを設定できるので、効率よくデータ部をＤＭＡ転送することができる。
【００１３】
かかる印刷装置であって、前記処理装置は、転送先を前記ＤＭＡコントローラに設定し、前記ＤＭＡコントローラは、設定された前記転送先に従って、前記データの前記データ部を前記メモリにＤＭＡ転送することが望ましい。これにより、処理装置の重複する読み出し動作を減らし、処理速度を速くすることができる。
【００１４】
かかる印刷装置であって、前記ヘッダ部は、前記データ部の種類に関する種別情報を有し、前記処理装置は、前記種別情報に基づいて、前記転送先を決定することが望ましい。これにより、データの種類に応じてＤＭＡ転送するように処理装置がＤＭＡコントローラを設定することができる。
【００１５】
かかる印刷装置であって、前記印刷装置は、印刷データに基づいて媒体に画像を形成するものであり、前記データ部は、前記印刷データを含むことが望ましい。これにより、印刷装置は、印刷データに基づく印刷処理を早く開始することができる。
【００１６】
かかる印刷装置であって、前記印刷データは、前記媒体に前記画像を形成するときの制御情報と、前記画像に関する情報とを含むことが望ましい。これにより、印刷装置は、印刷データに基づく印刷処理を早く開始することができる。
【００１７】
かかる印刷装置であって、前記データ部は、前記印刷装置の状況を問い合わせる問い合わせ情報を含み、前記印刷装置は、前記問い合わせ情報を受信した後、前記問い合わせ情報の発信元に前記印刷装置の状況に関する情報を送信することが望ましい。これにより、問い合わせ情報を受信してから印刷装置の状況に関する情報を送信するまでの時間を短くすることができる。
【００１８】
かかる印刷装置であって、前記データ部が前記メモリにＤＭＡ転送された後、前記処理装置は、前記メモリにＤＭＡ転送された前記データ部を読み出すことが望ましい。このように、メモリに転送されたデータを処理装置が読み出す場合に、処理装置の重複する読み出し動作を回避することができるので有効である。
【００１９】
受信したデータをメモリにＤＭＡ転送し、印刷を行う印刷装置であって、
データのヘッダ部をＤＭＡコントローラが受信し、
受信した前記ヘッダ部を前記ＤＭＡコントローラ内のバッファが蓄積し、
ＤＭＡコントローラを制御する処理装置が、前記バッファに蓄積された前記ヘッダ部を読み出し、
前記処理装置が、前記ヘッダ部に基づいて、前記ＤＭＡコントローラを設定し、
前記ＤＭＡコントローラが、設定に従って、前記データの前記データ部を前記メモリにＤＭＡ転送する
ことを特徴とする印刷方法。
【００２０】
このような印刷方法によれば、処理速度を速くすることができる。
【００２１】
＝＝＝印刷装置の概略構成＝＝＝
図１〜図５を参照して本実施の形態に係る印刷装置の概略構成について説明する。図１は本実施の形態に係る印刷装置の概略構成を示した斜視図、図２はスキャナ部１０のカバーを開いた状態を示す斜視図、図３は印刷装置の内部構成を示す説明図、図４はプリンタ部の内部を露出させた状態を示す斜視図、図５は操作パネル部の一例を示す図である。
【００２２】
本実施形態の印刷装置は、原稿画像を入力するためのスキャナ機能、画像データに基づいて画像を用紙等の媒体に印刷するプリンタ機能、スキャナ機能により入力した画像を用紙等に印刷するローカルコピー機能を有するスキャナ・プリンタ・コピー複合装置（以下、ＳＰＣ複合装置という）である。
【００２３】
ＳＰＣ複合装置１は、スキャナ部１０と、プリンタ部３０と、制御回路５０と、操作パネル部７０とを有している。スキャナ部１０は、原稿５の画像を読み取って、画像データを取得する。プリンタ部３０は、画像データに基づいて画像を用紙等の媒体に印刷する。制御回路５０は、ＳＰＣ複合装置１全体の制御を司る。操作パネル７０は、ユーザーインターフェースとしての入力手段をなす。ＳＰＣ複合装置１は、制御回路５０によって各構成要素を制御し、スキャナ機能、プリンタ機能、及び、スキャナ部１０から入力されたデータをプリンタ部３０にて印刷するローカルコピー機能を実現する。
【００２４】
図４に示すように、プリンタ部３０とスキャナ部１０とは、背面側にてヒンジ機構４１により結合されており、ヒンジ機構４１の回動部を中心としてユニット化されたスキャナ部１０が手前側から持ち上げられる。スキャナ部１０を持ち上げた状態では、プリンタ部３０を覆うカバーの上部に設けられた開口３０１からプリンタ部３０の内部が露出される構成となっている。このようにプリンタ部３０の内部を露出させることにより、インクカートリッジ等の交換や、用紙詰まりの処理等を容易に行える構成としている。
【００２５】
また、本ＳＰＣ複合装置１への電源部はプリンタ部３０側に設けられている。前記ヒンジ機構４１の近傍に、スキャナ部１０へ電源を供給するための給電ケーブル４３が設けられている。さらに、このＳＰＣ複合装置１には、ＵＳＢインターフェイス５２が設けられている。ＵＳＢインターフェイスは、スキャナ機能時にはホストコンピュータ３への画像の送信し、プリンタ機能時にはホストコンピュータ３から画像データを受信するのに用いられる。
【００２６】
ＳＰＣ複合装置１の前面上側には、操作パネル７０が設けられている。この操作パネルの各種ボタンの操作によって、ＳＰＣ複合装置のスキャナ機能・コピー機能の各種設定を行うことができる。なお、プリンタ機能の各種設定は、操作パネル７０上ではなく、ＵＳＢインターフェイス５２を介してＳＰＣ複合装置１と接続されたコンピュータのプリンタドライバの設定により、行われる。制御回路５０は、設定内容に応じて、装置内の各構成要素を制御する。
【００２７】
＝＝＝スキャナ部１０の構成＝＝＝
スキャナ部１０は、原稿台ガラス１２と、原稿台カバー１４と、読取キャリッジ１６と、駆動手段１８と、規制ガイド２０とを有する。原稿台ガラスは、原稿５を載置する透明なガラス製の板である。原稿台カバー１４は、原稿台ガラス１２に載置された原稿５の読み取り面を原稿台ガラス１２側に押圧する。読取キャリッジ１６は、原稿台ガラス１２を介して対向し、原稿５と一定の間隔を保ちながら原稿５に沿って走査する。駆動手段１８は、読取キャリッジ１６を走査するための駆動力を発生する。規制ガイド２０は、読取キャリッジ１６を安定した状態にて走査させるための案内である。
【００２８】
読取キャリッジ１６は、光源２２と、レンズ２４と、ミラー２６と、ＣＣＤセンサ２８と、ガイド受け部２９とを有する。光源２２は、原稿台ガラス１２を介して原稿５に光を照射する。この光源２２は、ＲＧＢの３色の発光ダイオードを有し、各発光ダイオードを切り替えて、原稿５に光を照射する。レンズ２４は、原稿５による反射光を集光させる。ミラー２６は、４枚設けられており、原稿５からの反射光をレンズ２４に導く。ＣＣＤセンサ２８は、レンズを透過した反射光を受光する。ガイド受け部２９は、規制ガイド２０と係合している。  
ＣＣＤセンサ２８は、光信号を電気信号に変換するフォトダイオードが列状に配置されたリニアセンサで構成される。このリニアセンサは、読取キャリッジの移動方向と垂直な方向に、配置される。光源２２がＲＧＢの３色の光を順に発するので、ＣＣＤセンサ２８は、ＲＧＢの反射光を順に受光することになる。それぞれの反射光を受光する毎にＣＣＤセンサ２８の電荷を検出すれば、それぞれの反射光の光量を検出することができる。
【００２９】
駆動手段１８は、タイミングベルト１８１と、プーリ１８２と、パルスモータ１８３と、アイドラプーリ１８４とを有する。タイミングベルトは、読取キャリッジ１６に固定された環状のベルトである。プーリ１８２は、このタイミングベルト１８１と噛み合う。パルスモータ１８３は、プーリ１８２を回転駆動し、タイミングベルトを駆動する。アイドラプーリ１８４は、プーリ１８２の反対側に配置され、タイミングベルト１８１に張力を付与する。パルスモータは、制御回路５０のスキャナコントロールユニット（後述）により、制御される。
【００３０】
スキャナ部１０は、光源２２の光を原稿５に照射し、その反射光をＣＣＤセンサ２８上に結像させつつ、読取キャリッジ１６を原稿５に沿って移動させる。このとき、ＣＣＤセンサ２８が受光した光量を示す電圧値として所定の周期で読み込むことにより、１周期の間に読み取りキャリッジ１６が移動した距離分の画像を、出力する画像の１ライン分のデータとして取り込んでいく。但し、ＣＣＤセンサ２８は、ＲＧＢの反射光の光量を順に検出するので、ＲＧＢの３色の反射光を同時に検出することができず、検出位置にズレが生じる。このズレは、スキャナ制御ユニット（後述）により補正される。スキャナ制御ユニットの補正により、１ライン分のＲ成分、Ｇ成分、Ｂ成分の３つのデータが取得できる。
【００３１】
＝＝＝プリンタ部３０の構成＝＝＝
＜全体構成について＞
プリンタ部３０は、印刷用紙にインクを吐出してドットを形成して画像を形成するインクジェット方式を採用している。本プリンタ部３０は、カラー画像出力が可能であり、シアン（Ｃ）、マゼンタ（Ｍ）、イエロ（Ｙ）、ブラック（Ｋ）の４色の色インクを用いて画像を形成する。
【００３２】
次に、図３、図６、図７を参照してプリンタ部３０について説明する。図６は印刷ヘッド周辺の構成要素の配置を示した説明図、図７は印刷用紙搬送機構の駆動部を説明するための説明図である。
【００３３】
プリンタ部３０は、図示するように、印刷ヘッド３８を駆動してインクを吐出する機構と、この書込キャリッジ３６をキャリッジモータ４０によって移動方向（用紙７の搬送方向と直交する方向）に往復動させる機構と、搬送モータ（以下、ＰＦモータともいう）４２によって用紙７を搬送する機構とを有している。
【００３４】
インクを吐出する機構は、複数のノズルを備えた印刷ヘッド３８を有する。印刷ヘッドは、ヘッド制御ユニット（後述）から送られてくるヘッド駆動データに基づいて、所定のノズルからインクを吐出する。印刷ヘッド３８の下面３８１には、複数のノズル列が書込キャリッジ３６の移動方向に並んでいる。各ノズル列には、複数のノズルが用紙７の搬送方向に沿って並んでいる。印刷ヘッド３８は、各ノズルに対応させて記憶素子を備えている。この記憶素子は、ヘッド制御ユニット（後述）から送られてくるヘッド駆動データ（後述）を記憶する。
【００３５】
書込キャリッジ３６を往復動させる機構は、キャリッジモータ（以下、ＣＲモータともいう）４０と、軸４４と、リニア式エンコーダ４６と、リニア式エンコーダ用符号板４６１と、プーリ４８と、タイミングベルト４９とを有する。キャリッジモータ４０は、書込キャリッジ３６を駆動する。軸４４は、用紙７の搬送方向と直交する方向に設けられ、書込キャリッジ３６を往復移動可能に保持する。リニア式エンコーダ４６は、所定の間隔のスリットが形成された符号板４６１を用いて、書込キャリッジの位置を検出する。プーリ４８は、キャリッジモータ４０の回転軸に取付けられ、タイミングベルト４９を駆動する。キャリッジモータ４０が駆動すると、タイミングベルト４９が駆動され、書込キャリッジ３６が軸４４に案内されながら移動する。
【００３６】
書込キャリッジ３６には、印刷ヘッド３８と、この印刷ヘッド３８と一体に設けられたカートリッジ装着部が固定されている。このカートリッジ装着部には、黒（Ｋ）、シアン（Ｃ）、マゼンタ（Ｍ）、イエロ（Ｙ）等のインクが収容されたインクカートリッジが装着される。
【００３７】
用紙７を搬送する機構は、プラテン３５と、搬送ローラ３７と、排紙ローラ３９と、搬送モータ４２と、ロータリ式エンコーダ４７と、用紙検出センサ４５とを有する。プラテン３５は、印刷ヘッド３８と対向して配置され、用紙７と印刷ヘッド３８とが適切な距離となるように用紙７を案内する案内部材である。搬送ローラ３７は、プラテン３５に対し用紙７の搬送方向の上流側に設けられ、プラテン３５に所定の角度にて用紙７が接触するように用紙７を搬送する。排紙ローラ３９は、プラテン３５に対し用紙７の搬送方向の下流側に設けられ、搬送ローラ３７から外れた用紙７を排紙する。搬送モータ４２は、搬送ローラ３７及び排紙ローラ３９を駆動する。搬送ローラ３７及び排紙ローラ３９は、両ローラの搬送量が一致するようにギア列３１により繋げられ、搬送モータ４２の回転が伝達されて駆動される。ロータリ式エンコーダ４７は、用紙７の搬送量を検出する。なお、用紙検出センサ４５は、用紙７の有無及び用紙７の先端・後端を検出する。
【００３８】
＜ノズルの構成について＞
図８は、印刷ヘッド３８の下面３８１におけるノズルの配列を示す説明図である。
【００３９】
印刷ヘッド３８の下面３８１には、ブラックインクノズル列３３（Ｋ）と、シアンインクノズル列３３（Ｃ）と、マゼンタインクノズル列３３（Ｍ）と、イエローインクノズル列３３（Ｙ）が形成されている。各ノズル列３３は、各色のインクを吐出するための吐出口であるノズルを複数個（本実施形態では１８０個）備えている。
【００４０】
各ノズル列３３の複数のノズルは、紙搬送方向に沿って、一定の間隔（ノズルピッチ：ｋ・Ｄ）でそれぞれ整列している。ここで、Ｄは、紙搬送方向における最小のドットピッチ（つまり、用紙に形成されるドットの最高解像度での間隔）であり、例えば、解像度が７２０ｄｐｉであれば１／７２０インチ（約３５．３μｍ）である。また、ｋは、１以上の整数である。  
また、各ノズル列のノズルは、下流側のノズルほど小さい番号が付される。ノズル♯１は、搬送方向最下流のノズルであり、ノズル♯１８０は、搬送方向最上流のノズルになる。各ノズルには、各ノズルを駆動してインク滴を吐出させるための駆動素子としてピエゾ素子（不図示）が設けられている。このピエゾ素子は、ヘッド駆動データに基づいて駆動される。この結果、ヘッド駆動データに応じて、印刷用紙にドットが形成される。
【００４１】
なお、印刷時には、用紙７が搬送ローラ３７及び排紙ローラ３９によって間欠的に所定の搬送量Ｆで搬送され、その間欠的な搬送の間に書込キャリッジ３６が走査方向に移動して各ノズルからインク滴が吐出される。
【００４２】
＝＝＝制御回路５０の内部構造＝＝＝
図９は、制御回路５０の説明図である。
【００４３】
制御回路５０には、ＲＯＭ５３及びカードインターフェイス５４がＣＰＵバス５０１を介して繋がっている。このＲＯＭ５３にプログラムが記憶されており、制御回路５０は、このプログラムに従って、装置全体の制御を行う。また、ＣＰＵバス５０１とは独立しているローカルバス５０２には、ＳＤＲＡＭ６９が繋がっている。なお、ＣＰＵバス５０１は３２ビット幅のデータバスであり、ローカルバス５０２は１６ビット幅のデータバスである。また、制御回路５０には、操作パネル７０及びモータドライバ５０３がシリアルインターフェイス（不図示）を介して繋がっている。この、モータドライバ５０３は、スキャナ部１０の駆動手段１８、プリンタ部３０のキャリッジモータ４０と、搬送モータ４２とを駆動するときに用いられる。また、ＳＰＣ複合装置は、ＵＳＢインターフェイス５５を介して、外部のコンピュータ３と接続されている。
【００４４】
制御回路５０は、ＣＰＵ５２と、ＳＤＲＡＭコントローラ６８と、複数のユニット（５６〜６６）と、を有する。制御回路５０は、ＣＰＵ５２を内蔵した専用回路として構成されている。ＣＰＵ５２は、ＲＯＭ５３に記憶されたプログラムに従って、各ユニットの設定等を行うことによって、装置全体の制御を行う。ＳＤＲＡＭコントローラ６８は、制御回路５０内のユニットからの指示に応じて、ＳＤＲＡＭへデータの書き込みや読み出しを行う。また、制御回路５０には、ＵＳＢ制御ユニット５６と、スキャナ制御ユニット５８と、２値化ユニット６０と、インターレース処理ユニット６１と、イメージバッファユニット６２と、ヘッド制御ユニット６４と、ＣＰＵインターフェイスユニット６６が設けられている。  
ＵＳＢ制御ユニット５６は、ＵＳＢインターフェイス５５を介して、受信したデータをＳＤＲＡＭ５９へ格納し、ＳＤＲＡＭ内のデータを送信する際に用いられる。
【００４５】
スキャナ制御ユニット５８は、スキャナ部１０が備える光源２２、ＣＣＤセンサ２８、パルスモータ１８３等を制御する。スキャナ制御ユニット５８は、ＣＣＤセンサ２８を介して読み込んだ画像データを送出する機能を有する。なお、スキャナ制御ユニット５８は、原稿から画像を読み取った後に画素間の補間を行うことにより、所定の解像度の画像データを生成することができる。例えば、通常コピー時（後述）にはプリンタ部の解像度（例えば１４４０ｄｐｉ×７２０ｄｐｉ）の解像度の画像データを生成することができる。スキャナコントロールユニット５８が生成する画像データは、２５６階調のＲＧＢ色空間の画像データ（２５６階調ＲＧＢデータ）である。スキャナコントロールユニット５８は、生成した２５６階調ＲＧＢデータを、ＳＤＲＡＭ６９内に割り当てられたラインバッファに記憶する。
【００４６】
２値化処理ユニット６０は、２５６階調ＲＧＢデータを２階調（又は４階調）のＣＭＹＫ系のデータに変換する。まず、２値化ユニット６０は、２５６階調ＲＧＢデータを、ＳＤＲＡＭ６９に格納されたルックアップテーブル（ＬＵＴ）を参照して２５６階調のＣＭＹＫデータに変換する（この処理を、色変換処理ともいう）。そして、２値化ユニット６０は、誤差拡散法等の手法によって、２５６階調ＣＭＹＫデータを２階調ＣＭＹＫデータに変換する（この処理を、ハーフトーン処理ともいう）。２値化処理ユニット６０は、生成した２階調ＣＭＹＫデータを、ＳＤＲＡＭ内に割り当てられた２値化バッファに記憶する。
【００４７】
インターレース処理ユニット６１は、１ラスタライン（印刷画像における主走査方向の１ライン）を複数回の書込キャリッジ３６の走査にて印刷する所謂オーバーラップ印刷する際に、１ラスタラインのＣＭＹＫのデータを書込キャリッジ３６の走査毎に印刷するデータに振り分けてオーバーラップ印刷対応データ（以下、ＯＬ対応データという）を生成する。インターレース処理ユニット６１は、生成したＯＬ対応データを、ＳＤＲＡＭ６９内に割り当てられたインターレースバッファに記憶する。また、インターレース処理ユニット６１では、インターレースバッファに記憶されたデータを所定のサイズ毎に読み出して、ノズル配列に対応させるべく並び替える。
【００４８】
イメージバッファユニット６２は、インターレース処理ユニット６１から送出されたデータを、書込キャリッジ３６の走査毎の各ノズルにインクを吐出させるためのヘッド駆動データを生成する。イメージバッファユニット６２は、生成したヘッド駆動データを、ＳＤＲＡＭ内に割り当てられたイメージバッファに記憶する。
【００４９】
ヘッド制御ユニット６４は、イメージバッファのヘッド駆動データを印刷ヘッド３８へ送り出す。イメージバッファにはヘッド駆動データが順次記憶され、書込キャリッジ３６の１回の走査中に必要なヘッド駆動データが蓄積されたときに、書込キャリッジ３６の駆動が始まる。そして、書込キャリッジ３６の移動中に、ヘッド制御ユニット６４は、ヘッド駆動データを順次印刷ヘッド３８へ送り出す。印刷ヘッド３８は、ヘッド制御ユニット６４から送られてくるヘッド駆動データに基づいて、所定のノズルからインクを吐出する。
【００５０】
ＣＰＵインターフェイスユニット６６は、ＣＰＵ５２がＳＤＲＡＭ６９へアクセスを可能とする機能を有している。
【００５１】
＝＝＝ＳＤＲＡＭのデータ転送＝＝＝
本実施形態のＳＤＲＡＭコントローラは、制御回路内の各ユニットに応じて、又は、制御回路内の各ユニットからの指示に応じて、以下に説明する４バースト転送又は８バースト転送を行う。なお、以下の説明では、読み出しに対するレイテンシを２とする（書き込みに対するレイテンシは０である）。
【００５２】
＜読み出し時＞
図１０Ａは、４バースト転送による読み出し時の動作説明図である。図１０Ｂは、８バースト転送による読み出し時の動作説明図である。
【００５３】
図中の一番上の信号は、同期のためのクロックである。コマンド信号は、ＳＤＲＡＭへの動作命令のための信号である。このコマンド信号は、コントロール信号（ＲＡＳ、ＣＡＳ、ＷＥ等）の論理レベルの組み合わせによるものである。アドレス信号は、データの入出力先を指定するための信号である。データ信号は、ＳＤＲＡＭのデータピンに入出力する信号である。
【００５４】
まず、ＳＤＲＡＭコントローラは、各ユニットからの指示に応じて、ＳＤＲＡＭに対してＡＣＴコマンド（行アドレス・ストローブ信号（ＲＡＳ）も含まれる）を与える。また、ＳＤＲＡＭコントローラは、行アドレスをＳＤＲＡＭに与える。説明上、ＳＤＲＡＭに与えられる行アドレスを行Ａとする。次に、ＳＤＲＡＭコントローラは、ＳＤＲＡＭに対してＲＥＡＤコマンド（列アドレス・ストローブ信号（ＣＡＳ）も含まれる）を与える。また、ＳＤＲＡＭコントローラは、列アドレスをＳＤＲＡＭに与える。説明上、ＳＤＲＡＭに与えられる列アドレスを列ａ１とする。これにより、レイテンシが２なので、２クロック後から行Ａ列ａ１のデータが出力される。また、ＳＤＲＡＭは、４バースト長に設定されており、４つの連続したアドレス（行Ａ列ａ１〜列ａ４）のデータを１クロック毎に順に出力する。
【００５５】
ＳＤＲＡＭは、入力された行アドレスに応じてその行のデータを全てラッチし、その後の列アドレスに応じて、ラッチしたデータの中から出力するデータを選択している。そのため、ＳＤＲＡＭは、同じ行のデータであれば、ＡＣＴコマンド等を出さずに、連続してデータを出力できる。上記の４バースト転送は、これを利用したものである。
【００５６】
８バースト転送の場合、ＳＤＲＡＭコントローラは、最初のＲＥＡＤコマンドから４クロック後に、更にＲＥＡＤコマンドをＳＤＲＡＭへ与える。また、ＳＤＲＡＭコントローラは、最初に与えた列アドレス（列ａ１）の４アドレス後の列アドレス（列ａ５）をＳＤＲＡＭに与える。これにより、このＲＥＡＤコマンドの２クロック後から、行Ａ列ａ５〜ａ８のデータが出力される。行Ａ列ａ５のデータが、最初のＲＥＡＤコマンドによる行Ａ列ａ４からのデータの読み出し直後に、読み出される。したがって、この場合、ＳＤＲＡＭは、４バースト長に設定されているが、８つの連続したアドレス（行Ａ列ａ１〜ａ８）のデータを１クロック毎に順に読み出すことになる。
【００５７】
８バースト転送の場合、ＡＣＴコマンドを２度出すことなく、４バースト転送を連続して２回行っている。これにより、読み出し速度を速くすることができる。
【００５８】
＜書き込み時＞
図１１Ａは、４バースト転送による書き込み時の動作説明図である。図１１Ｂは、８バースト転送による書き込み時の動作説明図である。
【００５９】
まず、ＳＤＲＡＭコントローラは、各ユニットからの指示に応じて、ＳＤＲＡＭに対してＡＣＴコマンド（行アドレス・ストローブ信号（ＲＡＳ）も含まれる）を与える。また、ＳＤＲＡＭコントローラは、行アドレスをＳＤＲＡＭに与える。説明上、ＳＤＲＡＭに与えられる行アドレスを行Ａとする。次に、ＳＤＲＡＭコントローラは、ＳＤＲＡＭに対してＷＲＩＴＥコマンド（列アドレス・ストローブ信号（ＣＡＳ）も含まれる）を与える。また、ＳＤＲＡＭコントローラは、列アドレスをＳＤＲＡＭに与える。説明上、ＳＤＲＡＭに与えられる列アドレスを列ａ１とする。  
書き込まれるデータは、１クロック毎に連続してＳＤＲＡＭへデータ信号として入力される。ＳＤＲＡＭは、入力されたアドレスから連続する４つのアドレス（行Ａ列ａ１〜ａ４）に、１クロック毎にデータを取り込み、順に書き込んでいく。  
図中のＤＱＭ信号は、書き込みデータに対してマスクを行うための信号である。書き込みに対するレイテンシはゼロであるので、ＤＭＱにＨレベルが入力されたサイクルの書き込みデータは、ＳＤＲＡＭには書き込まれない。
【００６０】
８バースト転送の場合、ＳＤＲＡＭコントローラは、最初のＷＲＩＴＥコマンドから４クロック後に、更にＷＲＩＴＥコマンドをＳＤＲＡＭへ与える。また、ＳＤＲＡＭコントローラは、最初に与えた列アドレス（列ａ１）の４アドレス後の列アドレス（列ａ５）をＳＤＲＡＭに与える。これにより、２度目のＷＲＩＴＥコマンドに対する最初のデータが、最初のＷＲＩＴＥコマンドによる行Ａ列ａ４へのデータの書き込み直後に、行Ａ例ａ５へ書き込まれる。したがって、この場合、ＳＤＲＡＭは、４バースト長に設定されているが、８つの連続したアドレス（行Ａ列ａ１〜ａ８）へのデータを１クロック毎に順に書き込むことになる。
【００６１】
＝＝＝ＳＤＲＡＭコントローラへの指示＝＝＝
図１２Ａは、読み出し時におけるユニットとＳＤＲＡＭコントローラ間での信号の受け渡しの説明図である。図１２Ｂは、書き込み時におけるユニットとＳＤＲＡＭコントローラ間での信号の受け渡しの説明図である。
【００６２】
ユニットがＳＤＲＡＭからデータを読み出すとき、ユニットは、ＳＤＲＡＭコントローラへ、読み出し要求を行うと共に、読み出し先のアドレスを指示する。また、ユニットによっては、ＳＤＲＡＭコントローラに対して、バースト長を指定する信号を出すこともある。ＳＤＲＡＭコントローラは、ユニットから読み出し要求を受けた後、そのユニットに対してＲＡＣＫ信号を出す。４バースト転送のみ行うユニットから読み出し要求があった場合、ＳＤＲＡＭコントローラは、４バースト転送によりＳＤＲＡＭからデータを読み出す。８バースト転送のみ行うユニットから読み出し要求があった場合、ＳＤＲＡＭコントローラは、８バースト転送によりＳＤＲＡＭからデータを読み出す。４バースト転送及び８バースト転送の両方を行うユニットから読み出し要求がある場合、バースト長を指定する信号に従って、ＳＤＲＡＭコントローラはＳＤＲＡＭからデータを読み出す。ＳＤＲＡＭコントローラは、ＳＤＲＡＭからデータを取り出した後、ＡＣＫ信号と共にデータを送り出す。これにより、ユニットは、指定したアドレス先のデータを読み出すことができる。
【００６３】
本実施形態では、ユニットがバースト長指定信号を出さない場合、ＳＤＲＡＭコントローラは、どのバースト長にて読み出し動作を行うのかを、読み出し要求元のユニットに応じて決定する。例えば、本実施形態では、ヘッド駆動ユニットから読み出し要求があった場合、ＳＤＲＡＭコントローラは、８バースト転送にてＳＤＲＡＭからデータを読み出す。また、ＣＰＵインターフェイスユニットから読み出し要求があった場合、ＳＤＲＡＭコントローラは、４バースト転送にてＳＤＲＡＭからデータを読み出す。
【００６４】
ユニットがＳＤＲＡＭへデータを書き込むとき、ユニットは、ＳＤＲＡＭコントローラへ、書き込み要求を行うと共に、アドレスと書き込むデータとＤＱＭ信号を指示する。ＳＤＲＡＭコントローラは、ユニットから書き込み要求を受けた後、ユニットから指示されたデータに応じて４バースト転送又は８バースト転送にて、ＳＤＲＡＭへデータの書き込みを開始する。また、ＳＤＲＡＭコントローラは、ＳＤＲＡＭへのデータの書き込みを開始すると共に、ユニットへＡＣＫ信号を送り出す。これにより、ユニットは、指定したアドレス先へのデータの書き込みを終了する。
【００６５】
本実施形態では、ＤＲＡＭコントローラは、ユニットから指示されたデータが４バースト転送相当分であれば、ＳＤＲＡＭに対して４バースト転送にてデータを書き込む。また、ＳＤＲＡＭコントローラは、ユニットから指示されたデータが８バースト転送相当分であれば、ＳＤＲＡＭに対して８バースト転送にてデータを書き込む。具体的には、ローカルバス５０２は１６ビットバスなので、ＳＤＲＡＭコントローラは、ユニットから６４ビットのデータの書き込みを指示されたとき、４バースト転送にてデータをＳＤＲＡＭに書き込む。また、ＳＤＲＡＭコントローラは、ユニットから１２８ビットのデータの書き込みを指示されたとき、８バースト転送にてデータをＳＤＲＡＭに書き込む。
【００６６】
以下に各ユニットの動作が説明されるが、説明の簡略化のため、特別な場合を除き、ＳＤＲＡＭコントローラの存在を無視し、ユニットがＳＤＲＡＭへデータを書き込む等と表現する。
【００６７】
＝＝＝プリンタ機能時のデータの流れ＝＝＝
まず、外部のコンピュータ３からＵＳＢインターフェイスを介して印刷データを受信し、ＳＰＣ複合装置１のプリンタ部３０が印刷を行う場合のデータの流れを説明する。
【００６８】
＜ＵＳＢコントローラからＳＤＲＡＭ（受信バッファ）へ＞
図１３Ａは、ＵＳＢコントローラがＤＭＡコントローラへ送るデータの説明図である。図１３Ｂは、ＵＳＢコントローラから受信したデータをＳＤＲＡＭの受信バッファへ記憶するときの説明図である。図１３Ｂには、ＤＭＡコントローラの概念図も示されている。
【００６９】
本実施形態のＵＳＢ制御ユニット５６（前述）は、ＵＳＢコントローラ５６１とＤＭＡコントローラ５６２を含んでいる。ＵＳＢコントローラ５６１は、ＵＳＢインターフェイス５５から受信したデータをＤＭＡコントローラ５６２へ送る。  
ＵＳＢコントローラ５６１がＤＭＡコントローラへ送るデータは、６バイトのヘッダと、可変長のデータ部とからなる。ヘッダは、６バイトに固定されたデータ長である。このヘッダは、その後に続くデータ部の種類を示す種別情報と、データ部のデータ長を示すデータ長情報とを含んでいる。ＤＭＡコントローラ５６２は、ＵＳＢコントローラから、ヘッダを受け取った後、データ部を受け取ることになる。
【００７０】
データ部の種類は、２種類ある。一つが印刷データであり、もう一つがコマンドデータである。印刷データは、制御情報と画像情報とからなる。制御情報は、画像情報のデータ長さを示す情報、画像情報の圧縮タイプを示す情報、プリンタ部の構成要素を制御するための情報等からなる。画像情報は、プリンタ部が印刷するときの各画素の情報である。本実施形態では、画像情報は、２階調ＣＭＹＫデータである。コマンドデータは、例えば、外部のコンピュータがプリンタへステータス情報を問い合わせるときに発行される問い合わせ情報である。
【００７１】
ＤＭＡコントローラは、カウンタ付ゲート５６４と、ＤＭＡバッファ５６５と、スイッチ５６６とを有する。カウンタ付ゲート５６４は、ＵＳＢコントローラからのデータの転送を制御するゲートであり、また、ＵＳＢから転送されるデータ長をカウントするカウンタでもある。これにより、カウンタの値に応じてゲートを開閉することができる。ＤＭＡバッファが蓄積できるデータ長は、カウンタで設定されるデータ長よりも、はるかに小さい。例えば、ＤＭＡバッファのサイズは８バイトであり、カウンタで設定できるデータ長は６４ｋバイトである。
【００７２】
ゲート５６４が閉じている場合、ＵＳＢコントローラからＤＭＡコントローラにデータは流れてこない。スイッチ５６６がオープン状態でゲート５６４を開いた場合、ＤＭＡバッファ５６５にデータが蓄積され、ＤＭＡバッファ５６５にデータが蓄積できなくなるとＵＳＢコントローラ５６１からＤＭＡコントローラ５６２にデータが流れなくなる。スイッチ５６６がクローズ状態でゲート５６４を開いた場合、ＤＭＡコントローラからＳＤＲＡＭへ（ＳＤＲＡＭコントローラを介して）データが転送される。
【００７３】
ＳＤＲＡＭ６９には、２つの受信バッファが割り当てられている。一方の受信バッファは、印刷データを記憶するための領域として使用される。また、もう一方の受信バッファは、コマンドデータを記憶するための領域として使用される。
【００７４】
図１４は、ＤＭＡコントローラの動作のフロー図である。以下に、ＤＭＡコントローラの動作について説明する。
【００７５】
まず、ＤＭＡコントローラ５６２は、ゲート５６４を閉じ、スイッチ５６６をオープンにしておく（Ｓ１０１）。次に、ＤＭＡコントローラ５６２は、カウンタ付ゲート５６４のカウンタを６バイトに設定する（Ｓ１０２）。設定された６バイトのデータ長は、ヘッドのデータ長と同じ長さである。次に、ＤＭＡコントローラ５６２は、ゲートを開き、ゲートを通過するデータが６バイトに達したら、ゲートを閉じる（Ｓ１０３）。これにより、ＤＭＡバッファ５６５には６バイトのデータが蓄積される。すなわち、ＤＭＡバッファ５６５にヘッダが蓄積される。
【００７６】
次に、ＤＭＡコントローラ５６２は、ＣＰＵ５２へ割り込みを発生させる（Ｓ１０４）。割り込み待ち後、ＤＭＡコントローラ５６２は、ＤＭＡバッファ内のデータをＣＰＵ５２へ送信する。ＣＰＵ５２がヘッダの情報を取得した後、ＤＭＡコントローラ５６２は、ＤＭＡバッファのデータをクリアする（Ｓ１０５）。これにより、ＣＰＵ５２は、ヘッダの情報を取得することにより、ヘッダに続くデータ部の種類・データ長に関する情報を取得する。本実施形態では、ヘッダは、データ部の種類として印刷データを示し、データ部の長さとして５６ｋバイトを示すものとする。
【００７７】
次に、ＤＭＡコントローラ５６２は、ＣＰＵ５２の指示に基づいて、カウンタを設定する。また、ＤＭＡコントローラ５６２は、ＣＰＵ５２の指示に基づいて、ヘッダに続くデータ部の転送先を設定する（Ｓ１０６）。なお、ＣＰＵ５２は、先ほど取得したヘッダの情報に基づいて、ＤＭＡコントローラ５６２に対してカウンタの設定や転送先の設定を行っている。したがって、カウンタは５６ｋバイトに設定され、転送先は受信バッファ♯１が設定される。
【００７８】
次に、ＤＭＡコントローラ５６２は、スイッチ５６６をクローズ状態にし、ゲート５６４を開く（Ｓ１０７）。これにより、ヘッダに続くデータ部が、ＳＤＲＡＭの設定された転送先へ転送される。この転送時、カウンタは、通過したデータをカウントしている。そして、設定されたカウント分のデータ転送が完了した後（Ｓ１０８）、ＤＭＡコントローラ５６２はＣＰＵへ割り込みを発生し、割り込み待ち後、再度ステップ１０１からの処理を行う。
【００７９】
印刷データがＳＤＲＡＭ６９へＤＭＡ転送された場合、後述するように、ＣＰＵ５４によって受信バッファの印刷データがイメージバッファへヘッド駆動データとして置き換えられ、ヘッド制御ユニット６４によって印刷ヘッドへヘッド駆動データが送信される。一方、コマンドデータがＳＤＲＡＭ６９へＤＭＡ転送された場合、ＣＰＵ５４がそのコマンドデータを読み出して、コマンドデータに従ってＳＰＣ複合装置１を処理する。例えば、コマンドデータが問い合わせ情報である場合、ＣＰＵ５４は、コマンドデータの発信元に対して、ＳＰＣ複合装置１の状況（例えば、「印刷待機中」など）を示すステータスデータを送信する。
【００８０】
ところで、仮に、外部のコンピュータから送られてきたデータ（ヘッダを含む）を全てＳＤＲＡＭへ一旦記憶させ、その後にＣＰＵ５２がＳＤＲＡＭ６９に記憶されたヘッダの情報を読み込むとすると、ＣＰＵ５２がヘッダの情報を取得するまでに時間がかかる。なぜなら、この場合、ＵＳＢ制御ユニット５６がＳＤＲＡＭ６９へヘッダの情報を書き込む時間、その書き込みの後にＣＰＵ５２がＣＰＵインターフェイスユニット６６へヘッダの情報を読み出す指令を出す時間、ＣＰＵインターフェイスユニット６６がＳＤＲＡＭ６９からヘッダの情報を読み出す時間等がかかるからである。  
本実施形態によれば、ＤＭＡバッファ５６５に蓄積されたヘッダの情報をＣＰＵ５２が取得しているので、ＣＰＵ５２がヘッダの情報を取得する時間が短縮する。
【００８１】
また、本実施形態によれば、ヘッダに続くデータ部をＣＰＵ５２が読み出す時間も短縮できる。これにより、例えば、外部のコンピュータが印刷データを送信したとき、印刷開始時間を早めることができる。仮に、外部のコンピュータから送られてきたデータ（ヘッダを含む）を全てＳＤＲＡＭへ一旦記憶させた場合、まず、ＣＰＵ５２は、送られてきたデータのヘッダの情報を取得し、データ部がコマンドデータではなく印刷データであることをＣＰＵ５２が認識した後、ＣＰＵ５２は、再度印刷データを読み出さなければならない。そして、これらの重複する処理は、いずれもＣＰＵインターフェイスユニット６６やＳＤＲＡＭコントローラを介する処理なので、時間がかかるので、印刷開始が遅れてしまう。一方、本実施形態によれば、ＤＭＡバッファに蓄積されたヘッダの情報をＣＰＵ５２が取得し、ＣＰＵ５２は、その情報に基づいて、データ部の転送先を設定している。このとき、ＣＰＵ５２は、既に、データ部が印刷データであることと、その転送先（アドレス）とを取得している。そのため、ＣＰＵ５２の次の処理は、ＳＤＲＡＭ６９から印刷データを読み出すだけでよい。
【００８２】
なお、本実施形態によれば、ヘッダに続くデータ部がコマンドデータの場合、例えば、外部のコンピュータがプリンタのステータスを問い合わせた場合、ＣＰＵ５２は、外部のコンピュータに対して素早くステータス情報を送信することができる。
【００８３】
また、本実施形態によれば、８バースト転送にて、ＤＭＡコントローラ５６２からＳＤＲＡＭ６９へデータが転送される。これにより、外部から受信したデータを素早くＳＤＲＡＭ６９へ記憶することができる。
【００８４】
＜ＳＤＲＡＭ内のデータの置き換え（受信バッファからイメージバッファへ）＞
外部のコンピュータから受信した印刷データは、ＳＤＲＡＭの受信バッファに記憶される。本実施形態では、この印刷データは、色変換処理や２値化処理等を終えたヘッド駆動データである。但し、データが圧縮されているため、ヘッド制御ユニット６４は、そのデータをそのままの状態でヘッドへ転送することができない。また、データの内容が同じヘッド駆動データであっても、データの形式が異なる場合、ヘッド制御ユニット６４は、そのデータをそのままの状態でヘッドへ転送することができない。そこで、ＣＰＵ５２は、ＳＤＲＡＭの受信バッファの印刷データを演算し、ヘッド制御ユニット６４がヘッドへ転送できる形式にて、ＳＤＲＡＭのイメージバッファにヘッド駆動データを記憶させる。
【００８５】
ＣＰＵ５４がＳＤＲＡＭ内のデータを演算する場合、ＳＤＲＡＭ内のまとまった領域のデータではなく、個々のアドレスデータを必要とすることが多い（ＣＰＵ５４が、ＳＤＲＡＭに対して、ランダムアクセスしたいことが多い）。このような場合、８バースト転送を行っても、ＣＰＵ５４が必要とするデータは、転送されたデータのうちの一部のデータだけである。むしろ、８バースト転送を行うと、ＣＰＵ５４が必要とするデータを取得するまでの時間が長くなる。また、このような場合に単に４バースト転送を行っても、ＣＰＵ５４が必要とするデータは、転送されたデータのうちの一部のデータだけである。
【００８６】
例えば、ＣＰＵ５４が２バースト転送分のデータ（３２ビット分のデータ）を必要としている場合、ＣＰＵインターフェイスユニット６６がＳＤＲＡＭ６９から４バースト転送された全データ（６４ビット分のデータ）をＣＰＵ５２へ送っても、そのうちの半分のデータしか使われない。この使われない分のデータの転送を待ってからＣＰＵインターフェイスユニット６６がＣＰＵ５４へデータを送ったのでは、データの処理時間が長くなってしまう。
【００８７】
そこで、本実施形態では、以下のように、ＣＰＵインターフェイスユニット６６は、ＣＰＵ５４との間でデータを受け渡している。
【００８８】
図１５は、ＣＰＵインターフェイスやＳＤＲＡＭコントローラ等の信号の受け渡しの説明図である。  
ＣＬＫは、ＣＰＵ側のクロックである。本実施形態では、ＣＰＵ側のクロックの周波数は、ＳＤＲＡＭ側のクロックの周波数の半分である。ＤＴ信号は、ＣＰＵインターフェイスユニット６６とＣＰＵ５４との間のデータ線に流れるデータ信号である。ＲＥＱ信号は、ＣＰＵインターフェイスユニット６６からＳＤＲＡＭコントローラ６８へ送られる要求信号である。ＡＣＫ信号は、ＳＤＲＡＭコントローラからＣＰＵインターフェイスユニット６６へ送られるＡＣＫ信号である。ＲＥＱ信号（要求信号）及びＡＣＫ信号については、図１２Ａにおいて説明した。
【００８９】
ＸＷＡＩＴ信号は、ＣＰＵインターフェイスユニット６６がＣＰＵ５４に送る信号である。ＸＷＡＩＴ信号がＬレベルのとき、ＣＰＵインターフェイスユニット６６がＳＤＲＡＭから読み出したデータをＣＰＵ５４は読み出すことができない（待機状態）。ＸＷＡＩＴ信号がＬレベルからＨレベルへ立ち上がってから１クロック後、ＣＰＵ５４は、ＣＰＵインターフェイスユニット６６が読み出したデータを利用することができる。
【００９０】
ＤＴ信号とＸＷＡＩＴ信号は、ＣＰＵ５４とＣＰＵインターフェイスとの間で受け渡される（ＣＰＵバスを使う）信号である。ＲＥＱ信号とＡＣＫ信号は、ＣＰＵインターフェイスユニット６６とＳＤＲＡＭコントローラ６８との間で受け渡される信号である。なお、図中の「クロック」・「コマンド」・「アドレス」・「データ」は、既に説明された通り、ＳＤＲＡＭコントローラ６８とＳＤＲＡＭ６９との間で受け渡される信号である。
【００９１】
本実施形態では、ＣＰＵインターフェイスユニット６６は、ＳＤＲＡＭコントローラ６８からＡＣＫ信号を受けた後、１クロック後にＸＷＡＩＴ信号をＬレベルからＨレベルへ立ち上げている。このため、ＣＰＵ５４は、ＣＰＵコントローラ６６がＡＣＫ信号を受けてから２クロック後に、ＣＰＵインターフェイスユニット６６が読み出したデータを利用することができる。一方、ＣＰＵインターフェイスユニット６６は、ＸＷＡＩＴ信号が立ち上がったとき、未だＳＤＲＡＭコントローラ６８から４バースト分の全てのデータを受けていない。このため、本実施形態では、４バースト転送分のデータのうちの２バースト転送分のデータ（３２ビット分のデータ）をＣＰＵインターフェイスユニット６６がＳＤＲＡＭコントローラから受け取ったときに、ＣＰＵ５４は、その２バースト転送分のデータを利用可能になる。
【００９２】
したがって、ＣＰＵ５４は、データの読み出しをＣＰＵインターフェイスユニット６６に指示してから、速やかにそのデータデータを読み出すことができる。これにより、データの処理時間を短縮することができる。  
例えば、本実施形態によれば、ＣＰＵ５４は、ＳＤＲＡＭ６９の受信バッファの印刷データを、速やかにＳＤＲＡＭ６９のイメージバッファにヘッド駆動データとして記憶することができる。
【００９３】
なお、ＣＰＵ５４が２バースト転送分ではなく４バースト転送分のデータを必要とする場合、ＣＰＵインターフェイスユニット６６は、ＳＤＲＡＭコントローラ６８からＡＣＫ信号を受けた後１クロック後ではなく、２クロック後にＸＷＡＩＴ信号をＬレベルからＨレベルへ立ち上げる。すなわち、ＣＰＵインターフェイスユニットは、図中の待機時間Ｔを制御することによって、ＳＤＲＡＭ６９から読み出したデータをＣＰＵ５４が利用するタイミングを制御している。
【００９４】
＜ＳＤＲＡＭ（イメージバッファ）から印刷ヘッドへ＞
ＳＤＲＡＭ６９のイメージバッファには、ヘッド駆動データが順次記憶される。そして、書込キャリッジ３６の１回の走査中に必要なヘッド駆動データがイメージバッファに蓄積されたときに、書込キャリッジ３６の駆動が始まる。そして、書込キャリッジ３６の移動中に、ヘッド制御ユニット６４は、ヘッド駆動データを順次印刷ヘッド３８へ送り出す。印刷ヘッド３８は、ヘッド制御ユニット６４から送られてくるヘッド駆動データに基づいて、所定のノズルからインクを吐出する。
【００９５】
書込キャリッジ３６が一旦移動した後は、印刷ヘッド３８からインクを断続的に吐出しなければならない。そのため、ヘッド制御ユニット６４は、印刷ヘッド３８が断続的にインクを吐出できるように、印刷ヘッド３８へヘッド駆動データを送り出す必要がある。  
仮に、ヘッド制御ユニット６４によるヘッド駆動データの供給が間に合わないと、印刷ヘッド３８は、インクを吐出すべきときに、必要なヘッド駆動データがないためインクを吐出することができなくなる。例えば、４バースト転送にて、ＳＤＲＡＭ６９のイメージバッファからヘッド制御ユニット６４がヘッド駆動データを読み出すと、読み出し時間が長くなり、ヘッド駆動データの供給が間に合わないことがある。
【００９６】
そこで、本実施形態では、ヘッド制御ユニット６４は、８バースト転送にて、ＳＤＲＡＭ６９のイメージバッファからヘッド駆動データを読み出し、ヘッド駆動データを印刷ヘッド３８へ供給する。これにより、ヘッド制御ユニット６４は、速やかに、ＳＤＲＡＭ６９のヘッド駆動データを印刷ヘッド３８へ転送することができる。この結果、印刷ヘッド３８がインクを吐出すべきとき、既に印刷ヘッド３８にはヘッド駆動データが供給されている状態になる。つまり、本実施形態によれば、ヘッド制御ユニット６４が８バースト転送にてヘッド駆動データを読み出すので、印刷ヘッド３８へのヘッド駆動データの供給が間に合わない事態を回避することができる。
【００９７】
＝＝＝その他の実施の形態＝＝＝
上記の実施形態は、主としてＳＰＣ複合装置について記載されているが、その中には、印刷装置、印刷方法、印刷システム、プログラム、プログラムを記憶した記憶媒体、印刷物の製造方法、等の開示が含まれていることは言うまでもない。
【００９８】
また、一実施形態としてのＳＰＣ複合装置等を説明したが、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
【００９９】
＜ＤＭＡコントローラについて＞
前述の実施形態によれば、ＵＳＢ制御ユニット５６にＤＭＡコントローラが設けられていた。しかし、スキャナ制御ユニット５８に同様のＤＭＡコントローラを設けても良い。そして、このＤＭＡコントローラが、スキャナ部１０から送られてくるデータを、同様の手法により、ＳＤＲＡＭ６９へＤＭＡ転送するようにしても良い。
【０１００】
＜ＳＰＣ複合装置について＞
前述の実施形態では、ＳＰＣ複合装置が説明されていたが、これに限られるものではない。例えば、複合装置ではなくインクジェットプリンタ単体であっても良い。また、レーザープリンタ等の他の印刷装置であっても良い。
【０１０１】
＜インクについて＞
前述の実施形態は、プリンタの実施形態だったので、染料インク又は顔料インクをノズルから吐出していた。しかし、ノズルから吐出する液体は、このようなインクに限られるものではない。
【０１０２】
＜ノズルについて＞
前述の実施形態では、圧電素子を用いてインクを吐出していた。しかし、液体を吐出する方式は、これに限られるものではない。例えば、熱によりノズル内に泡を発生させる方式など、他の方式を用いてもよい。
【０１０３】
＝＝＝まとめ＝＝＝
（１）前述の実施形態のＳＰＣ複合装置（印刷装置）は、データを記憶するＳＤＲＡＭ（メモリ）と、受信したデータをＳＤＲＡＭにＤＭＡ転送するためのＤＭＡコントローラと、ＤＭＡコントローラの設定を行うＣＰＵ（処理装置）と、を備えている。  
このようなＳＰＣ複合装置の構成であって、受信したデータを単にＤＭＡ転送によりＳＤＲＡＭに転送したのでは、受信したデータを処理するときに、ＣＰＵは、まずデータのヘッダ部をＳＤＲＡＭから読み出し、ヘッダ部の内容に応じてデータのデータ部を読み出し、このデータ部を処理することになる。しかし、これでは、ＣＰＵは、重複してＳＤＲＡＭへ読み出し動作をする必要があり、受信したデータに対応する処理を開始するまで時間がかかり、ＳＰＣ複合装置の処理速度が遅くなる。  
そこで、本実施形態のＳＰＣ複合装置では、ＤＭＡコントローラは、受信したデータを蓄積するＤＭＡバッファを有し、ＤＭＡコントローラはヘッダ部をＤＭＡバッファに蓄積し、ＣＰＵは、ＤＭＡバッファに蓄積されたヘッダ部を読み出して、このヘッダ部に基づいてＤＭＡコントローラを設定し、ＤＭＡコントローラは、設定に従って、データ部をＳＤＲＡＭにＤＭＡ転送することにしている。  
これにより、ＤＭＡコントローラがデータ部をＤＭＡ転送した後、ＣＰＵは、既に、データ部の種類や転送先（アドレス）に関する情報を取得している。そのため、ＣＰＵの次の処理は、ＳＤＲＡＭから印刷データを読み出すだけでよくなり、重複した読み出し動作が無くなり、処理速度を速くすることができる。
【０１０４】
（２）前述の実施形態のＳＰＣ複合装置（印刷装置）は、ＣＰＵ（処理装置）とＤＭＡコントローラの間に設けられたＣＰＵバス（第１バス）と、ＤＭＡコントローラとＳＤＲＡＭ（メモリ）との間に設けられたローカルバス（第２バス）と、を更に備えている。そして、ＣＰＵは、ＳＤＲＡＭに転送されたデータを読み出すとき、ＣＰＵインターフェイスユニットを介して、ＣＰＵバスとローカルバスとを利用している。このような構成では、ＣＰＵがＳＤＲＡＭに記憶されたデータを読み出すときに時間がかかる。  
しかし、本ＳＰＣ複合装置は、ＣＰＵの重複する読み出し動作を無くしているので、このような構成であっても処理速度を速くすることができる。
【０１０５】
（３）前述の実施形態のＳＰＣ複合装置（印刷装置）では、ＤＭＡコントローラは、受信したデータのデータ長を計数するカウンタを有している。そして、ＤＭＡコントローラは、カウンタの設定に基づいて、所定のデータ長のヘッダ部をＤＭＡバッファに蓄積する。具体的には、ＤＭＡコントローラは、まずカウンタを６バイトに設定することにより、６バイトのヘッダ部をＤＭＡバッファに蓄積している。これにより、受信したデータをＳＤＲＡＭにＤＭＡ転送する前に、ＣＰＵがヘッダ部を読み出すことができる。
【０１０６】
（４）前述の実施形態では、ヘッダ部はデータ部の長さに関するデータ長情報を有する。これにより、ＤＭＡバッファに蓄積されたヘッダ部をＣＰＵが読み出せば、ＣＰＵは、ヘッダ部の後に続くデータ部の長さを認識することができる。そして前述の実施形態では、ＣＰＵ（処理装置）は、データ長情報に基づいてカウンタを設定する。これにより、データ部の長さに応じてＤＭＡ転送するようにＣＰＵがＤＭＡコントローラを設定することができるので、効率よくデータ部をＤＭＡ転送することができる。
【０１０７】
（５）前述の実施形態では、ＣＰＵ（処理装置）は、転送先をＤＭＡコントローラに設定し、ＤＭＡコントローラは、設定された転送先に従って、データ部をメモリにＤＭＡ転送する。これにより、ＣＰＵの重複する読み出し動作を減らし、処理速度を速くすることができる。
【０１０８】
（６）前記ヘッダ部は、前記データ部の種類に関する種別情報を有する。これにより、ＤＭＡバッファに蓄積されたヘッダ部をＣＰＵが読み出せば、ＣＰＵは、ヘッダ部の後に続くデータ部の種類を認識することができる。そして前述の実施形態では、ＣＰＵ（処理装置）は、種別情報に基づいて、転送先を決定する。これにより、データの種類に応じてＤＭＡ転送するようにＣＰＵがＤＭＡコントローラを設定することができる。
【０１０９】
（７）前述の実施形態のＳＰＣ複合装置（印刷装置）は、印刷データに基づいて印刷用紙（媒体）に画像を形成するものである。そして、ＤＭＡコントローラが受信するデータのデータ部には、印刷データが含まれる。これにより、ＳＰＣ複合装置は、印刷データに基づく印刷処理を早く開始することができる。
【０１１０】
（８）前述の実施形態では、印刷データは、印刷用紙（媒体）に画像を形成するときの制御情報と、画像に関する画像情報とを含んでいる。そのため、ＣＰＵが制御情報に基づいて例えばモータドライバを制御すれば、キャリッジモータ４０や搬送モータ４２の駆動開始を早めることができる。また、ＣＰＵは、画像情報からヘッド駆動データを生成する処理を速くすることができ、印刷開始を早めることができる。
【０１１１】
（９）前述の実施形態では、データ部は、前記印刷装置の状況を問い合わせる問い合わせ情報を含んでいる。そして、ＳＰＣ複合装置（印刷装置）は、問い合わせ情報を受信した後、問い合わせ情報の発信元にＳＰＣ複合装置のステータス情報を送信する。本実施形態によれば、問い合わせ情報を受信してからステータス情報を送信するまでの時間を短くすることができる。
【０１１２】
（１０）前述の実施形態では、データ部がＳＤＲＡＭ（メモリ）にＤＭＡ転送された後、ＣＰＵ（処理装置）は、ＳＤＲＡＭにＤＭＡ転送された前記データ部を読み出している。このように、ＳＤＲＡＭに転送されたデータをＣＰＵが読み出す場合に、ＣＰＵの重複する読み出し動作を回避することができるのである。
【図面の簡単な説明】
【０１１３】
【図１】ＳＰＣ印刷装置の斜視図である。
【図２】スキャナ部のカバーを開いた状態を示す斜視図である。
【図３】印刷装置の内部構成を示す説明図である。
【図４】プリンタ部の内部を露出させた状態を示す斜視図である。
【図５】操作パネル部の一例を示す図である。
【図６】印刷ヘッド周辺の構成要素配置を示す説明図である。
【図７】搬送機構の駆動部の説明図である。
【図８】ノズルの配列の説明図である。
【図９】制御回路の説明図である。
【図１０】図１０Ａは、４バースト転送による読み出し時の動作説明図である。図１０Ｂは、８バースト転送による読み出し時の説明図である。
【図１１】４バースト転送による書き込み時の動作説明図である。図１１Ｂは、８バースト転送による書き込み時の動作説明図である。
【図１２】図１２Ａは、読み出し時におけるユニットとＳＤＲＡＭコントローラ間での信号の受け渡しの説明図である。図１２Ｂは、書き込み時におけるユニットとＳＤＲＡＭコントローラ間での信号の受け渡しの説明図である。
【図１３】図１３Ａは、ＵＳＢコントローラがＤＭＡコントローラへ送るデータの説明図である。図１３Ｂは、ＵＳＢコントローラから受信したデータをＳＤＲＡＭの受信バッファへ記憶するときの説明図である。
【図１４】ＤＭＡコントローラの動作のフロー図である。
【図１５】ＣＰＵインターフェイスやＳＤＲＡＭコントローラ等の信号の受け渡しの説明図である。
【符号の説明】
【０１１４】
１  ＳＰＣ複合装置、３  コンピュータ、５  原稿、７  印刷用紙、
１０  スキャナ部、１２  原稿台ガラス、１４  原稿台カバー、
１６  読取キャリッジ、１８  駆動手段、２０  規制ガイド、
２２  光源、２４  レンズ、２６  ミラー、
２８  ＣＣＤセンサ、２９  ガイド受け部、
３０  プリンタ部、３７  搬送ローラ、３８  印刷ヘッド、
４０  キャリッジモータ、４２  搬送モータ、
５０  制御回路、５２  ＣＰＵ、５３  ＲＯＭ、５４  カードインターフェイス、
５０１  ＣＰＵバス、５０２  ローカルバス、
５６  ＵＳＢ制御ユニット、
５６１  ＵＳＢコントローラ、５６２  ＤＭＡコントローラ、
５６４  カウンタ付ゲート、５６５  ＤＭＡバッファ、５６６  スイッチ、
５８  スキャナ制御ユニット、６０  ２値化ユニット、
６１  インターレース処理ユニット、６２  イメージバッファユニット、
６４  ヘッド制御ユニット、６６  ＣＰＵインターフェイスユニット、
６８  ＳＤＲＡＭコントローラ、６９  ＳＤＲＡＭ、
７０  操作パネル部
【図１】
2005193543.tif 000003
【図２】
2005193543.tif 000004
【図３】
2005193543.tif 000005
【図４】
2005193543.tif 000006
【図５】
2005193543.tif 000007
【図６】
2005193543.tif 000008
【図７】
2005193543.tif 000009
【図８】
2005193543.tif 000010
【図９】
2005193543.tif 000011
【図１０】
2005193543.tif 000012
【図１１】
2005193543.tif 000013
【図１２】
2005193543.tif 000014
【図１３】
2005193543.tif 000015
【図１４】
2005193543.tif 000016
【図１５】
2005193543.tif 000017