(57)【要約】【課題】本発明は、インターフェイスデバイスで受信したデータを高速転送する際、他機能による処理に与える影響を抑え、実行コマンドの応答性を向上させることができるデータ転送制御方法、データ転送回路装置およびこれを備えた印刷装置を提供することを課題とする。【解決手段】インターフェイスデバイス１４で受信したデータを受信バッファ１２１にＤＭＡ転送するデータ転送制御方法であって、データ転送を行なう転送期間とデータ転送を禁止する転送禁止期間とを設けデータ転送間隔を制御するデータ転送間隔制御工程と、割込み要求の有無を検出する割込み要求検出工程と、転送期間においてデータ転送を行なうデータ転送工程と、転送禁止期間においてデータ処理を行うデータ処理工程と、割込み処理の実行に伴い転送禁止期間の延長を行う転送禁止期間延長工程とを備えたことを特徴とする。【選択図】  図２
2004192254.tif 000002
【特許請求の範囲】
【請求項１】
インターフェイスデバイスによって受信したデータを、ＤＭＡ転送を用いて受信バッファに転送するデータ転送制御方法であって、
前記インターフェイスデバイスから前記受信バッファへのデータ転送を行なう転送期間と、前記データ転送を禁止する転送禁止期間とを交互に設けることによってデータ転送間隔を制御するデータ転送間隔制御工程と、
前記データの受信に基づく割込み要求が発生しているか否かを検出する割込み要求検出工程と、
前記転送期間において、前記データを前記インターフェイスデバイスから前記受信バッファへ転送し、当該受信バッファ内に格納するデータ転送工程と、
前記転送禁止期間において、前記割込み要求に基づく割込み処理を含むデータ処理を実行するデータ処理工程と、
前記割込み要求を検出した場合、前記割込み処理の実行に伴い前記転送禁止期間の延長を行う転送禁止期間延長工程と、を備えたことを特徴とするデータ転送制御方法。
【請求項２】
前記データ転送間隔制御工程は、前記データの種別および／または前記受信バッファ内に格納されているデータ数に基づき、前記転送禁止期間を設定することを特徴とする請求項１に記載のデータ転送制御方法。
【請求項３】
前記データ転送間隔制御工程は、インターバルタイマによって前記転送禁止期間をタイマ制御し、
前記転送禁止期間延長工程は、前記割込み処理の開始に伴い前記インターバルタイマによるカウントを停止するタイマ停止工程と、
前記割込み処理の終了に伴い前記インターバルタイマによる前記カウントを再開し、当該カウントの完了により前記転送禁止期間を終了するタイマ再開工程と、を有することを特徴とする請求項１または２に記載のデータ転送制御方法。
【請求項４】
前記タイマ停止工程で、前記インターバルタイマによる前記カウントをリセットし、
前記タイマ再開工程で、前記データの種別および／または前記受信バッファ内に格納されているデータ数に基づき、前記転送禁止期間を設定することを特徴とする請求項３に記載のデータ転送制御方法。
【請求項５】
前記割込み処理の実行に伴い前記転送禁止期間延長工程を開始する通常延長モードと、前記転送禁止期間と同時に前記転送禁止期間延長工程を自動的に開始する自動延長モードとのいずれか一方を設定するモード設定工程を更に備え、
前記転送禁止期間延長工程は、前記モード設定工程で設定したモード情報に基づいて前記転送禁止期間の延長を開始することを特徴とする請求項３または４に記載のデータ転送制御方法。
【請求項６】
前記データには、イメージデータとコマンドデータとが含まれており、
前記データの転送は、前記データが前記コマンドデータである場合、１バイト毎に行なわれ、前記データが前記イメージデータである場合、ｎ（ｎは、ｎ≧１の整数）バイト毎に行なわれることを特徴とする請求項１ないし５のいずれか１項に記載のデータ転送制御方法。
【請求項７】
前記インターフェイスデバイスは、シリアルインターフェイスデバイスであることを特徴とする請求項１ないし６のいずれか１項に記載のデータ転送制御方法。
【請求項８】
インターフェイスデバイスによって受信したデータを、ＤＭＡ転送を用いて受信バッファに転送するデータ転送回路装置において、
前記インターフェイスデバイスから前記受信バッファへのデータ転送を行なう転送期間と、前記データ転送を禁止する転送禁止期間とを交互に設けることによってデータ転送間隔を制御するデータ転送間隔制御手段と、
前記データの受信に基づく割込み要求が発生しているか否かを検出する割込み要求検出手段と、
前記転送期間において、前記データを前記インターフェイスデバイスから前記受信バッファへ転送し、当該受信バッファ内に格納するＤＭＡコントローラと、
前記転送禁止期間において、前記割込み要求に基づく割込み処理を含むデータ処理を実行するデータ処理手段と、
前記割込み要求を検出した場合、前記割込み処理の実行に伴い前記転送禁止期間の延長を行う転送禁止期間延長手段と、を備えたことを特徴とするデータ転送回路装置。
【請求項９】
前記データ転送間隔制御手段は、前記データの種別および／または前記受信バッファ内に格納されているデータ数に基づき、前記転送禁止期間を設定することを特徴とする請求項８に記載のデータ転送回路装置。
【請求項１０】
前記データ転送間隔制御手段は、前記転送禁止期間をタイマ制御するインターバルタイマを有し、
前記転送禁止期間延長手段は、前記割込み処理の開始に伴い前記インターバルタイマによるカウントを停止するタイマ停止手段と、
前記割込み処理の終了に伴い前記インターバルタイマによる前記カウントを再開し、当該カウントの終了により前記転送禁止期間を終了するタイマ再開手段と、を有することを特徴とする請求項８または９に記載のデータ転送回路装置。
【請求項１１】
前記タイマ停止手段で、前記インターバルタイマによる前記カウントをリセットし、
前記タイマ開始手段で、前記データの種別および／または前記受信バッファ内に格納されているデータ数に基づき、前記転送禁止期間を設定することを特徴とする請求項１０に記載のデータ転送回路装置。
【請求項１２】
前記割込み処理の実行に伴い前記転送禁止期間延長手段を実行する通常延長モードと、前記転送禁止期間と同時に前記転送禁止期間延長手段を自動的に実行する自動延長モードとのいずれか一方を設定するモード設定手段を更に備え、
前記転送禁止期間延長手段は、前記モード設定手段で設定したモード情報に基づいて前記転送禁止期間の延長を開始することを特徴とする請求項１０または１１に記載のデータ転送回路装置。
【請求項１３】
前記データには、イメージデータとコマンドデータとが含まれており、
前記データの転送は、前記データが前記コマンドデータである場合、１バイト毎に行なわれ、前記データが前記イメージデータである場合、ｎ（ｎは、ｎ≧１の整数）バイト毎に行なわれることを特徴とする請求項８ないし１２のいずれか１項に記載のデータ転送回路装置。
【請求項１４】
前記インターフェイスデバイスは、シリアルインターフェイスデバイスであることを特徴とする請求項８ないし１３のいずれか１項に記載のデータ転送回路装置。
【請求項１５】
請求項８ないし１４のいずれか１項に記載のデータ転送回路装置を備えたことを特徴とする印刷装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インターフェイスデバイスによって受信したデータを、これを格納するための受信バッファに転送するデータ転送制御方法、データ転送回路装置およびこれを備えた印刷装置に関するものである。
【０００２】
【従来の技術】
従来、インターフェイスバイスによってホストコンピュータから受信したデータを、これを一時的に格納する受信バッファに転送する手段として、ＣＰＵによる転送およびＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラによる転送の２種類が知られている。ＤＭＡコントローラによるデータの転送、いわゆるＤＭＡ転送は、システムバスを利用しＣＰＵの介入なしでデータの転送を行えるため、ＣＰＵによる転送と比較してデータを高速転送することができる。このため、大容量のデータ（例えば、イメージデータ）を連続して高速転送する必要がある印刷装置等では、インターフェイスデバイスで受信したデータを受信バッファに転送する手段として、ＤＭＡ転送が用いられている（例えば、特許文献１参照。）。
【０００３】
【特許文献１】
特開平１１−１８０００６号公報（第４−６頁、第１、２図）
【０００４】
【発明が解決しようとする課題】
ところで、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インターフェイスデバイス等の高速インターフェイスデバイスによって、ＣＰＵによる解析を必要とするデータ（例えば、コマンドデータ）を連続的に複数受信し、これをＤＭＡ転送により受信バッファに連続的に転送する場合、受信バッファ内に格納されたコマンドデータをＣＰＵが解析する時間が足りず受信バッファが満杯（受信バッファフル）となり、この受信処理を一時的に停止しながらコマンドデータを解析しなければならなくなる。また、データを連続転送している間は、システムバスがＤＭＡコントローラにより専有され、他機能（例えば印刷処理等）に対する処理に遅延が生じるおそれがあり、さらに、即答を要するコマンドデータの解析においては、転送するデータが無くなるまで解析することができず、応答速度に遅延をきたす原因にもなる。
【０００５】
本願発明は、インターフェイスデバイスで受信したデータを高速転送する際、他機能により発生した処理に与える影響を抑え、受信したコマンドデータに対する応答性を向上させることができるデータ転送制御方法、データ転送回路装置およびこれを備えた印刷装置を提供することを目的としている。
【０００６】
【課題を解決するための手段】
本発明のデータ転送制御方法は、インターフェイスデバイスによって受信したデータを、ＤＭＡ転送を用いて受信バッファに転送するデータ転送制御方法であって、インターフェイスデバイスから受信バッファへのデータ転送を行なう転送期間と、データ転送を禁止する転送禁止期間とを交互に設けることによってデータ転送間隔を制御するデータ転送間隔制御工程と、データの受信に基づく割込み要求が発生しているか否かを検出する割込み要求検出工程と、転送期間において、データをインターフェイスデバイスから受信バッファへ転送し、受信バッファ内に格納するデータ転送工程と、転送禁止期間において、割込み要求に基づく割込み処理を含むデータ処理を実行するデータ処理工程と、割込み要求を検出した場合、割込み処理の実行に伴い転送禁止期間の延長を行う転送禁止期間延長工程と、を備えたことを特徴とする。
【０００７】
本発明のデータ転送回路装置は、インターフェイスデバイスによって受信したデータを、ＤＭＡ転送を用いて受信バッファに転送するデータ転送回路装置において、インターフェイスデバイスから受信バッファへのデータ転送を行なう転送期間と、データ転送を禁止する転送禁止期間とを交互に設けることによってデータ転送間隔を制御するデータ転送間隔制御手段と、データの受信に基づく割込み要求が発生しているか否かを検出する割込み要求検出手段と、転送期間において、データをインターフェイスデバイスから受信バッファへ転送し、受信バッファ内に格納するＤＭＡコントローラと、転送禁止期間において、割込み要求に基づく割込み処理を含むデータ処理を実行するデータ処理手段と、割込み要求を検出した場合、割込み処理の実行に伴い転送禁止期間の延長を行う転送禁止期間延長手段と、を備えたことを特徴とする。
【０００８】
これらの構成によれば、転送期間においてインターフェイスデバイスによって受信したデータを受信バッファにＤＭＡ転送した後、ＤＭＡ転送を禁止する転送禁止期間を設けることでＤＭＡ転送を行なうタイミングを調整し、連続的にＤＭＡ転送が行われ受信バッファ内にデータが滞留するのを回避することができる。また、即答性を要するデータ（例えば、優先順位の高いコマンドデータ等）を受信した場合、あるいはデータの受信に伴い割込み要求が発生した場合であっても、これを転送禁止期間において処理することにより即答性を向上させることができる。そして、割込み要求の検出に伴い転送禁止期間を延長することで、割込み処理を実行したことにより、それ以外の処理（受信バッファ内に格納されているデータの処理や他機能によって発生した処理等）に遅延が生じるのを回避することができる。
【０００９】
この場合、データ転送間隔制御工程は、データの種別および／または受信バッファ内に格納されているデータ数に基づき、転送禁止期間を設定することが、好ましい。
【００１０】
この場合、データ転送間隔制御手段は、データの種別および／または受信バッファ内に格納されているデータ数に基づき、転送禁止期間を設定することが、好ましい。
【００１１】
これらの構成によれば、インターフェイスデバイスで受信したデータの種別に基づいて、転送禁止期間を設定するようにし、解析を要するデータ（例えばコマンドデータ等）をＤＭＡ転送した場合は、転送禁止期間を長く設定してデータを解析するための時間を確保し、解析を必要としないデータ（例えばイメージデータ等）をＤＭＡ転送した場合は、転送禁止期間を短く設定することで転送効率を向上させることができる。
また、受信バッファ内に格納されているデータ数に基づき、転送禁止期間を設定するようにして、受信バッファ内に格納されているデータ数が少ない（データが無い）場合は、転送禁止期間を短く設定して転送効率を向上させ、受信バッファ内に格納されているデータ数が多い場合は、転送禁止期間を長く設定して受信バッファ内に格納されているデータを処理するための時間を確保するようにすることができる。
【００１２】
これらの場合、データ転送間隔制御工程は、インターバルタイマによって転送禁止期間をタイマ制御し、転送禁止期間延長工程は、割込み処理の開始に伴いインターバルタイマによるカウントを停止するタイマ停止工程と、割込み処理の終了に伴いインターバルタイマによるカウントを再開し、カウントの完了により転送禁止期間を終了するタイマ再開工程と、を有することが、好ましい。
【００１３】
これらの場合、データ転送間隔制御手段は、転送禁止期間をタイマ制御するインターバルタイマを有し、転送禁止期間延長手段は、割込み処理の開始に伴いインターバルタイマによるカウントを停止するタイマ停止手段と、割込み処理の終了に伴いインターバルタイマによるカウントを再開し、カウントの終了により転送禁止期間を終了するタイマ再開手段と、を有することが、好ましい。
【００１４】
これらの構成によれば、割込み処理を開始してから終了するまでに掛かる時間分、転送禁止期間を延長することができるので、割込み処理に掛かる時間が延長した転送禁止期間を超過するような弊害が生じるのを確実に防止することができる。また、転送禁止期間をインターバルタイマによってタイマ制御するようにしたことで、インターバルタイマの設定を変更するだけで転送禁止期間の長さ、すなわちデータ転送間隔を変更することができるため、データの解析（処理）速度または転送速度等の動作環境が異なる装置にも容易に適用することができる。
【００１５】
この場合、タイマ停止工程で、インターバルタイマによるカウントをリセットし、タイマ再開工程で、データの種別および／または受信バッファ内に格納されているデータ数に基づき、転送禁止期間を設定することが、好ましい。
【００１６】
この場合、タイマ停止手段で、インターバルタイマによるカウントをリセットし、タイマ開始手段で、データの種別および／または受信バッファ内に格納されているデータ数に基づき、転送禁止期間を設定することが、好ましい。
【００１７】
これらの構成によれば、割込み処理を実行する場合、インターバルタイマを停止すると共にそのカウントをリセット（初期化）することで、割込み処理を実行するための時間に加えて、転送禁止期間分の時間を設けることができる。また、インターバルタイマをリセットすることで、延長する転送禁止期間は、ＤＭＡ転送したデータの種別や受信バッファ内に格納されているデータ数に基づき適宜設定することができ、受信バッファ内にデータが滞留するのを防止することができる。
【００１８】
これらの場合、割込み処理の実行に伴い転送禁止期間延長工程を開始する通常延長モードと、転送禁止期間と同時に転送禁止期間延長工程を自動的に開始する自動延長モードとのいずれか一方を設定するモード設定工程を更に備え、転送禁止期間延長工程は、モード設定工程で設定したモード情報に基づいて転送禁止期間の延長を開始することが、好ましい。
【００１９】
これらの場合、割込み処理の実行に伴い転送禁止期間延長手段を実行する通常延長モードと、転送禁止期間と同時に転送禁止期間延長手段を自動的に実行する自動延長モードとのいずれか一方を設定するモード設定手段を更に備え、転送禁止期間延長手段は、モード設定手段で設定したモード情報に基づいて転送禁止期間の延長を開始することが、好ましい。
【００２０】
転送禁止期間を極端に短く設定した場合、割込み処理の実行に伴い転送禁止期間の延長を指示してから実行されるまでの間に転送禁止期間が終了し、次のＤＭＡ転送要求が検出されるおそれがある。これらの構成によれば、転送禁止期間を極端に短く設定した場合であっても、転送禁止期間の開始と同時にその延長を自動的に行う自動延長モードを設定することで確実に転送禁止期間の延長を行うことができる。また、この自動延長モードと、割込み処理の実行に伴い転送禁止期間の延長を行う通常延長モードとを選択的に設定できるので、動作環境が異なる装置に適用しても、その環境に見合ったモードを適宜選択することができる。
【００２１】
これらの場合、データには、イメージデータとコマンドデータとが含まれており、データの転送は、データがコマンドデータである場合、１バイト毎に行なわれ、データがイメージデータである場合、ｎ（ｎは、ｎ≧１の整数）バイト毎に行なわれることが、好ましい。
【００２２】
この構成によれば、コマンドデータのＤＭＡ転送を１バイト毎とすることで、解析を要するコマンドデータが受信バッファに対して大量に転送され、転送禁止期間内にコマンドデータを解析することができず受信バッファ内に滞留するのを防止することができる。それに対して、イメージデータは解析が不要でありＤＭＡ転送をｎ（ｎは、ｎ≧１の整数）バイト毎としても受信バッファ内に滞留するおそれがない。これにより、コマンドデータとイメージデータとでＤＭＡ転送の単位を区別し、転送の効率化を図ることができる。
【００２３】
これらの場合、インターフェイスデバイスは、シリアルインターフェイスデバイスであることが、好ましい。
【００２４】
この構成によれば、シリアルインターフェイスデバイス、特に高速通信可能なＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インターフェイスデバイスを採用することで、ＤＭＡ転送されたデータを処理するための転送禁止期間を有効に活用することができる。
【００２５】
本発明の印刷装置によれば、上記したデータ転送回路装置を備えたことを特徴とする印刷装置を特徴とする。
【００２６】
この構成によれば、インターフェイスデバイスで受信したデータを滞留させることなく順次処理することができるので、印刷動作等の他機能に対する処理も滞ることなく円滑に実行することができる。また、転送禁止期間の設定を変更すれば、例えば、インクジェットプリンタ、ダイレクトサーマルプリンタ、あるいはドットインパクトプリンタ等の印刷機構が異なる印刷装置で簡単に転用することができる。
【００２７】
【発明の実施の形態】
以下、添付図面を参照して、本発明の一実施形態に係るデータ転送制御方法、データ転送回路装置およびそれを備えた印刷装置について詳細を説明する。図１は、本発明の一実施形態に係る印刷装置の概略ブロック図である。印刷装置２は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インターフェイスデバイス（以下、Ｉ／Ｆデバイス１４）によりホストコンピュータ１との間で相互に接続されており、Ｉ／Ｆデバイス１４により受信したデータに基づいて記録紙上に印刷を行う印刷機構部６と、印刷機構部６による印刷を制御する装置制御部５とにより構成されている。
【００２８】
印刷機構部６は、特に図示しないが、Ｉ／Ｆデバイス１４により受信したデータを記録紙上に印刷するための印刷ヘッドを有するヘッドユニット、ヘッドユニットを主走査方向である記録紙の幅方向に往復移動させるヘッド移動機構、主走査方向と直交する副走査方向に記録紙を送る記録紙送り機構、ヘッドユニットのメンテナンスを行うためのヘッド保全機構等が設けられており、それぞれ装置制御部５による制御に基づいて動作する。
【００２９】
装置制御部５は、Ｉ／Ｆデバイス１４と、Ｉ／Ｆデバイス１４により受信したデータをＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送するＤＭＡコントローラ１１１を有するＣＰＵ１１と、ＣＰＵ１１等で実行するためのプログラムが格納されているＲＯＭ１３と、ＣＰＵ１１の作業領域であるＲＡＭ１２と、ＤＭＡ転送を行なう間隔を調整するためのデータ転送間隔制御手段であるスルーレート調整回路１５とを備えている。そして、ＣＰＵ１１、ＲＯＭ１３、ＲＡＭ１２、およびスルーレート調整回路１５は、相互にシステムバス２１を介してＰ−ＣＯＮ１６（周辺制御回路）に接続され、ＣＰＵ１１、Ｉ／Ｆデバイス１４、スルーレート調整回路１５は、信号線２２によって接続されている。
【００３０】
Ｉ／Ｆデバイス１４は、ホストコンピュータ１との間でデータをパケット方式で送受信し、受信したデータをＤＭＡ転送が行われるまで一時的に格納するＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）バッファ１４２と、ＦＩＦＯバッファ１４２内に格納されたデータのＤＭＡ転送要求が発生したことをスルーレート調整回路１５に通知する信号であるＤＭＡ転送要求信号（詳しくは後述する）を生成するＤＭＡ転送要求信号生成回路１４１とが設けられている。そして、ＦＩＦＯバッファ１４２内に一時的に格納されているデータは、ＤＭＡ転送要求信号の出力に基づき、ＤＭＡコントローラ１１１によって順次ＤＭＡ転送される。
【００３１】
ＲＡＭ１２は、Ｉ／Ｆデバイス１４によって受信したデータで、ＣＰＵ１１によって解析を必要とするコマンドデータ（実行コマンドを構成するデータ列）を一時的に格納するための受信バッファ１２１と、記録紙上に印刷するためのラスタフォーマットデータ等（以下、イメージデータ）を一時的に格納するためのイメージバッファ１２２とが設けられている。そして、受信バッファ１２１内に格納されているコマンドデータは、ＣＰＵ１１による解析が順次行われ、その結果に基づいて、印刷機構部６によりイメージバッファ１２２内に格納されているイメージデータの印刷が実行される。
【００３２】
ＲＯＭ１３は、ＣＰＵ１１等によって実行される各種制御プログラムを記憶しており、このプログラムには、主制御プログラム１３１と、以下で記載する割込み処理を実行するための割込みプログラム１３２等がある。また、ＲＯＭ１３には、フォントデータやフォーマットデータ等の印刷を行なうために必要な各種データが記憶されている。
【００３３】
ＣＰＵ１１は、受信バッファ１２１内に格納されているデータを解析して、その結果に基づいてＲＯＭ１３に格納されているプログラムを実行し、印刷装置２を制御するものであり、ＦＩＦＯバッファ１４２内に一時的に格納されているデータを受信バッファ１２１やイメージバッファ１２２に対してＤＭＡ転送するＤＭＡコントローラ１１１と、受信したデータに基づき、割込み要求が発生しているか否かを記憶するための割込みフラグレジスタ１１２とが内蔵されている。
【００３４】
ＤＭＡコントローラ１１１は、ＦＩＦＯバッファ１４２内に一時的に格納されているデータを、受信バッファ１２１やイメージバッファ１２２に対してＤＭＡ転送するものである。本実施形態のＤＭＡコントローラ１１１は、コマンドデータは１バイト、イメージデータはｎバイト（ｎは、ｎ≧１の整数）を単位データとし、ＦＩＦＯバッファ１４２内に格納されているデータに対して単位データ毎のＤＭＡ転送を行なう。
【００３５】
このように、コマンドデータのＤＭＡ転送を１バイト毎とすることで、コマンドデータが受信バッファ１２１に連続転送され、解析待ちの実行コマンドが滞留したり、また、コマンドデータの解析が頻繁に且つ連続的に行われるのを回避し、他機能により発生した処理が滞ることのないようにしている。それに対して、解析が不要なイメージデータのＤＭＡ転送をｎ（ｎは、ｎ≧１の整数）バイト毎とすることでＤＭＡ転送の効率化を図ることができる。但し、以下で詳しく説明するが、複数回のＤＭＡ転送を行なう場合であっても、連続的にＤＭＡ転送が行なわれないようにＤＭＡ転送間隔が制御されている。
【００３６】
割込みフラグレジスタ１１２は、Ｉ／Ｆデバイス１４で受信したデータに基づき、受信割込み要求が発生しているか否かを記憶するものであり、通常は受信割込み要求が発生していないことを示す割込みフラグ＝０（Ｆ１＝０）が記憶されている。受信割込み要求は、例えば、コマンドデータの受信に伴い生じるコマンド受信割込み要求、イメージデータの受信開始に伴い生じる受信開始割込み要求、イメージデータの受信終了に伴い生じる受信終了割込み要求等があり（いずれも詳しくは後述する）、これらの発生に伴い割込みフラグレジスタ１１２に割込みフラグ＝１（Ｆ１＝１）が書き込まれる。そして、ＣＰＵ１１は、ＦＩＦＯバッファ１４２から受信バッファ１２１やイメージバッファ１２２へのＤＭＡ転送が完了し、システムバス２１の専有権を取り戻すと、この割込みフラグを確認し、割込みプログラム１３２を実行することにより、受信割込み処理を行う。
【００３７】
スルーレート調整回路１５は、ＡＳＩＣ（特定用途向け集積回路）により構成され、ＦＩＦＯバッファ１４２から受信バッファ１２１やイメージバッファ１２２へのＤＭＡ転送間隔を調整するためのＤＭＡ転送制御信号（詳しくは後述する）を生成するＤＭＡ転送制御信号生成回路１５１と、ＤＭＡ転送制御信号の出力をタイマ制御するインターバルタイマ１５２と、インターバルタイマ１５２によるカウントの停止／再開を制御する停止フラグを記憶するための停止フラグレジスタ１５３と、それを自動的に実行するように制御する自動停止フラグを記憶するための自動停止フラグレジスタ１５４とが設けられている。また、スルーレート調整回路１５は、Ｉ／Ｆデバイス１４とＣＰＵ１１との間に配設され、ＤＭＡ転送要求信号の入力およびＤＭＡ転送制御信号の出力をするための信号線２２によって接続されている。そして、詳しくは後述するが、ＤＭＡ転送制御信号生成回路１５１から出力しているＤＭＡ転送制御信号によって、ＦＩＦＯバッファ１４２から受信バッファ１２１やイメージバッファ１２２へ単位データのＤＭＡ転送を行うための転送期間と、ＣＰＵ１１による処理が自由に行えるようにＤＭＡ転送を禁止する転送禁止期間とを交互に設けることでＤＭＡ転送間隔を制御している。
【００３８】
停止フラグレジスタ１５３は、ＣＰＵ１１による指示に基づき、インターバルタイマ１５２のカウントを一時的に停止するための停止フラグを記憶するレジスタであり、停止フラグレジスタ１５３に停止フラグ＝０（Ｆ２＝０）が設定されているときはインターバルタイマ１５２によるカウントをそのまま続行し、停止フラグ＝１（Ｆ２＝１）が設定されているときはインターバルタイマ１５２によるカウントを停止する。
【００３９】
自動停止フラグレジスタ１５４は、受信割込み処理の開始に伴なうＣＰＵ１１の指示でインターバルタイマ１５２のカウントを停止する通常停止モードと、ＤＭＡ転送制御信号の出力に基づいてインターバルタイマ１５２のカウントを自動的に停止する自動停止モードとを識別するための自動停止フラグを記憶するレジスタであり、通常停止モードでは、自動停止フラグ＝０（Ｆ３＝０）が、自動停止モードでは、自動停止フラグ＝１（Ｆ３＝１）が記憶されている。なお、停止したインターバルタイマ１５２のカウントは、停止フラグと同様にＣＰＵ１１による指示に基づいて再開される。
【００４０】
次に、上記したようにＦＩＦＯバッファ１４２から受信バッファ１２１やイメージバッファ１２２へのＤＭＡ転送間隔を制御するための信号およびフラグであるＤＭＡ転送要求信号、ＤＭＡ転送制御信号、停止フラグ、および自動停止フラグについての詳細を説明する。
【００４１】
図２に示すように、ＤＭＡ転送要求信号は、Ｉ／Ｆデバイス１４に設けられたＤＭＡ転送要求信号生成回路１４１からスルーレート調整回路１５に対して出力される信号であり、その出力には、ＤＭＡ転送要求が発生していない状態を示すハイレベル出力と、受信したデータをＦＩＦＯバッファ１４２内に格納しＤＭＡ転送要求が発生している状態を示すローレベル出力とがある。そして、ＤＭＡ転送要求信号は、受信したデータをＦＩＦＯバッファ１４２内に格納しＤＭＡ転送要求が発生したとき、その出力がハイレベルからローレベルにシフトし、受信バッファ１２１またはイメージバッファ１２２へ単位データのＤＭＡ転送が完了したとき、その出力は再びローレベルからハイレベルにシフトする。
【００４２】
ＤＭＡ転送制御信号は、スルーレート調整回路１５に設けられたＤＭＡ転送制御信号生成回路１５１からＣＰＵ１１に対して出力される信号であり、ＦＩＦＯバッファ１４２から受信バッファ１２１やイメージバッファ１２２に単位データのＤＭＡ転送を行うための転送期間を示すローレベル出力と、ＤＭＡ転送を禁止する転送禁止期間（およびＤＭＡ転送要求信号のダウンエッジが検出されるまでの期間）を示すハイレベル出力とがある。そして、ＤＭＡ転送制御信号は、転送禁止期間が終了し、且つＤＭＡ転送要求信号の出力がハイレベルからローレベルにシフトするダウンエッジを検出したとき、その出力がハイレベルからローレベルにシフトし、ＤＭＡ転送要求信号の出力がローレベルからハイレベルにシフトするアップエッジを検出したとき、その出力が再びローレベルからハイレベルにシフトする。
【００４３】
インターバルタイマ１５２は、転送禁止期間の終了をタイマ制御するタイマであり、ＤＭＡ転送制御信号の出力がローレベルからハイレベルにシフトすると同時に起動し、転送禁止期間の経過時間をカウントする。そして、インターバルタイマ１５２のカウント終了値は、直前にＤＭＡ転送したデータの種別に基づいて設定され、転送禁止期間は、インターバルタイマ１５２によるカウントが、カウント終了値（カウントエンド）に達したことが検出された時点で終了する。また、インターバルタイマ１５２は、直前にＤＭＡ転送したデータが解析を要するコマンドデータである場合は、カウント終了値を大きく設定することで転送禁止期間を長くし、コマンドデータを解析するための時間を確保するようにしている。これに対して、直前にＤＭＡ転送したデータが解析の必要がないイメージデータである場合は、カウント終了値を小さく設定することで転送禁止期間を短くすることができる。
【００４４】
尚、本実施形態のインターバルタイマ１５２では、カウント終了値の設定によって転送禁止期間を最大約１７０μｓまで設けることができ、また、カウント終了値は、直前にＤＭＡ転送したデータの種別（または、詳しくは後述するが、受信バッファ１２１内に格納されているデータ数）に基づき、カウント終了値（小）＝５０μｓ、カウント終了値（中）＝１００μｓ、カウント終了値（大）＝１５０μｓから選択的に設定される。
【００４５】
停止フラグは、ＤＭＡ転送制御信号をハイレベルで出力した状態を維持したままインターバルタイマ１５２によるカウントの停止／再開を指示し、インターバルタイマ１５２によるカウントエンドの検出を遅延させるためのフラグである。ＣＰＵ１１は、上記した受信割込み処理が開始したとき、停止フラグレジスタ１５３に対して、停止フラグ＝１（Ｆ２＝１）を書き込みインターバルタイマ１５２によるカウントを停止し、受信割込み処理が終了したとき、停止フラグ＝０（Ｆ２＝０）を書き込みインターバルカウンタによるカウントを再開する。即ち、受信割込み処理を実行している期間内において、インターバルタイマ１５２によるカウントを停止し、カウントエンドの検出を遅延させることで転送禁止期間を延長している。
【００４６】
また、本実施形態では、受信割込み処理を開始したとき、停止フラグ＝１（Ｆ２＝１）を書き込みインターバルタイマ１５２によるカウントを停止し、それと同時にカウントを初期化（カウント＝０）するようにしている。これにより、インターバルタイマ１５２は、受信割込み処理が終了したときに初期状態からカウントを再開することになる。尚、インターバルタイマ１５２によるカウントを再開するとき、受信バッファ１２１内に格納されているデータ数を確認し、このデータ数に基づいてカウント終了値が設定される。受信バッファ１２１内に格納されているデータ数が多いときは、カウント終了値を大きく設定することで転送禁止期間を長くし、受信バッファ１２１内に格納されているデータを処理するための時間を確保する。それに対して、受信バッファ１２１内に格納されているデータ数が少ない（無い）ときは、カウント終了値を小さく設定することで転送禁止期間を短くし、ＤＭＡ転送の効率化を図るようにしている。
【００４７】
自動停止フラグは、自動停止フラグレジスタ１５４に自動停止フラグ＝１（Ｆ３＝１）、即ち自動停止モードが設定されることで、ＤＭＡ転送制御信号のアップエッジの検出に伴い、ＣＰＵ１１による指示を待たずに自動的に停止フラグ＝１（Ｆ２＝１）が停止フラグレジスタ１５３に書き込まれ、ＤＭＡ転送制御信号のアップエッジと同時に起動するインターバルタイマ１５２のカウントを初期状態のままで停止させる。そして、受信割込み処理の終了に伴い停止フラグレジスタ１５３に対して、停止フラグ＝０（Ｆ２＝０）を書き込むことでインターバルタイマ１５２のカウントを再開する。このようにして、ＤＭＡ転送制御信号のダウンエッジの検出に伴い、インターバルタイマ１５２によるカウントを停止させた状態で転送禁止期間を開始することで、確実にカウントエンドの検出を遅延させ、転送禁止期間を延長することができる。尚、自動停止フラグによる停止モード（通常停止モードおよび自動停止モード）の設定は、特に図示しないが、装置制御部５に設けられたレジスタの設定に動的に変更することができる。
【００４８】
次に、図２の（ａ）のタイミングチャートを参照して、停止フラグ＝０（Ｆ２＝０）である場合、すなわち、受信割込みが発生しない場合について説明する。但し、（ａ）のタイミングチャートでは、初期状態（ｔ０）でＤＭＡ転送要求信号およびＤＭＡ転送制御信号はハイレベル出力され、ＦＩＦＯバッファ１４２内にＩ／Ｆデバイス１４で受信したデータが格納されていない状態であるとする。また、図２のＤＭＡ転送制御信号において、横向き矢印は転送禁止期間であり、実線矢印は、インターバルタイマ１５２によるカウントが実行されている期間を、破線矢印は、インターバルタイマ１５２によるカウントが停止している期間を示す。
【００４９】
Ｉ／Ｆデバイス１４では、受信したデータをＦＩＦＯバッファ１４２内に格納し、ＤＭＡ転送要求が発生したとき、これに伴いＤＭＡ転送要求信号生成回路１４１によって出力しているＤＭＡ転送要求信号をローレベルにシフトさせる（ｔ１）。スルーレート調整回路１５では、ＤＭＡ転送要求信号のダウンエッジ（ｔ１）を検出し、ＤＭＡ転送制御信号生成回路１５１によって出力しているＤＭＡ転送制御信号をローレベルにシフトさせ転送期間とする（ｔ２）。ＣＰＵ１１では、ＤＭＡ転送制御信号のダウンエッジ（ｔ２）を検出し、システムバス２１の専有権をＤＭＡコントローラ１１１に対して解放すると共にＦＩＦＯバッファ１４２内に格納されている単位データのＤＭＡ転送を指示する。これにより、ＤＭＡコントローラ１１１による制御に基づいてＦＩＦＯバッファ１４２内に格納されているデータの先頭から単位データ分が受信バッファ１２１内にＤＭＡ転送される。そして、単位データのＤＭＡ転送が完了するとシステムバス２１の専有権がＣＰＵ１１に返却される。尚、ＤＭＡ転送は、転送期間に比してＤＭＡ転送制御信号におけるダウンエッジ直後の極めて短い時間で行われている。
【００５０】
単位データのＤＭＡ転送が完了すると、ＤＭＡ転送要求信号の出力は、ハイレベルにシフトし（ｔ３）、スルーレート調整回路１５では、ＤＭＡ転送要求信号のアップエッジ（ｔ３）の検出に伴い、ＤＭＡ転送制御信号の出力をハイレベルにシフトさせて転送禁止期間とし（ｔ４）、これと同時にＤＭＡ転送されたデータの種別に基づいてカウント終了値が設定され、インターバルタイマ１５２が起動する。これにより、ＣＰＵ１１は、次のＤＭＡ転送制御信号のダウンエッジを検出するまで返却されたシステムバス２１の専有権を保持し、受信バッファ１２１内に格納されているコマンドデータの解析や他機能によって生じた処理を実行することができる。
【００５１】
また、インターバルタイマ１５２のカウントエンドが検出される以前にＤＭＡ転送要求信号のダウンエッジ（ｔ５）が検出された場合、ＤＭＡ転送要求が発生しＤＭＡ転送要求信号がローレベル出力されていてもＤＭＡ転送が行われることはなく、カウントエンドが検出されＤＭＡ転送制御信号の出力がローレベルにシフトするのを待機する。そして、カウントエンドの検出に伴いＤＭＡ転送制御信号の出力がローレベルにシフトしたとき（ｔ６）、ＣＰＵ１１は、このＤＭＡ転送制御信号のダウンエッジ（ｔ６）を検出し、ＤＭＡコントローラ１１１に対してＤＭＡ転送を指示する。そして、単位データのＤＭＡ転送が完了すると、ＤＭＡ転送要求信号の出力はハイレベルにシフトされ（ｔ７）、このアップエッジの検出によりＤＭＡ転送制御信号の出力もハイレベルにシフトし（ｔ８）、転送禁止期間となる。
【００５２】
これに対して、インターバルタイマ１５２のカウントエンド（ｔ９）が検出されてもＤＭＡ転送要求信号のダウンエッジが検出されていない場合は、ＤＭＡ転送制御信号はハイレベル出力が維持される。そして、Ｉ／Ｆデバイス１４で次のデータを受信しＤＭＡ転送要求信号によるダウンエッジ（ｔ１０）が検出されたときに、インターバルタイマ１５２によるカウントエンド（ｔ９）が検出され転送禁止期間が終了しているため、ＤＭＡ転送制御信号の出力がローレベルにシフトし転送期間となり（ｔ１１）、単位データのＤＭＡ転送が行われる。このようにして、インターバルタイマ１５２によるカウントエンドが検出されても、次のＤＭＡ転送要求が生じるまでは、受信バッファ１２１内に格納されたコマンドデータの解析、および他機能によって発生した処理等を自由に行なうことができる。
【００５３】
このようにして、スルーレート調整回路１５によって転送期間と転送禁止期間とを交互に設けてＤＭＡ転送間隔を調整することにより、Ｉ／Ｆデバイス１４で連続的にデータを受信しても、単位データのＤＭＡ転送を行う毎に転送禁止期間が設けられるので、ＤＭＡ転送が連続的に行われることがない。そして、受信バッファ１２１内に単位データ毎にＤＭＡ転送されたデータは、転送禁止期間を利用してＣＰＵ１１により解析することができるので、受信バッファ１２１内にＤＭＡ転送されたデータが滞留するのを防止することができる。
【００５４】
次に、同図（ｂ）を参照して、コマンドデータの受信によって受信割込み要求が発生した場合でのタイミングチャートについて説明する。この場合、転送禁止期間は、少なくとも受信割込み処理が開始されてから終了するまでに要する期間が延長される。尚、（ｂ）のタイミングチャートに示す停止フラグは、ローレベルで記載している期間は停止フラグレジスタ１５３に停止フラグ＝０（Ｆ２＝０）が記憶されていることを示し、ハイレベルで記載している期間は停止フラグ＝１（Ｆ２＝１）が記憶されていることを示す。また、自動停止フラグは、自動停止フラグ＝０（Ｆ３＝０）の通常停止モードに設定されているものとする。
【００５５】
上記したように、コマンドデータをＩ／Ｆデバイス１４で受信し、それをＦＩＦＯバッファ１４２内に格納したときにＤＭＡ転送要求が発生し、これに伴い割込みフラグレジスタ１１２に割込みフラグ＝１（Ｆ１＝１）が書き込まれる。これに基づき、転送禁止期間において割込み要求の発生が検出されると、ＣＰＵ１１の指示によって停止フラグレジスタ１５３に停止フラグ＝１（Ｆ２＝１）が書き込まれると共に、インターバルタイマ１５２によるカウントが初期化されて停止し、受信割込み処理が実行される（ｔ２１）。そして、受信割込み処理が終了しＣＰＵ１１の指示によって停止フラグレジスタ１５３に停止フラグ＝０（Ｆ２＝１）が書き込まれたとき、初期化されたインターバルタイマ１５２にカウント終了値が設定されカウントが再開する（ｔ２３）。尚、上記したように、受信割込み処理が行なわれている間、即ちインターバルタイマ１５２によるカウントが停止している間（ｔ２１からｔ２３）は、ＤＭＡ転送制御信号のハイレベル出力が維持されているため、ＤＭＡ転送が発生することは無い。
【００５６】
また、停止フラグ＝１を書き込んだことで、インターバルタイマ１５２のカウントが停止すると、Ｉ／Ｆデバイス１４でデータを受信しＤＭＡ転送要求信号のダウンエッジ（ｔ２２）が検出されても、インターバルタイマ１５２のカウントエンドが検出されていないため、ＤＭＡ転送は行われず、ＤＭＡ転送要求信号は、ローレベル出力の状態で維持される。そして、受信割込み処理の終了に伴い開始されたインターバルタイマ１５２のカウントによるカウントエンドが検出されると、ＤＭＡ転送制御信号の出力がハイレベルからローレベルにシフトし、単位データのＤＭＡ転送が行われる（ｔ２４）。単位データのＤＭＡ転送の完了に伴いＤＭＡ転送要求信号の出力がローレベルからハイレベルにシフトすると、このアップエッジ（ｔ２５）の検出により、ＤＭＡ転送制御信号の出力がローレベルからハイレベルにシフトし転送禁止期間となる（ｔ２６）。
【００５７】
このようにして、転送禁止期間は、受信割込み要求に基づき、少なくとも受信割込み処理を実行するための期間分が確実に延長され、これにより、受信割込み処理の発生に伴いそれ以外の処理（受信バッファ１２１内に格納されているデータの処理や他機能によって発生した処理等）が滞るのを回避することができる。
【００５８】
次に、同図（ｃ）を参照して、自動停止モードが設定されている場合に、コマンドデータの受信によって受信割込みが発生した場合のタイミングチャートについて説明する。尚、（ｃ）のタイミングチャートに示す停止フラグは、（ｂ）と同様に、ローレベルで記載している期間は停止フラグレジスタ１５３に停止フラグ＝０（Ｆ２＝０）が記憶されていることを示し、ハイレベルで記載している期間は停止フラグ＝１（Ｆ２＝１）が記憶されていることを示す。
【００５９】
自動停止フラグレジスタ１５４に自動停止フラグ＝１（Ｆ３＝１）が設定されている場合、ＤＭＡ転送要求の発生によりＤＭＡ転送要求信号のダウンエッジ（ｔ３１）が検出され、ＤＭＡ転送制御信号の出力がハイレベルからローレベルにシフトすると同時に、停止フラグレジスタ１５３に停止フラグ＝１（Ｆ２＝１）が書き込まれる（ｔ３２）。これにより、ＤＭＡ転送要求信号のアップエッジ（ｔ３３）が検出され、ＤＭＡ転送制御信号をローレベルからハイレベルにシフトさせ転送禁止期間としても（ｔ３４）、インターバルタイマ１５２によるカウントを初期状態で停止したままの状態とすることができる。そして、受信割込み処理が終了しＣＰＵ１１の指示によって停止フラグレジスタ１５３に停止フラグ＝０（Ｆ２＝１）が書き込まれたとき、初期化されたインターバルタイマ１５２によってカウントが再開される（ｔ３５）。
【００６０】
自動停止フラグは、転送禁止期間を極端に短く設定した場合に、ＣＰＵ１１によって自動停止フラグの書き込みを指示し、自動停止フラグレジスタ１５４に書き込みが行なわれる以前にカウントエンドが検出されるのを防止するために設けたフラグである。この自動停止フラグを設けたことにより、転送禁止期間が開始されてもインターバルタイマ１５２によるカウントを初期状態で停止したままの状態にすることができ、転送禁止期間を極端に短く設定した場合であっても受信割込み処理を行なうための時間を確保することができる。
【００６１】
次に、図３、４および５を参照し、受信割込み処理について詳細を説明する。受信割込み要求には、コマンドデータの受信に伴い生じるコマンド受信割込み要求、イメージデータの受信開始に伴い生じる受信開始割込み要求、およびイメージデータの受信終了に伴い生じる受信終了割込み要求等がある。割り込みフラグは、Ｉ／Ｆデバイス１４で受信したデータの種別に基づき、受信割込み処理を行なうか否かが判断され、受信したデータに対するＤＭＡ転送要求の発生に伴い、割込みフラグレジスタ１１２に割込みフラグ＝１（Ｆ１＝１）が書き込まれる。尚、受信割込み要求は、コマンドデータ（コマンド受信割込み要求）、イメージデータの先頭データ（受信開始割込み要求）、イメージデータの最終データ（受信終了割込み）等を受信したときに発生する。
【００６２】
図３を参照して、コマンドデータの受信に伴い生じるコマンド受信割込み要求について説明する。コマンドデータのＤＭＡ転送は、１バイトを単位データとし、単位データ毎に行なわれ、この単位データに対するＤＭＡ転送要求の発生に伴い、割込みフラグレジスタ１１２に割込みフラグ＝１（Ｆ１＝１）が書き込まれる。そして、ＣＰＵ１１は、単位データのＤＭＡ転送が行なわれ転送禁止期間が開始されたとき、割込みフラグレジスタ１１２を確認し、割込みフラグ＝１（Ｆ１＝１）が書き込まれていた場合に受信割込み処理を開始する（Ｓ０）。
【００６３】
ＣＰＵ１１は、受信割込み処理の開始に伴い割込みフラグを初期化（Ｆ１＝０）し（Ｓ１）、停止フラグレジスタ１５３に停止フラグ＝１（Ｆ２＝１）を書き込むことで、インターバルタイマ１５２によるカウントを停止および初期化する（Ｓ２）。そして、受信バッファ１２１内に優先順位の高いコマンドデータであるリアルタイムコマンドが格納されているか否かを確認し（Ｓ３）、このリアルタイムコマンドが格納されている場合はそれを解析する（Ｓ４）。
【００６４】
リアルタイムコマンドの解析が終了すると（または、受信バッファ１２１内にリアルタイムコマンドが格納されてない場合）、受信バッファ１２１内に格納されているデータ数を確認し（Ｓ５）、この確認結果に基づき受信割込み処理の終了に伴い再開するインターバルタイマ１５２のカウント終了値を設定する（Ｓ６またはＳ７）。このとき、受信バッファ１２１に格納されているデータ数が多いと判断した場合は、カウント終了値（大）を設定し（Ｓ６）、少ないと判断した場合は、カウント終了値（中）を設定する（Ｓ７）。そして、次に行なうＤＭＡ転送の準備のために、ＤＭＡ転送先に受信バッファ１２１のアドレスを設定すると共に、転送データ長に１回に１バイト毎のＤＭＡ転送が行われるように設定し（Ｓ８）、これの終了に伴い停止フラグレジスタ１５３に停止フラグ＝０（Ｆ２＝０）を書き込み（Ｓ９）受信割込み処理を終了する（Ｓ１０）。
【００６５】
このように、コマンド受信割込み処理において、受信バッファ１２１内に格納されているリアルタイムコマンドを解析することで、リアルタイムコマンドの応答性を向上することができる。また、受信バッファ１２１内に格納されているデータ数を確認し、その確認結果に基づいてカウント終了値を設定することで、受信バッファ１２１内に格納されているデータを処理するための転送禁止期間を確保することができ、受信バッファ１２１内にデータが滞留していても、それを解消することができる。
【００６６】
次に、図４を参照して、Ｉ／Ｆデバイス１４によってイメージデータの先頭データを受信したときに発生する受信開始割込み要求について説明する。受信開始割込み要求は、イメージデータの先頭データを受信したとき、それに対するＤＭＡ転送を一時中断し、以後に受信するイメージデータのＤＭＡ転送準備を行なうために設けられる。
【００６７】
Ｉ／Ｆデバイス１４でイメージデータの先頭データを受信した場合、これに対するＤＭＡ転送を一時中断し（Ｓ２１）、停止フラグレジスタ１５３に停止フラグ＝１（Ｆ２＝１）を書き込むことで、インターバルタイマ１５２によるカウントを停止および初期化する（Ｓ２２）。そして、受信開始割込み処理の終了に伴い再開するインターバルタイマ１５２のカウント終了値を設定する（Ｓ２３）。尚、イメージデータでは解析を行なう必要がないのでカウント終了値（小）が設定される。また、本実施形態では、カウント終了値（小）を設定するようにしたが、イメージデータのＤＭＡ転送を高速に行なうために、カウント終了値＝０、即ち転送禁止期間を設けないように設定することもできる。
【００６８】
そして、カウント終了値を設定した後に行なうＤＭＡ転送準備では、イメージデータをＦＩＦＯバッファ１４２からイメージバッファ１２２へＤＭＡ転送するように、ＤＭＡ転送先にはイメージバッファ１２２のアドレスを設定すると共に、転送データ長に１回にｎバイト毎のＤＭＡ転送が行われるように設定する（Ｓ２４）。ここで、ｎバイトはホストコンピュータ１の設定により都度変更されるものである。そして、ＤＭＡ転送準備の終了に伴い停止フラグレジスタ１５３に停止フラグ＝０（Ｆ２＝０）を書き込み受信開始割込み処理を終了する（Ｓ２５）。これにより、受信開始割込み処理を終了後に受信したイメージデータは、１回のＤＭＡ転送でｎバイト毎にイメージバッファ１２２へ転送される。
【００６９】
このようにして、受信開始割込み処理により、ＤＭＡ転送準備を行なうことで、容量の大きいイメージデータを単位データ毎にＤＭＡ転送する場合、コマンドデータのＤＭＡ転送に比して転送禁止期間を短く設定し（または、転送禁止期間を設定しない）、ＤＭＡ転送を高速に行なうことができる。
【００７０】
また、図５に参照される受信終了割込み処理は、イメージデータの受信が全て終了した後、イメージデータの受信処理をコマンドデータの受信処理に戻すための処理であり、受信したイメージデータに対する最後の単位データをＤＭＡ転送した後、転送禁止期間において実行される。また、この単位データのＤＭＡ転送要求が発生したときに割込みフラグレジスタ１１２に割込みフラグ＝１（Ｆ１＝１）が書き込まれる。
【００７１】
最後の単位データのＤＭＡ転送が完了し、転送禁止期間が開始されると、割込みフラグレジスタ１１２に割込みフラグ＝１（Ｆ１＝１）が書き込まれていることを確認して受信終了割込み処理を開始する（Ｓ３０）。受信終了割込み処理の開始に伴うＣＰＵ１１の指示により、割込みフラグを初期化（Ｆ１＝０）し（Ｓ３１）、停止フラグレジスタ１５３に停止フラグ＝１（Ｆ２＝１）を書き込むことで、インターバルタイマ１５２によるカウントを停止および初期化させる（Ｓ３２）。そして、受信バッファ１２１内に格納されているデータ数を確認し（Ｓ３３）、データ数が多い場合は、受信終了割込み処理の終了に伴い再開するインターバルタイマ１５２のカウントをカウント終了値（大）に設定し（Ｓ３４）、データ数が少ない（または無い）場合は、カウント終了値（中）に設定する（Ｓ３５）。ＤＭＡ転送準備では、コマンドデータの受信処理に戻すために、ＤＭＡ転送先アドレスに受信バッファ１２１のアドレスを設定すると共に、転送データ長に１回に１バイト毎のＤＭＡ転送が行われるように設定し（Ｓ３６）、これらの設定の終了に伴い停止フラグレジスタ１５３に停止フラグ＝０（Ｆ２＝０）を書き込み（Ｓ３７）受信終了割込み処理を終了する（Ｓ３８）。
【００７２】
このようにして、受信終了割込み処理により、イメージデータの受信処理からコマンドデータの受信処理に移行することができる。また、受信バッファ１２１内に格納されているデータ数を確認し、イメージデータのＤＭＡ転送を行うことで、待ち状態となっているデータが発生している場合、それを実行することで、受信バッファ１２１内にデータが滞留していても、それを解消することができる。
【００７３】
以上の説明のように、本実施形態のデータ転送制御方法、データ転送回路装置およびこれを備えた印刷装置２では、ＤＭＡ転送を行なう間隔を処理状況に応じて適切に制御することで、受信バッファ１２１内にデータが滞留するのを防止し、コマンドデータに対する応答性を向上させることができる。また、それと同時に他機能により発生した処理を円滑に実行することができる。
【００７４】
尚、上記した例では、停止フラグの設定は、受信割込み処理の開始および終了に伴いＣＰＵ１１の指示に基づいて行なうようにしたが、特定のコマンドデータを実行するとき、特定の処理を行なうとき、または、受信バッファ１２１内に格納されているデータ数等に基づいて、停止フラグを設定するようにもできる。即ち、転送禁止期間における処理状況に応じて自由に停止フラグを設定するようにもできる。この構成によれは、例えば、受信バッファ１２１内にデータが滞留したとき、そのデータ数に基づいて任意のタイミングで転送禁止期間を延長し確実に処理することで、データの滞留を解消することができる。
【００７５】
【発明の効果】
以上のように、本発明の本実施形態のデータ転送制御方法、データ転送回路装置およびこれを備えた印刷装置２によれば、ＤＭＡ転送を行なう間隔を処理状況に応じて適切に制御することで、受信バッファ１２１内にデータが滞留するのを防止し、コマンドデータに対する応答性を向上させることができる。それと同時に他機能により発生した処理を円滑に実行することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る印刷装置２の構成を示す概略ブロック図である。
【図２】ＤＭＡ転送の実施タイミングを示すタイミングチャートであり、（ａ）は、受信割込み要求が発生しない場合を示し、（ｂ）は、通常停止モードにおいて受信割込み要求が発生している場合を示し、（ｃ）は、自動停止モードにおいて受信割込み要求が発生している場合を示す。
【図３】本発明の一実施形態に係る受信割込み処理の流れを示す概略フローチャートである。
【図４】本発明の一実施形態に係るイメージデータの受信開始割込み処理の流れを示す概略フローチャートである。
【図５】本発明の一実施形態に係るイメージデータの受信終了割込み処理の流れを示す概略フローチャートである。
【符号の説明】
１    ホストコンピュータ
２    印刷装置
５    装置制御部
６    印刷機構部
１１    ＣＰＵ
１２    ＲＡＭ
１３    ＲＯＭ
１４    ＵＳＢインターフェイスデバイス（Ｉ／Ｆデバイス）
１５    スルーレート調整回路
１６    Ｐ−ＣＯＮ
２１    システムバス
２２    信号線
１１１    ＤＭＡコントローラ
１１２    割込みフラグレジスタ
１２１    受信バッファ
１２２    イメージバッファ
１４１    ＤＭＡ転送要求信号生成回路
１４２    ＦＩＦＯバッファ
１５１    ＤＭＡ転送制御信号生成回路
１５２    インターバルタイマ
１５３    停止フラグレジスタ
１５４    自動停止フラグレジスタ
【図１】
2004192254.tif 000003
【図２】
2004192254.tif 000004
【図３】
2004192254.tif 000005
【図４】
2004192254.tif 000006
【図５】
2004192254.tif 000007