(57)【要約】【課題】  適切なバッファ管理を行うことで外部機器との良好な転送速度を維持することが可能な記録装置及び受信バッファ管理方法を提供することである。【解決手段】  外部機器から無線インタフェースを用いてパケット単位で受信したデータを複数の受信バッファに格納してゆく際には、確認された空きの受信バッファの数に基づいて外部機器からのデータ受信に用いることのできる最大受信可能データ量を決定し、外部機器に対して既に通知済みのデータ送信可能量と最大受信可能データ量とを比較し、外部機器からの要求があると、その比較結果に従って、通知済みのデータ送信可能量を変更するように外部機器に対して応答する。【選択図】  図９
2005217745.tif 000002
【特許請求の範囲】
【請求項１】
外部機器から無線インタフェースを用いてパケット単位で受信した記録データを用いて記録媒体に記録することが可能な記録装置であって、
前記外部機器からデータをパケット単位で受信する受信手段と、
前記受信手段によって受信したデータを一時的に格納する複数個の受信バッファと、
前記複数個の受信バッファの内、空きの受信バッファの数を確認する確認手段と、
前記確認手段によって確認された空きの受信バッファの数に基づいて、前記外部機器からのデータ受信に用いることのできる最大受信可能データ量を決定する決定手段と、
前記外部機器に対して既に通知済みのデータ送信可能量と前記最大受信可能データ量とを比較する第１比較手段と、
前記外部機器からの要求があると、前記第１比較手段による比較結果に従って、前記通知済みのデータ送信可能量を変更するように前記外部機器に対して応答する応答手段とを有することを特徴とする記録装置。
【請求項２】
前記複数の受信バッファに格納されたデータをＤＭＡ転送により連続的に読み込んで、前記読み込まれたデータを用いて前記記録媒体に記録を行う記録手段と、
前記記録手段によって読み込みが終了した受信バッファを空きの受信バッファとして解放する第１解放手段とをさらに有することを特徴とする請求項１に記載の記録装置。
【請求項３】
前記受信手段によるデータ受信時には、前記確認手段によって確認された空きの受信バッファの数と所定の値とを比較する第２比較手段と、
前記第２比較手段による比較結果に従って、前記複数の受信バッファに格納されたデータを１つの受信バッファがフルになるまで前記１つの受信バッファに詰め込む詰め込み手段と、
前記詰め込み手段による詰め込みによりデータが読み出された受信バッファを空きの受信バッファとして解放する第２解放手段とをさらに有することを特徴とする請求項２に記載の記録装置。
【請求項４】
前記受信手段が受信するデータパケットは、ヘッダ部とデータ部とフッタ部とから構成されており、
前記詰め込み手段によるデータの詰め込みに際しては、前記ヘッダ部と前記フッタ部とをデータパケットから取り除き、前記データ部のみを詰め込むことを特徴とする請求項３に記載の記録装置。
【請求項５】
前記無線インタフェースは、Bluetoothインタフェースを含むことを特徴とする請求項１乃至４のいずれかに記載の記録装置。
【請求項６】
前記外部機器は、無線インタフェースを備えた携帯電話、情報携帯端末、ラップトップ型コンピュータを含むことを特徴とする請求項１乃至５のいずれかに記載の記録装置。
【請求項７】
前記記録手段には、前記記録媒体にインクを吐出して記録を行なうインクジェット記録ヘッドを有することを特徴とする請求項２に記載の記録装置。
【請求項８】
外部機器から無線インタフェースを用いてパケット単位で受信したデータを一時的に複数個の受信バッファに格納しながら記録媒体に記録を行う際に前記複数個の受信バッファの管理を行う受信バッファ管理方法であって、
前記複数個の受信バッファの内、空きの受信バッファの数を確認する確認工程と、
前記確認工程において確認された空きの受信バッファの数に基づいて、前記外部機器からのデータ受信に用いることのできる最大受信可能データ量を決定する決定工程と、
前記外部機器に対して既に通知済みのデータ送信可能量と前記最大受信可能データ量とを比較する比較工程と、
前記外部機器からの要求があると、前記比較工程における比較結果に従って、前記通知済みのデータ送信可能量を変更するように前記外部機器に対して応答する応答工程とを有することを特徴とする受信バッファ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記録装置及び受信バッファ管理方法に関し、特に、例えば、Bluetoothなどの無線インタフェースを用いたパケットデータ通信によりデータを受信し、インクジェット記録ヘッドを用いて記録を行う記録装置及びその記録装置に備えられた受信バッファの管理方法に関する。
【背景技術】
【０００２】
従来より無線によるデータ通信の１つとして周波数２．４ＧＨｚ帯においてスペクトラム拡散方式を適用したBluetooth通信が利用されている。Bluetooth通信ではデータをある特定のまとまりであるパケット単位で送信するパケット交換方式によりデータ通信が行われている。
【０００３】
また、Bluetooth通信では個々の使用状況に応じたプロファイルが定められており、そのプロファイルに従って通信制御が行われている。
【０００４】
そのプロファイルの１つであるHardcopy Cable Replacement Profile（以下、ＨＣＲＰという）ではホストＰＣとプリンタ装置やスキャナ装置との通信に関する方法が詳細に規定されており、Bluetoothで規定されている論理リンク管理層（Logical Link Control and Adaptation Protocol：以下、Ｌ２ＣＡＰという）を通して通信が行われる。また、ＨＣＲＰではデータチャネルで通信データを送信し、コントロールチャネルによって各種制御が行われる。
【０００５】
データフロー制御としてはコントロールチャネルを通じて、データチャネルによって自機器が受信可能なデータ数を示すクレジットを相手側の通信機器に与えるという方法により実現することが定められている。このようにクレジットを送信側に送る処理は、他のプロトコルでも利用されている（例えば、特許文献１）。データチャネルによって１パケットで送信可能な最大数はＬ２ＣＡＰ層により交渉が行われることによって決定した最大パケット長（Maximum Transmission Unit：以下、ＭＴＵという）の値が利用されるが、最小のデータ送信単位は１バイトとなっているため、データパケットでは１パケットに１バイトからＭＴＵの値までのデータを含めて転送されることが考えられる。
【０００６】
しかしながら、ほとんどの機器では自機器が送信可能な最大数がＭＴＵの値に達していない場合のバースト転送時には自機器の最大数単位で送信を行う。
【０００７】
一方、従来パケット通信によるクレジット管理方法によれば、パケット単位でクレジットが管理されているため、通信データ転送のためのハードウェア構成として、パケット単位で受信したデータを１パケットずつＤＭＡ転送し、個々のパケットの切れ目を意識することなく連続的に読み込むことが可能な回路を備えているものが存在する。
【０００８】
通常、このようなハードウェアにおける送受信バッファとして、特定の大きさのバッファが複数個備えられ、パケット１つにつき１つのバッファを利用している。受信したデータパケットはヘッダ、フッタ部が取り除かれたデータ部分のアドレスと転送バイト数が指定され転送予約ＦＩＦＯに蓄積されていく。次に、例えば、ＭＰＵやＡＳＩＣなどのデータ解析部がデータを読み込むと転送予約バッファ順にＤＭＡを起動して、個々のパケットも連続したデータとして読み込むことが可能になっている。ＤＭＡの起動により１つのパケットデータが読み込まれていき、そのバイト数の全てが転送されたバッファは、再度利用可能となり利用可能バッファ本数が１つ増える。これに対して、データ解析部が何らかの要因によりビジー状態となりデータを読み込むことができない場合には、受信パケットのためのバッファがなくなりデータ受信が不可能な状態となる。
【特許文献１】特開２００１−０９４６１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら上記従来例のようなハードウェア構成を利用してＨＣＲＰに従ってデータ数単位によるクレジット管理を実現する場合には、１つのパケットに１バイトのデータしか含まれていなかった場合を考慮すると、与えることが可能なクレジットバイト数は（利用可能なパケット数×１バイト）となってしまう。そのため極端に少ないクレジットしか与えられずに転送速度に大きく影響を及ぼすという問題点がある。
【００１０】
本発明は上記従来例に鑑みてなされたもので、適切なバッファ管理を行うことで外部機器との良好な転送速度を維持することが可能な記録装置及び受信バッファ管理方法を提供することを目的としている。
【課題を解決するための手段】
【００１１】
上記目的を達成するために本発明の記録装置は、以下のような構成からなる。
【００１２】
即ち、外部機器から無線インタフェースを用いてパケット単位で受信した記録データを用いて記録媒体に記録することが可能な記録装置であって、前記外部機器からデータをパケット単位で受信する受信手段と、前記受信手段によって受信したデータを一時的に格納する複数個の受信バッファと、前記複数個の受信バッファの内、空きの受信バッファの数を確認する確認手段と、前記確認手段によって確認された空きの受信バッファの数に基づいて、前記外部機器からのデータ受信に用いることのできる最大受信可能データ量を決定する決定手段と、前記外部機器に対して既に通知済みのデータ送信可能量と前記最大受信可能データ量とを比較する第１比較手段と、前記外部機器からの要求があると、前記第１比較手段による比較結果に従って、前記通知済みのデータ送信可能量を変更するように前記外部機器に対して応答する応答手段とを有することを特徴とする記録装置を備える。
【００１３】
さらに、前記複数の受信バッファに格納されたデータをＤＭＡ転送により連続的に読み込んで、前記読み込まれたデータを用いて前記記録媒体に記録を行う記録手段と、前記記録手段によって読み込みが終了した受信バッファを空きの受信バッファとして解放する第１解放手段とを有することが望ましい。
【００１４】
またさらに、前記受信手段によるデータ受信時には、前記確認手段によって確認された空きの受信バッファの数と所定の値とを比較する第２比較手段と、前記第２比較手段による比較結果に従って、前記複数の受信バッファに格納されたデータを１つの受信バッファがフルになるまで前記１つの受信バッファに詰め込む詰め込み手段と、前記詰め込み手段による詰め込みによりデータが読み出された受信バッファを空きの受信バッファとして解放する第２解放手段とを有することが望ましい。
【００１５】
さて、前記受信手段が受信するデータパケットは、ヘッダ部とデータ部とフッタ部とから構成されていることが望ましく、その場合には前記詰め込み手段によるデータの詰め込みに際しては、そのヘッダ部とフッタ部とをデータパケットから取り除き、データ部のみを詰め込むことが望ましい。
【００１６】
なお、前記無線インタフェースとしては、例えば、Bluetoothインタフェースを用いることが望ましい。
【００１７】
そして、前記外部機器には、無線インタフェースを備えた携帯電話、情報携帯端末、ラップトップ型コンピュータが含まれていることが望ましい。
【００１８】
前記記録手段には、前記記録媒体にインクを吐出して記録を行なうインクジェット記録ヘッドを有していることが望ましい。
【００１９】
また他の発明によれば、外部機器から無線インタフェースを用いてパケット単位で受信したデータを一時的に複数個の受信バッファに格納しながら記録媒体に記録を行う際に前記複数個の受信バッファの管理を行う受信バッファ管理方法であって、前記複数個の受信バッファの内、空きの受信バッファの数を確認する確認工程と、前記確認工程において確認された空きの受信バッファの数に基づいて、前記外部機器からのデータ受信に用いることのできる最大受信可能データ量を決定する決定工程と、前記外部機器に対して既に通知済みのデータ送信可能量と前記最大受信可能データ量とを比較する比較工程と、前記外部機器からの要求があると、前記第比較工程における比較結果に従って、前記通知済みのデータ送信可能量を変更するように前記外部機器に対して応答する応答工程とを有することを特徴とする受信バッファ管理方法を備える。
【発明の効果】
【００２０】
従って本発明によれば、外部機器から無線インタフェースを用いてパケット単位で受信したデータを複数の受信バッファに格納してゆく際には、確認された空きの受信バッファの数に基づいて外部機器からのデータ受信に用いることのできる最大受信可能データ量を決定し、外部機器に対して既に通知済みのデータ送信可能量と最大受信可能データ量とを比較し、外部機器からの要求があると、その比較結果に従って、通知済みのデータ送信可能量を変更するように外部機器に対して応答するので、実際に受信に利用可能なデータ量に基づいてデータ受信が可能になる。
【００２１】
これにより、受信のための資源が枯渇することなく、スループットに影響を与えずにデータ受信が可能となるという効果がある。
【００２２】
また、１つのバッファに少量のデータしか存在せず、さらに、そのバッファが例えば記録の進行の遅延などにより解放されず、受信に利用可能な受信バッファの数が少なくなってしまう場合でも、複数の受信バッファのデータを１つの受信データに詰め込んで、空きの受信バッファを備えることにより、円滑な受信処理を行うことができ、外部機器との良好な転送速度やスループットを維持することができるという効果もある。
【発明を実施するための最良の形態】
【００２３】
以下添付図面を参照して本発明の好適な実施例について詳細に説明する。
【００２４】
なお、この明細書において、「記録」（「プリント」という場合もある）とは、文字、図形等有意の情報を形成する場合のみならず、有意無意を問わず、また人間が視覚で知覚し得るように顕在化したものであるか否かを問わず、広く記録媒体上に画像、模様、パターン等を形成する、または媒体の加工を行う場合も表すものとする。
【００２５】
また、「記録媒体」とは、一般的な記録装置で用いられる紙のみならず、広く、布、プラスチック・フィルム、金属板、ガラス、セラミックス、木材、皮革等、インクを受容可能なものも表すものとする。
【００２６】
さらに、「インク」（「液体」と言う場合もある）とは、上記「記録（プリント）」の定義と同様広く解釈されるべきもので、記録媒体上に付与されることによって、画像、模様、パターン等の形成または記録媒体の加工、或いはインクの処理（例えば記録媒体に付与されるインク中の色剤の凝固または不溶化）に供され得る液体を表すものとする。
【００２７】
またさらに、「ノズル」とは、特にことわらない限り吐出口ないしこれに連通する液路およびインク吐出に利用されるエネルギーを発生する素子を総括して言うものとする。
【００２８】
＜インクジェット記録装置の説明（図１〜図３）＞
図１は本発明の代表的な実施例であるＡＣ電源とＤＣ電源の両方で駆動可能なインクジェット記録装置（以下、記録装置という）の全体構成の概要を示す外観斜視図である。
【００２９】
図１に示すように、この記録装置は、インクジェットプリンタ（以下、プリンタ）８００、バッテリーを内蔵しプリンタ８００本体に着脱可能なバッテリーチャージャ９００、及び両者を取り付けた状態で縦置きに収容するための置き台であるクレイドル９５０から構成される。なお、このプリンタで記録する記録媒体として紙を例にとって説明するが、記録媒体はこれに限らず、記録可能なシート状の媒体ならばどれでも構わない。
【００３０】
さて、図１において、プリンタ８００の外観は、上ケース８０１、下ケース８０２、給紙カバー８０３、排紙口カバー８０４によって構成された一体シェル構造であり、プリンタとして非使用時（据え置き時、携帯時など）は、この形態をとるものである。また、プリンタ８００の側面には、ＡＣ電源から電力供給を受ける場合に使用するＡＣアダプタケーブル（不図示）を差し込むＤＣｉｎジャック（直流電源入力用ジャック）８１７とＵＳＢケーブルを接続するためのＩ／Ｆ（インタフェース）コネクタ８１５が設けられている。給紙カバー８０３は記録時にプリンタ本体に対して開いて紙などの記録シートを載せるための記録シート供給トレイとなる。
【００３１】
次に、バッテリーチャージャ９００の外観は、メインケース９０１、カバーケース９０２、バッテリー蓋９０３によって構成され、バッテリー蓋９０３を外してメインケース９０１を開口することにより充電池を内蔵したバッテリーパックを取り外すことが可能である。
【００３２】
また、バッテリーチャージャ９００とプリンタ８００との装着面（接続面）には、電気的に接続するための本体用コネクタ９０４と、機械的に取り付け及び固定するための固定ビス９０５，９０６を有し、図１の矢印Ａ方向にプリンタ本体に接続することによって、プリンタ８００はバッテリー駆動可能になる。さらにバッテリーチャージャ９００の天面には、バッテリーの充電状態を示す充電表示部９０９を有し、バッテリーチャージャ９００の側面には、ＡＣアダプタケーブルを差し込むＣＨＧ−ＤＣｉｎジャック９０７と、バッテリーチャージャ９００を取り付けたときにプリンタ８００のＤＣｉｎジャック８１７を覆うための目隠し板９０８が設けられている。
【００３３】
クレイドル９５０は、プリンタ８００にバッテリーチャージャ９００を取り付けた状態で、図１の矢印Ｂ方向に挿入することにより置き台として機能する。なお、クレイドル９５０には、プリンタ８００とバッテリーチャージャ９００とを取り付けた場合にも、ＣＨＧ−ＤＣｉｎジャック９０７にＡＣアダプタケーブルを差し込んで充電が可能なように、開口部９５６が設けられている。
【００３４】
図２はプリンタ８００にバッテリーチャージャ９００を装着した状態を、プリンタ背面側で且つプリンタ天面側を斜め上から見た斜視図である。
【００３５】
図２に示すように、プリンタ８００の背面にバッテリーチャージャ９００を取り付け、固定ビス９０５，９０６で固定することにより、プリンタ８００は、バッテリー駆動可能なプリンタとなる。
【００３６】
また、前述したように、バッテリーチャージャ９００に設けられた目隠し板９０８により、プリンタ８００のＤＣｉｎジャック８１７を覆うように構成されている。このため使用者はバッテリーチャージャ９００の取り付け時には、ＡＣアダプタケーブルを間違いなくバッテリーチャージャ９００のＣＨＧ−ＤＣｉｎジャック９０７側に差し込むことになるので、誤挿入を防止することができる。
【００３７】
バッテリーチャージャ９００の背面には、メインケース９０１に設けられた４ヶ所の足部９０１ａ，９０１ｂ，９０１ｃ，９０１ｄが設けられている。また、その背面には、クレイドル９５０に取り付けたときに電気的にコンタクトするための接点部９１０ａ，９１０ｂ，９１０ｃが設けられている。
【００３８】
さらに図２に示すように、バッテリーチャージャ９００の充電表示部９０９は、プリンタ８００を装着し、記録のために使用する時に視認しやすい天面で、且つ給紙カバー８０３を開いていた時にも視認を遮られない位置に配されている。
【００３９】
図３はプリンタ８００の内部構成を示す斜視図である。
【００４０】
図３に示されているように、記録ヘッド１０５はキャリッジ１０４に搭載されてガイドレール１０３に沿って長手方向に往復運動可能となっている。記録ヘッド１０５より吐出されたインクは、記録ヘッド１０５と微小な間隔をおいて、プラテン（不図示）に記録面を規制された記録媒体１０２に達し、その上に画像を形成する。
【００４１】
記録ヘッド１０５には、フレキシブルケーブル１１９を介して画像データに応じて記録信号が供給される。
【００４２】
なお、図３において、１１４はキャリッジ１０４をガイドレール１０３に沿って走査させるためのキャリッジモータである。１１３はキャリッジモータ１１４の駆動力をキャリッジ１０４に伝達するキャリッジベルトである。また、１１８は搬送ローラ１０１に結合して記録媒体１０２を搬送させるための搬送モータである。
【００４３】
また、記録ヘッド１０５はインクタンク１０５ａと結合してヘッドカートリッジを構成する。このヘッドカートリッジは記録ヘッドとインクタンクとが分離可能な構成でも良いし、一体化した構成でも良い。
【００４４】
さらにまた、１０７は給紙時に記録媒体１０２をピックアップして装置内に導き入れるためのピックアップローラであり、１０８は排紙時に記録媒体１０２を装置外に排出するための排紙ローラである。
【００４５】
この実施例の記録装置では、複数サイズの記録用紙から所望のサイズを選択して記録に用いることができる。そのサイズには、名刺サイズ、システム手帳ミニサイズ、システム手帳バイブルサイズ或いはＡ５サイズ、Ａ４サイズ用紙などが含まれる。
【００４６】
そして、上記のほとんどの機構部品は装置のベースシャーシ１０９に取り付けられる。
【００４７】
＜インクジェット記録装置の制御構成（図４）＞
図４は図１〜図３に示したプリンタ８００の制御構成を示すブロック図である。
【００４８】
図４に示すように、コントローラ６００は、ＭＰＵ６０１、後述する制御シーケンスに対応したプログラム、所要のテーブル、その他の固定データを格納したＲＯＭ６０２、キャリッジモータ１１４の制御、搬送モータ１１８の制御、及び、記録ヘッド３の制御のための制御信号を生成する特殊用途集積回路（ＡＳＩＣ）６０３、各種変数や制御テーブルを格納したり、画像データの展開領域やプログラム実行のための作業用領域、プリントバッファ等を設けたＲＡＭ６０４、ＭＰＵ６０１、ＡＳＩＣ６０３、ＲＡＭ６０４を相互に接続してデータの授受を行うシステムバス６０５、以下に説明するセンサ群からのアナログ信号を入力してＡ／Ｄ変換し、デジタル信号をＭＰＵ６０１に供給するＡ／Ｄ変換器６０６などで構成される。
【００４９】
また、図４において、６１０は画像データの供給源となるデスクトップコンピュータ（或いは、画像読取り用のリーダ、デジタルカメラ、携帯電話、携帯情報端末（ＰＤＡ）、ラップトップコンピュータなど）でありホスト装置と総称される。ホスト装置６１０と記録装置との間ではインタフェース（Ｉ／Ｆ）６１１を介して画像データ、コマンド、ステータス信号等を送受信する。
【００５０】
さらに、６２０はスイッチ群であり、電源スイッチ６２１、プリント開始を指令するためのプリントスイッチ６２２、及び記録ヘッド１０５のインク吐出性能を良好な状態に維持するための処理（回復処理）の起動を指示するための回復スイッチ６２３など、操作者による指令入力を受けるためのスイッチから構成される。６３０はホームポジションを検出するためのフォトカプラなどの位置センサ６３１、環境温度を検出するために記録装置の適宜の箇所に設けられた温度センサ６３２等から構成される装置状態を検出するためのセンサ群である。
【００５１】
さらに、６４０はキャリッジ１０４をガイドレール１０３に沿って往復走査させるためのキャリッジモータ１１４を駆動させるキャリッジモータドライバ、６４２は記録媒体１０２を搬送するための搬送モータ１１８を駆動させる搬送モータドライバである。
【００５２】
ＡＳＩＣ６０３は、記録ヘッド１０５による記録走査の際に、ＲＡＭ６０２の記憶領域に直接アクセスしながら記録ヘッドに対して記録素子（吐出ヒータ）の駆動データ（ＤＡＴＡ）を転送する。
【００５３】
なお、記録ヘッド１０５の内部にはヘッド温度を測定するためのヘッド温度センサ１０５ｂが設けられている。
【００５４】
また、プリンタ８００にはＡＣ電源やＤＣ電源からの電力供給がなくなっても計時動作を続行することが可能なように小型電池（リチウム電池、ニッケル水素電池、アルカリボタン電池、酸化銀電池、空気亜鉛電池など）６０８からの電力供給を受けて動作可能なタイマ６０７が備えられている。そして、タイマ６０７によって計測された時刻はＥＥＰＲＯＭなどの不揮発性メモリ６０９に格納される。なお、不揮発性メモリとしてはＥＥＰＲＯＭの他に、ＦｅＲＡＭ、ＭＲＡＭなどを用いても良い。
【００５５】
なお、この記録装置は、ＡＣ電源とＤＣ（電池）電源両用であるので、ＡＣアダプタ（不図示）からのＡＣ電力が供給されて動作している状態で、ＡＣアダプタが引き抜かれたとしても、ＤＣ（電池）から電力が供給されて動作を継続することが可能である。このため、この記録装置はＡＣアダプタ駆動か電池駆動かを判別する機構を備える。このような機構は、公知であるので、ここでの詳細な説明は省略する。
【００５６】
さらに、この記録装置のインタフェース（Ｉ／Ｆ）６１１は、ＵＳＢのような有線インタフェースと、ＩＥＥＥ８０２．１１ｘやＩｒＤＡやBluetoothなどの無線インタフェースの両方を備えている。
【００５７】
この実施例では、無線インタフェースとしてBluetoothを用いるものとして説明する。
【００５８】
図５は無線インタフェースの詳細な構成とその周辺部の構成を示すブロック図である。
【００５９】
図５から分かるように、インタフェース６１１に含まれる無線インタフェース６１１ａは、ベースバンド部６５６、ＲＦ部６５７、アンテナ６５８、送受信バッファ６５９、無線通信Ｉ／Ｆ制御部６６０を備えている。
【００６０】
一方、無線インタフェース６１１ａによって受信したデータを処理して記録するために用いるＭＰＵ６０１、ＲＯＭ６０２、ＡＳＩＣ６０３、ＲＡＭ６０４は前述の通りである。なお、ＲＯＭ６０２やＥＥＰＲＯＭ６０９の代わりに、或いはこれらに加えてフラッシュＲＯＭを用いることもできる。また、図５に示す構成では、送受信バッファ６５９とＲＡＭ６０４とが別々の構成となっているが、パケット受信用に複数のバッファ（バッファ０、１、２、……Ｎ）から構成される送受信バッファ６５９もＲＡＭ６０４の一部分を利用しても実現しても良い。また、ＲＡＭ６０４には、後述する受信ＦＩＦＯが設けられる。この受信ＦＩＦＯには、バッファの番号（アドレス）、バッファに格納されているデータ量（例えばバイト数）が格納され、後述するＤＭＡ転送の際に使われる。
【００６１】
また、記録装置にBluetoothの無線インタフェースを用いて通信を行いデータを送信する通信相手となるホスト装置６１０にも、同様にＣＰＵ６５１、無線通信Ｉ／Ｆ制御部６５２、ＲＯＭ６５３、ＲＡＭ６５４、アンテナ６５５を備えている。そして、各種記録データや制御データを記録装置に対して無線通信Ｉ／Ｆ制御部６５２を通じて、Bluetooth無線インタフェースにより送信する。
【００６２】
アンテナ６５８を通してホスト装置６１０より受信された信号はＲＦ部６５７により復調処理されベースバンド部６５６に出力される。ベースバンド部６５６は復調データの誤り訂正処理をおこない、その処理結果に応じて正常に受信されたデータを送受信バッファ６５９経由で無線通信Ｉ／Ｆ制御部６６０に出力し、誤りが発見されたデータに対しては再送要求を行う。更に、無線通信Ｉ／Ｆ制御部６６０はセキュリティモードの設定によって相手機器に認証の要求や暗号化処理をおこなう。
【００６３】
ベースバンド部６５６と無線通信Ｉ／Ｆ制御部６６０との間の各種制御、イベント処理やデータ通信は規格で定められているホストコントロールインタフェース（Host Control Interface：以下、ＨＣＩという）に従って、送受信バッファ６５９を通してパケット単位で行われる。
【００６４】
無線通信Ｉ／Ｆ制御部６６０は送受信バッファ６５９に格納されたベースバンド部６５６から出力されたパケットデータを解析し、リンク接続交渉、サービス検索応答、各プロトコル階層における接続交渉、データ転送、フローコントロール等に対しての制御処理を行う。
【００６５】
無線通信Ｉ／Ｆ制御部６６０から送信するＨＣＩデータは送受信バッファ６５９経由でベースバンド部６５６に転送され、出力データに誤り訂正符合等を付加し所定のデータフォーマットに変換されＲＦ部６５７に出力される。ＲＦ部６５７は出力されたデータを変調し、アンテナ６５８によりホスト装置６１０などの他の無線通信機器に送信する。
【００６６】
さて、送受信バッファ６５９にホスト装置６１０から受信した記録データは無線通信Ｉ／Ｆ制御部６６０によりパケットのヘッダ、フッタ部を取り除き、バッファ単位でＤＭＡ転送される。このために、パケット受信をするとＤＭＡ転送の予約として受信ＦＩＦＯの最後尾にキューイングされる。
【００６７】
この実施例では、ＡＳＩＣ６０３が受信データを利用する場合にはＭＰＵ６０１によりＤＭＡ転送が行われ受信ＦＩＦＯにキューイングされた順番でデータを連続的にＤＭＡ受信することが可能な構成となっている。そして、ＤＭＡ転送が終了したバッファは空きバッファとして再度データを格納することが可能となる。ＡＳＩＣ６０３にＤＭＡ転送された記録データ等はＲＯＭ６０３に格納されている制御プログラムを実行することによりＭＰＵ６０１で解析され、この解析結果に基づいて制御信号や記録信号に変換され、記録ヘッド１０５に出力され記録が行われる。
【００６８】
次に、Bluetoothインタフェースを備えたホスト装置６１０からプリンタ８００に対してＨＣＲＰに従って記録を行う場合の処理の流れについて、図６に示すタイミングチャートを用いて詳細に説明する。
【００６９】
図６はホスト装置とプリンタとの間の通信手順を示すタイムチャートである。
【００７０】
まず、ホスト装置からユーザ操作等によって記録命令が発行されると、そのホスト装置はプリンタに対してリンク接続を要求する（Ｓ３０１）。プリンタはそのリンク接続要求に肯定応答することにより、リンク接続が確立される（Ｓ３０２）。
【００７１】
次に、ホスト装置はＬ２ＣＡＰ層においてＨＣＲＰのコントロールチャネルの接続を要求し（Ｓ３０３）、プリンタ側が肯定応答を返却する（Ｓ３０４）ことによりコントロールチャネルの接続が確立する。Ｌ２ＣＡＰ層ではそれぞれの接続に対して双方の交渉が必要であるため、コントロールチャネルにおいて転送されるパラメータについて交渉が行われる。この交渉のパラメータではホスト装置自身が１パケットで受信可能である最大データ数を示すＭＴＵの値を交渉することが可能となっている。
【００７２】
最初に、ホスト装置側からコントロールチャネルに対する交渉を要求し（Ｓ３０５）、これにプリンタ側が肯定応答することでホスト装置側の交渉が完了する（Ｓ３０６）。同様にプリンタ側からもプリンタ自身におけるパラメータを交渉するために交渉要求を行い（Ｓ３０７）、肯定応答されることにより交渉が完了する（Ｓ３０８）。データチャネルについても同様に接続要求、交渉要求を行い（Ｓ３０９〜Ｓ３１４）データチャネルにおけるパラメータの交渉が終了する。
【００７３】
この実施例におけるプリンタではこのチャネルの交渉において、ＭＴＵの値を１パケットで受信可能な最大数である送受信バッファ６５９のバッファの大きさからヘッダ部分の大きさを差し引いた値により交渉を行うことにより、ホスト装置は１パケットで最大１バッファ分のデータを送信することが可能となる。
【００７４】
なお、ここで説明したＬ２ＣＡＰ層での接続や交渉の流れの順序は一例に過ぎず、チャネルが接続された後に交渉され、要求に対する応答が正常に行われていれば、その順序は前後しても構わない。
【００７５】
次に、ホスト装置はコントロールチャネルを利用してプリンタに対して送信可能なクレジットの値を要求する（Ｓ３１５）。この要求に応答してプリンタは受信可能なバイト数であるクレジットを返却する（Ｓ３１６）。このクレジットの値の詳細については後述する。ホスト装置はこのクレジットを受け取るとデータチャネルによってＨＣＲＰデータ送信を行う（Ｓ３１７〜Ｓ３１９）。
【００７６】
１度に送信されるデータ数は交渉されたＭＴＵの値を超えることはできず、またこの間に送信される総データ数は与えられたクレジット数を超えることはできない。そのため、ホスト装置では与えられたクレジットから送信したデータ数を減算しておくことが必要となる。ホスト装置は常にプリンタに対してクレジットを要求することが可能であるが、プリンタは与えることが可能なクレジットが存在しなければクレジットの値を“０”で返却することがある。
【００７７】
ホスト装置はクレジットがなくなった場合、あるいは一定のタイミングで再度クレジットを要求する（Ｓ３２０）。この要求に対して、プリンタは現在与えることが可能なクレジット数を応答する。ホスト装置は与えられたクレジットを加えて送信可能なデータ数を送信する（Ｓ３２２）。
【００７８】
このような流れによってプリンタ側が与えたクレジットの値を超えないようにＨＣＲＰに従う記録データがプリンタに送信され記録が行われる。
【００７９】
次に、プリンタ側でのバッファ転送予約処理について図７を参照して説明する。
【００８０】
図７は受信データをバッファに格納する様子を示す図である。
【００８１】
図５に示されているように送受信バッファ６５９には（Ｎ＋１）本のバッファが備えられているが、プリンタ８００が１パケットのデータを受信すると残りのバッファの本数を確認し、ある程度以上の残り数があることが確認されると、図７（ａ）に示されているように、受信バッファに格納された１パケットのデータ量を調べ、受信ＦＩＦＯに転送予約する。この受信バッファはＡＳＩＣ６０３側からの読み出しが終わるまでメモリ開放されないが、通常はデータ読み出しはごく短時間で完了するので、すぐにそのバッファが開放されることになる。
【００８２】
プリンタ側が紙無しエラー状態の発生等によりプリントバッファ待ち状態になると、ＭＰＵ６０１によるデータ解析の処理が進まずに送受信バッファからの読み出しのためのＤＭＡも起動されないでいるため、受信ＦＩＦＯにデータ部が多くキューイングされ、送受信バッファの残り数が少なくなってくる。このように所定の値よりもバッファの残り本数が少ない状態でデータを受信した場合でかつ、受信データ部分が受信バッファの許容量に満たない場合には、図７（ｂ）に示されるように、送受信バッファ（この場合は、データ受信を考慮しているので受信バッファとなる）をすぐに転送予約せずに保存バッファとして受信データをそのまま記憶保存する。
【００８３】
そして、受信バッファの解放が進まずに更に次のパケットを受信した場合には、図７（ｃ）に示すように、次に受信したデータからヘッダ部とフッタ部とを取り除き、データ部分のみを保存バッファに付け加えて保存しておき、受信バッファを解放する。そして、受信バッファの解放が進むまで、あるいは保存バッファがフルになるまでは、後から送られてくるパケットのデータ部分が順に格納される。
【００８４】
このようにすることで、解放された受信バッファは再利用が可能となる。保存バッファにデータ部を付け加える時点で保存バッファの許容量に達した場合には、まず、保存バッファに格納されたデータについて受信ＦＩＦＯにキューイングし、さらに余りのデータがあれば受信バッファを新たな保存バッファとして、その余りのデータを保存しておく。
【００８５】
また、エラー解除などによりＤＭＡ転送が再開され、受信ＦＩＦＯに登録されていた受信バッファ／保存バッファのデータ転送が進むと、受信バッファの残り数も増えてくる。なお、データ転送は受信バッファ／保存バッファに係らず、受信ＦＩＦＯにキューイングした順（登録した順）に行なわれるので、データ受信の順序を保つことができる。
【００８６】
次に、以上説明した処理を受信用バッファとして容量２０００バイトのバッファが３１本ある場合を例に、プリンタ８００におけるパケットデータ受信処理について、図８に示すフローチャートを参照して説明する。なお、この受信処理には送受信バッファ６５９を用いるが、ここでの処理はパケット受信処理なので、以下の説明では受信バッファとして言及する。
【００８７】
図８はパケットデータ受信処理を示すフローチャートである。この処理は、パケット受信ごとに実行される。
【００８８】
まず、ステップＳ１０１でプリンタ８００がパケットデータを受信し、受信バッファに格納すると、次に、ステップＳ１０２では受信バッファの残り本数を確認する。そして、ステップＳ１０３では、その残り本数が十分な値（ここでは、その値を２０本としている）より多いかどうかを確認する。
【００８９】
ここで、残り本数が２０本以上であり、受信バッファが十分にあると判断された場合には、処理はステップＳ１０４に進み、受信バッファのデータについて受信ＦＩＦＯに登録し、その後、処理を終了する。
【００９０】
これに対して、バッファの残り本数が２０本未満であり、残り少ないと判断された場合には、処理はステップＳ１０５に進み、保存バッファがあるかどうかを判断する。ここで、保存バッファがあると判断された場合、処理はステップＳ１０７へ進む。一方、保存バッファがないと判断された場合、処理はステップＳ１０６へ進む。ステップＳ１０６では、受信バッファを保存バッファとして設定し、その保存バッファにパケットデータを保存し、その後、処理を終了する。
【００９１】
ステップＳ１０７では、今回受信したデータ量と保存バッファに格納されているデータ容量との和（ＤＴＯＴＡＬ）が保存バッファの容量２０００バイトに達しているか否かを調べる。言い換えると、現在の保存バッファの空きのエリアに、これから格納しようとする受信バッファのデータが全て格納できるかを判定するのである。
【００９２】
ここで、ＤＴＯＴＡＬ＞２０００バイトである場合（データを全て格納できないと判定された場合）には、処理はステップＳ１１０に進み、保存バッファに受信バッファのデータを先頭から合計で最大容量になるまで詰める。そして、次のステップＳ１１１において、保存バッファのデータについて受信ＦＩＦＯに登録する。更に処理はステップＳ１１２において、その受信バッファを保存バッファとして設定して、データを保存し、その後、処理を終了する。つまり、既存の保存バッファに格納できない場合には、新たに受信バッファを保存バッファと設定し、格納できないデータを新たに設定された保存バッファに格納するのである。
【００９３】
これに対して、ＤＴＯＴＡＬ≦２０００バイトである場合（データを全て格納できると判定された場合）には、処理はステップＳ１０８に進み、保存バッファに受信データを追加して、さらにステップＳ１０９では受信バッファを開放し、その後、処理を終了する。
【００９４】
以上の処理により、データのＤＭＡ転送が停滞して受信バッファの残りが少なくなっている場合には、受信バッファのパケットを無駄にすることなく保存バッファにバッファ最大容量までデータをパックして送信することにより、受信バッファを効率よく利用することが可能となる。ここで説明した例の場合には、バッファの残り本数が３０本から２０本まで（受信したバッファがあるため３１にはならない）の間は、受信パケットのデータをそのまま転送予約する。通常、ＭＰＵ６０１が受信された記録データを正常に解析して動作している場合には、常にＤＭＡ転送が行われているので受信バッファもすぐに開放されるため、１０本の受信バッファ内で転送がスループットへの影響を軽減させることができる。
【００９５】
次にプリンタ８００からホスト装置６１０に与えるクレジットの管理処理について、図９に示すフローチャートを参照して詳細に説明する。ここでの説明は、パケットデータ受信処理で説明したのと同じ受信バッファの構成でホスト装置６１０からクレジット要求が行われた場合を想定している。
【００９６】
図９はクレジット管理処理を示すフローチャートである。
【００９７】
まず、ステップＳ５０１でクレジット要求が行われると、次にステップＳ５０２では受信バッファの残り数を確認する。
【００９８】
ここで、受信バッファの残り数が２１本以上（即ち、２１本から３０本の間）であると判断された場合は、処理はステップＳ５０３に進み、バッファ２０本分の最大クレジットである４００００（＝２０×２０００）バイトのクレジットを授与可能とする。クレジットの残り数がこの間で推移している場合には、ホスト装置６１０は最大で４００００バイトのデータを常に送信することが可能な状態にしておくことによりスループットが確保される。
【００９９】
これに対して、受信バッファの残り数が２０本以下であると判断された場合には、処理はステップＳ５０４に進み、１バッファの容量の最大限までパックするので少なくとも保存バッファの１本を除いた｛（受信バッファの残り数−１）×２０００｝バイトのクレジットが授与可能とする。もし、ＭＰＵ６０１がＤＭＡデータ転送を起動していない状態でホスト装置６１０が短いデータパケットでデータ送信を行っても、前述した処理によりデータ受信時にデータが保存バッファにパックされて転送されるため、クレジット数を超えない限り受信バッファは利用可能な状態となる。
【０１００】
なお実際には、バースト転送で転送予約されている１０本の受信バッファに入っているバイト数や保存バッファに蓄積されているバイト数を考慮して最大受信可能なクレジットを計算することも可能であり、そのバイト数を加えて最大クレジットを算出しても良い。
【０１０１】
さて、プリンタ８００ではデータを受信する度に今現在与えているクレジットの総数から受信したデータ数を差し引いてホスト装置６１０に対するクレジット総数を管理している。ステップＳ５０３或いはＳ５０４において、授与可能なクレジットの総数が計算されると、処理はステップＳ５０５に進み、今現在ホスト装置６１０に対して与えているクレジット総数（ＣＣＲＤＴ）と授与可能なクレジット数（ＡＶＣＲＤＴ）を比較する。
【０１０２】
ここで、ＡＶＣＲＤＴ＞ＣＣＲＤＴである場合、処理はステップＳ５０６に進み、クレジットを与え、その後、処理を終了する。これに対して、ＡＶＣＲＤＴ≦ＣＣＲＤＴである場合は、クレジットを与えることが不可能なので、処理はステップＳ５０７に進み、クレジットの値を“０”にして応答し、その後、処理を終了する。
【０１０３】
なお実際の送受信バッファ管理では、受信バッファの他にも送信用のバッファやＨＣＩコマンド送信用、ＨＣＩイベント受信用のバッファが同時に管理されているのでその部分の管理を考慮した形で管理が行われている。
【０１０４】
従って以上説明した実施例に従えば、パケットデータ受信の際には受信バッファの残り本数に従って受信データを保存バッファにパックして一時的に保存することで受信データの転送を制御することができる。このようにすることで、受信バッファを効率的に用いることができ、受信処理に対して常に最大限のバッファを準備することに貢献する。
【０１０５】
また、ホストからのクレジット要求の際には受信バッファの残り本数に従って最大授与可能なクレジット総数を決定し、その決定した総数と現在与えている総数とに従ってホスト装置への応答クレジット数を決定することができる。このようにすることで、最低限受信に必要な受信バッファは確保しつつ、記録装置側からは最大のクレジットを与えることができるので、ホストとの良好な転送速度を維持しつつBluetooth無線インタフェースを用いた円滑な通信を行うことができる。
【０１０６】
なお、以上の実施例において、記録ヘッドから吐出される液滴はインクであるとして説明し、さらにインクタンクに収容される液体はインクであるとして説明したが、その収容物はインクに限定されるものではない。例えば、記録画像の定着性や耐水性を高めたり、その画像品質を高めたりするために記録媒体に対して吐出される処理液のようなものがインクタンクに収容されていても良い。
【０１０７】
以上の実施例は、特にインクジェット記録方式の中でも、インク吐出を行わせるために利用されるエネルギーとして熱エネルギーを発生する手段（例えば電気熱変換体）を備え、前記熱エネルギーによりインクの状態変化を生起させる方式を用いることにより記録の高密度化、高精細化が達成できる。
【０１０８】
さらに、記録装置が記録できる最大記録媒体の幅に対応した長さを有するフルラインタイプの記録ヘッドとしては、複数記録ヘッドの組み合わせによってその長さを満たす構成や、一体的に形成された１個の記録ヘッドとしての構成のいずれでもよい。
【０１０９】
加えて、上記の実施例で説明した記録ヘッド自体に一体的にインクタンク（容器）が設けられたカートリッジタイプの記録ヘッドカートリッジでも良く、装置本体に装着されることで、装置本体との電気的な接続や装置本体からのインクの供給が可能になる交換自在のチップタイプの記録ヘッドの構成であってもよい。なお、記録ヘッドカートリッジのインクタンクにはインクが充填もしくは再充填されているものであってもよい。
【図面の簡単な説明】
【０１１０】
【図１】本発明の代表的な実施例であるインクジェット記録装置の全体構成の概要を示す外観斜視図である。
【図２】図１に示したインクジェットプリンタにバッテリーチャージャを装着した状態を示す斜視図である。
【図３】プリンタ８００の内部構成を示す斜視図である。
【図４】図１〜図３に示したプリンタ８００の制御構成を示すブロック図である。
【図５】無線インタフェースの詳細な構成とその周辺部の構成を示すブロック図である。
【図６】ホスト装置とプリンタとの間の通信手順を示すタイムチャートである。
【図７】受信データをバッファに格納する様子を示す図である。
【図８】パケットデータ受信処理を示すフローチャートである。
【図９】クレジット管理処理を示すフローチャートである。
【符号の説明】
【０１１１】
１０５  記録ヘッド
６０１  ＭＰＵ
６０２  ＲＯＭ
６０３  ＡＳＩＣ
６０４  ＲＡＭ
６０５  システムバス
６１０  ホスト装置
６１１  インタフェース
６１１ａ  無線インタフェース
６５１  ＣＰＵ
６５２  無線通信Ｉ／Ｆ制御部
６５３  ＲＯＭ
６５４  ＲＡＭ
６５５  アンテナ
６５６  ベースバンド部
６５７  ＲＦ部
６５８  アンテナ
６５９  送受信バッファ
６６０  無線通信Ｉ／Ｆ制御部
【図１】
2005217745.tif 000003
【図２】
2005217745.tif 000004
【図３】
2005217745.tif 000005
【図４】
2005217745.tif 000006
【図５】
2005217745.tif 000007
【図６】
2005217745.tif 000008
【図７】
2005217745.tif 000009
【図８】
2005217745.tif 000010
【図９】
2005217745.tif 000011