(57)【要約】【課題】  本発明は複数の同時に来た受信データの内の同系統のパケットを１つのチャンネルでまとめて受信するとともに、パケットサイズを測定して設定する機能を備えたメモリ／ＩＯ制御部を有する印刷装置を提供する。【解決手段】  本発明によれば、ＣＰＵ１１とメモリ／ＩＯ制御部１２とメモリ１３を備え、ＵＳＢ接続部１９とＬＡＮ接続部２０とパラレル接続部１４の３つのｃｈの入力系統を制御し受信する。メモリ／ＩＯ制御部１２は、ＩＯ制御部２７とメモリ制御部２８で構成される。ＩＯ制御部２７は８ビットバスでデータを受信し、６４ビットにまとめてＤＭＡでメモリ制御部２８の制御によりメモリ１３に書き込む。また、パケットサイズが未設定の場合はデータ受信要求信号ＤＲＥＱ１のネゲート期間をタイマカウンタで測定し、固有の時間以上パケット受信間の時間未満のタイマ設定値１１を計測すれば１パケットの受信終了と判断し、そのときのパケットサイズカウンタの値をパケットサイズとして設定する。【選択図】  図２
2005153186.tif 000002
【特許請求の範囲】
【請求項１】
画像データの複数の外部入力接続手段と、
パケットサイズカウンタと入力カウンタでそれぞれ入力データの計数をしながら前記画像データを受信する複数の前記外部入力に対応したチャンネルを持つ受信部を備えるとともに、前記入力カウンタが所定値に達すると前記所定値の前記画像データをＤＭＡ転送する複数のチャネルごとの送信部を備え、前記パケットサイズカウンタがパケットサイズの設定値に達すれば、前記画像データの１パケットの受信と前記ＤＭＡ転送を完了し、又は他のチャンネルの受信部で他の画像データを受信し、若しくは他のチャンネルを停止して同一チャンネルの受信を継続する入出力制御手段と、
複数の前記外部入力に対応したチャンネルを備え、前記入出力制御手段の前記送信部からと同じチャンネルで前記画像データの前記ＤＭＡ転送を記憶手段へ行うメモリ制御手段と、
前記ＤＭＡ転送を受信して画像データを記憶する前記記憶手段と、
を有することを特徴とする印刷装置。
【請求項２】
前記入力データの計数は前記外部入力接続手段からのデータ受信要求信号入力の計数で行う前記入出力制御手段とを有することを特徴とする請求項１記載の印刷装置。
【請求項３】
前記パケットサイズの設定値は、あらかじめ設定されている入出力制御手段を有することを特徴とする請求項１、又は２記載の印刷装置。
【請求項４】
前記パケットサイズの設定値は、前記データ受信要求信号入力の非アクティブ状態の時間を測定する前記チャンネルに対応したタイマカウンタを備え、前記タイマカウンタが１パケット受信後の固有の時間以上パケット受信間の時間未満の設定値を計測したときのパケットサイズカウンタの値を前記パケットサイズの設定値として設定する前記入出力制御手段を有することを特徴とする請求項１、又は２記載の印刷装置。
【請求項５】
前記パケット受信後の固有の時間以上パケット受信間の時間未満の設定値はあらかじめ設定されているタイマカウンタを備えた前記入出力制御手段を有することを特徴とする請求項４記載の印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置のデータ受信におけるDMA受信の制御に関するものである。
【背景技術】
【０００２】
従来の印刷装置においては、ＬＡＮ、セントロニクス、ＵＳＢ等から画像データが同時に入力した時、そのデータ受信は複数のＤＭＡで行われていた。ＤＭＡは、Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓの略称であり、ＤＭＡはＣＰＵの代わりにデータ転送制御をＤＭＡコントローラで行い、高速にデータ転送を行うものである。
複数の入力系統から同時に画像データが入力した場合、各ＤＭＡが画像データの一部を割り振り、順番にアクセスし均等に受信する制御を行っている。つまり、複数のＤＭＡが多数の画像データを扱う制御を行っている。ひとつの画像データパケットをメモリの空き容量等の転送状況などによるそれぞれのデータ量分ずつ複数のＤＭＡで処理する方法である。例えば、これらをバルク転送などにより行っている。
【０００３】
特許文献１は、ＵＳＢパケットデータのＤＭＡ転送において、バルクインエンドポイントの空き容量が通知されるとＤＭＡはＵＳＢパケットデータの転送量に応じて転送し、ＵＳＢバルクインエンドポイントに書き込むＤＭＡ制御装置であり、パケットサイズを転送量に応じたものにして転送する発明である。
【０００４】
また、特許文献２は、ＵＳＢインタフェースのデータ転送において、ＤＭＡの終了割り込みが先に発生した時ＤＭＡの受信サイズを大きくし、データ要求が先に発生した時受信サイズを小さくし、受信バッファの利用効率向上を図る。また、複数のデバイスに効率よく転送するため、パケット数、パケットサイズを設定する。
【特許文献１】特開２００３−２５６１５２号公報
【特許文献２】特開２００１−２１１２２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、複数の画像データが同時に来たときに均等に順番に複数のＤＭＡでデータ受信が行われていた為、ＵＳＢやＬＡＮなどのある決まったパケットサイズでデータが送られてくるものでは必ずしも効率がよいわけではなかった。ＵＳＢの最大パケットサイズは、ＵＳＢ１．１仕様では６４バイト、ＵＳＢ２．０仕様では５１２バイトとなっている。よって、複数のＤＭＡで受信していると効率よく受信できるわけでもなく、印刷が速くなるわけでもないという問題があった。
また、特許文献１、２ともデータ転送量のデータ量、パケットサイズをメモリの空き容量やフレーム内の空き時間などに応じて調整して転送する方法である。つまり、パケットサイズを柔軟に変更するものである。
【０００６】
本発明は、同時に来た複数の受信データの内の同系統のパケットを１つのチャンネルでまとめて効率よく連続で受信するとともに、パケットサイズを測定して設定するメモリ／ＩＯ制御部を有する印刷装置を提供する。
【課題を解決するための手段】
【０００７】
上記課題は本発明によれば、画像データの複数の外部入力接続手段と、パケットサイズカウンタと入力カウンタでそれぞれ入力データの計数をしながら前記画像データを受信する複数の前記外部入力に対応したチャンネルを持つ受信部を備えるとともに、前記入力カウンタが所定値に達すると前記所定値の前記画像データをＤＭＡ転送する複数のチャネルごとの送信部を備え、前記パケットサイズカウンタがパケットサイズの設定値に達すれば、前記画像データの１パケットの受信と前記ＤＭＡ転送を完了し、次又は他のチャンネルの受信部で他の画像データを受信するもしくは他のチャンネルを停止して同一チャンネルの受信を継続する入出力制御手段と、複数の前記外部入力に対応したチャンネルを備え、前記入出力制御手段の前記送信部からと同じチャンネルで前記画像データの前記ＤＭＡ転送を記憶手段へ行うメモリ制御手段と、前記ＤＭＡ転送を受信して画像データを記憶する前記記憶手段とを有する印刷装置により提供される。
【０００８】
入出力制御手段とメモリ制御手段は、メモリ／ＩＯ制御部を構成するものであり、画像データを受信して記憶手段にＤＭＡ転送する。メモリ／ＩＯ制御部内のデータ受信とＤＭＡ転送は同じチャンネル（ｃｈ）の信号で行われる。例えば１バイトでの受信や６４ビットのＤＭＡ転送を繰り返しながら、１パケット単位でデータの受信及び転送の制御を行う。
【０００９】
入力データの計数は外部入力接続手段からのデータ受信要求信号入力の計数で行う入出力制御手段とを有するとする。データ受信要求信号入力はバイト単位で送られてくるのでこれを計数する。
パケットサイズカウンタが比較するパケットサイズの設定値は、あらかじめ設定されている入出力制御手段を有する上記の印刷装置によっても提供される。
【００１０】
また、パケットサイズの設定値は、データ受信要求信号入力の非アクティブ状態の時間を測定するチャンネルに対応したタイマカウンタを備え、タイマカウンタが１パケット受信後の固有の時間以上パケット受信間の時間未満の設定値を計測したときのパケットサイズカウンタの値をパケットサイズの設定値として設定する入出力制御手段を有する上記の印刷装置でも提供される。
【００１１】
タイマカウンタが比較するパケット受信後の固有の時間以上パケット受信間の時間未満の設定値は、あらかじめタイマカウンタに設定されている入出力制御手段を有するとする。パケット受信後にデータ入力ができない固有の時間をタイマカウンタで検出して１パケットの受信完了を判断する。
【発明の効果】
【００１２】
本発明によれば、複数の接続部にデータが来ていても１パケットサイズ分のデータを１つのアクセス信号系統でまとめて１つのＤＭＡの１ｃｈで連続で受信できるようにしたことにより高速に効率よくデータ受信できる。
また、タイマカウンタによる設定値との比較から１パケットの受信終了時を判断し、このときのパケットサイズカウンタの値を１パケットのサイズとした。よって、自動でパケットサイズを測定し、設定できるようにしたので、予めパケットサイズを設定していなくてもパケット単位の効率よいデータ受信を行うことができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を図面を参照しながら説明する。
（実施形態１）
図１に本実施形態の印刷装置の構成図を示す。印刷装置は、ＩＦコントローラ１０とプリンタエンジン２２から構成されている。ＩＦコントローラ１０は、プリンタエンジン２２と接続している。プリンタエンジン２２はオペレーションパネル２３と接続している。ＩＦコントローラ１０内部には以下のものがある。ＣＰＵ１１は、メモリ／ＩＯ制御部１２と接続しており、ＩＦコントローラ１０内の制御と外部とのインタフェースの制御を行う。メモリ／ＩＯ制御部１２は、メモリ１３、フラッシュＲＯＭ１５、マスクＲＯＭ１６、ＥＥＰＲＯＭ１７、ＥＭボード（拡張メモリボード）部１８の各メモリと接続しており制御を行う。
【００１４】
また、メモリ／ＩＯ制御部１２は、パラレル接続部１４、ＵＳＢ接続部１９、ＬＡＮ接続部２０のＩ／Ｏにも接続し画像データの入出力を行う。パラレル接続部１４はＰＣ２４と接続しセントロニクスでパラレルに入出力を行う。ＵＳＢ接続部１９はＰＣ２５と接続しＵＳＢで入出力を行う。ＬＡＮ接続部２０はＰＣ２６と接続し入出力を行う。パラレル接続部１４、ＵＳＢ接続部１９、ＬＡＮ接続部２０は、それぞれ外部入力接続手段を構成する。
【００１５】
さらに、メモリ／ＩＯ制御部１２はビデオ制御部２１と接続しメモリ１３からの画像データの送信の制御を行う。ビデオ制御部２１は、メモリ／ＩＯ制御部１２から画像データを受信しこれをプリンタエンジン２２に送信する制御を行う。
よって、ＩＦコントローラ１０は、例えば外部のＰＣ２４、２５、２６よりＵＳＢならＵＳＢ接続部１９、ＬＡＮならＬＡＮ接続部２０、セントロニクスならパラレル接続部１４を介して画像データを入力される。ＩＦコントローラ１０のＣＰＵ１１は入力された画像データを印刷データとしてメモリ／ＩＯ制御部１２でメモリ１３上に展開する。ＣＰＵ１１は画像データを１ページ分を生成したところでメモリ／ＩＯ制御部１２でビデオ制御部２１に送信しプリンタエンジン２２に出力して印刷する。
【００１６】
次に、図２に詳細構成図を示す。詳細構成図は、ＣＰＵ１１とメモリ／ＩＯ制御部１２、メモリ１３、ＵＳＢ接続部１９、ＬＡＮ接続部２０、パラレル接続部１４の構成を詳しく示したものである。メモリ／ＩＯ制御部１２は内部をＩＯ制御部２７とメモリ制御部２８に分けて示す。
【００１７】
ＩＯ制御部２７から１つの６４ビットのＤＭＡデータバスがメモリ制御部２８に接続されている。６４ビットデータバスは、３つのｃｈ（チャンネル）のＤＭＡアクセスの信号で共有して使用する。ＩＯ制御部２７の内部は、不図示のバイトデータ貯蔵用のバッファ等を３つのｃｈを持つとする。３つのｃｈのＤＭＡアクセスの信号は、それぞれのバッファに対応する。また、不図示の３つのｃｈのパケットサイズカウンタ、パケットサイズの設定値１、設定値２、設定値３を設定するレジスタを有する。データの８ビット入力を計数する３つのｃｈのバイトデータカウンタも備える。バイトデータカウンタは入力カウンタを構成する。
【００１８】
ＩＯ制御部２７は、ＵＳＢ接続部１９、ＬＡＮ接続部２０、パラレル接続部１４の信号、データバスの対応部分とパケットサイズカウンタとバイトデータカウンタとバッファで受信部を構成する。バイトデータカウンタとメモリ制御部２８に対応する信号、データバスの対応部分で送信部を構成する。
【００１９】
メモリ制御部２８は、３つのｃｈのアクセス信号を持つＤＭＡコントローラのはたらきをするものである。ＩＯ制御部２７のバッファとメモリ１３の間をＤＭＡコントローラの制御で高速に転送する。
ＣＰＵ１１は、メモリ／ＩＯ制御部１２内のメモリ制御部２８と６４ビットのバスで接続されている。メモリ１３は、メモリ／ＩＯ制御部１２内のメモリ制御部２８と６４ビットのバスで接続されている。
【００２０】
ＵＳＢ接続部１９、ＬＡＮ接続部２０、パラレル接続部１４からはそれぞれ８ビットのデータバスが出ており合流してメモリ／ＩＯ制御部１２内のＩＯ制御部２７と接続されている。８ビットデータバスは共有する。
ＵＳＢ接続部１９、ＬＡＮ接続部２０、パラレル接続部１４からはそれぞれデータ受信要求信号を出力し、ＩＯ制御部２７からは受け入れ可能であればアクノリッジ信号がそれぞれ返される。ＩＯ制御部２７は、ＤＲＥＱ信号を受け付けない機能も持つ。ＵＳＢ接続部１９はデータ受信要求信号が“ＤＲＥＱ１”、アクノリッジ信号が“ＤＡＣＫ１”である。ＬＡＮ接続部２０はデータ受信要求信号が“ＤＲＥＱ２”、アクノリッジ信号が“ＤＡＣＫ２”である。パラレル接続部１４はデータ要求信号が“ＤＲＥＱ３”、アクノリッジ信号が“ＤＡＣＫ３”である。
【００２１】
次にメモリ／ＩＯ制御部１２内のＩＯ制御部２７とメモリ制御部２８間の信号を示す。３つのｃｈのＤＭＡアクセスの信号は、ＩＯ制御部２７への外部からのアクセスと信号が１対１で対応している。ＤＭＡデータ受信要求信号とそのアクノリッジ信号が３組ある。これらは、データ受信要求信号とは独立している。ＤＭＡデータ受信要求信号とそのアクノリッジ信号は、“ＤＭＡＲＥＱ１”と“ＤＭＡＡＣＫ１”、“ＤＭＡＲＥＱ２”と“ＤＭＡＡＣＫ２”と“ＤＭＡＲＥＱ３”と“ＤＭＡＡＣＫ３”の３組である。
【００２２】
３つのｃｈの信号系統は１系、２系、３系で系が分かれている。１系はＵＳＢ接続部１９からの入力を扱い、ＤＲＥＱ１信号、ＤＡＣＫ１信号、ＤＭＡＲＥＱ１信号、ＤＭＡＡＣＫ１信号である。２系はＬＡＮ接続部２０からの入力を扱い、ＤＲＥＱ２信号、ＤＡＣＫ２信号、ＤＭＡＲＥＱ２信号、ＤＭＡＡＣＫ２信号である。３系はパラレル接続部１４からの入力を扱い、ＤＲＥＱ３信号、ＤＡＣＫ３信号、ＤＭＡＲＥＱ３信号、ＤＭＡＡＣＫ３信号である。
【００２３】
よって、同じ系の番号の信号で１つのパケットの受信を扱う。ＤＲＥＱ１信号で受信したものはＤＭＡＲＥＱ１信号で転送する。ＤＲＥＱ１信号で受信したものはＤＭＡＲＥＱ２信号で転送しない。３つのｃｈともデータ入力されている場合は、パケットごとにｃｈを変えて処理していくかもしくは連続して同ｃｈのパケットを処理する。
【００２４】
図２の詳細構成図の動作をＵＳＢ接続部１９を例に説明する。ＵＳＢ機能を持つＰＣ２５が接続されデータ送信を受けるとＵＳＢ接続部１９は、８ビットずつの画像データを受信するようにメモリ／ＩＯ制御部１２内のＩＯ制御部２７に対してデータ受信要求信号ＤＲＥＱ１をＬにアサートする。ＩＯ制御部２７はデータ受信が可能であればアクノリッジ信号ＤＡＣＫ１をＬにアサートして返す。ＵＳＢ接続部１９は、データバスで画像データをまず８ビットデータで８回、ＩＯ制御部２７に送信する。ＩＯ制御部２７は、８ビットデータを８回受信する。
【００２５】
ＵＳＢ接続部１９は１回の８ビットデータ送信ごとにＤＲＥＱ１信号をアサートしてデータ送信後ネゲートし、ＩＯ制御部２７もＤＲＥＱ１信号を受けてＤＡＣＫ１信号をアサートしデータ受信後にＤＲＥＱ１のネゲートを受けてＤＡＣＫ１信号をネゲートする。次にＩＯ制御部２７は、６４ビットのデータがそろったところでメモリ制御部２８に対してＤＭＡデータ受信要求信号ＤＭＡＲＥＱ１をＬにアサートして６４ビットデータを引き取るように要求する。メモリ制御部２８は、データ受信可能であればアクノリッジ信号ＤＭＡＡＣＫ１をＬにアサートしてＩＯ制御部２７に返す。ＩＯ制御部２７は６４ビットバスで６４ビットデータをＤＭＡで送信する。メモリ制御部２８は受信した６４ビットデータを引き続きＤＭＡで６４ビットバスを使ってメモリ１３に書き込む。ＩＯ制御部２７は、ＤＭＡＲＥＱ１信号をネゲートし、メモリ制御部２８もＤＭＡＡＣＫ１信号をネゲートする。このようにして、画像データはメモリ１３に保存される。これが繰り返され１パケットの画像データ受信が行われる。
【００２６】
次に、図３〜図５に外部との各接続部からメモリ／ＩＯ制御部１２内のＩＯ制御部２７でのデータの受信とそのデータのＩＯ制御部２７及びメモリ制御部２８からメモリ１３へのＤＭＡ転送のフローチャートを示す。
これはＣＰＵ１１及びメモリ／ＩＯ制御部１２の制御である。１つのパケットを１つのｃｈのＤＭＡアクセスの信号で担当して１パケット分単位で処理する。ＤＭＡのｃｈを変えるときは１パケット単位で行う。つまり、パケットの途中ではｃｈの変更は行わない。１つの外部入力接続手段から連続してパケットデータを受信するときは、他のｃｈのデータ受信要求信号を受け付けないことにより行う。
【００２７】
まず、電源が入る（Ｓ１０）。パケットサイズカウンタＣＯＵＮＴ１、ＣＯＵＮＴ２、ＣＯＵＮＴ３に初期値０をセットする。また、パケットサイズカウンタと比較するパケットサイズの設定値をｃｈごとに設定値１、設定値２、設定値３を設定する。入力されるパケットサイズはすでに分かっているとする。あるいはオペレーションパネルからオペレータが値を入力したときにその値がセットされる。さらに、データを６４ビットにそろえるため８ビットデータを８回受信することをカウントするバイトデータカウンタＣＵＮ１、ＣＵＮ２、ＣＵＮ３に初期値０をセットする（Ｓ１１）。
【００２８】
ＵＳＢ接続部１９のデータ受信要求信号ＤＲＥＱ１信号の入力を受け付けるかを判断する。メモリ／ＩＯ制御部１２内のｃｈの入力の制御のためにＤＲＥＱ信号の入力を受け付けなくすることができる。ＤＲＥＱ１信号の入力を受け付けない場合つまり、ＤＲＥＱ１信号をストップする場合はＳ１４に行く。（Ｓ１３）ＤＲＥＱ１信号を受け付ける場合つまりＤＲＥＱ１をストップしない場合は、ＤＲＥＱ１信号がＬになりアサートされ、データ入力が要求されたか判断する。ＤＲＥＱ１信号がＬでない場合はＳ１４に行く。つまり、他系の接続部の処理に行く。ＤＲＥＱ１信号がＬであればＡを通してＳ１８に行く（Ｓ１３）。
【００２９】
ＤＲＥＱ１信号がＬであれば、パケットサイズカウンタＣＯＵＮＴ１の値を１を加えて保持する。次にＤＡＣＫ１信号をＬにアサ−トしてＵＳＢ接続部１９に返す。バイトデータカウンタＣＵＮ１の値を１を加えて保持する。（Ｓ１８）次にＤＲＥＱ１信号がＨになりネゲートしたかを判断する。ＤＲＥＱ１信号がＨでない場合は、この判断を繰り返す（Ｓ１９）。ＤＲＥＱ１信号がＨになりネゲートした場合は、ＤＡＣＫ１信号をＨにしてネゲートする。そして、８ビットのデータ受信が完了する（Ｓ２０）。
【００３０】
次に、バイトデータカウンタＣＵＮ１が８かを判断する。６４ビット分データが貯まったかを判断する。バイトデータカウンタＣＵＮ１が８の場合はＳ２２に行く。バイトデータカウンタＣＵＮ１が８でない場合はＳ２５に行く（Ｓ２５）。
バイトデータカウンタＣＵＮ１が８でない場合、パケットサイズカウンタＣＯＵＮＴ１がパケットサイズの設定値１に等しいかを判断する。等しい場合は、パケットサイズの設定値１と等しいパケットサイズのパケットデータの後述するＤＭＡデータ転送が完了した場合、つまり１パケットの受信が完了した場合であり、Ｓ２６に行く。パケットサイズカウンタ１がパケットサイズの設定値１に等しくない場合は、Ｄを通してＳ１２に戻り、８ビットのデータ入力及びＤＭＡ転送を繰り返すことになる（Ｓ２５）。パケットサイズカウンタＣＯＵＮＴ１がパケットサイズの設定値１に等しい場合は、パケットサイズカウンタＣＯＵＮＴ１を０に初期化する。そしてＥを通してＳ１４に行き他系の接続部の処理に行く（Ｓ２６）。
【００３１】
Ｓ２１でバイトデータカウンタＣＵＮ１が８である場合は、ＤＭＡＲＥＱ１信号をＬにしてアサートし、メモリ制御部２８に送る（Ｓ２２）。次に、ＤＭＡＡＣＫ１信号がアサートされＬでメモリ制御部２８から返ってくるかを判断する。ＤＭＡＡＣＫ１信号が返ってこなければ、この判断を繰り返し行う。（Ｓ２３）ＤＭＡＡＣＫ１＝Ｌになると、６４ビットのデータが一括してメモリ制御部２８の制御でメモリ１３に高速にＤＭＡ転送で書き込まれる。そして、ＤＭＡＲＥＱ１信号をＨにネゲートする。また、バイトデータカウンタＣＵＮ１を０に初期化する。その後に上述したＳ２５に行く。
【００３２】
以上がメモリ／ＩＯ制御部１２のＵＳＢ接続部１９からの１パケットの受信の処理である。
Ｓ２６以降のＥから始まる処理はＤＲＥＱ２信号の系、Ｆから始まる処理はＤＲＥＱ３信号の系の処理を上記のＤＲＥＱ１信号の系の処理と同じく行う。Ｓ１４、Ｓ１５、Ｓ２７からＳ３５のＤＲＥＱ２信号の系の処理の次にＦを通してＤＲＥＱ３信号の系の処理をする。Ｓ１６、Ｓ１７、Ｓ３６からＳ４４のＤＲＥＱ３信号の系の処理の次にはＤを通してＤＲＥＱ１信号の系の処理に戻る。他の系の処理の説明は省略する。
【００３３】
同じｃｈで多数のパケットを処理する場合は、他のｃｈのＤＲＥＱ信号を受け付けないで受信ｃｈに専念して使用することができる。例えばＤＲＥＱ１信号の系のｃｈで連続してパケット受信を行う場合は、Ｓ２６からＥを通してＳ１４に進んでもＤＲＥＱ２信号を受け付けないためＳ１６に行き、Ｓ１６でもＤＲＥＱ３信号を受け付けないためＤＲＥＱ１信号の系のｃｈのＳ１２に処理は戻る。よって、連続してパケット受信を行うことができる。複数のｃｈにデータが来ている場合も同じ制御をすることができる。
（実施形態２）
次に、本発明の実施形態２について説明する。本例は、送信されてくるパケットサイズが分かっていない場合のパケットサイズ測定及び設定方法と受信方法である。
【００３４】
ＩＯ制御部２７に各系のタイマカウンタ１、２、３を設ける。不図示のタイマカウンタ１、２、３はそれぞれ比較するタイマ設定値１１、２２、３３を保持するレジスタを持つ。
図６にパケットデータを受信するときのＤＲＥＱ１信号と８ビットデータバスとタイマ設定値１１の関係を示す。同図に示すように、１パケットの受信と１パケットの受信の間には、一定の時間以上時間が空くことを利用する。
【００３５】
データ入力の空白時間つまり、ＤＲＥＱ１信号が１パケット受信終了後にネゲートされて次のパケットの受信でアサートするまでにパケット受信後に同図に示す固有の時間以上でパケット受信間の時間以下の時間がかかることを利用する。この固有の時間は、ＤＲＥＱ１信号が８ビットのデータの繰り返しの受信でＬになりその後Ｈになる動作を繰り返すが、このときのＤＲＥＱ１信号が合い間にＨになる時間よりも少なくとも長い時間であり、このＤＲＥＱ１信号の８ビットデータ受信の合い間にＨになることがなくなったことを確認できる時間以上である。例えば、８ビットデータの繰り返しの受信中の合い間にＤＲＥＱ１信号がＨになる周期の時間、つまりＨになっている時間を含んだ周期の時間の１０回分の時間以上などである。
【００３６】
この固有の時間とパケット受信間の時間は、上記の他、パケットに依存するものでなくハードウェアもしくはソフトウェア等によるものである。この固有の時間とパケット受信間の時間は、初めからわかっているものである。また、この固有の時間はパケット受信間の時間未満であり、両者がほぼ等しくなることもある。
【００３７】
よって、タイマカウンタでＤＲＥＱ１信号のネゲート時間をカウントして計測し固有の時間以上ネゲートしていることを認識することにより、１パケットの受信終了を認識する。そして、そのときのパケットサイズカウンタＣＯＵＮＴ１の値をパケットサイズとし、パケットサイズの設定値１に設定する。パケットサイズカウンタＣＯＵＮＴ１の値は、１パケット受信してカウントしたままの値であり、１パケットのサイズである。
【００３８】
タイマカウンタの設定値であるタイマ設定値１１は、上記のパケット受信後の固有の時間以上でパケット受信間の時間未満の時間を設定する。タイマ設定値１１の範囲を同図に示す。タイマカウンタがタイマ設定値１１の分をカウントしてＤＲＥＱ１信号のネゲート時間が固有の時間以上ネゲートしていることを認識することにより、１パケットの受信終了を認識する。１パケットの受信終了を認識したときにパケットサイズカウンタＣＯＵＮＴ１の値をパケットサイズとしてパケットサイズの設定値１に上書きして書き換える。これにより、パケットサイズの測定と設定が行われる。他系も同等である。
【００３９】
よって、パケットサイズがあらかじめわからなくてもパケットサイズ認識後は、パケット単位でデータ受信を効率よく行う。同じ系のｃｈに同じパケットサイズでデータが送信されてくる場合に有効である。
次に、図７〜図１０にフローチャートを示す。
【００４０】
先ず、電源をＯＮする（Ｓ５０）。パケットサイズカウンタＣＯＵＮＴ１、２、３に初期値０をセットする。バイトデータカウンタＣＵＮ１、ＣＵＮ２、ＣＵＮ３を初期値０に設定する。ＣＯＵＮＴ１、２、３と比較するパケットサイズの設定値１、２、３にそれぞれのパケットサイズ仮設定値を設定する。つまり、任意の仮パケットサイズをセットする。この設定するパケットサイズ仮設定値には、予想されるパケットサイズより相当大きい値をセットする。タイマカウンタ１、２、３のタイマ設定値１１、２２、２３にパケット書き込み後のＤＲＥＱ信号のネゲート後の固有の時間以上でパケット受信間の時間未満の時間を設定する。また、タイマカウンタ１、２、３を０にセットする（Ｓ５１）。
【００４１】
次に、ＤＲＥＱ１信号を受け付けるかを判断する。ＤＲＥＱ１信号の入力を受け付けない場合つまり、ＤＲＥＱ１信号をストップする場合はＵＳＢ接続部１９からの入力の処理はなくＳ６０に行く（Ｓ５２）。
ＤＲＥＱ１信号を受け付ける場合は、ＤＲＥＱ１信号がＬにアサートされているかを判断する（Ｓ５３）。ＤＲＥＱ１信号がＬにアサートされた場合は、Ａを通してＳ７６からＳ８４までとＳ５２、Ｓ５３で実施形態１の図３のＳ１８からＳ２６までとＳ１２、Ｓ１３と同じ処理をする。つまり、データ受信とＤＭＡによるメモリ１３へのデータ転送を行う。ただし、Ｓ８３では１パケット目の受信では、パケットサイズ仮設定値として予想されるパケットサイズより相当大きい値をパケットサイズの設定値１にセットしているので判断はＮになる。１パケット受信後にパケットサイズの測定結果が出てパケットサイズの設定値１が上書きされるのでそれから、パケットサイズカウンタＣＯＵＮＴ１とパケットサイズの設定値１が等しくなり、１パケットの受信を終了する場合が出てくる。
【００４２】
尚、Ｓ７７でＤＲＥＱ１信号がＨのときＳ７８に行き処理が続くが、パケット受信中はＳ５３までにＵＳＢ接続部１９からのＤＲＥＱ１信号がＬにアサートされているとする。よって、Ｓ５３でＤＲＥＱ１信号がＬにアサートされていなければ、もしくはネゲートされていれば、１パケットのデータの受信が終了したということである。ただし、パケット受信開始前は除く。ここから、パケットサイズ決定のルーチンとなる。
【００４３】
まず、パケットサイズの設定値１にパケットサイズカウンタＣＯＵＮＴ１からリードした値をライト済みつまり上書き済みか判断する。これは後述するＳ５８でライトするものである。後述するＳ５４からＳ５９のタイマカウンタ１によるカウントを繰り返し、ライト済みになった場合は、Ｓ６０に行く。これはパケットサイズの測定が終わりパケットサイズの設定値１に上書きされたということである。ライト済みかどうかはフラグを用いて判断してよい。（Ｓ５４）ライト済みでない場合は、ＤＲＥＱ１信号が過去にＬになったことがあるか判断する。データ入力要求があったかを判断する。現在のＤＲＥＱ１＝Ｈが電源ＯＮ以来ずっと継続されているものではないことを確認する。ＤＲＥＱ１信号がＬになったことがない場合は、Ｓ６０に行く（Ｓ５５）。
【００４４】
ＤＲＥＱ１信号が過去にＬになったことがある場合、タイマカウンタ１に１を加える。ＤＲＥＱ１信号がＨである時間つまり、パケット受信の間の時間もしくは１パケット受信後の固有の時間の計測を行う（Ｓ５６）。
次に、タイマカウンタ１の値が設定されたタイマ設定値１１より大きいか判断する。大きくなければＳ５９に行く（Ｓ５７）。タイマカウンタ１の値がタイマ設定値１１より大きければ、受信後の固有の時間が経過したので１パケットの受信が終了したと判断する。そして、パケットサイズカウンタＣＯＵＮＴ１の値をリードし、パケットサイズの設定値１に上書きする。これでパケットサイズが決定したことになり、記録される。そして、パケットサイズカウンタＣＯＵＮＴ１に０をセットする。パケットサイズカウンタＣＯＵＮＴ１は、これまでは、パケットサイズ測定用であったが以後はパケットサイズ比較用としては働く。
【００４５】
次に、ＤＲＥＱ１信号がＬか判断する（Ｓ５９）。ＤＲＥＱ１信号がＬであった場合、新たなパケットのデータ受信要求があったということであり、Ａを通してＳ７６に行き、新たにパケットデータの受信が始まる。ただし、このルートは原則的には使われない。ＤＲＥＱ１信号がＬでなかった場合は、Ｓ５４に行きタイマカウンタによる計測を繰り返す。ＤＲＥＱ１信号がＨである状態が継続しているのでタイマカウンタの計測を継続する（Ｓ５９）。
【００４６】
以上でパケットサイズの設定値が設定されて以降の処理は実施形態１と同じになる。
ＤＲＥＱ１信号の系のｃｈでデータ入力がない場合などのときは、Ｓ６０からＳ６７とＳ８５からＳ９３のＤＲＥＱ２信号系のｃｈつまりＬＡＮ接続部２０からの入力で同じ処理をする。ＤＲＥＱ２信号系のｃｈでデータ入力がない場合などのときは、Ｓ６８からＳ７５とＳ９４からＳ１０２のＤＲＥＱ３信号系のｃｈつまりパラレル接続部１４からの入力でも同じ処理をする。
【００４７】
１つのｃｈ、例えばＤＲＥＱ１信号の系のｃｈでパケットデータを連続して受信する場合は、他系のデータ受信要求であるＤＲＥＱ２信号、ＤＲＥＱ３信号を受け付けずに処理する。これらは実施形態１と同じである。
尚、タイマカウンタの代わりに、パケット単位のストローブ信号がある場合は、このストローブ信号のネゲートを持って１パケットの受信の終了を判断し、そのときのパケットサイズカウンタの値をパケットサイズとしてもよい。
【００４８】
また、タイマカウンタは共有し、タイマ設定値１１、２２、３３のレジスタはＩＯ制御部２７内に設けてもよい。
【図面の簡単な説明】
【００４９】
【図１】本発明の印刷装置のシステム構成図である。
【図２】メモリＩ／Ｏを中心に、システムの詳細構成を示す図である。
【図３】本例のパケットサイズ設定済みの場合のフローチャートである。
【図４】本例のパケットサイズ設定済みの場合のフローチャートである。
【図５】本例のパケットサイズ設定済みの場合のフローチャートである。
【図６】本例のタイマ設定値を説明する図である。
【図７】パケットサイズ自動測定及び設定の処理を示すフローチャ−トである。
【図８】パケットサイズ自動測定及び設定の処理を示すフローチャ−トである。
【図９】パケットサイズ自動測定及び設定の処理を示すフローチャ−トである。
【図１０】パケットサイズ自動測定及び設定の処理を示すフローチャ−トである。
【符号の説明】
【００５０】
１０・・・ＩＦコントローラ
１１・・・ＣＰＵ
１２・・・メモリ／ＩＯ制御部１２
１３・・・メモリ
１４・・・パラレル接続部
１５・・・ＦＬＡＳＨＲＯＭ
１６・・・ＭＡＳＫＲＯＭ
１７・・・ＥＥＰＲＯＭ
１８・・・ＥＭボード部
１９・・・ＵＳＢ接続部
２０・・・ＬＡＮ接続部
２１・・・ビデオ制御部
２２・・・プリンタエンジン
２３・・・オペレーションパネル
２４、２５、２６・・・ＰＣ
２７・・・ＩＯ制御部
２８・・・メモリ制御部
【図１】
2005153186.tif 000003
【図２】
2005153186.tif 000004
【図３】
2005153186.tif 000005
【図４】
2005153186.tif 000006
【図５】
2005153186.tif 000007
【図６】
2005153186.tif 000008
【図７】
2005153186.tif 000009
【図８】
2005153186.tif 000010
【図９】
2005153186.tif 000011
【図１０】
2005153186.tif 000012