(57)【要約】      （修正有）【課題】  高速データ受信が可能なインターフェイスを介して供給されるデータを書き込み、更に高速なデータ送信も可能な印刷装置を提供する。【解決手段】高速受信制御部２は外部のホスト機器から印刷データの高速送信を受信し、受信データをＳＲＡＭライト制御部３の制御に従ってＳＲＡＭ４に書き込む。この時、データの書き込み回数をライトカウンタ６に送り、ライトカウンタ６をカウントアップすると共に、ＳＲＡＭリード制御部５の制御によってＳＲＡＭ４から読み出されるデータの読み出し回数をリードカウンタ７によってカウントし、ライトカウンタ６とリードカウンタ７のカウント値を比較し、ＳＲＡＭ４がフル（Full）であると判断する時、データの書き込みを停止し、空であると判断する時データの読み出しを停止する。このように構成することにより、高速受信制御部２によって受信した印刷データを高速で印刷装置内のメモリに記憶することができる。【選択図】  図１
2006095946.tif 000002
【特許請求の範囲】
【請求項１】
ホスト機器から供給される印刷データを高速受信する受信手段と、
印刷データを一時的に記憶する記憶手段に印刷データの記憶領域が残存するか判断する判断手段と、
該判断手段の判断結果に基づいて、前記受信手段に供給された印刷データを前記記憶手段に書き込む書込手段と、
前記記憶手段に記憶した印刷データを高速に読み出し、装置のメモリに供給する読出手段と、
を有することを特徴とする印刷装置。
【請求項２】
前記判断手段は、前記書込手段が前記記憶手段に印刷データを書き込む回数を計数して第１の計数とし、前記読出手段が前記記憶手段から印刷データを読み出す回数を計数して第２の計数とし、前記第１の計数から第２の計数を減算した際、該減算値が所定値以上の時、前記記憶手段への印刷データの書き込み処理を制限することを特徴とする請求項１記載の印刷装置。
【請求項３】
前記減算値が所定値以下の時、前記記憶手段からの印刷データの読み出し処理を制限することを特徴とする請求項２記載の印刷装置。
【請求項４】
ホスト機器からの印刷データの受信要求に対し、印刷データを一時的に記憶する記憶手段に印刷データが記憶されているか判断する判断手段と、
該判断手段の判断結果に基づいて、前記記憶手段から印刷データを高速に読み出す読出手段と、
該読出手段によって高速に読み出した印刷データを前記ホスト機器に出力する出力手段と、
装置のメモリから印刷データを読み出し、前記記憶手段に書き込む書込手段と、
を有することを特徴とする印刷装置。
【請求項５】
前記判断手段は、前記書込手段が前記記憶手段に印刷データを書き込む回数を計数して第１の計数とし、前記読出手段が前記記憶手段から印刷データを読み出す回数を計数して第２の計数とし、前記第１の計数から第２の計数を減算した際、該減算値が所定値以上の時、前記記憶手段への印刷データの書き込み処理を制限することを特徴とする請求項４記載の印刷装置。
【請求項６】
前記減算値が所定値以下の時、前記記憶手段からの印刷データの読み出し処理を制限することを特徴とする請求項４記載の印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は高速インターフェイスを備えた印刷装置に関する。
【背景技術】
【０００２】
今日、パーソナルコンピュータ等のホスト機器から送信された印刷データをＣＰＵを介さずにデータ転送するＤＭＡ（direct memory access）転送が行われている。このような状況下で、既存の印刷装置に新しいインターフェイスを追加する場合、予め拡張を考慮した拡張バスに、新しいインターフェイスを追加する方法が行われている。
【０００３】
一方、特許文献１は文字化け等の存在を印刷装置のインターフェイスを使用して検出するものであり、２バイト分のデータを格納できるバッファを用い、印刷データの整合性をチェックする発明である。
【特許文献１】特開2002−19196号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
既存の装置に、新しいインターフェイスを追加する場合、上記のように拡張バスに新しいインターフェイスを追加する方法が行われている。しかしながら、新しいインターフェイスのデータ転送能力が、想定していた性能を上回っている場合、拡張バスのデータ転送能力が上限となる。この為、新しいインターフェイスのデータ転送能力を充分活用することができない。
【０００５】
そこで、本発明は高速インターフェイスを使用し、印刷データの送受信を高速に行うことを可能とした印刷装置を提供するものである。
【課題を解決するための手段】
【０００６】
上記課題は本発明によれば、ホスト機器から供給される印刷データを高速受信する受信手段と、印刷データを一時的に記憶する記憶手段に印刷データの記憶領域が残存するか判断する判断手段と、該判断手段の判断結果に基づいて、前記受信手段に供給された印刷データを前記記憶手段に書き込む書込手段と、前記記憶手段に記憶した印刷データを高速に読み出し、装置のメモリに供給する読出手段とを有する印刷装置を提供することによって達成できる。
【０００７】
このように構成することによって、新しく接続するインターフェイスのデータ転送能力が、想定していた性能を上回っていた場合でも、当該インターフェイスを使用して高速な印刷データの転送処理を行うことができる。
【０００８】
また、前記判断手段は、例えば前記書込手段が前記記憶手段に印刷データを書き込む回数を計数して第１の計数とし、前記読出手段が前記記憶手段から印刷データを読み出す回数を計数して第２の計数とし、前記第１の計数から第２の計数を減算した際、該減算値が所定値以上の時、前記記憶手段への印刷データの書き込み処理を制限する構成である。また逆に、前記減算値が所定値以下の時、前記記憶手段からの印刷データの読み出し処理を制限する構成である。
【０００９】
このように構成することにより、ホスト機器から供給される印刷データを効率よく転送することができ、高速な印刷データの転送処理を実現することができる。
さらに、上記課題は本発明によれば、ホスト機器からの印刷データの受信要求に対し、印刷データを一時的に記憶する記憶手段に印刷データが記憶されているか判断する判断手段と、該判断手段の判断結果に基づいて、前記記憶手段から印刷データを高速に読み出す読出手段と、該読出手段によって高速に読み出された印刷データを前記ホスト機器に出力する出力手段と、装置のメモリから印刷データを読み出し、前記記憶手段に書き込む書込手段とを有する印刷装置を提供することによって達成できる。
【００１０】
このように構成することによって、印刷装置に記憶された印刷データを高速に外部のデバイスに出力することができる。
また、前記判断手段は、前記書込手段が前記記憶手段に印刷データを書き込む回数を計数して第１の計数とし、前記読出手段が前記記憶手段から印刷データを読み出す回数を計数して第２の計数とし、前記第１の計数から第２の計数を減算した際、該減算値が所定値以上の時、前記記憶手段への印刷データの書き込み処理を制限する構成である。また逆に、前記減算値が所定値以下の時、前記記憶手段からの印刷データの読み出し処理を制限する構成である。
【００１１】
このように構成することにより、印刷装置から供給される印刷データを効率よくホスト機器に転送することができる。
尚、前記ホスト機器は、例えばパーソナルコンピュータであり、このような機器から供給された印刷データを高速に処理することができる。
【発明の効果】
【００１２】
本発明によれば、高速なデバイスからのデータ受信を、データを受け取ってからメインメモリをアクセスする場合と同一のアクセス形式で、データのアクセスを行い、高速なデータ受信を可能とする。
【００１３】
また、外部デバイスに対するデータ送信を同様に行い、高速なインターフェイスを介してデータ送信を高速に行うことができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図面を参照しながら説明する。
（実施形態１）
図１は本実施形態の印刷装置の構成を説明する図である。
【００１５】
同図において、本例のインターフェイス１は高速受信制御部２、ＳＲＡＭライト制御部３、ＳＲＡＭ４、ＳＲＡＭリード制御部５、ライトカウンタ６、リードカウンタ７、及びコンパレータ８で構成されている。
【００１６】
高速受信制御部２は、新たな高速インターフェイス用の制御ＬＳＩであり、受信したデータをDMAによってＳＲＡＭライト制御部３に転送する。また、ＳＲＡＭライト制御部３は受信した印刷データをＳＲＡＭ４に転送し、ＳＲＡＭ４に書き込む。また、ライトカウンタ６はＳＲＡＭ４に印刷データを書き込む回数をカウントするカウンタであり、例えばＳＲＡＭライト制御部３からの計数信号を受信する。
【００１７】
ＳＲＡＭリード制御部５はＳＲＡＭ４に記憶したデータを読み出し、ＳＤＲＡＭ１２と同じアクセス形式で、ＳＲＡＭ４の内容を読み出す。また、リードカウンタ７はＳＲＡＭ４から印刷データを読み出す回数をカウントするカウンタであり、ＳＲＡＭリード制御部５からの計数信号を受信する。
【００１８】
一方、ＣＰＵ１０は印刷装置の制御部であり、ＳＤＲＡＭ制御部１１に対して制御信号を出力する。ＳＤＲＡＭ１２は、印刷データを記憶する。
図２は本例の処理を説明するフローチャートであり、図３は当該処理を説明するタイムチャートである。尚、図２において、左側は高速受信制御部２の処理を示し、右側はＳＲＡＭライト制御部３の処理を示す。
【００１９】
先ず、高速受信制御部２はホスト機器から印刷データが供給されるのを待つ（ステップ（以下、Ｓで示す）１）。そして、ホスト機器から印刷データが供給されると（Ｓ１がＹＥＳ、図３に示すタイミングａ）、高速受信制御部２からＳＲＡＭライト制御部３に対してデータ引き取り要求（DREQ）を出力する（Ｓ２、図３に示すタイミングｂ）。
【００２０】
ＳＲＡＭライト制御部３側では、データ引き取り要求（DREQ）を受信したか判断し（Ｓ３）、データ引き取り要求（DREQ）を受信すると（Ｓ３がＹＥＳ）、コンパレータ８のフラグがフル（Full）ではないか判断する（Ｓ４）。ここで、コンパレータ８には、ライトカウンタ６から計数情報が入力し、リードカウンタ７から入力する計数情報との比較を行い、ＳＲＡＭ４に記憶する印刷データが満杯である時、フル（Full）の情報をＳＲＡＭライト制御部３に出力する。
【００２１】
ここで、ＳＲＡＭライト制御部３は、コンパレータ８からフル（Full）の情報が出力されていない時、ホスト機器から供給された印刷データをＳＲＡＭ４に書き込む（Ｓ５、図３に示すタイミングｃ）。また、ＳＲＡＭライト制御部３は、ＳＲＡＭ４にデータを書き込む為、アドレス値をインクリメントする（Ｓ６、図３に示すタイミングｄ）。
【００２２】
また、高速受信制御部２では、ＳＲＡＭライト制御部３が更なるデータ引き取り要求（DREQ）の受信が可能であるか判断する（Ｓ７）。この判断は上記コンパレータ８のフル（Full）情報を確認して行う。ここで、フル（Full）情報が入力していなければ、印刷データの受信処理を繰り返す（Ｓ１〜Ｓ７、図３に示すａ〜ｄ）。
【００２３】
以上のように処理することによって、ホスト機器から印刷データが高速で供給されたとしても、高速受信制御部２は供給される印刷データを順次ＳＲＡＭ４の書き込み、効率よく高速な入力処理を行うことができる。
【００２４】
一方、上記処理によってＳＲＡＭ４に記憶された印刷データは図４に示すタイムチャートに従ってＣＰＵ１０に読み出される。
先ず、ＳＲＡＭリード制御部５は、ＳDRAM制御部１１を通して、CPU１０からアクセスが行われると、ＳDRAM制御部１１が出力するＳＤＲＡＭアクセス信号波形に合わせて、ＳRAMリード制御部５はＳＲＡＭ４からデータを読み出す。この時、ＳＲＡＭリード制御部５は図５に示すフローチャートに従った処理を行う。
【００２５】
先ず、ＳＲＡＭリード制御部５はＳＤＲＡＭ制御部１１からアクセス要求があるか判断する（Ｓ８）。この判断は、図４に示すａのタイミングで行われる。すなわち、ＳＤＲＡＭ制御部１１からＳＲＡＭリード制御部５に対して/ＣＳ（チップセレクト信号）がローレベル（Ｌ）、/ＲＡＳ（ラス信号）がローレベル（Ｌ）、/ＣＡＳ（カス信号）がハイレベル（Ｈ）、/ＷＥ（ライト信号）がハイレベル（Ｈ）である信号が入力すると（Ｓ８がＹＥＳ）、ロウアドレスを保存する（Ｓ９）。
【００２６】
次に、図４に示すｂのタイミングで、他方のカラム（Ｃｏｌｕｍｎ）アドレスの指定を行う。すなわち、ＳＲＡＭリード制御部５に対して/ＣＳ（チップセレクト信号）がローレベル（Ｌ）、/ＲＡＳ（ラス信号）がハイレベル（Ｈ）であり、/ＣＡＳ（カス信号）がローレベル（Ｌ）、/ＷＥ（ライト信号）がハイレベル（Ｈ）である信号が入力すると（Ｓ１０がＹＥＳ）、カラムアドレスを保存する（Ｓ１１）。
【００２７】
次に、ＳＲＡＭリード制御部５は上記ロウアドレス及びカラムアドレスによって指定されたＳＲＡＭ４のエリアからデータを読み出す（Ｓ１２、図４に示すｃ、ｄのタイミング）。このようにしてＳＲＡＭ４から読み出されたデータは、ＣＰＵ１０に出力される。
【００２８】
その後、上記ＳＲＡＭ４に対する読み出しアドレスをインクリメントし（Ｓ１３）、バースト回数繰り返し、ＳＲＡＭ４から順次データを読み出す（Ｓ１４）。尚、図４に示す例では、４回のデータ読み出し処理を行っている。その後、プリチャージのコマンドを出力し、次のアクセスに備える（Ｓ１４が終了、図４に示すｅのタイミング）。
【００２９】
一方、上記処理の際、前述と同様リードカウンタ７はＳＲＡＭリード制御部５によるデータ読み出し回数をカウントしており、ライトカウンタ６の計数値とリードカウンタ７の計数値をコンパレータ８によって比較し、リード回数がライト回数を上回る前、CPU１０に対してインタラプト（interrupt）情報を出力し、これ以上のリードアクセスを停止する。
【００３０】
同時に、CPU１０がＳＤＲＡＭ１２のエリアとしてＳＲＡＭ４をリードするときのアドレス値をコンパレータ８に記憶しておく。この処理により、インタラプトが発生した時点で即座にCPU１０が反応できないような、例えばリアルタイム性に欠けるオペレーションシステムを使用しても、コンパレータ８に記憶したアドレス値を確認することにより、インタラプトの発生時点を知ることができる。したがって、例えば無効なデータ化を把握でき、無効なデータを無視するプログラムを組むことにより、正常なデータのみを残すこともできる。
【００３１】
以上のように、本例ではホスト機器から高速なデータを受信する際、印刷装置内のメモリをアクセスする場合と同一のアクセス形式で、印刷データをアクセスすることができ、高速なデータ受信が可能となる。
【００３２】
尚、上記例では、ＳＲＡＭ４への印刷データの書き込み制御と読み出し制御を別々なデュアルポートで構成したが、データの書き込み制御と読み出し制御を同時に実行する必要はなく、シングルポート構成とし、ＳＲＡＭライト制御部３とＳＲＡＭリード制御部５を１つの制御部で構成してもよい。
【００３３】
また、上記例では、高速なデータが扱えるインターフェイスをＳＤＲＡＭ１２のバスとしたが、特にＳＤＲＡＭ１２である必要はなく、該当するシステムの中で高速なアクセスが可能なバスであれば同様に適用することができる。
（実施形態２）
次に、本発明の実施形態２について説明する。
【００３４】
本例はホスト機器等の外部デバイスからのデータ転送要求に基づいて印刷データを送信する例である。
図６は本例を説明するシステム構成図である。本システムは前述の図１と基本的に同じ構成であるが、ＳＲＡＭへのデータの書き込み処理、及びデータの読み出し処理が逆であり、リードカウンタ及びライトカウンタの配設位置も逆となる。尚、図６において、各部の番号は新たに設定している。以下、具体的に説明する。
【００３５】
図７は、図６に示すＳＲＡＭ２４に印刷データを書き込む処理を説明するフローチャートである。また、図８はその際のタイムチャートである。
先ず、高速送信制御部２２は、ホスト機器等の外部デバイスからデータ受信要求が行われたか判断する（ステップ（以下、ＳＴで示す）１）。ここで、外部から上記要求が行われると（図８に示すａ）、ＳＲＡＭリード制御部２３に対してデータ引き取り要求(DREQ)を出力する（ＳＴ２、図８に示すｂ）。
【００３６】
ＳＲＡＭリード制御部２３は、高速送信制御部２２からのデータ引き取り要求(DREQ)を受信すると、コンパレータ２８からＥｍｐｔｙ（エンプティー）情報が入力していないことを確認し、ＳＲＡＭ２４にデータが記憶されていると判断する（ＳＴ４がＹＥＳ）。そして、アドレスを指定し、ＳＲＡＭ２４からデータを読み出し（ＳＴ５）、その後アドレス値をインクリメントする（ＳＴ６）。
【００３７】
また、高速送信制御部２２では、データの読み出し処理が完了すると（ＳＴ７がＹＥＳ）、上記データを読み出し、外部のホスト機器等のデバイスに送る（ＳＴ８）。そして、ＳＲＡＭリード制御部２３は、データ引き取り要求(DREQ)の受信が可能であるか判断する（ＳＴ９）。ここで、データ引き取り要求(DREQ)の受信が可能であれば（ＳＴ９がＹＥＳ）、更にＳＲＡＭ２４からデータを読み出す。
【００３８】
一方、CPU３０は外部へ転送すべきデータが生じた場合、ＳＤＲＡＭ制御部３１を通して、ＳＲＡＭライト制御部２５にライトアクセスを行う。ＳＲＡＭライト制御部２５は、ＳＤＲＡＭ制御部３１が出力するＳＤＲＡＭアクセス信号波形に合わせて、ＳＲＡＭ２４にデータを書き込む。図９はこの処理を説明するフローチャートであり、図１０は対応するタイムチャートである。
【００３９】
先ず、ＳＲＡＭライト制御部２５はＳＤＲＡＭ制御部３１からアクセス要求があるか判断する（ＳＴ１０）。この判断は、図１０に示すａのタイミングで行われ、前述と同様、ＳＲＡＭライト制御部２５に対して/ＣＳ（チップセレクト信号）がローレベル（Ｌ）、/ＲＡＳ（ラス信号）がローレベル（Ｌ）、/ＣＡＳ（カス信号）がハイレベル（Ｈ）、/ＷＥ（ライト信号）がハイレベル（Ｈ）である信号を出力し（Ｓ１０がＹＥＳ）、ロウアドレスを保存する（Ｓ１１）。
【００４０】
次に、図１０に示すｂのタイミングで、カラム（Ｃｏｌｕｍｎ）アドレスの指定を行い、カラムアドレスを保存する（ＳＴ１２、ＳＴ１３）。そして、ＳＲＡＭライト制御部２５は上記ロウアドレス及びカラムアドレスによって指定されたＳＲＡＭ２４のエリアにデータを書き込む（ＳＴ１４、図１０に示すｃ、ｄのタイミング）。
【００４１】
その後、書き込みアドレスをインクリメントし（ＳＴ１５）、バースト回数繰り返し、ＳＲＡＭ２４にデータを書き込む（Ｓ１６）。次に、プリチャージのコマンドを出力し、次のアクセスに備える（Ｓ１６が終了、図９に示すｅのタイミング）。
【００４２】
また、この場合にも、上記処理の際、ライトカウンタ２７はＳＲＡＭライト制御部２５によるデータ書き込み回数をカウントしており、ライトカウンタ２７のデータ書き込み回数とリードカウンタ２６のデータ読み出し回数の差をコンパレータ２８によって比較し、リード回数がライト回数を上回る前、CPU１０に対してインタラプト（interrupt）を出力し、これ以上のリードアクセスは不可能である指示を行う。
【００４３】
以上の処理を繰り返すことによって、ＳＲＡＭ２４に記憶されたデータは順次ＳＲＡＭリード制御部２３から高速送信制御部２２を介して外部デバイスに高速転送される。
【図面の簡単な説明】
【００４４】
【図１】実施形態１を説明するシステム構成図である。
【図２】実施形態１のデータ書き込み処理を説明するフローチャートである。
【図３】実施形態１のデータ書き込み処理を説明するタイムチャートである。
【図４】実施形態１のデータ読み出し処理を説明するタイムチャートである。
【図５】実施形態１のデータ読み出し処理を説明するフローチャートである。
【図６】実施形態２を説明するシステム構成図である。
【図７】実施形態２のデータ読み出し処理を説明するフローチャートである。
【図８】実施形態２のデータ読み出し処理を説明するタイムチャートである。
【図９】実施形態２のデータ書き込み処理を説明するフローチャートである。
【図１０】実施形態２のデータ書き込み処理を説明するタイムチャートである。
【符号の説明】
【００４５】
１・・・インターフェイス
２・・・高速受信制御部
３・・・ＳＲＡＭライト制御部
４・・・ＳＲＡＭ
５・・・ＳＲＡＭリード制御部
６・・・ライトカウンタ
７・・・リードカウンタ
８・・・コンパレータ
１０・・・ＣＰＵ
１１・・・ＳＤＲＡＭ制御部
１２・・・ＳＤＲＡＭ
２２・・・高速送信制御部
２３・・・ＳＲＡＭリード制御部
２４・・・ＳＲＡＭ
２５・・・ＳＲＡＭライト制御部
２６・・・リードカウンタ
２７・・・ライトカウンタ
２８・・・コンパレータ
３０・・・ＣＰＵ
３１・・・ＳＤＲＡＭ制御部
３２・・・ＳＤＲＡＭ
【図１】
2006095946.tif 000003
【図２】
2006095946.tif 000004
【図３】
2006095946.tif 000005
【図４】
2006095946.tif 000006
【図５】
2006095946.tif 000007
【図６】
2006095946.tif 000008
【図７】
2006095946.tif 000009
【図８】
2006095946.tif 000010
【図９】
2006095946.tif 000011
【図１０】
2006095946.tif 000012