JPH05314058A - データ受信装置 - Google Patents

データ受信装置

Info

Publication number
JPH05314058A
JPH05314058A JP4114448A JP11444892A JPH05314058A JP H05314058 A JPH05314058 A JP H05314058A JP 4114448 A JP4114448 A JP 4114448A JP 11444892 A JP11444892 A JP 11444892A JP H05314058 A JPH05314058 A JP H05314058A
Authority
JP
Japan
Prior art keywords
data
time
area
cpu
circuit
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.)
Withdrawn
Application number
JP4114448A
Other languages
English (en)
Inventor
Masahiro Suzuki
正宏 鈴木
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP4114448A priority Critical patent/JPH05314058A/ja
Publication of JPH05314058A publication Critical patent/JPH05314058A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】上位装置からデータを受信する間隔が長い場合
においても割込処理に当てる時間が長くならず、CPU
の時間的資源を確保する。 【構成】CPU10と、複数の領域を備える記憶装置1
3と、データを受信した後、タイムアウト時間が経過し
たときにタイムアウト信号32を発生するウォッチドッ
グタイマ30と、前記CPU10を介することなく、受
信したデータを書き込むとともに、読み出すダイレクト
メモリアクセス回路12を有している。CPU10は、
受信したデータがあらかじめ設定された数になると、前
記領域を他の領域に切り替える。上位装置からデータを
受信した後、タイムアウト時間が経過すると、ウォッチ
ドッグタイマ30がタイムアウト信号32を発生して受
信したデータがあらかじめ設定された数になっていなく
ても、前記領域を他の領域に切り替える。タイムアウト
時間は、前記領域に格納されたデータの数に対応して変
更される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ダイレクトメモリアク
セス機構を有するデータ受信装置に関するものである。
【0002】
【従来の技術】従来、例えばプリンタのデータ受信装置
においては、上位装置から送られてくるデータを受信回
路が受信すると、プリンタのCPUは、あらかじめ記憶
された処理手順によって前記データを編集し、印刷装置
機構部を作動させて印刷を行うようになっている。
【0003】この場合、記憶装置は、データを一次的に
格納する複数の領域を有している。そして、前記CPU
を介することなく所定の領域に前記データを格納した
り、格納されたデータを読み出して命令を解読したりす
ることができるように、ダイレクトメモリアクセス(以
下、「DMA」という。)回路が設けられている。図2
は従来のデータ受信装置のブロック図である。
【0004】図において、10はプリンタを制御するC
PU、11は上位装置から受信したデータをパラレルの
データに変換する受信回路、12は該受信回路11が変
換したデータをCPU10を介さずに記憶装置13に転
送するDMA回路である。前記記憶装置13はRAMな
どの読出し・書込みが可能なメモリで構成され、一部に
前記受信回路11で変換されたデータを一時的に格納す
るための領域A及び領域Bが割り当てられている。
【0005】15は印刷装置機構部を駆動する印刷回
路、16はCPU10、DMA回路12、記憶装置1
3、印刷回路15間を接続するバス、18は上位装置か
ら1バイトのデータを受信するごとに受信回路11が発
生する受信パルス、19は設定されたタイムアウト時間
0 以内に受信パルス18がリセットされなかった時に
タイムアウト(TIME OUT)信号20を発生する
ウォッチドッグタイマ、21はDMA回路12がNバイ
トのデータを記憶装置13に転送するたびに発生するタ
ーミナルカウント(TC)信号である。
【0006】該ターミナルカウント信号21はCPU1
0の割込入力端子INT1に入力され、前記タイムアウ
ト信号20はCPU10の割込入力端子INT2に入力
される。次に、前記構成のデータ受信装置について説明
する。初期状態ではDMA回路12の転送先は領域Aに
設定されている。上位装置からタイムアウト時間T0
り短い間隔でデータが送られると、受信されたデータは
CPU10を介することなく受信回路11→DMA回路
12→バス16→領域Aの順に転送され、領域Aに格納
される。前記DMA回路12から転送されたデータの数
がNバイトに達するとターミナルカウント信号21が発
生してCPU10に対して出力され、CPU10は第1
割込処理を起動する。
【0007】図3は従来のデータ受信装置における第1
割込処理の一例を示すフローチャートである。 ステップS1 第1割込処理が起動されると、CPU1
0は現在実行中の処理を中断する。そして、タイムアウ
ト信号20による第2割込処理との競合を防止するため
に、第2割込処理を禁止する。 ステップS2 前記DMA回路12によってこれ以上領
域Aにデータが転送されないようにDMAを停止させ
る。これにより、受信回路11は一時データの受信を中
断する。 ステップS3 この時点でDMA回路12の転送先とし
て割り当てられていない領域B内のデータについて命令
解読処理を行い、すべてのデータについて命令解読処理
が終了するまで待つ。 ステップS4 領域B内のすべてのデータの命令解読処
理が終了すると、CPU10はDMA回路12に対して
データの転送先を領域Aから領域Bに切り替えるための
指令を送る。 ステップS5 CPU10は命令解読処理を行う対象を
領域Bから領域Aに切り替える。 ステップS6 データの受信を再開するため、CPU1
0はDMA回路12に対してDMA再開の指令を送る。 ステップS7 ウォッチドッグタイマ19をリセットす
る。 ステップS8 ステップS1で禁止した第2割込処理を
許可する。このようにして第1割込処理を終了する。
【0008】これ以降、受信されたデータは領域Bに格
納され、転送されたデータの数がNバイトに達すると再
び第1割込処理が実行され、データの転送先と命令解読
元のそれぞれの領域が切り替えられる。次に、上位装置
からのデータの受信が終了した時の処理について説明す
る。現在、DMA回路12の転送先が領域Aであるとし
て、受信回路11がすべてのデータの受信を終了した時
点で領域Aに転送されたデータの数がNバイト未満であ
る場合は、いつまでもターミナルカウント信号21が発
生しないため、第1割込処理は起動されない。したがっ
て、領域A内のデータはいつまでも命令解読処理が行わ
れずに残っていることになる。そこで、上位装置からの
最後のデータを受信した時からタイムアウト時間T0
け経過すると、ウォッチドッグタイマ19がタイムアウ
ト信号20を発生するようになっている。該タイムアウ
ト信号20を受けるとCPU10は第2割込処理を起動
する。
【0009】図4は従来の受信データ装置における第2
割込処理の一例を示すフローチャートである。 ステップS11 第2割込処理が起動されると、CPU
10は現在実行中の処理を中断する。そして、ターミナ
ルカウント信号21による第1割込処理との競合を防止
するために、第1割込処理を禁止する。 ステップS12 前記DMA回路12によってこれ以上
領域Aにデータが転送されないようにDMAを停止させ
る。これにより、受信回路11は一時データの受信を中
断する。 ステップS13 この時点でDMA回路12の転送先と
して割り当てられていない領域B内のデータについて命
令解読処理を行い、すべてのデータについて命令解読処
理が終了するまで待つ。 ステップS14 領域B内のすべてのデータの命令解読
処理が終了すると、CPU10はDMA回路12に対し
てデータの転送先を領域Aから領域Bに切り替えるため
の指令を送る。 ステップS15 CPU10は命令解読処理を行う対象
を領域Bから領域Aに切り替える。 ステップS16 データの受信を再開するため、CPU
10はDMA回路12に対してDMA再開の指令を送
る。同時にDMA回路12によって転送されたデータの
バイト数を示すターミナルカウント信号21をクリアす
る。 ステップS17 ウォッチドッグタイマ19をリセット
する。 ステップS18 ステップS11で禁止した第1割込処
理を許可する。このようにして第2割込処理を終了す
る。
【0010】前記データ受信装置においては、上位装置
から最後のデータを受信した時を除くと、第1割込処理
が行われるのはNバイトのデータが転送されるごとに1
回だけであり、通常の受信回路11→DMA回路12→
バス16→記憶装置13の転送ではCPU10を介さな
い。したがって、該CPU10は多くの時間的資源を印
刷回路15の処理に当てることができる。
【0011】
【発明が解決しようとする課題】しかしながら、前記従
来のデータ受信装置においては、上位装置からデータを
受信する間隔が長い場合、特にデータを受信する間隔が
タイムアウト時間T0 よりわずかに長い場合には、1バ
イトおきにタイムアウト信号20が発生し、そのたびに
第2割込処理が行われることになるため、受信したデー
タ1バイト当たりのCPU10における割込処理の時間
が著しく長くなる。したがって、印刷回路15に当てる
べき時間的資源が少なくなり、プリンタ全体の処理能力
が低下してしまう。
【0012】本発明は、前記従来のデータ受信装置の問
題点を解決して、上位装置からデータを受信する間隔が
長い場合においても割込処理に当てる時間が長くなら
ず、CPUの時間的資源を確保することができるデータ
の受信装置を提供することを目的とする。
【0013】
【課題を解決するための手段】そのために、本発明のデ
ータ受信装置においては、CPUと、一時的にデータを
格納するための複数の領域を備える記憶装置と、上位装
置からデータを受信する受信回路と、上位装置からデー
タを受信した後、あらかじめ設定されたタイムアウト時
間が経過したときにタイムアウト信号を発生するウォッ
チドッグタイマと、前記CPUを介することなく、前記
受信回路が受信したデータを前記記憶装置の領域に書き
込むとともに、前記記憶装置の他の領域に格納されたデ
ータを読み出すダイレクトメモリアクセス回路を有して
いる。
【0014】CPUは、受信したデータがあらかじめ設
定された数になると、前記領域を他の領域に切り替える
ための第1割込処理を行い、前記タイムアウト信号を受
けたときに、受信したデータがあらかじめ設定された数
になっていなくても、前記領域を他の領域に切り替える
ための第2割込処理を行う。前記タイムアウト時間は、
前記タイムアウト信号が発生された時点で前記領域に格
納されたデータの数に対応して変更される。
【0015】
【作用】本発明によれば、前記のようにCPUと、一時
的にデータを格納するための複数の領域を備える記憶装
置と、上位装置からデータを受信する受信回路と、上位
装置からデータを受信した後、あらかじめ設定されたタ
イムアウト時間が経過したときにタイムアウト信号を発
生するウォッチドッグタイマと、前記CPUを介するこ
となく、前記受信回路が受信したデータを前記記憶装置
の領域に書き込むとともに、前記記憶装置の他の領域に
格納されたデータを読み出すダイレクトメモリアクセス
回路を有している。
【0016】受信回路が上位装置からデータを受信する
と、ダイレクトメモリアクセス回路は、前記データを前
記領域に書き込むとともに、前記他の領域に格納された
データを読み出し、例えば印刷回路に転送する。CPU
は、受信したデータがあらかじめ設定された数になる
と、前記領域を他の領域に切り替えるための第1割込処
理を行う。したがって、ダイレクトメモリアクセス回路
は、前記データを前記他の領域に書き込むとともに、前
記領域に格納されたデータを読み出す。
【0017】上位装置からデータを受信した後、あらか
じめ設定されたタイムアウト時間が経過すると、ウォッ
チドッグタイマがタイムアウト信号を発生する。CPU
は前記タイムアウト信号を受けると、受信したデータが
あらかじめ設定された数になっていなくても、前記領域
を他の領域に切り替えるための第2割込処理を行う。前
記タイムアウト時間は、前記タイムアウト信号が発生さ
れた時点で前記領域に格納されたデータの数に対応して
変更される。
【0018】
【実施例】以下、本発明の実施例について図面を参照し
ながら詳細に説明する。図1は本発明の実施例を示すデ
ータ受信装置のブロック図である。図において、10は
プリンタを制御するCPU、11は上位装置から受信し
たデータをパラレルのデータに変換する受信回路、12
は該受信回路11が変換したデータをCPU10を介さ
ずに記憶装置13に転送するDMA回路である。前記記
憶装置13はRAMなどの読出し・書込みが可能なメモ
リで構成され、一部に前記受信回路11で変換されたデ
ータを一時的に格納するための領域A及び領域Bが割り
当てられている。
【0019】15は印刷装置機構部を駆動する印刷回
路、16はCPU10、DMA回路12、記憶装置1
3、印刷回路15間を接続するバス、18は上位装置か
ら1バイトのデータを受信するごとに受信回路11が発
生する受信パルス、30はタイムアウト値レジスタ31
で設定されたタイムアウト時間T1 (実際には該タイム
アウト値レジスタ31においてはタイムアウト値が設定
されるが、後述するように便宜上タイムアウト時間T1
が設定されるものとして説明する。)以内に受信パルス
18がリセットされなかった時に、タイムアウト(TI
ME OUT)信号32を発生するウォッチドッグタイ
マ、21はDMA回路12がNバイトのデータを記憶装
置13に転送すると発生するターミナルカウント(T
C)信号である。前記タイムアウト値レジスタ31はC
PU10によってタイムアウト値nを書き換えることが
できる。
【0020】前記ターミナルカウント信号21はCPU
10の割込入力端子INT1に入力され、前記タイムア
ウト信号32はCPU10の割込入力端子INT2に入
力される。ここで、前記タイムアウト値レジスタ31及
びウォッチドッグタイマ30について説明する。
【0021】図5はタイムアウト値レジスタ及びウォッ
チドッグタイマの具体的な回路例を示す図である。図に
おいて、40はタイムアウト値レジスタ31(図1)を
構成する8ビットのDフリップフロップであり、該Dフ
リップフロップ40のD入力端子はバス16に接続され
る。該Dフリップフロップ40のクロック入力はCPU
10から与えられ、該CPU10によってDフリップフ
ロップ40に任意の8ビットのタイムアウト値nが設定
される。41はNOT回路であり、前記Dフリップフロ
ップ40の8本のQ出力端子にそれぞれ1個ずつ接続さ
れ、8ビットカウンタ42のパラレル入力端子43にD
フリップフロップ40の設定内容の補数を入力する。4
4は基準時間クロック発生器(TIME BASE)で
あり、一定時間おきにパルスを8ビットカウンタ42の
クロック入力端子に供給する。45はOR回路であり、
8ビットカウンタ42のキャリー出力46とリセット
(RESET)入力47と受信パルス(RCVD)18
の論理和を採り、8ビットカウンタ42のロード入力端
子49に入力する。
【0022】なお、ウォッチドッグタイマ30は、NO
T回路41、8ビットカウンタ42、基準時間クロック
発生器44及びOR回路45によって構成される。図6
はタイムアウト値レジスタ及びウォッチドッグタイマの
動作を示すタイムチャートである。リセット入力47又
は受信パルス18が“0”の場合、8ビットカウンタ4
2のクロック入力の周期をt、8ビットカウンタ42に
設定されるタイムアウト値をnとすると、8ビットカウ
ンタ42はn−N(nの補数)からカウントアップを始
め、時間ntが経過してカウントが終了するごとにキャ
リー出力46はパルスを発生する。時間ntが経過する
までにリセット入力47又は受信パルス18を“1”に
すると、8ビットカウンタ42は再びn−Nからカウン
トアップを始める。したがって、受信パルス18が入力
される間隔が時間nt未満である時にはキャリー出力4
6はパルスを発生しない。
【0023】そこで、キャリー出力46をタイムアウト
信号32として使用すれば、図5の回路は任意のタイム
アウト時間T1 (=nt)を設定することが可能にな
る。ここで、実際はDフリップフロップ40(図5)す
なわちタイムアウト値レジスタ31(図1)にはタイム
アウト値nが設定されるが、説明の便宜上、Dフリップ
フロップ40にはタイムアウト時間T1 が設定されるこ
ととする。
【0024】次に、前記構成のデータ受信装置の動作に
ついて図1、図5〜図8に基づいて説明する。初期状態
ではDMA回路12の転送先は領域Aに設定されてい
る。上位装置から前記タイムアウト時間T1 より短い間
隔でデータが送られると、受信されたデータはCPU1
0を介することなく受信回路11→DMA回路12→バ
ス16→領域Aの順に転送され領域Aに格納される。前
記DMA回路12から転送されたデータの数がNバイト
に達するとターミナルカウント信号21が発生してCP
U10に対して出力され、CPU10は第1割込処理を
起動する。
【0025】図7は本発明の実施例を示すデータ受信装
置における第1割込処理の一例を示すフローチャートで
ある。 ステップS21 第1割込処理が起動されると、CPU
10は現在実行中の処理を中断する。そして、タイムア
ウト信号32による第2割込処理との競合を防止するた
めに、第2割込処理を禁止する。 ステップS22 前記DMA回路12によってこれ以上
領域Aにデータが転送されないようにDMAを停止させ
る。これにより、受信回路11は一時データの受信を中
断する。 ステップS23 この時点でDMA回路12の転送先と
して割り当てられていない領域B内のデータについて命
令解読処理を行い、すべてのデータについて命令解読処
理が終了するまで待つ。 ステップS24 領域B内のすべてのデータの命令解読
処理が終了すると、CPU10はDMA回路12に対し
てデータの転送先を領域Aから領域Bに切り替えるため
の指令を送る。 ステップS25 CPU10は命令解読処理を行う対象
を領域Bから領域Aに切り替える。 ステップS26 データの受信を再開するため、CPU
10はDMA回路12に対してDMA再開の指令を送
る。 ステップS27 ウォッチドッグタイマ30をリセット
する。 ステップS28 ステップS21で禁止した第2割込処
理を許可する。このようにして第1割込処理を終了す
る。
【0026】これ以降、受信されたデータは領域Bに格
納され、転送されたデータの数がNバイトに達すると再
び第1割込処理が実行され、データの転送先と命令解読
元のそれぞれの領域が切り替えられる。次に、上位装置
からのデータの受信が終了した時の処理について説明す
る。現在、DMA回路12の転送先が領域Aであるとし
て、受信回路11がすべてのデータの受信を終了した時
点で領域Aに転送されたデータの数がNバイト未満であ
る場合は、いつまでもターミナルカウント信号21が発
生しないため、第1割込処理は起動されない。したがっ
て、領域Aのデータはいつまでも命令解読処理が行われ
ずに残っていることになる。そこで、上位装置からの最
後のデータを受信した時からタイムアウト時間T1 だけ
経過すると、ウォッチドッグタイマ30がタイムアウト
信号32を発生するようになっている。該タイムアウト
信号32を受けるとCPU10は第2割込処理を起動す
る。
【0027】図8は本発明の実施例を示すデータ受信装
置における第2割込処理の一例を示すフローチャートで
ある。 ステップS31 第2割込処理が起動されると、CPU
10は現在実行中の処理を中断する。そして、ターミナ
ルカウント信号21による第1割込処理との競合を防止
するために、第1割込処理を禁止する。 ステップS32 次に、前記DMA回路12によってこ
れ以上領域Aにデータが転送されないようにDMAを停
止させる。これにより、受信回路11は一時データの受
信を中断する。 ステップS33 この時点でDMA回路12の転送先と
して割り当てられていない領域B内のデータについて命
令解読処理を行い、すべてのデータについて命令解読処
理が終了するまで待つ。 ステップS34 次に、CPU10は、タイムアウト時
間T1 を変更するか否かを判断するため、領域Aに転送
されたバイト数ND を読み出す。 ステップS35 バイト数ND が0か否かを判断する。 ステップS36 ND =0のときは、プリンタは待機状
態であり、タイムアウト時間T1 の間に1バイトも受信
しなかったことになるため、タイムアウト時間T 1 を標
準時間のT0 に設定する。該標準時間のT0 は通常の作
動時に予想されるタイムアウト時間であり、例えば10
秒である。 ステップS37 いくつかのデータを受信している場
合、バイト数ND を数NEと比較する。ここで、数NE
は0ではないが、領域A,Bのそれぞれの容量よりは十
分に小さい値、例えば領域A,Bの容量が2048バイ
トであれば16とする。この時点で領域Aに転送されて
いるデータ量はN未満(通常Nは領域A,Bのそれぞれ
の容量に等しい。)であるから、該ステップS37の判
断はYes,Noの両方が考えられる。
【0028】ND ≧NE の場合、タイムアウト時間T1 は変更されずステップS
41に進む。 ステップS38 また、 ND <NE の場合、データを受信する間隔がタイムアウト時間T1
よりわずかに長いことになる。そこで、タイムアウト時
間T1 をT1 ・N/ND +Kに変更して長くする。ここ
で、KはTmax をタイムアウト時間T1 の最大値とした
とき、後述する理由でTmax /ND とする。 ステップS39,S40 この変更処理は、上位装置か
らデータを受信する間隔が長いときに有効であるが、上
位装置からデータの受信が終了したときも行われること
がある。バイト数ND が極めて小さい場合、タイムアウ
ト時間T1 が無制限に大きくなる。そこで、タイムアウ
ト時間T1 を最大値Tmax (例えば60秒)と比較し、
最大値Tmax を超えるときはタイムアウト時間T1 =T
max とする。 ステップS41 次に、CPU10はDMA回路12に
対してデータの転送先を領域Aから領域Bに切り替える
ための指令を送る。 ステップS42 CPU10は命令解読処理を行う対象
を領域Bから領域Aに切り替える。 ステップS43 データの受信を再開するため、CPU
10はDMA回路12に対してDMA再開の指令を送
る。 ステップS44 ウォッチドッグタイマ30をリセット
する。この時、タイムアウト値レジスタ31に設定され
たタイムアウト値nに対応してタイムアウト時間T1
設定される。 ステップS45 ステップS31で禁止した第1割込処
理を許可し、第2割込処理を終了する。
【0029】前記構成のデータ受信装置において、上位
装置から受信したデータがウォッチドッグタイマ30の
タイムアウト時間T1 よりわずかに長い間隔で連続的に
送られる場合について具体的に説明する。現在、DMA
回路12のデータの転送先が領域Aであり、タイムアウ
ト値レジスタ31のタイムアウト時間T1 が標準時間の
0 であって、標準時間のT0 でウォッチドッグタイマ
30が作動しているとする。受信したデータの間隔がタ
イムアウト時間T1 (=T0 )よりわずかに長いとき、
ターミナルカウント信号21は発生せず、タイムアウト
信号32だけが発生する。そして、タイムアウト信号3
2が発生した時にステップS34で読み出されるバイト
数ND は0又は1である。ND =0の場合は、T1 =T
0 のまま再びデータの受信を待機する。ND=1の場合
は、ステップS37の条件を満たすため次回からのタイ
ムアウト時間T1 はT1 ・N/ND +Kに変更される。
【0030】例えば、N=2048、T1 =T0 =10
〔sec〕とするとT1 ・N/ND=20480〔se
c〕となる。ここで、Tmax =60〔sec〕とする
と、Kは後述する理由でTmax /ND であるから、ステ
ップS39,S40においてT 1 =60〔sec〕に設
定される。この後、ステップS41〜S45の処理を経
て第2割込処理が終了する。この時点では、上位装置か
らデータを1バイト受信するごとに割込処理が1回発生
してしまい、非効率的である。
【0031】上位装置が同じ間隔でデータを送り続けて
いる時、 N>Tmax /T0 であれば、次回からはDMA回路12がNバイトのデー
タを記憶装置13に転送した時にターミナルカウント信
号21が発生し、タイムアウト信号32は発生しない。
したがって、Nバイトのデータを受信するごとに割込処
理が1回行われるため、CPU10の時間的資源が最も
効率良くなる。
【0032】次に、 N≦Tmax /T0 である場合、例えば前述したように、T0 =10〔se
c〕,Tmax =60〔sec〕の場合、次回はDMA回
路12が約Tmax /T0 (=6)バイトのデータを記憶
装置13に転送した時にタイムアウト信号32が発生す
る。そして、再び図8における第2割込処理が起動され
る。この時、ステップS34においてND=5(又は
6)である。したがって、第2割込処理はステップS3
8に進む。該ステップS38ではタイムアウト時間T1
を変更してT1 ・N/ND +Kとする。T1 ・N/ND
は、ウォッチドッグタイマ30がタイムアウト信号32
を発生するまでに、DMA回路12がNバイトのデータ
の転送を終了するためのタイムアウト時間である。ただ
し、量子化誤差の問題で、ターミナルカウント信号21
を発生する前にタイムアウト信号32が発生するのを防
止するため、値Kを加算する。Kの値は量子化誤差を補
償することができる値の最小のものでよいが、上位装置
からデータを受信する間隔が変化することとステップS
39,S40においてタイムアウト時間T1 の最大値を
max に抑制していることから、 K=Tmax /ND とする。このようにして、タイムアウト時間T1 はT1
・N/ND +Kに変更される。以降、ステップS41〜
S45を実行して第2割込処理を終了する。
【0033】上位装置からのデータを更に受信し続けた
とき、DMA回路12がNバイトのデータを転送して
も、タイムアウト時間T1 はタイムアウト信号32を発
生しない値に変更されている。したがって、それ以降は
Nバイトのデータを受信するごとに第1割込処理が起動
される。なお、本発明は前記実施例に限定されるもので
はなく、本発明の趣旨に基づいて種々変形することが可
能であり、これらを本発明の範囲から排除するものでは
ない。
【0034】例えば、上位装置におけるデータの送出速
度に対応して自装置内のCPUの利用効率を自己制御す
る必要がある装置、例えばハードディスク装置のデータ
入力部やパケット交換機のパケット受信部にも適用する
ことが可能である。
【0035】
【発明の効果】以上詳細に説明したように、本発明によ
れば、受信回路が上位装置からデータを受信すると、ダ
イレクトメモリアクセス回路は、前記データを前記記憶
装置の領域に書き込むとともに、前記記憶装置の他の領
域に格納されたデータを読み出し、例えば印刷回路に転
送する。
【0036】CPUは、受信したデータがあらかじめ設
定された数になると、前記領域を他の領域に切り替える
ための第1割込処理を行う。そして、上位装置からデー
タを受信した後、あらかじめ設定されたタイムアウト時
間が経過すると、ウォッチドッグタイマがタイムアウト
信号を発生し、CPUは該タイムアウト信号を受ける
と、受信したデータがあらかじめ設定された数になって
いなくても、前記領域を他の領域に切り替えるための第
2割込処理を行う。
【0037】前記タイムアウト時間は、前記タイムアウ
ト信号が発生された時点で前記領域に格納されたデータ
の数に対応して変更される。したがって、上位装置から
データを受信する間隔が長い場合でも、前記タイムアウ
ト信号が頻繁に発生するのを防止することができ、割込
時間に当てる時間が長くならず、CPUの時間的資源を
確保することができる。
【図面の簡単な説明】
【図1】本発明の実施例を示すデータ受信装置のブロッ
ク図である。
【図2】従来のデータ受信装置のブロック図である。
【図3】従来のデータ受信装置における第1割込処理の
一例を示すフローチャートである。
【図4】従来のデータ受信装置における第2割込処理の
一例を示すフローチャートである。
【図5】タイムアウト値レジスタ及びウォッチドッグタ
イマの具体的な回路例を示す図である。
【図6】タイムアウト値レジスタ及びウォッチドッグタ
イマの動作を示すタイムチャートである。
【図7】本発明の実施例を示すデータ受信装置における
第1割込処理の一例を示すフローチャートである。
【図8】本発明の実施例を示すデータ受信装置における
第2割込処理の一例を示すフローチャートである。
【符号の説明】
10 CPU 11 受信回路 12 ダイレクトメモリアクセス回路 13 記憶装置 15 印刷回路 30 ウォッチドッグタイマ 31 タイムアウト値レジスタ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 (a)CPUと、(b)一時的にデータ
    を格納するための複数の領域を備える記憶装置と、
    (c)上位装置からデータを受信する受信回路と、
    (d)前記CPUを介することなく、該受信回路が受信
    したデータを前記記憶装置の領域に書き込むとともに、
    前記記憶装置の他の領域に格納されたデータを読み出す
    ダイレクトメモリアクセス回路と、(e)受信したデー
    タがあらかじめ設定された数になったとき、前記領域を
    他の領域に切り替えるための第1割込処理を行う手段
    と、(f)前記上位装置からデータを受信した後、あら
    かじめ設定されたタイムアウト時間が経過したときにタ
    イムアウト信号を発生するウォッチドッグタイマと、
    (g)前記タイムアウト信号を受けたときに、受信した
    データがあらかじめ設定された数になっていなくても、
    前記領域を他の領域に切り替えるための第2割込処理を
    行う手段と、(h)前記タイムアウト時間を、前記タイ
    ムアウト信号が発生された時点で前記領域に格納された
    データの数に対応して変更する手段を有することを特徴
    とするデータ受信装置。
JP4114448A 1992-05-07 1992-05-07 データ受信装置 Withdrawn JPH05314058A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4114448A JPH05314058A (ja) 1992-05-07 1992-05-07 データ受信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4114448A JPH05314058A (ja) 1992-05-07 1992-05-07 データ受信装置

Publications (1)

Publication Number Publication Date
JPH05314058A true JPH05314058A (ja) 1993-11-26

Family

ID=14637992

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4114448A Withdrawn JPH05314058A (ja) 1992-05-07 1992-05-07 データ受信装置

Country Status (1)

Country Link
JP (1) JPH05314058A (ja)

Similar Documents

Publication Publication Date Title
JP2822986B2 (ja) Dma内蔵シングルチップマイクロコンピュータ
KR19990067846A (ko) 버스 시스템 동작 방법 및 장치
JPH0123805B2 (ja)
JPH05250305A (ja) データ転送制御方式
JPH01277928A (ja) 印刷装置
US5884074A (en) Microcomputer utilizing flash memory for data storage
US7376853B2 (en) Network apparatus, method for controlling the same, and program for the same
JP2729343B2 (ja) 複数個の処理装置を有する情報処理システムおよびこの情報処理システムにおいて用いられる制御装置ならびに処理装置
KR100348545B1 (ko) 통신 dma 장치
JP2008009817A (ja) 半導体装置及びデータ転送方法
JPH05314058A (ja) データ受信装置
US8639860B2 (en) Data transfer system and data transfer method
JPH06187066A (ja) 複数の中央演算処理装置を有するマイクロプロセッサ
JPH03139751A (ja) 優先度判定機能を有する通信用dmaコントローラ
JP2000347929A (ja) メモリic
JP2002278753A (ja) データ処理システム
JPH0876876A (ja) マイクロプロセッサのクロック供給制御回路
JPS59144955A (ja) 情報処理装置
JP2000295295A (ja) ブロック・データ転送用バッファメモリ及びシリアルデータ送受信システム
JPH10224410A (ja) データ転送方式
JP2000252827A (ja) A/d変換機能を内蔵したシングルチップマイクロコンピュータ
JP2005100247A (ja) Dmaコントローラ
JP2002073351A (ja) データ処理ユニット、データ処理装置および制御方法
JPH0876971A (ja) インターフェース制御装置
JPH11149447A (ja) Cpuアクセス方式

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990803