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
Application number
JP06756695A
Other languages
English (en)
Other versions
JPH08263234A (ja
Inventor
範之 鈴木
雅文 綿谷
義明 冠木
壮平 田中
寛 植村
伸幸 塚田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP06756695A priority Critical patent/JP3327723B2/ja
Publication of JPH08263234A publication Critical patent/JPH08263234A/ja
Application granted granted Critical
Publication of JP3327723B2 publication Critical patent/JP3327723B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Record Information Processing For Printing (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、例えばパーソナルコン
ピュータ等のホスト装置と周辺装置間などでデータ伝送
を行う場合の、データ受信装置及びその制御方法に関す
る。
【0002】
【従来の技術】パーソナルコンピュータ等のホスト装置
と周辺装置間でデータを伝送するのに、例えば、周辺装
置がプリンタの場合は、セントロニクス社仕様のパラレ
ルI/F(以下、セントロニクスI/F)、モデムなど
の場合はRS−232C仕様のシリアルI/F(以下、
RS−232CI/F)が広く用いられているのは周知
の通りである。
【0003】プリンタの場合の構成例が特開昭58−1
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上には、受信バッファ、印字バッファ、ライトポ
インタ、リードポインタとして用いられる領域が設定さ
れている。ライトポインタおよびリードポインタ(それ
ぞれプットポインタ、ゲットポインタと呼ぶ場合もあ
る。)はそれぞれ、受信バッファ領域のオフセットアド
レスを指定するものである。
【0004】I/F4に外部のホスト装置からデータが
伝送されると、I/F4はCPU1に対して割込をかけ
る。CPU1は、当該割込処理の中でI/F4からデー
タを読出して受信バッファに格納するとともに、ライト
ポインタを1増加させる。一方、CPU1のメインのプ
ログラム部は、リードポインタが示す位置からデータを
取り込むとともに、リードポインタを1増加させる。ラ
イトポインタおよびリードポインタは、初めに0に初期
化されているので、メインおプログラム部はライトポリ
ンタとリードポインタを比較することで、受信バッファ
に未取り込のデータがあるか否かを判定する。
【0005】さて、受信バッファから取り込んだデータ
は、フォント展開等の処理を行なった後、印字バッファ
に転送する。印字バッファに必要なデータがそろった
ら、DMAコントローラ5によって、印字バッファ内の
データを印字部6にDMA転送して、印字を実行する。
【0006】上記割込処理の回数を軽減させる目的で、
伝送データを数バイトからなるFIFOメモリに一旦格
納し、該FIFOメモリが一杯になったらCPUに割込
を掛けて受信バッファに取り込む例が、特開平3−20
8121に開示されている。
【0007】さらに、伝送データがDMA転送で直接受
信バッファに転送し、上記割込処理をなくしてしまう方
法も考案されている。
【0008】それぞれの例は、伝送データを受信バッフ
ァに取り込む際の違いであり、受信バッファからデータ
を取り込む部分については、いずれの場合でも上述した
ライトポインタ、リードポインタによる方法を用いてい
る。
【0009】
【発明が解決しようとする課題】さて上記従来技術で
は、受信バッファに格納したデータの取り込に関しては
受信バッファの状態をポーリングする必要があった。す
なわち、 1)リードポインタとライトポインタを読み込む。 2)両者を比較する。 3)リードポインタの値≠ライトポインタの値である場
合に、リードポインタが示す受信バッファのアドレスか
ら1バイトのデータを取り込み、次いでリードポインタ
を1増加させる。リードポインタの値=ライトポインタ
の値である場合には、取り込むべきデータがないので何
もしない。
【0010】という処理を、定期的に実行しなければな
らない。
【0011】このことは、伝送されるデータ量が比較的
少ない時はさほど問題とならないが、画像データなどの
ように、伝送されるデータ量が多くなった場合には、上
記の如き1バイトの伝送データ毎にポーリング動作を行
っていたのではCPUのオーバヘッドが大きくなりすぎ
て、実質的な通信速度の低下を招く原因となっていた。
この欠点は、図9に示したように単一のCPUで他の制
御の処理も行う装置においては、単に実質的な通信速度
が低下するだけでなく、当該オーバヘッドの時間分だけ
CPUパワーが浪費されてしまうので、結果として装置
全体の動作速度を低下させてしまう原因ともなってい
た。
【0012】本発明は上記従来技術の欠点に鑑みてなさ
れたものであり、ポーリング動作を行なわないでも伝送
データの取り込が可能なデータ受信装置の提供を目的と
する。
【0013】
【課題を解決するための手段及び作用】上記目的を達成
するために本発明のデータ受信装置は次のような構成か
ら成る。すなわち、データを受信する受信手段と、前記
受信手段により受信したデータを格納する格納手段と、
受信したデータの種別を判別する判別手段と、 前記判別
手段により受信データが画像データであると判別された
場合に、前記受信手段によりデータの受信が終了したこ
とを判定する判定手段と、前記判定手段による判定の結
果に基づいて、前記格納手段に格納されたデータの転送
を要求する要求手段と、該要求手段による要求に応じ
て、前記格納手段により格納されたデータを所定の記憶
領域に転送する転送手段と 前記判別手段により受信デ
ータが画像データでないと判別された場合には、受信デ
ータの有無を判定しつつ前記所定の記憶領域に受信デー
タを転送するポーリング手段とを備える。あるいは、デ
ータを受信する受信手段と、 受信しようとするデータ長
を設定する設定手段と、 前記受信手段により受信したデ
ータを格納する格納手段と、 前記設定手段に設定された
データ長と、受信したデータの量との一致を判定する判
定手段と、 該判定手段による判定の結果に基づいて、前
記格納手段に格納されたデータの転送を要求する要求手
段と、 該要求手段による要求に応じて、前記格納手段に
より格納されたデータを、前記設定手段に設定されたデ
ータ長分まとめて所定の記憶領域に転送する転送手段
と、 前記設定手段により設定できるデータ長が、受信し
ようとするデータ長よりも短い場合には、前記設定手段
により設定できるデータ長ずつ分割して転送すべく制御
する制御手段とを備える。
【0014】データを受信する受信手段と、前記受信手
段により受信したデータを格納する格納手段と、受信し
たデータの種別を判別する判別手段と、前記判別手段に
より受信データが画像データであると判別された場合
に、受信しようとするデータ長を設定する設定手段と、
前記設定手段に設定されたデータ長と、受信したデータ
の量との一致を判定する判定手段と、前記判定手段によ
る判定の結果に基づいて、前記格納手段に格納されたデ
ータの転送を要求する要求手段と、要求手段による要
求に応じて、前記格納手段により格納されたデータを、
前記設定手段に設定されたデータ長分まとめて所定の記
憶領域に転送する転送手段と 前記判別手段により受信
データが画像データでないと判別された場合には、受信
データの有無を検知しつつ前記所定の記憶領域に受信デ
ータを転送するポーリング手段とを備えることを特徴と
するデータ受信装置。あるいは、データを受信する受信
手段と、 前記受信手段により受信したデータを格納する
格納手段と、 受信したデータの種別を判別する判別手段
と、 前記判別手段により受信データが画像データである
と判別された場合に、受信しようとするデータ長を設定
する設定手段と、 前記設定手段に設定されたデータ長
と、受信したデータの量との一致を判定する判定手段
と、 前記判定手段による判定の結果に基づいて、前記格
納手段に格納されたデータの転送を要求する要求手段
と、 前記要求手段による要求に応じて、前記格納手段に
より格納されたデータを、前記設定手段に設定されたデ
ータ長分まとめて所定の記憶領域に転送する転送手段
と、 前記判別手段により受信データが画像データでない
と判別された場合には、受信データの有無を検知しつつ
前記所定の記憶領域に受信データを転送するポーリング
手段と、 前記設定手段により設定できるデータ長が、受
信しようとするデータ長よりも短い場合には、前記設定
手段により設定できるデータ長ずつ分割して転送すべく
制御する制御手段とを備える。
【0015】あるいは、制御用のCPUと、データを受
信するインターフェースと、受信したデータを格納する
受信バッファと、前記受信バッファ中の任意の位置を指
示する第1ポインタおよび第2ポインタと、前記インタ
ーフェースを介して受信したデータを、第1ポインタの
指示する位置に格納するとともに前記第1ポインタを格
納したデータ量に相当する値分増加させるデータ格納手
段と、前記受信バッファからデータが読み出された場
合、読み出されたデータ量に相当する値分、前記第2ポ
インタを増加させる第2ポインタ加算手段と、前記第1
ポインタの値と第2ポインタの値との差を求める残量算
出手段と、所望の値を設定し得るデータ長設定レジスタ
と、該データ長設定レジスタの設定値と前記残量算出手
段の出力値とを比較し、一致している場合、前記CPU
に対して割込を要求する割込み要求手段と、該割込み要
求手段による割込みを契機として、前記受信バッファよ
りデータを読み出して所定の記憶領域に転送する読み出
し手段とを備える。
【0016】また、本発明の印刷装置は次のような構成
から成る。すなわち、前記データ受信装置と、前記デー
タ受信装置により所定領域に転送されたデータを印刷出
力する印刷手段とを備える。
【0017】また、本発明のデータ受信方法は次のよう
な構成から成る。すなわち、受信しようとするデータ長
を設定する設定工程と、受信したデータをメモリに格納
する格納工程と、前記設定工程に設定されたデータ長
と、受信したデータの量との一致を判定する判定工程
と、該判定工程による判定の結果に基づいて、前記メモ
リに格納されたデータの転送を要求する要求工程と、該
要求工程による要求に応じて、前記メモリに格納された
データを、前記設定工程に設定されたデータ長分、所定
の記憶領域に転送する転送工程と 前記設定工程により
設定できるデータ長が、受信しようとするデータ長より
も短い場合には、前記設定工程により設定できるデータ
長ずつ分割して転送すべく制御する制御工程とを備え
る。あるいは、受信しようとするデータ長を設定する設
定工程と、 受信したデータをメモリに格納する格納工程
と、 受信したデータの種別を判別する判別工程と、 前記
判別工程により受信データが画像データであると判別さ
れた場合に、前記設定工程に設定されたデータ長と、受
信したデータの量との一致を判定する判定工程と、 該判
定工程による判定の結果に基づいて、前記メモリに格納
されたデータの転送を要求する要求工程と、 該要求工程
による要求に応じて、前記メモリに格納されたデータ
を、前記設定工程に設定されたデータ長分、所定の記憶
領域に転送する転送工程と、 前記判別工程により受信デ
ータが画像データでないと判別された場合には、受信デ
ータの有無を検知しつつ前記所定の記憶領域に受信デー
タを転送するポーリング工程とを備える。 あるいは、受
信しようとするデータ長を設定する設定工程と、 受信し
たデータをメモリに格納する格納工程と、 受信したデー
タの種別を判別する判別工程と、 前記判別工程により受
信データが画像データであると判別された場合に、前記
設定工程に設定されたデータ長と、受信したデータの量
との一致を判定する判定工程と、 該判定工程による判定
の結果に基づいて、前記メモリに格納されたデータの転
送を要求する要求工程と、 該要求工程による要求に応じ
て、前記メモリに格納されたデータを、前記設定工程に
設定されたデータ長分、所定の記憶領域に転送する転送
工程と、 前記判別工程により受信データが画像データで
ないと判別された場合には、受信データの有無を検知し
つつ前記所定の記憶領域に受信データを転送するポーリ
ング工程と、 前記設定工程により設定できるデータ長
が、受信しようとするデータ長よりも短い場合には、前
記設定工程により設定できるデータ長ずつ分割して転送
すべく制御する制御工程とを備える。
【0018】
【第1実施例】以下に本発明の実施例を説明する。図1
は本発明を実施したデータ受信装置を内蔵したプリンタ
装置のブロック図である。図中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バイトの
容量を有する。
【0019】図1ではRAM素子をROM/RAM11
とRAM16の双方に具備しているが、1ユニットのR
AM素子のみで、システムを構成する場合は、ROM/
RAM11にはRAM素子を具備せず、RAM16だけ
を有するようにしても良い。この場合は、RAM16の
一部を受信バッファとして利用し、他の部分は各種作業
領域として用いる。14はDMAコントローラで、パラ
レルIN13に伝送データが到来した時に、RAM16
に当該伝送データをDMA転送するものである。また、
ROM/RAM11の印字バッファ部に必要なだけデー
タがそろった時に、当該データを印字部12の印字ヘッ
ド(不図示)にDMA転送する際にも使用する。
【0020】17および18は、それぞれカウンタ回路
等からなるライトポインタ、リードポインタである。上
記DMA転送は、DMAコントローラ14内に設定され
るベースアドレスにライトポインタ17がオフセットし
て指し示すアドレスに実施される。また、DMAコント
ローラ14が、伝送データをDMA転送する度毎にライ
トポインタ17のポインタ値が1増加するように構成さ
れている。15はデータレングス設定レジスタ26が含
まれた受信バッファ監視回路であり、ライトポインタ1
7とデータレングス設定レジスタ26の値との比較結果
に応じてCPU10に割込をかけるようになっている。
また、受信バッファ監視回路15には、受信バッファを
リードした時にリードポインタ18のポインタ値を1増
加する回路も含まれている。つまりライトポインタ17
とリードポインタ18とで、受信バッファとしていわゆ
るリングバッファが構成される。
【0021】19はバッファフル判定回路で、受信バッ
ファのオーバフローを防止するために、ライトポインタ
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に初期化できるようになっている。
【0022】図2に受信バッファ監視回路15の詳細な
ブロック図を示す。図中、31はアドレスコンパレータ
で、CPUバス上でメモリをリードする動作があった時
に、リードポインタアドレス生成回路21の出力信号と
CPUバス上のアドレス信号とを比較し、両者が一致し
た時にハイレベルを論理積ゲート22へ出力する。
【0023】リードポイントアドレス生成回路21は、
受信バッファベースアドレス設定回路23とリードポイ
ンタ18の出力を繋ぎ合わせて24ビットのアドレス信
号を作り出すものである。受信バッファとして64Kバ
イトの容量を持つ場合に、リードポインタ18(および
ライトポインタ17)のビット数は16ビットであるか
ら、受信バッファベースアドレス設定回路23では、残
りの上位8ビット分を設定し、両者を合成して24ビッ
ト分の信号を生成する。追加される8ビット分のアドレ
ス情報は、前述したDMAコントローラ14内に設定さ
れるベースアドレスの上位8ビットと同一のものであ
る。ここで受信バッファベースアドレス設定回路23に
設定するアドレス情報は、回路的に固定的なものであっ
てよいのであるが、RAM16のアドレス領域をはみ出
さない範囲において、CPU10から適宜設定できるよ
うにしてもよい。この場合、DMAコントローラ14内
に設定されるベースアドレスと対応がとれていなければ
ならない。
【0024】24はライトポインタ17とリードポイン
タ18のそれぞれのポインタ値が等しいか否かを比較す
るコンパレータで、等しくない時にハイレベルを論理積
ゲート22へ出力する。論理積ゲート22の出力はリー
ドポインタ18に接続されている。リードポインタ18
では、論理積ゲート22の出力信号の立上がりエッジに
同期してポインタ値を1増加するようになっている。従
って、リードポインタ18は受信バッファに未取込みの
受信データがある場合に、受信バッファ中のリードポイ
ンタが指し示すアドレスへのリードアクセスの終了時点
でポインタ値が1増加し、受信バッファが空の場合には
ポインタ値は動かないようになっている。
【0025】25は、受信バッファの消費量を計算する
減算回路であり、具体的にはライトポインタ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回出力するようになっ
ている。
【0026】次に、図3および図4のフローチャートを
用いて全体の動作につき説明する。まず、初期化処理と
してステップS30でフリップフロップ回路29から出
力される第2の割込要求信号に対してはマスクを掛けて
おくと共にコンパレータ27をディスエーブルにする。
この状態で、パラレルI/F13にデータの伝送がある
と、DMAコントローラ14がRAM16(受信バッフ
ァ)の所定のアドレスにDMA転送する。CPU10
は、タイマ割込みでの割込処理でステップS31以下の
処理を実行する。
【0027】まずステップS31で受信バッファの状態
をポーリングし、受信バッファに取り込むべきデータが
存在した場合には、ステップS32でリードポインタ1
8のポインタ値が指し示すアドレスから、1バイトのデ
ータを読み込む。次にステップS33で当該データの種
別判定を行い、文字データであればステップS34で2
バイト文字コードの場合などに必要に応じてさらにもう
1バイト読み込み、ステップS35において当該文字デ
ータのフォント展開を行って、その結果をROM/RA
M11の印字バッファ112に書き込む。
【0028】一方ステップS33において文字データ以
外と判定された場合は、ステップS36で続きのデータ
を1〜数バイト読み込み、ステップS37でコマンドデ
ータであるか画像データであるかを判定する。コマンド
データであればステップS38で続く数バイトのパラメ
ータ部を読み込み、ステップS39においてそのコマン
ドを実行する。受信バッファから取り込んだデータが、
文字および文字データの間は以上の処理を繰り返す。
【0029】ところで、画像データの場合にはそのデー
タストリームのフォーマットは図5に示すように、先頭
に数バイトの画像データのヘッダ、次いでデータレング
ス(2バイト)、最後にビットマップの画像データとな
っている。なお、画像データストリームのフォーマット
は、上記以外のフォーマットであっても構わない。例え
ばデータレングスの部分は、画像データ部の画素数デー
タであってもよい。この場合、画素数データからデータ
レングスを算出することは非常に容易である。
【0030】さて、取り込んだデータが画像データのヘ
ッダである場合は、ステップS40で続く2バイトのデ
ータレングスを読み込む。そしてステップS40で、こ
のデータレングスの内容をデータレングス設定レジスタ
26に書き込み、ステップS42でコンパレータ27の
動作をイネーブルにする。続いてステップS43で上記
ポーリング動作の停止を指示する。具体的にはROM/
RAM11上のRAM部に設定したポーリング動作フラ
グ111にオフを書き込んでおく。ポーリング動作フラ
グはタイマ割込み中に参照され、そのオン/オフにした
がってポーリング動作を行うか否かが決定される。もち
ろん、タイマ割込みをポーリング動作のためだけに用い
ているのであれば、タイマインターバル回路20からの
第1の割込要求信号そのものをマスクしてしまってもよ
い。最後にステップS44で第2の割込要求に対するマ
スクを解除する。この時点で、CPU10は受信バッフ
ァヘのポーリングを止め、他の処理に専念する。
【0031】画像データが全て、すなわち上記データレ
ングス分送信元から伝送されると、ライトポインタ17
の値がデータレングス設定レジスタにセットされた値と
同じになり、コンパレータ27が作用し、フリップフロ
ップ回路28を介してCPU10に対して第2の割込要
求信号が出力される。該割込要求信号を受けてCPU1
0は割込処理を開始する。その手順を図4に示す。
【0032】まずステップS50で割込要求信号クリア
ポートにダミーライトを行って、第2の割込要求信号を
クリアする。次いでステップS51で、受信バッファか
らデータレングス分のデータをブロック転送やDMA転
送など任意の方法でROM/RAM11に一気に取り込
む。すなわち受信バッファ中の画像データを印字バッフ
ァ部にそっくり転送してしまうわけである。そしてステ
ップS52で、コンパレータ27をディスエーブルに
し、ステップS53で上記割込要求のマスクを再度設定
する。最後にステップS54で、図3ステップS43で
オフにセットされたポーリング動作フラグ111をオン
にしてポーリング動作の再開を指示し、割込処理を終了
する。
【0033】ところで、以上の動作フローは、ステップ
S44で第2の割込要求のマスクを解除した時点で既に
すべての画像データが伝送され終わっていて受信バッフ
ァに格納されている場合でも全く問題なく動作する。こ
の場合、ステップS42でコンパレータ27をイネーブ
ルにした時点で、コンパレータ27の出力がハイレベル
になり、フリップフロップ回路29からローレベル信号
を出力する。すなわちステップS44で第2の割込要求
のマスクを解除すると、直ちにステップS50からの割
込処理が実行される。そして次のタイマ割込みでは、ポ
ーリング動作フラグ111がオンになっているから、ふ
たたび受信バッファの状態をポーリングするステップS
31からの処理が繰り返されるわけである。
【0034】以上説明してきたように本実施例によれ
ば、画像データのようにデータ量が大きくかつ事前にそ
のデータ量を知り得る場合には、受信バッファへのポー
リング動作を省略することができ、その分だけCPUの
オーバヘッドタイムをなくすことが可能となる。
【0035】
【第2実施例】第1実施例では、受信バッファの容量が
例えば64Kバイトであり、受信したデータの1ブロッ
クのサイズがこれを越える画像データを伝送しようとし
た場合は、画像データの伝送が終了した時に、割込みに
よりこれをCPU10に報知することができない。もち
ろん受信バッファの容量を増やし、ライトポインタ1
7、リードポインタ18、データレングス設定レジスタ
27などの関連レジスタ群のビット数を受信バッファの
容量にあわせれば、上記実施例の装置により大きな画像
データを伝送することは可能である。
【0036】しかしながら、受信バッファの容量を増や
すことは、当然装置のコストアップにつながるので、容
易に採用するというわけにはいかない場合もある。本実
施例は、この点に鑑みてなされたものであり、受信バッ
ファの容量を増やさずに、より大きな伝送データを取り
扱えるようにした。
【0037】本実施例では、画像データのサイズは最大
16Mバイトにまで拡張されている。したがって図8に
示すとおり、画像データストリームのデータレングスフ
ィールドは3バイトに拡張されている。さて、図6およ
び図7のフローチャートを用いて本実施例での全体の動
作を説明する。
【0038】図6は第1実施例における図3ステップS
37以下に対応する部分のフローチャートである。ステ
ップS30からステップS39まではまったく同一であ
るので省略する。
【0039】ステップS37において画像データと判定
された場合は、ステップS60で続く3バイトのデータ
レングスを読み込む。そしてステップS61で当該画像
データの残量を計算する。ここではまだ1バイトも受信
バッファから取り込んでいないので残量はデータレング
スの値そのものである。ステップS62で上記残量が受
信バッファがバッファフルになるまでの最大容量すなわ
ちF800h(=62K)より大きいか否かを判定す
る。該最大容量以下である場合はステップS63でデー
タレングス設定レジスタ26に残量の値を設定する。一
方、上記最大容量を越える場合はステップS63でデー
タレングス設定レジスタ26に、最大容量の値、すなわ
ちF800hを設定する。そしてステップS63コンパ
レータ27をイネーブルにし、ステップS64でポーリ
ング動作の停止の指示をして、最後にステップS65で
上記第2の割込要求のマスクを解除する。
【0040】図7は第2実施例における第2割込み要求
に対する割込処理のフローチャートである。割込処理で
は、まずステップS70で第2の割込要求信号をクリア
し、ステップS71でデータレングス設定レジスタ26
に設定した分だけ受信バッファからデータを取り込む。
そしてステップS72で残量を更新する。具体的には現
在の残量から上記設定していた分を差し引いた値を、新
しい残量とする。
【0041】次いでステップS73で、更新した残量が
0か否かを判定する。0であればステップS74でコン
パレータ27をディスエーブルにし、ステップS75で
上記割込要求のマスクを再度設定する。
【0042】最後にステップS76で上記ポーリング動
作の再開を指示して、割込処理を終了する。
【0043】一方、更新した残量が0でない場合はステ
ップS77で係る残量と上記最大容量とを比較する。上
記残量が上記最大容量以上である場合は、ステップS7
8でデータレングス設定レジスタ26に最大容量の値を
設定し、割込処理を終了する。また、上記残量が上記最
大容量より小さい場合はステップS79でデータレング
ス設定レジスタ26に残量の値を設定し、割込処理を終
了する。要するに、伝送される画像データのサイズが最
大容量以下の場合は、第1実施例の場合と同様1回の割
込処理でデータは取り込まれるが、最大容量を越える場
合は最大容量(=62Kバイト)が受信バッファに溜ま
る毎に第2の割込がかかって、全体を何回かに分割して
画像データの取り込を行うわけである。
【0044】以上説明してきたように、本実施例によれ
ば具備している受信バッファの容量を越えた画像データ
を受領する場合でも、受信バッファヘのポーリング動作
を省くことが可能となる。
【0045】すなわち、実施例では、必要であれば受信
バッファへのポーリング動作を省略して伝送データを取
り込むことが可能となる。したがって、その分だけCP
Uのオーバヘッドタイムをなくすことができるので、結
果として実質的な通信速度の高速化が実現される。また
実施例のように単一のCPUで装置全体の制御を行う装
置にあっては、CPUを効率的に使用できるので、装置
全体の動作速度を向上させることができるという優れた
効果を有するものである。なお上記第1及び第2の実施
例では画像データを例に説明を行なったが、本発明はこ
れに限定されるわけではなくデータレングスがわかるの
であれば、文字データやコマンド情報の場合であっても
その効果に変りはない。またパラレルI/Fでなくシリ
アルI/Fであっても同様の効果が期待できる。さらに
本発明はプリンタ装置に好適であるが、必ずしもそれに
限定されるわけではなく、他の周辺装置あるいはホスト
装置に応用可能であることは言うまでもない。
【0046】尚、本発明は、複数の機器から構成される
システムに適用しても、1つの機器から成る装置に適用
しても良い。また、本発明はシステム或は装置にプログ
ラムを供給することによって達成される場合にも適用で
きることはいうまでもない。
【0047】
【発明の効果】以上説明したように、本発明に係るデー
タ受信装置は、ポーリング動作を行なわないでも伝送デ
ータの取り込みが可能であり、高速のデータ伝送を実現
できるという効果を奏する。
【0048】
【図面の簡単な説明】
【図1】本発明に係るデータ受信装置を内蔵したプリン
タ装置のブロック図である。
【図2】受信バッファ監視管理部の詳細なブロック図で
ある。
【図3】第1実施例での動作を説明するフローチャート
である。
【図4】第1実施例での動作を説明するフローチャート
である。
【図5】画像データストリームのフォーマットを説明す
る図である。
【図6】第2実施例での動作を説明するフローチャート
である。
【図7】第2実施例での動作を説明するフローチャート
である。
【図8】第2実施例での画像データストリームのフォー
マットを説明する図である。
【図9】従来技術を説明する図である。
【符号の説明】
10 CPU 11 ROM/RAM 12 印字部 13 パラレルI/F 14 DMAコントローラ 15 受信バッファ監視回路 16 RAM(受信バッファ) 17 ライトポインタ 18 リードポインタ 19 バッファフル判定回路 20 タイマインターバル回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 田中 壮平 東京都大田区下丸子3丁目30番2号 キ ヤノン株式会社内 (72)発明者 植村 寛 東京都大田区下丸子3丁目30番2号 キ ヤノン株式会社内 (72)発明者 塚田 伸幸 東京都大田区下丸子3丁目30番2号 キ ヤノン株式会社内 (56)参考文献 特開 平4−58355(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 3/12

Claims (20)

    (57)【特許請求の範囲】
  1. 【請求項1】 データを受信する受信手段と、 前記受信手段により受信したデータを格納する格納手段
    と、受信したデータの種別を判別する判別手段と、 前記判別手段により受信データが画像データであると判
    別された場合に、 前記受信手段によりデータの受信が終
    了したことを判定する判定手段と、 前記判定手段による判定の結果に基づいて、前記格納手
    段に格納されたデータの転送を要求する要求手段と、 該要求手段による要求に応じて、前記格納手段により格
    納されたデータを所定の記憶領域に転送する転送手段
    前記判別手段により受信データが画像データでないと判
    別された場合には、受信データの有無を判定しつつ前記
    所定の記憶領域に受信データを転送するポーリング手段
    を備えることを特徴とするデータ受信装置。
  2. 【請求項2】 前記判定手段は、前記受信手段により受
    信したデータの長さを示すデータと、受信したデータの
    量とを比較して受信の終了を判定することを特徴とする
    請求項1に記載のデータ受信装置。
  3. 【請求項3】 データを受信する受信手段と、 受信しようとするデータ長を設定する設定手段と、 前記受信手段により受信したデータを格納する格納手段
    と、 前記設定手段に設定されたデータ長と、受信したデータ
    の量との一致を判定する判定手段と、 該判定手段による判定の結果に基づいて、前記格納手段
    に格納されたデータの転送を要求する要求手段と、 該要求手段による要求に応じて、前記格納手段により格
    納されたデータを、前記設定手段に設定されたデータ長
    分まとめて所定の記憶領域に転送する転送手段と 前記設定手段により設定できるデータ長が、受信しよう
    とするデータ長よりも短い場合には、前記設定手段によ
    り設定できるデータ長ずつ分割して転送すべく制御する
    制御手段と を備えることを特徴とするデータ受信装置。
  4. 【請求項4】 前記転送手段はCPUにより制御され、
    前記要求手段は前記CPUに対する割込み要求であるこ
    とを特徴とする請求項1乃至3いずれかに記載のデータ
    受信装置。
  5. 【請求項5】 データを受信する受信手段と、 前記受信手段により受信したデータを格納する格納手段
    と、 受信したデータの種別を判別する判別手段と、前記判別手段により受信データが画像データであると判
    別された場合に、受信しようとするデータ長を設定する
    設定手段と、 前記設定手段に設定されたデータ長と、受信したデータ
    の量との一致を判定する判定手段と、 前記判定手段による判定の結果に基づいて、前記格納手
    段に格納されたデータの転送を要求する要求手段と、 前記要求手段による要求に応じて、前記格納手段により
    格納されたデータを、前記設定手段に設定されたデータ
    長分まとめて所定の記憶領域に転送する転送手段と、 前記判別手段により 受信データが画像データでないと判
    別された場合には受信データの有無を検知しつつ前記
    所定の記憶領域に受信データを転送するポーリング手段
    とを備えることを特徴とするデータ受信装置。
  6. 【請求項6】 データを受信する受信手段と、 前記受信手段により受信したデータを格納する格納手段
    と、 受信したデータの種別を判別する判別手段と、 前記判別手段により受信データが画像データであると判
    別された場合に、受信しようとするデータ長を設定する
    設定手段と、 前記設定手段に設定されたデータ長と、受信したデータ
    の量との一致を判定する判定手段と、 前記判定手段による判定の結果に基づいて、前記格納手
    段に格納されたデータの転送を要求する要求手段と、 前記要求手段による要求に応じて、前記格納手段により
    格納されたデータを、前記設定手段に設定されたデータ
    長分まとめて所定の記憶領域に転送する転送手段と、 前記判別手段により受信データが画像データでないと判
    別された場合には、受信データの有無を検知しつつ前記
    所定の記憶領域に受信データを転送するポーリング手段
    と、 前記設定手段により設定できるデータ長が、受信しよう
    とするデータ長よりも短い場合には、前記設定手段によ
    り設定できるデータ長ずつ分割して転送すべく制御する
    制御手段を備えることを特徴とするデータ受信装置。
  7. 【請求項7】 受信しようとするデータ長を設定する設
    定工程と、 受信したデータをメモリに格納する格納工程と、 前記設定工程に設定されたデータ長と、受信したデータ
    の量との一致を判定する判定工程と、 該判定工程による判定の結果に基づいて、前記メモリに
    格納されたデータの転送を要求する要求工程と、 該要求工程による要求に応じて、前記メモリに格納され
    たデータを、前記設定工程に設定されたデータ長分、所
    定の記憶領域に転送する転送工程と 前記設定工程により設定できるデータ長が、受信しよう
    とするデータ長よりも短い場合には、前記設定工程によ
    り設定できるデータ長ずつ分割して転送すべく制御する
    制御工程と を備えることを特徴とするデータ受信方法。
  8. 【請求項8】 前記転送工程はCPUにより制御され、
    前記要求工程は前記CPUに対する割込み要求であるこ
    とを特徴とする請求項7に記載のデータ受信方法。
  9. 【請求項9】 受信しようとするデータ長を設定する設
    定工程と、 受信したデータをメモリに格納する格納工程と、 受信したデータの種別を判別する判別工程と、前記判別工程により受信データが画像データであると判
    別された場合に、前記設定工程に設定されたデータ長
    と、受信したデータの量との一致を判定する判定工程
    と、 該判定工程による判定の結果に基づいて、前記メモリに
    格納されたデータの転送を要求する要求工程と、 該要求工程による要求に応じて、前記メモリに格納され
    たデータを、前記設定工程に設定されたデータ長分、所
    定の記憶領域に転送する転送工程と、 前記判別工程により 受信データが画像データでないと判
    別された場合には受信データの有無を検知しつつ前記
    所定の記憶領域に受信データを転送するポーリング工程
    とを備えることを特徴とするデータ受信方法。
  10. 【請求項10】 受信しようとするデータ長を設定する
    設定工程と、 受信したデータをメモリに格納する格納工程と、 受信したデータの種別を判別する判別工程と、 前記判別工程により受信データが画像データであると判
    別された場合に、前記設定工程に設定されたデータ長
    と、受信したデータの量との一致を判定する判定工程
    と、 該判定工程による判定の結果に基づいて、前記メモリに
    格納されたデータの転送を要求する要求工程と、 該要求工程による要求に応じて、前記メモリに格納され
    たデータを、前記設定工程に設定されたデータ長分、所
    定の記憶領域に転送する転送工程と、 前記判別工程により受信データが画像データでないと判
    別された場合には、受信データの有無を検知しつつ前記
    所定の記憶領域に受信データを転送するポーリング工程
    と、 前記設定工程により設定できるデータ長が、受信しよう
    とするデータ長よりも短い場合には、前記設定工程によ
    り設定できるデータ長ずつ分割して転送すべく制御する
    制御工程を備えることを特徴とするデータ受信方法。
  11. 【請求項11】 請求項1乃至6いずれかに記載のデー
    タ受信装置と、 前記データ受信装置により所定領域に転送されたデータ
    を印刷出力する印刷手段とを備えることを特徴とする印
    刷装置。
  12. 【請求項12】制御用のCPUと、 データを受信するインターフェースと、 受信したデータを格納する受信バッファと、 前記受信バッファ中の任意の位置を指示する第1ポイン
    タおよび第2ポインタと、 前記インターフェースを介して受信したデータを、第1
    ポインタの指示する位置に格納するとともに前記第1ポ
    インタを格納したデータ量に相当する値分増加させるデ
    ータ格納手段と、 前記受信バッファからデータが読み出された場合、読み
    出されたデータ量に相当する値分、前記第2ポインタを
    増加させる第2ポインタ加算手段と、 前記第1ポインタの値と第2ポインタの値との差を求め
    る残量算出手段と、 所望の値を設定し得るデータ長設定レジスタと、 該データ長設定レジスタの設定値と前記残量算出手段の
    出力値とを比較し、一致している場合、前記CPUに対
    して割込を要求する割込み要求手段と、 該割込み要求手段による割込みを契機として、前記受信
    バッファよりデータを読み出して所定の記憶領域に転送
    する読み出し手段と、 を備えることを特徴とするデータ受信装置。
  13. 【請求項13】 前記第1ポインタと第2ポインタとを
    比較することにより前記受信バッファ中のデータの有無
    を調べ、データがあれば受信バッファから伝送データを
    取り込むポーリング手段と、受信データの種類に応じて
    前記ポーリング手段によるデータの取り込み停止するポ
    ーリング停止手段とを更に備え、ポーリングを停止した
    場合には前記割込み要求手段によりデータの読み出しを
    行うべく制御することを特徴とする請求項12記載のデ
    ータ受信装置。
  14. 【請求項14】 前記データ長設定レジスタに設定する
    値は、伝送データの長さ情報に基づく値であることを特
    徴とする請求項12または13に記載のデータ受信装
    置。
  15. 【請求項15】 前記データ長設定レジスタに設定する
    値は、受信バッファの実質的最大容量であることを特徴
    とする請求項12または13いずれかに記載のデータ受
    信装置。
  16. 【請求項16】 DMA転送を制御するDMA転送手段
    を更に備え、前記インターフェースを介して受信したデ
    ータは、前記DMA転送手段により前記受信バッファに
    転送されることを特徴とする請求項12乃至15いずれ
    かに記載のデータ受信装置。
  17. 【請求項17】 前記インターフェースはパラレルI/
    Fであることを特徴とする請求項12乃至16いずれか
    に記載のデータ受信装置。
  18. 【請求項18】 前記インターフェースはシリアルI/
    Fであることを特徴とする請求項12乃至16いずれか
    に記載のデータ受信装置。
  19. 【請求項19】 当該データ受信装置はプリンタ装置に
    内蔵されるものであることを特徴とする請求項12乃至
    18いずれかに記載のデータ受信装置。
  20. 【請求項20】 当該データ受信装置はホスト装置に内
    蔵されるものであることを特徴とする請求項12乃至1
    8いずれかに記載のデータ受信装置。
JP06756695A 1995-03-27 1995-03-27 データ受信装置とその制御方法及びそれを用いた印刷装置 Expired - Fee Related JP3327723B2 (ja)

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)

* Cited by examiner, † Cited by third party
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 株式会社デンソー マイクロコンピュータ

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