JP3327723B2 - データ受信装置とその制御方法及びそれを用いた印刷装置 - Google Patents
データ受信装置とその制御方法及びそれを用いた印刷装置Info
- Publication number
- JP3327723B2 JP3327723B2 JP06756695A JP6756695A JP3327723B2 JP 3327723 B2 JP3327723 B2 JP 3327723B2 JP 06756695 A JP06756695 A JP 06756695A JP 6756695 A JP6756695 A JP 6756695A JP 3327723 B2 JP3327723 B2 JP 3327723B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- received
- setting
- transfer
- length
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Record Information Processing For Printing (AREA)
Description
ピュータ等のホスト装置と周辺装置間などでデータ伝送
を行う場合の、データ受信装置及びその制御方法に関す
る。
と周辺装置間でデータを伝送するのに、例えば、周辺装
置がプリンタの場合は、セントロニクス社仕様のパラレ
ルI/F(以下、セントロニクスI/F)、モデムなど
の場合はRS−232C仕様のシリアルI/F(以下、
RS−232CI/F)が広く用いられているのは周知
の通りである。
17036、特開平5−150914に開示されてい
る。図9を用いてこれら従来技術での伝送データの受信
動作について説明する。図中、1はCPU、2はRO
M、3はRAM、4はセントロニクスI/FやRS−2
32CI/F等の1バイト単位でデータ伝送を行うI/
F部、5はDMAコントローラ、6は印字部である。R
AM3上には、受信バッファ、印字バッファ、ライトポ
インタ、リードポインタとして用いられる領域が設定さ
れている。ライトポインタおよびリードポインタ(それ
ぞれプットポインタ、ゲットポインタと呼ぶ場合もあ
る。)はそれぞれ、受信バッファ領域のオフセットアド
レスを指定するものである。
伝送されると、I/F4はCPU1に対して割込をかけ
る。CPU1は、当該割込処理の中でI/F4からデー
タを読出して受信バッファに格納するとともに、ライト
ポインタを1増加させる。一方、CPU1のメインのプ
ログラム部は、リードポインタが示す位置からデータを
取り込むとともに、リードポインタを1増加させる。ラ
イトポインタおよびリードポインタは、初めに0に初期
化されているので、メインおプログラム部はライトポリ
ンタとリードポインタを比較することで、受信バッファ
に未取り込のデータがあるか否かを判定する。
は、フォント展開等の処理を行なった後、印字バッファ
に転送する。印字バッファに必要なデータがそろった
ら、DMAコントローラ5によって、印字バッファ内の
データを印字部6にDMA転送して、印字を実行する。
伝送データを数バイトからなるFIFOメモリに一旦格
納し、該FIFOメモリが一杯になったらCPUに割込
を掛けて受信バッファに取り込む例が、特開平3−20
8121に開示されている。
信バッファに転送し、上記割込処理をなくしてしまう方
法も考案されている。
ァに取り込む際の違いであり、受信バッファからデータ
を取り込む部分については、いずれの場合でも上述した
ライトポインタ、リードポインタによる方法を用いてい
る。
は、受信バッファに格納したデータの取り込に関しては
受信バッファの状態をポーリングする必要があった。す
なわち、 1)リードポインタとライトポインタを読み込む。 2)両者を比較する。 3)リードポインタの値≠ライトポインタの値である場
合に、リードポインタが示す受信バッファのアドレスか
ら1バイトのデータを取り込み、次いでリードポインタ
を1増加させる。リードポインタの値=ライトポインタ
の値である場合には、取り込むべきデータがないので何
もしない。
らない。
少ない時はさほど問題とならないが、画像データなどの
ように、伝送されるデータ量が多くなった場合には、上
記の如き1バイトの伝送データ毎にポーリング動作を行
っていたのではCPUのオーバヘッドが大きくなりすぎ
て、実質的な通信速度の低下を招く原因となっていた。
この欠点は、図9に示したように単一のCPUで他の制
御の処理も行う装置においては、単に実質的な通信速度
が低下するだけでなく、当該オーバヘッドの時間分だけ
CPUパワーが浪費されてしまうので、結果として装置
全体の動作速度を低下させてしまう原因ともなってい
た。
れたものであり、ポーリング動作を行なわないでも伝送
データの取り込が可能なデータ受信装置の提供を目的と
する。
するために本発明のデータ受信装置は次のような構成か
ら成る。すなわち、データを受信する受信手段と、前記
受信手段により受信したデータを格納する格納手段と、
受信したデータの種別を判別する判別手段と、 前記判別
手段により受信データが画像データであると判別された
場合に、前記受信手段によりデータの受信が終了したこ
とを判定する判定手段と、前記判定手段による判定の結
果に基づいて、前記格納手段に格納されたデータの転送
を要求する要求手段と、該要求手段による要求に応じ
て、前記格納手段により格納されたデータを所定の記憶
領域に転送する転送手段と、 前記判別手段により受信デ
ータが画像データでないと判別された場合には、受信デ
ータの有無を判定しつつ前記所定の記憶領域に受信デー
タを転送するポーリング手段とを備える。あるいは、デ
ータを受信する受信手段と、 受信しようとするデータ長
を設定する設定手段と、 前記受信手段により受信したデ
ータを格納する格納手段と、 前記設定手段に設定された
データ長と、受信したデータの量との一致を判定する判
定手段と、 該判定手段による判定の結果に基づいて、前
記格納手段に格納されたデータの転送を要求する要求手
段と、 該要求手段による要求に応じて、前記格納手段に
より格納されたデータを、前記設定手段に設定されたデ
ータ長分まとめて所定の記憶領域に転送する転送手段
と、 前記設定手段により設定できるデータ長が、受信し
ようとするデータ長よりも短い場合には、前記設定手段
により設定できるデータ長ずつ分割して転送すべく制御
する制御手段とを備える。
段により受信したデータを格納する格納手段と、受信し
たデータの種別を判別する判別手段と、前記判別手段に
より受信データが画像データであると判別された場合
に、受信しようとするデータ長を設定する設定手段と、
前記設定手段に設定されたデータ長と、受信したデータ
の量との一致を判定する判定手段と、前記判定手段によ
る判定の結果に基づいて、前記格納手段に格納されたデ
ータの転送を要求する要求手段と、該要求手段による要
求に応じて、前記格納手段により格納されたデータを、
前記設定手段に設定されたデータ長分まとめて所定の記
憶領域に転送する転送手段と、 前記判別手段により受信
データが画像データでないと判別された場合には、受信
データの有無を検知しつつ前記所定の記憶領域に受信デ
ータを転送するポーリング手段とを備えることを特徴と
するデータ受信装置。あるいは、データを受信する受信
手段と、 前記受信手段により受信したデータを格納する
格納手段と、 受信したデータの種別を判別する判別手段
と、 前記判別手段により受信データが画像データである
と判別された場合に、受信しようとするデータ長を設定
する設定手段と、 前記設定手段に設定されたデータ長
と、受信したデータの量との一致を判定する判定手段
と、 前記判定手段による判定の結果に基づいて、前記格
納手段に格納されたデータの転送を要求する要求手段
と、 前記要求手段による要求に応じて、前記格納手段に
より格納されたデータを、前記設定手段に設定されたデ
ータ長分まとめて所定の記憶領域に転送する転送手段
と、 前記判別手段により受信データが画像データでない
と判別された場合には、受信データの有無を検知しつつ
前記所定の記憶領域に受信データを転送するポーリング
手段と、 前記設定手段により設定できるデータ長が、受
信しようとするデータ長よりも短い場合には、前記設定
手段により設定できるデータ長ずつ分割して転送すべく
制御する制御手段とを備える。
信するインターフェースと、受信したデータを格納する
受信バッファと、前記受信バッファ中の任意の位置を指
示する第1ポインタおよび第2ポインタと、前記インタ
ーフェースを介して受信したデータを、第1ポインタの
指示する位置に格納するとともに前記第1ポインタを格
納したデータ量に相当する値分増加させるデータ格納手
段と、前記受信バッファからデータが読み出された場
合、読み出されたデータ量に相当する値分、前記第2ポ
インタを増加させる第2ポインタ加算手段と、前記第1
ポインタの値と第2ポインタの値との差を求める残量算
出手段と、所望の値を設定し得るデータ長設定レジスタ
と、該データ長設定レジスタの設定値と前記残量算出手
段の出力値とを比較し、一致している場合、前記CPU
に対して割込を要求する割込み要求手段と、該割込み要
求手段による割込みを契機として、前記受信バッファよ
りデータを読み出して所定の記憶領域に転送する読み出
し手段とを備える。
から成る。すなわち、前記データ受信装置と、前記デー
タ受信装置により所定領域に転送されたデータを印刷出
力する印刷手段とを備える。
な構成から成る。すなわち、受信しようとするデータ長
を設定する設定工程と、受信したデータをメモリに格納
する格納工程と、前記設定工程に設定されたデータ長
と、受信したデータの量との一致を判定する判定工程
と、該判定工程による判定の結果に基づいて、前記メモ
リに格納されたデータの転送を要求する要求工程と、該
要求工程による要求に応じて、前記メモリに格納された
データを、前記設定工程に設定されたデータ長分、所定
の記憶領域に転送する転送工程と、 前記設定工程により
設定できるデータ長が、受信しようとするデータ長より
も短い場合には、前記設定工程により設定できるデータ
長ずつ分割して転送すべく制御する制御工程とを備え
る。あるいは、受信しようとするデータ長を設定する設
定工程と、 受信したデータをメモリに格納する格納工程
と、 受信したデータの種別を判別する判別工程と、 前記
判別工程により受信データが画像データであると判別さ
れた場合に、前記設定工程に設定されたデータ長と、受
信したデータの量との一致を判定する判定工程と、 該判
定工程による判定の結果に基づいて、前記メモリに格納
されたデータの転送を要求する要求工程と、 該要求工程
による要求に応じて、前記メモリに格納されたデータ
を、前記設定工程に設定されたデータ長分、所定の記憶
領域に転送する転送工程と、 前記判別工程により受信デ
ータが画像データでないと判別された場合には、受信デ
ータの有無を検知しつつ前記所定の記憶領域に受信デー
タを転送するポーリング工程とを備える。 あるいは、受
信しようとするデータ長を設定する設定工程と、 受信し
たデータをメモリに格納する格納工程と、 受信したデー
タの種別を判別する判別工程と、 前記判別工程により受
信データが画像データであると判別された場合に、前記
設定工程に設定されたデータ長と、受信したデータの量
との一致を判定する判定工程と、 該判定工程による判定
の結果に基づいて、前記メモリに格納されたデータの転
送を要求する要求工程と、 該要求工程による要求に応じ
て、前記メモリに格納されたデータを、前記設定工程に
設定されたデータ長分、所定の記憶領域に転送する転送
工程と、 前記判別工程により受信データが画像データで
ないと判別された場合には、受信データの有無を検知し
つつ前記所定の記憶領域に受信データを転送するポーリ
ング工程と、 前記設定工程により設定できるデータ長
が、受信しようとするデータ長よりも短い場合には、前
記設定工程により設定できるデータ長ずつ分割して転送
すべく制御する制御工程とを備える。
は本発明を実施したデータ受信装置を内蔵したプリンタ
装置のブロック図である。図中10はCPUで、装置全
体の制御を行うものであり、16ビット(2バイト)の
データバスと24ビット(16Mバイトのメモリ空間)
のアドレスバスとを有している。11はROM/RAM
で、ROM部にはプログラム、フォントデータなどが記
憶されており、RAM部は、印字バッファのほか各種作
業領域として利用する。12は印字部で、モータや印字
ヘッドおよびそれらを駆動する回路などから構成され
る。20はCPU10から任意に設定可能なタイマイン
ターバル回路で、その出力はCPU10ヘの第1の割込
要求信号としてCPUバスに接続される。当該割込要求
信号に対応する割込処理(以下タイマ割込みと呼ぶ。)
では、印字部12を制御するために必要な時間計測など
の計測処理等の他、受信バッファの状態を監視するため
の処理が行なわれる。13はセントロニクスI/Fに準
拠したパラレルI/Fである。16は受信バッファとし
て用いるRAMであり、本実施例の場合64Kバイトの
容量を有する。
とRAM16の双方に具備しているが、1ユニットのR
AM素子のみで、システムを構成する場合は、ROM/
RAM11にはRAM素子を具備せず、RAM16だけ
を有するようにしても良い。この場合は、RAM16の
一部を受信バッファとして利用し、他の部分は各種作業
領域として用いる。14はDMAコントローラで、パラ
レルIN13に伝送データが到来した時に、RAM16
に当該伝送データをDMA転送するものである。また、
ROM/RAM11の印字バッファ部に必要なだけデー
タがそろった時に、当該データを印字部12の印字ヘッ
ド(不図示)にDMA転送する際にも使用する。
等からなるライトポインタ、リードポインタである。上
記DMA転送は、DMAコントローラ14内に設定され
るベースアドレスにライトポインタ17がオフセットし
て指し示すアドレスに実施される。また、DMAコント
ローラ14が、伝送データをDMA転送する度毎にライ
トポインタ17のポインタ値が1増加するように構成さ
れている。15はデータレングス設定レジスタ26が含
まれた受信バッファ監視回路であり、ライトポインタ1
7とデータレングス設定レジスタ26の値との比較結果
に応じてCPU10に割込をかけるようになっている。
また、受信バッファ監視回路15には、受信バッファを
リードした時にリードポインタ18のポインタ値を1増
加する回路も含まれている。つまりライトポインタ17
とリードポインタ18とで、受信バッファとしていわゆ
るリングバッファが構成される。
ファのオーバフローを防止するために、ライトポインタ
17とリードポインタ18のポインタ値を比較してその
差が一定値以上になった時に、パラレルI/F13のB
USY信号をアサートして、ホスト装置からのさらなる
データの伝送を抑制する。より詳しくは、BUSY信号
をアサートしっぱなしにするのではなく、0.1秒〜1
秒毎に短時間だけネゲートするようになっている。これ
はBUSY信号を長時間アサートしたままにしておく
と、ホスト装置がタイマアウトを起してデータの伝送を
断念してしまうからである。従って上記一定値は、受信
バッファの総容量より若干小さめの値とする。本実施例
では受信バッファの総容量は64Kバイトであるから、
上記一定値は例えば62Kバイト=F800hと設定す
ればよい。受信バッファからのデータの取り込みが進行
して、両ポインタの差が所定値以下(例えば14Kバイ
ト=3800h)になったら、BUSY信号をネゲート
する。BUSY信号はこれ以外にも、CPU10からソ
フトウェアによって任意にアサート/ネゲートできる。
なお、BUSY信号に限らず、プリンタ装置からホスト
装置へ向かうすべてのステータス信号は、ハードウェア
が自動的に設定する意外に、CPU10からソフトウェ
アによって任意にアサート/ネゲートできるようになっ
ている。また装置立上げ時等に、CPU10からの指示
に基づいて、ライトポインタ17、リードポインタ18
を0に初期化できるようになっている。
ブロック図を示す。図中、31はアドレスコンパレータ
で、CPUバス上でメモリをリードする動作があった時
に、リードポインタアドレス生成回路21の出力信号と
CPUバス上のアドレス信号とを比較し、両者が一致し
た時にハイレベルを論理積ゲート22へ出力する。
受信バッファベースアドレス設定回路23とリードポイ
ンタ18の出力を繋ぎ合わせて24ビットのアドレス信
号を作り出すものである。受信バッファとして64Kバ
イトの容量を持つ場合に、リードポインタ18(および
ライトポインタ17)のビット数は16ビットであるか
ら、受信バッファベースアドレス設定回路23では、残
りの上位8ビット分を設定し、両者を合成して24ビッ
ト分の信号を生成する。追加される8ビット分のアドレ
ス情報は、前述したDMAコントローラ14内に設定さ
れるベースアドレスの上位8ビットと同一のものであ
る。ここで受信バッファベースアドレス設定回路23に
設定するアドレス情報は、回路的に固定的なものであっ
てよいのであるが、RAM16のアドレス領域をはみ出
さない範囲において、CPU10から適宜設定できるよ
うにしてもよい。この場合、DMAコントローラ14内
に設定されるベースアドレスと対応がとれていなければ
ならない。
タ18のそれぞれのポインタ値が等しいか否かを比較す
るコンパレータで、等しくない時にハイレベルを論理積
ゲート22へ出力する。論理積ゲート22の出力はリー
ドポインタ18に接続されている。リードポインタ18
では、論理積ゲート22の出力信号の立上がりエッジに
同期してポインタ値を1増加するようになっている。従
って、リードポインタ18は受信バッファに未取込みの
受信データがある場合に、受信バッファ中のリードポイ
ンタが指し示すアドレスへのリードアクセスの終了時点
でポインタ値が1増加し、受信バッファが空の場合には
ポインタ値は動かないようになっている。
減算回路であり、具体的にはライトポインタ17のポイ
ンタ値からリードポインタ18のポインタ値を減算す
る。なお、リングバッファの性質上、演算の結果ボロー
が発生したか否かは関知しない。26はデータレングス
設定レジスタで、CPU10からアクセス可能な16ビ
ットのライトレジスタである。27は、減算回路25と
データレングス設定レジスタ26の出力値を比較するコ
ンパレータで、データレングス設定レジスタ26の設定
値が、減算回路25の出力値以上(等しいか、より大き
い)であるときに、ハイレベル信号を出力する。コンパ
レータ27は、コンパレータイネーブル設定レジスタ2
8を介して、CPU10からその動作のイネーブル/デ
ィスエーブルが設定できるようになっており、ディスエ
ーブルに設定されている時は比較結果に関わらず常にロ
ーレベル信号を出力する。29は、コンパレータ27の
出力の立上がりエッジでローレベルにセットされ、割込
要求信号クリアポート30からのクリア信号でハイレベ
ルにクリアされるフリップフロップ回路である。フリッ
プフロップ回路29の出力は、CPU10に対する第2
の割込要求信号(ローアクティブ)としてCPUバスに
接続される。割込要求信号ポート30は、CPU10か
ら当該ポートにアクセス(例:ダミーデータでのライト
動作)された時に、フリップフロップ回路28にクリア
信号、すなわちクリアパルスを1回出力するようになっ
ている。
用いて全体の動作につき説明する。まず、初期化処理と
してステップS30でフリップフロップ回路29から出
力される第2の割込要求信号に対してはマスクを掛けて
おくと共にコンパレータ27をディスエーブルにする。
この状態で、パラレルI/F13にデータの伝送がある
と、DMAコントローラ14がRAM16(受信バッフ
ァ)の所定のアドレスにDMA転送する。CPU10
は、タイマ割込みでの割込処理でステップS31以下の
処理を実行する。
をポーリングし、受信バッファに取り込むべきデータが
存在した場合には、ステップS32でリードポインタ1
8のポインタ値が指し示すアドレスから、1バイトのデ
ータを読み込む。次にステップS33で当該データの種
別判定を行い、文字データであればステップS34で2
バイト文字コードの場合などに必要に応じてさらにもう
1バイト読み込み、ステップS35において当該文字デ
ータのフォント展開を行って、その結果をROM/RA
M11の印字バッファ112に書き込む。
外と判定された場合は、ステップS36で続きのデータ
を1〜数バイト読み込み、ステップS37でコマンドデ
ータであるか画像データであるかを判定する。コマンド
データであればステップS38で続く数バイトのパラメ
ータ部を読み込み、ステップS39においてそのコマン
ドを実行する。受信バッファから取り込んだデータが、
文字および文字データの間は以上の処理を繰り返す。
タストリームのフォーマットは図5に示すように、先頭
に数バイトの画像データのヘッダ、次いでデータレング
ス(2バイト)、最後にビットマップの画像データとな
っている。なお、画像データストリームのフォーマット
は、上記以外のフォーマットであっても構わない。例え
ばデータレングスの部分は、画像データ部の画素数デー
タであってもよい。この場合、画素数データからデータ
レングスを算出することは非常に容易である。
ッダである場合は、ステップS40で続く2バイトのデ
ータレングスを読み込む。そしてステップS40で、こ
のデータレングスの内容をデータレングス設定レジスタ
26に書き込み、ステップS42でコンパレータ27の
動作をイネーブルにする。続いてステップS43で上記
ポーリング動作の停止を指示する。具体的にはROM/
RAM11上のRAM部に設定したポーリング動作フラ
グ111にオフを書き込んでおく。ポーリング動作フラ
グはタイマ割込み中に参照され、そのオン/オフにした
がってポーリング動作を行うか否かが決定される。もち
ろん、タイマ割込みをポーリング動作のためだけに用い
ているのであれば、タイマインターバル回路20からの
第1の割込要求信号そのものをマスクしてしまってもよ
い。最後にステップS44で第2の割込要求に対するマ
スクを解除する。この時点で、CPU10は受信バッフ
ァヘのポーリングを止め、他の処理に専念する。
ングス分送信元から伝送されると、ライトポインタ17
の値がデータレングス設定レジスタにセットされた値と
同じになり、コンパレータ27が作用し、フリップフロ
ップ回路28を介してCPU10に対して第2の割込要
求信号が出力される。該割込要求信号を受けてCPU1
0は割込処理を開始する。その手順を図4に示す。
ポートにダミーライトを行って、第2の割込要求信号を
クリアする。次いでステップS51で、受信バッファか
らデータレングス分のデータをブロック転送やDMA転
送など任意の方法でROM/RAM11に一気に取り込
む。すなわち受信バッファ中の画像データを印字バッフ
ァ部にそっくり転送してしまうわけである。そしてステ
ップS52で、コンパレータ27をディスエーブルに
し、ステップS53で上記割込要求のマスクを再度設定
する。最後にステップS54で、図3ステップS43で
オフにセットされたポーリング動作フラグ111をオン
にしてポーリング動作の再開を指示し、割込処理を終了
する。
S44で第2の割込要求のマスクを解除した時点で既に
すべての画像データが伝送され終わっていて受信バッフ
ァに格納されている場合でも全く問題なく動作する。こ
の場合、ステップS42でコンパレータ27をイネーブ
ルにした時点で、コンパレータ27の出力がハイレベル
になり、フリップフロップ回路29からローレベル信号
を出力する。すなわちステップS44で第2の割込要求
のマスクを解除すると、直ちにステップS50からの割
込処理が実行される。そして次のタイマ割込みでは、ポ
ーリング動作フラグ111がオンになっているから、ふ
たたび受信バッファの状態をポーリングするステップS
31からの処理が繰り返されるわけである。
ば、画像データのようにデータ量が大きくかつ事前にそ
のデータ量を知り得る場合には、受信バッファへのポー
リング動作を省略することができ、その分だけCPUの
オーバヘッドタイムをなくすことが可能となる。
例えば64Kバイトであり、受信したデータの1ブロッ
クのサイズがこれを越える画像データを伝送しようとし
た場合は、画像データの伝送が終了した時に、割込みに
よりこれをCPU10に報知することができない。もち
ろん受信バッファの容量を増やし、ライトポインタ1
7、リードポインタ18、データレングス設定レジスタ
27などの関連レジスタ群のビット数を受信バッファの
容量にあわせれば、上記実施例の装置により大きな画像
データを伝送することは可能である。
すことは、当然装置のコストアップにつながるので、容
易に採用するというわけにはいかない場合もある。本実
施例は、この点に鑑みてなされたものであり、受信バッ
ファの容量を増やさずに、より大きな伝送データを取り
扱えるようにした。
16Mバイトにまで拡張されている。したがって図8に
示すとおり、画像データストリームのデータレングスフ
ィールドは3バイトに拡張されている。さて、図6およ
び図7のフローチャートを用いて本実施例での全体の動
作を説明する。
37以下に対応する部分のフローチャートである。ステ
ップS30からステップS39まではまったく同一であ
るので省略する。
された場合は、ステップS60で続く3バイトのデータ
レングスを読み込む。そしてステップS61で当該画像
データの残量を計算する。ここではまだ1バイトも受信
バッファから取り込んでいないので残量はデータレング
スの値そのものである。ステップS62で上記残量が受
信バッファがバッファフルになるまでの最大容量すなわ
ちF800h(=62K)より大きいか否かを判定す
る。該最大容量以下である場合はステップS63でデー
タレングス設定レジスタ26に残量の値を設定する。一
方、上記最大容量を越える場合はステップS63でデー
タレングス設定レジスタ26に、最大容量の値、すなわ
ちF800hを設定する。そしてステップS63コンパ
レータ27をイネーブルにし、ステップS64でポーリ
ング動作の停止の指示をして、最後にステップS65で
上記第2の割込要求のマスクを解除する。
に対する割込処理のフローチャートである。割込処理で
は、まずステップS70で第2の割込要求信号をクリア
し、ステップS71でデータレングス設定レジスタ26
に設定した分だけ受信バッファからデータを取り込む。
そしてステップS72で残量を更新する。具体的には現
在の残量から上記設定していた分を差し引いた値を、新
しい残量とする。
0か否かを判定する。0であればステップS74でコン
パレータ27をディスエーブルにし、ステップS75で
上記割込要求のマスクを再度設定する。
作の再開を指示して、割込処理を終了する。
ップS77で係る残量と上記最大容量とを比較する。上
記残量が上記最大容量以上である場合は、ステップS7
8でデータレングス設定レジスタ26に最大容量の値を
設定し、割込処理を終了する。また、上記残量が上記最
大容量より小さい場合はステップS79でデータレング
ス設定レジスタ26に残量の値を設定し、割込処理を終
了する。要するに、伝送される画像データのサイズが最
大容量以下の場合は、第1実施例の場合と同様1回の割
込処理でデータは取り込まれるが、最大容量を越える場
合は最大容量(=62Kバイト)が受信バッファに溜ま
る毎に第2の割込がかかって、全体を何回かに分割して
画像データの取り込を行うわけである。
ば具備している受信バッファの容量を越えた画像データ
を受領する場合でも、受信バッファヘのポーリング動作
を省くことが可能となる。
バッファへのポーリング動作を省略して伝送データを取
り込むことが可能となる。したがって、その分だけCP
Uのオーバヘッドタイムをなくすことができるので、結
果として実質的な通信速度の高速化が実現される。また
実施例のように単一のCPUで装置全体の制御を行う装
置にあっては、CPUを効率的に使用できるので、装置
全体の動作速度を向上させることができるという優れた
効果を有するものである。なお上記第1及び第2の実施
例では画像データを例に説明を行なったが、本発明はこ
れに限定されるわけではなくデータレングスがわかるの
であれば、文字データやコマンド情報の場合であっても
その効果に変りはない。またパラレルI/Fでなくシリ
アルI/Fであっても同様の効果が期待できる。さらに
本発明はプリンタ装置に好適であるが、必ずしもそれに
限定されるわけではなく、他の周辺装置あるいはホスト
装置に応用可能であることは言うまでもない。
システムに適用しても、1つの機器から成る装置に適用
しても良い。また、本発明はシステム或は装置にプログ
ラムを供給することによって達成される場合にも適用で
きることはいうまでもない。
タ受信装置は、ポーリング動作を行なわないでも伝送デ
ータの取り込みが可能であり、高速のデータ伝送を実現
できるという効果を奏する。
タ装置のブロック図である。
ある。
である。
である。
る図である。
である。
である。
マットを説明する図である。
Claims (20)
- 【請求項1】 データを受信する受信手段と、 前記受信手段により受信したデータを格納する格納手段
と、受信したデータの種別を判別する判別手段と、 前記判別手段により受信データが画像データであると判
別された場合に、 前記受信手段によりデータの受信が終
了したことを判定する判定手段と、 前記判定手段による判定の結果に基づいて、前記格納手
段に格納されたデータの転送を要求する要求手段と、 該要求手段による要求に応じて、前記格納手段により格
納されたデータを所定の記憶領域に転送する転送手段
と、 前記判別手段により受信データが画像データでないと判
別された場合には、受信データの有無を判定しつつ前記
所定の記憶領域に受信データを転送するポーリング手段
と を備えることを特徴とするデータ受信装置。 - 【請求項2】 前記判定手段は、前記受信手段により受
信したデータの長さを示すデータと、受信したデータの
量とを比較して受信の終了を判定することを特徴とする
請求項1に記載のデータ受信装置。 - 【請求項3】 データを受信する受信手段と、 受信しようとするデータ長を設定する設定手段と、 前記受信手段により受信したデータを格納する格納手段
と、 前記設定手段に設定されたデータ長と、受信したデータ
の量との一致を判定する判定手段と、 該判定手段による判定の結果に基づいて、前記格納手段
に格納されたデータの転送を要求する要求手段と、 該要求手段による要求に応じて、前記格納手段により格
納されたデータを、前記設定手段に設定されたデータ長
分まとめて所定の記憶領域に転送する転送手段と、 前記設定手段により設定できるデータ長が、受信しよう
とするデータ長よりも短い場合には、前記設定手段によ
り設定できるデータ長ずつ分割して転送すべく制御する
制御手段と を備えることを特徴とするデータ受信装置。 - 【請求項4】 前記転送手段はCPUにより制御され、
前記要求手段は前記CPUに対する割込み要求であるこ
とを特徴とする請求項1乃至3いずれかに記載のデータ
受信装置。 - 【請求項5】 データを受信する受信手段と、 前記受信手段により受信したデータを格納する格納手段
と、 受信したデータの種別を判別する判別手段と、前記判別手段により受信データが画像データであると判
別された場合に、受信しようとするデータ長を設定する
設定手段と、 前記設定手段に設定されたデータ長と、受信したデータ
の量との一致を判定する判定手段と、 前記判定手段による判定の結果に基づいて、前記格納手
段に格納されたデータの転送を要求する要求手段と、 前記要求手段による要求に応じて、前記格納手段により
格納されたデータを、前記設定手段に設定されたデータ
長分まとめて所定の記憶領域に転送する転送手段と、 前記判別手段により 受信データが画像データでないと判
別された場合には、受信データの有無を検知しつつ前記
所定の記憶領域に受信データを転送するポーリング手段
とを備えることを特徴とするデータ受信装置。 - 【請求項6】 データを受信する受信手段と、 前記受信手段により受信したデータを格納する格納手段
と、 受信したデータの種別を判別する判別手段と、 前記判別手段により受信データが画像データであると判
別された場合に、受信しようとするデータ長を設定する
設定手段と、 前記設定手段に設定されたデータ長と、受信したデータ
の量との一致を判定する判定手段と、 前記判定手段による判定の結果に基づいて、前記格納手
段に格納されたデータの転送を要求する要求手段と、 前記要求手段による要求に応じて、前記格納手段により
格納されたデータを、前記設定手段に設定されたデータ
長分まとめて所定の記憶領域に転送する転送手段と、 前記判別手段により受信データが画像データでないと判
別された場合には、受信データの有無を検知しつつ前記
所定の記憶領域に受信データを転送するポーリング手段
と、 前記設定手段により設定できるデータ長が、受信しよう
とするデータ長よりも短い場合には、前記設定手段によ
り設定できるデータ長ずつ分割して転送すべく制御する
制御手段とを備えることを特徴とするデータ受信装置。 - 【請求項7】 受信しようとするデータ長を設定する設
定工程と、 受信したデータをメモリに格納する格納工程と、 前記設定工程に設定されたデータ長と、受信したデータ
の量との一致を判定する判定工程と、 該判定工程による判定の結果に基づいて、前記メモリに
格納されたデータの転送を要求する要求工程と、 該要求工程による要求に応じて、前記メモリに格納され
たデータを、前記設定工程に設定されたデータ長分、所
定の記憶領域に転送する転送工程と、 前記設定工程により設定できるデータ長が、受信しよう
とするデータ長よりも短い場合には、前記設定工程によ
り設定できるデータ長ずつ分割して転送すべく制御する
制御工程と を備えることを特徴とするデータ受信方法。 - 【請求項8】 前記転送工程はCPUにより制御され、
前記要求工程は前記CPUに対する割込み要求であるこ
とを特徴とする請求項7に記載のデータ受信方法。 - 【請求項9】 受信しようとするデータ長を設定する設
定工程と、 受信したデータをメモリに格納する格納工程と、 受信したデータの種別を判別する判別工程と、前記判別工程により受信データが画像データであると判
別された場合に、前記設定工程に設定されたデータ長
と、受信したデータの量との一致を判定する判定工程
と、 該判定工程による判定の結果に基づいて、前記メモリに
格納されたデータの転送を要求する要求工程と、 該要求工程による要求に応じて、前記メモリに格納され
たデータを、前記設定工程に設定されたデータ長分、所
定の記憶領域に転送する転送工程と、 前記判別工程により 受信データが画像データでないと判
別された場合には、受信データの有無を検知しつつ前記
所定の記憶領域に受信データを転送するポーリング工程
とを備えることを特徴とするデータ受信方法。 - 【請求項10】 受信しようとするデータ長を設定する
設定工程と、 受信したデータをメモリに格納する格納工程と、 受信したデータの種別を判別する判別工程と、 前記判別工程により受信データが画像データであると判
別された場合に、前記設定工程に設定されたデータ長
と、受信したデータの量との一致を判定する判定工程
と、 該判定工程による判定の結果に基づいて、前記メモリに
格納されたデータの転送を要求する要求工程と、 該要求工程による要求に応じて、前記メモリに格納され
たデータを、前記設定工程に設定されたデータ長分、所
定の記憶領域に転送する転送工程と、 前記判別工程により受信データが画像データでないと判
別された場合には、受信データの有無を検知しつつ前記
所定の記憶領域に受信データを転送するポーリング工程
と、 前記設定工程により設定できるデータ長が、受信しよう
とするデータ長よりも短い場合には、前記設定工程によ
り設定できるデータ長ずつ分割して転送すべく制御する
制御工程とを備えることを特徴とするデータ受信方法。 - 【請求項11】 請求項1乃至6いずれかに記載のデー
タ受信装置と、 前記データ受信装置により所定領域に転送されたデータ
を印刷出力する印刷手段とを備えることを特徴とする印
刷装置。 - 【請求項12】制御用のCPUと、 データを受信するインターフェースと、 受信したデータを格納する受信バッファと、 前記受信バッファ中の任意の位置を指示する第1ポイン
タおよび第2ポインタと、 前記インターフェースを介して受信したデータを、第1
ポインタの指示する位置に格納するとともに前記第1ポ
インタを格納したデータ量に相当する値分増加させるデ
ータ格納手段と、 前記受信バッファからデータが読み出された場合、読み
出されたデータ量に相当する値分、前記第2ポインタを
増加させる第2ポインタ加算手段と、 前記第1ポインタの値と第2ポインタの値との差を求め
る残量算出手段と、 所望の値を設定し得るデータ長設定レジスタと、 該データ長設定レジスタの設定値と前記残量算出手段の
出力値とを比較し、一致している場合、前記CPUに対
して割込を要求する割込み要求手段と、 該割込み要求手段による割込みを契機として、前記受信
バッファよりデータを読み出して所定の記憶領域に転送
する読み出し手段と、 を備えることを特徴とするデータ受信装置。 - 【請求項13】 前記第1ポインタと第2ポインタとを
比較することにより前記受信バッファ中のデータの有無
を調べ、データがあれば受信バッファから伝送データを
取り込むポーリング手段と、受信データの種類に応じて
前記ポーリング手段によるデータの取り込み停止するポ
ーリング停止手段とを更に備え、ポーリングを停止した
場合には前記割込み要求手段によりデータの読み出しを
行うべく制御することを特徴とする請求項12記載のデ
ータ受信装置。 - 【請求項14】 前記データ長設定レジスタに設定する
値は、伝送データの長さ情報に基づく値であることを特
徴とする請求項12または13に記載のデータ受信装
置。 - 【請求項15】 前記データ長設定レジスタに設定する
値は、受信バッファの実質的最大容量であることを特徴
とする請求項12または13いずれかに記載のデータ受
信装置。 - 【請求項16】 DMA転送を制御するDMA転送手段
を更に備え、前記インターフェースを介して受信したデ
ータは、前記DMA転送手段により前記受信バッファに
転送されることを特徴とする請求項12乃至15いずれ
かに記載のデータ受信装置。 - 【請求項17】 前記インターフェースはパラレルI/
Fであることを特徴とする請求項12乃至16いずれか
に記載のデータ受信装置。 - 【請求項18】 前記インターフェースはシリアルI/
Fであることを特徴とする請求項12乃至16いずれか
に記載のデータ受信装置。 - 【請求項19】 当該データ受信装置はプリンタ装置に
内蔵されるものであることを特徴とする請求項12乃至
18いずれかに記載のデータ受信装置。 - 【請求項20】 当該データ受信装置はホスト装置に内
蔵されるものであることを特徴とする請求項12乃至1
8いずれかに記載のデータ受信装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP06756695A JP3327723B2 (ja) | 1995-03-27 | 1995-03-27 | データ受信装置とその制御方法及びそれを用いた印刷装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP06756695A JP3327723B2 (ja) | 1995-03-27 | 1995-03-27 | データ受信装置とその制御方法及びそれを用いた印刷装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH08263234A JPH08263234A (ja) | 1996-10-11 |
| JP3327723B2 true JP3327723B2 (ja) | 2002-09-24 |
Family
ID=13348646
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP06756695A Expired - Fee Related JP3327723B2 (ja) | 1995-03-27 | 1995-03-27 | データ受信装置とその制御方法及びそれを用いた印刷装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3327723B2 (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060268994A1 (en) * | 2005-05-27 | 2006-11-30 | Samsung Electronics Co., Ltd. | Digital broadcasting reception terminal and method for processing digital broadcasting data using the same |
| JP5598493B2 (ja) | 2012-03-30 | 2014-10-01 | 富士通株式会社 | 情報処理装置、演算装置および情報転送方法 |
| JP6201921B2 (ja) * | 2014-07-14 | 2017-09-27 | 株式会社デンソー | マイクロコンピュータ |
-
1995
- 1995-03-27 JP JP06756695A patent/JP3327723B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH08263234A (ja) | 1996-10-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0458304B1 (en) | Direct memory access transfer controller and use | |
| US4638428A (en) | Polling control method and system | |
| EP0524530B1 (en) | DMA controller | |
| KR100196333B1 (ko) | 디엠에이 명령의 프리-로딩을 이용한 디엠에이 데이터 전송방법 | |
| JP3055917B2 (ja) | データ転送制御装置 | |
| US5287471A (en) | Data transfer controller using direct memory access method | |
| US5905912A (en) | System for implementing peripheral device bus mastering in a computer using a list processor for asserting and receiving control signals external to the DMA controller | |
| JP3020699B2 (ja) | 印刷装置 | |
| JP3327723B2 (ja) | データ受信装置とその制御方法及びそれを用いた印刷装置 | |
| JP3276844B2 (ja) | 多機能周辺装置 | |
| US6952276B2 (en) | Printer detecting data precisely in response to change in data transmission speed | |
| CA2289192C (en) | Communication dma device | |
| US5430853A (en) | Update of control parameters of a direct memory access system without use of associated processor | |
| EP0824228A1 (en) | Method for setting power saving mode access time in image forming apparatus | |
| JPH05282248A (ja) | データ転送装置,プロセサエレメント及びデータ転送方法 | |
| JPH10235972A (ja) | 画像処理装置及びその制御方法 | |
| EP0410382A2 (en) | Data transfer controller using direct memory access method | |
| JP2765267B2 (ja) | ダイレクトメモリアクセス転送制御装置 | |
| JP3585052B2 (ja) | インターフェース制御装置 | |
| JPH10254721A (ja) | 印刷装置、その割込要求処理方法、及び記憶媒体 | |
| JP3268644B2 (ja) | Dma制御装置 | |
| JP3418734B2 (ja) | シリアルデータ転送方法 | |
| JPH0577092B2 (ja) | ||
| JP3787869B2 (ja) | 端末装置 | |
| JP3292447B2 (ja) | 多機能並行処理型情報処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20020617 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080712 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080712 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090712 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090712 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100712 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100712 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110712 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120712 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120712 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130712 Year of fee payment: 11 |
|
| LAPS | Cancellation because of no payment of annual fees |