JP2588396B2 - ダブルバツフア付シリアル受信装置 - Google Patents
ダブルバツフア付シリアル受信装置Info
- Publication number
- JP2588396B2 JP2588396B2 JP62004472A JP447287A JP2588396B2 JP 2588396 B2 JP2588396 B2 JP 2588396B2 JP 62004472 A JP62004472 A JP 62004472A JP 447287 A JP447287 A JP 447287A JP 2588396 B2 JP2588396 B2 JP 2588396B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- register
- shift register
- serial
- flag
- 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 - Lifetime
Links
Landscapes
- Communication Control (AREA)
Description
【発明の詳細な説明】 〔概 要〕 本発明はダブルバッファ付シリアル受信装置におい
て、2ブロックに分かれて連続したデータがバッファに
取込まれたら、後続のデータの取込みを一時禁止して先
のデータの消失を防止する。
て、2ブロックに分かれて連続したデータがバッファに
取込まれたら、後続のデータの取込みを一時禁止して先
のデータの消失を防止する。
本発明は、2ブロック分のデータを保持できるダブル
バッファ付のシリアル受信装置に関する。
バッファ付のシリアル受信装置に関する。
シリアルデータを受信するダブルバッファ付の装置
は、入力段に直列入力、並列出力型のシフトレジスタを
用い、更に該シフトレジスタの並列出力を取込む並列入
力、並列出力型のデータレジスタを用いているので、1
ブロック分のデータをCPUが読込んでいる間に、次のブ
ロックのデータを伝送線上から取込んでおくことができ
る。
は、入力段に直列入力、並列出力型のシフトレジスタを
用い、更に該シフトレジスタの並列出力を取込む並列入
力、並列出力型のデータレジスタを用いているので、1
ブロック分のデータをCPUが読込んでいる間に、次のブ
ロックのデータを伝送線上から取込んでおくことができ
る。
第3図はこの種のシリアル受信装置の部分構成図で、
10は直列入力、並列出力型のシフトレジスタ11および並
列入力、並列出力型のデータレジスタ12からなるダブル
バッファ部、20はCPU(図示せず)への読込みを制御す
る制御装置である。シリアル入力は第4図に示すように
複数ビット(例えば8ビット)のデータA,B,C……をそ
れぞれ1ブロックとして、各ブロックの先頭にスタート
ビット(例えば0)を、また後尾にストップビット(例
えば1)を付加したものである。1ブロックのデータ
(例えばA)のストップビットと次のデータ(例えば
B)のスタートビットとの間には1の区間があり、その
長さはデータ送信元の送信タイミングによって変化す
る。
10は直列入力、並列出力型のシフトレジスタ11および並
列入力、並列出力型のデータレジスタ12からなるダブル
バッファ部、20はCPU(図示せず)への読込みを制御す
る制御装置である。シリアル入力は第4図に示すように
複数ビット(例えば8ビット)のデータA,B,C……をそ
れぞれ1ブロックとして、各ブロックの先頭にスタート
ビット(例えば0)を、また後尾にストップビット(例
えば1)を付加したものである。1ブロックのデータ
(例えばA)のストップビットと次のデータ(例えば
B)のスタートビットとの間には1の区間があり、その
長さはデータ送信元の送信タイミングによって変化す
る。
シフトレジスタ11はシリアル入力を順次シフトインし
て取込み、同時に先のデータをシフトアウトするので、
常に1ブロック分の長さ(ここでは8ビット)のデータ
を保持する。但し、或るブロックのデータ(例えばBと
する)のストップビットが検出されると、その前のデー
タAがデータレジスタ12からCPUへ読込まれたかをソフ
トウエアで検出し、読込み完了していればデータBをハ
ードウエアでデータレジスタ12へ転送し、シフトレジス
タ11で次のデータCの受信状態にする。
て取込み、同時に先のデータをシフトアウトするので、
常に1ブロック分の長さ(ここでは8ビット)のデータ
を保持する。但し、或るブロックのデータ(例えばBと
する)のストップビットが検出されると、その前のデー
タAがデータレジスタ12からCPUへ読込まれたかをソフ
トウエアで検出し、読込み完了していればデータBをハ
ードウエアでデータレジスタ12へ転送し、シフトレジス
タ11で次のデータCの受信状態にする。
上述した動作でデータAのストップビットとデータB
のスタートビットとの間が短かいと、データBをシフト
レジスタ11からデータレジスタ12へ転送しようとして
も、データレジスタ12内のデータAがCPUに読込まれて
いないことがある。この場合、次のデータCが入力する
とシフトレジスタ11はデータBをデータレジスタ12へ転
送していないうちにデータCを取込んでしまうため、デ
ータBがシフトアウトされてしまう。
のスタートビットとの間が短かいと、データBをシフト
レジスタ11からデータレジスタ12へ転送しようとして
も、データレジスタ12内のデータAがCPUに読込まれて
いないことがある。この場合、次のデータCが入力する
とシフトレジスタ11はデータBをデータレジスタ12へ転
送していないうちにデータCを取込んでしまうため、デ
ータBがシフトアウトされてしまう。
このような場合、データA,BがA/D変換データの上位、
下位のように対になっていると、データBの代りにデー
タCを読込んだ結果、あたかもデータA,Cが一対のデー
タとして処理される不都合が生ずる。従来はこの様な点
を回避するために、シリアルデータの転送速度を低下
させるか、制御装置の処理速度を上げるようにしてい
るが、いずれも制御系に負担をかけることになり、好ま
しくない。
下位のように対になっていると、データBの代りにデー
タCを読込んだ結果、あたかもデータA,Cが一対のデー
タとして処理される不都合が生ずる。従来はこの様な点
を回避するために、シリアルデータの転送速度を低下
させるか、制御装置の処理速度を上げるようにしてい
るが、いずれも制御系に負担をかけることになり、好ま
しくない。
本発明はダブルバッファ部内に2ブロック分のデータ
が存在するときは、シフトレジスタ内のデータの更新を
禁止して、上述した問題点を解決しようとするものであ
る。
が存在するときは、シフトレジスタ内のデータの更新を
禁止して、上述した問題点を解決しようとするものであ
る。
〔問題点を解決するための手段〕 本発明では、データレジスタ(12)内に読込み未完の
データがあることを示すフラグ(F1)と、シフトレジス
タ(11)内にデータレジスタ(12)への転送未完のデー
タがあることを示すフラグ(F2)とを設け、両フラグ
(F1,F2)が共にセットされているときはシフトレジス
タ(11)への新たなシリアルデータの取込みを禁止す
る。
データがあることを示すフラグ(F1)と、シフトレジス
タ(11)内にデータレジスタ(12)への転送未完のデー
タがあることを示すフラグ(F2)とを設け、両フラグ
(F1,F2)が共にセットされているときはシフトレジス
タ(11)への新たなシリアルデータの取込みを禁止す
る。
フラグ(F1)がセットされているとシフトレジスタ
(11)はデータレジスタ(12)へデータ転送することは
できない。この状態でシフトレジスタ(11)にシリアル
データが入力するとフラグ(F2)がセットされる。この
ときまでにデータレジスタ(12)の読込みが完了してい
ればフラグ(F1)がリセットされているので、シフトレ
ジスタ(11)からデータレジスタ(12)へデータ転送で
きる。しかし、読込み未完でフラグ(F1)がセットされ
たままであると、フラグ(F2)がセットされた時点でダ
ブルバッファ内には2ブロック分のデータが残っている
ことになる。そこで、この場合にはシフトレジスタ(1
1)への新たなシリアルデータの取込みを禁止し、ダブ
ルバッファ内のデータ(第4図の例であればA,B)を確
実に読込ませる。このとき取込みが禁止されるデータ
(第4図の例ではC)は伝送線上で消失する。このデー
タCはデータAとは無関係であるので、データCを失う
ことは、データBを失ってデータA,Cを対として処理す
るよりはるかに影響が少ない。
(11)はデータレジスタ(12)へデータ転送することは
できない。この状態でシフトレジスタ(11)にシリアル
データが入力するとフラグ(F2)がセットされる。この
ときまでにデータレジスタ(12)の読込みが完了してい
ればフラグ(F1)がリセットされているので、シフトレ
ジスタ(11)からデータレジスタ(12)へデータ転送で
きる。しかし、読込み未完でフラグ(F1)がセットされ
たままであると、フラグ(F2)がセットされた時点でダ
ブルバッファ内には2ブロック分のデータが残っている
ことになる。そこで、この場合にはシフトレジスタ(1
1)への新たなシリアルデータの取込みを禁止し、ダブ
ルバッファ内のデータ(第4図の例であればA,B)を確
実に読込ませる。このとき取込みが禁止されるデータ
(第4図の例ではC)は伝送線上で消失する。このデー
タCはデータAとは無関係であるので、データCを失う
ことは、データBを失ってデータA,Cを対として処理す
るよりはるかに影響が少ない。
第1図は本発明の一実施例を示す構成図で、シフトレ
ジスタ11にはデータ転送未完フラグF2が、またデータレ
ジスタ12にはデータ読込み未完フラグF1が付加されてい
る。これらフラグF1,F2はナンドゲートG1の2入力とな
る。このナンドゲートG1の出力はシリアル入力を通過さ
せるアンドゲートG2の開閉制御信号となり、F1=F2=1
のときは制御出力(シリアル入力禁止線)を0としてア
ンドゲートG2を閉じる。これでシフトレジスタ11へのシ
リアル入力は禁止される。
ジスタ11にはデータ転送未完フラグF2が、またデータレ
ジスタ12にはデータ読込み未完フラグF1が付加されてい
る。これらフラグF1,F2はナンドゲートG1の2入力とな
る。このナンドゲートG1の出力はシリアル入力を通過さ
せるアンドゲートG2の開閉制御信号となり、F1=F2=1
のときは制御出力(シリアル入力禁止線)を0としてア
ンドゲートG2を閉じる。これでシフトレジスタ11へのシ
リアル入力は禁止される。
フラグF1はCPUがデータレジスタ12内のデータの読込
みを完了するとリセットされ(F1=0)、またシフトレ
ジスタ11から新たなデータが転送されるとセットされる
(F1=1)。一方、フラグF2はシフトレジスタ11に新た
なデータが入力してそのストップビットが検出されると
セットされ(F2=1)、該データをデータレジスタ12へ
転送するとリセットされる(F2=0)。
みを完了するとリセットされ(F1=0)、またシフトレ
ジスタ11から新たなデータが転送されるとセットされる
(F1=1)。一方、フラグF2はシフトレジスタ11に新た
なデータが入力してそのストップビットが検出されると
セットされ(F2=1)、該データをデータレジスタ12へ
転送するとリセットされる(F2=0)。
第2図はシリアルデータがA,B,C,……の順に受信され
る場合のタイムチャートである。最初のデータAがシフ
トレジスタ11に取込まれると、そのストップビットでフ
ラグF2がセットされる。この状態でデータレジスタ12が
空いていたらシフトレジスタ11からデータレジスタ12へ
データAを並列に転送する。この結果フラグF2は0にな
り、フラグF1は1になる。第2図はこの状態から先の動
作を示している。
る場合のタイムチャートである。最初のデータAがシフ
トレジスタ11に取込まれると、そのストップビットでフ
ラグF2がセットされる。この状態でデータレジスタ12が
空いていたらシフトレジスタ11からデータレジスタ12へ
データAを並列に転送する。この結果フラグF2は0にな
り、フラグF1は1になる。第2図はこの状態から先の動
作を示している。
次のデータBがシフトレジスタ11に入力するとそのス
トップビットでフラグF2がセットされる。このときまで
にデータレジスタ12内のデータAがCPUによって読込ま
れていればフラグF1は0になっているので、データBを
シフトレジスタ11からデータレジスタ12へ転送できる。
しかし、第2図のようにデータAの読込みが完了してい
ないときはフラグF1が1のままなので、フラグF2が1に
なったときにシリアル入力禁止線は0となり、ゲートG2
を閉じる。従って、この状態で後続のデータCが来ても
シフトレジスタ11には取込まれない。データCは伝送線
上で消失するが、対となるデータA,Bはダブルバッファ1
0内に確実に保存されてCPUにより読取られる。
トップビットでフラグF2がセットされる。このときまで
にデータレジスタ12内のデータAがCPUによって読込ま
れていればフラグF1は0になっているので、データBを
シフトレジスタ11からデータレジスタ12へ転送できる。
しかし、第2図のようにデータAの読込みが完了してい
ないときはフラグF1が1のままなので、フラグF2が1に
なったときにシリアル入力禁止線は0となり、ゲートG2
を閉じる。従って、この状態で後続のデータCが来ても
シフトレジスタ11には取込まれない。データCは伝送線
上で消失するが、対となるデータA,Bはダブルバッファ1
0内に確実に保存されてCPUにより読取られる。
〔発明の効果〕 以上述べたように本発明によれば、ダブルバッファ付
シリアル受信装置において、制御装置に負担をかけた
り、転送速度を低下させることなく、対となる2ブロッ
クのデータを確実に受信することができる。また、シフ
ト、データ両レジスタのそれぞれにデータを保持するこ
とでデータの転送効率を良くすることができると共に、
それぞれのレジスタにデータがあるときはシフトレジス
タへのデータの取込みを禁止し、保持しているデータの
消去を防止することができる、という効果が得られる。
シリアル受信装置において、制御装置に負担をかけた
り、転送速度を低下させることなく、対となる2ブロッ
クのデータを確実に受信することができる。また、シフ
ト、データ両レジスタのそれぞれにデータを保持するこ
とでデータの転送効率を良くすることができると共に、
それぞれのレジスタにデータがあるときはシフトレジス
タへのデータの取込みを禁止し、保持しているデータの
消去を防止することができる、という効果が得られる。
第1図は本発明の一実施例を示す構成図、 第2図はその動作を示すタイムチャート、 第3図は従来のシリアル受信装置の構成図、 第4図はシリアルデータの説明図である。
Claims (1)
- 【請求項1】1ブロック分のシリアルデータを取込むシ
フトレジスタ(11)と、該シフトレジスタ(11)から1
ブロック分のデータが並列転送されるデータレジスタ
(12)とを備え、該データレジスタ(12)内のデータを
CPUで読込むダブルバッファ付シリアル受信装置におい
て、該データレジスタ(12)内にCPUが読込み未完のデ
ータがあることを示すフラグ(F1)と、該シフトレジス
タ(11)内に該データレジスタ(12)への転送未完のデ
ータがあることを示すフラグ(F2)とを設け、該シフト
レジスタ(11)にデータが取り込まれ、該データレジス
タ(12)にCPUの読込み未完のデータのないときには、
該シフトレジスタ(11)から該データレジスタ(12)へ
データが転送され、前記シフトレジスタと前記データレ
ジスタの両レジスタにデータがあり、両フラグ(F1、
F2)が共にセットされているときは該シフトレジスタ
(11)への新たなシリアルデータの取込みを禁止するよ
うに制御することを特徴とするダブルバッファ付シリア
ル受信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62004472A JP2588396B2 (ja) | 1987-01-12 | 1987-01-12 | ダブルバツフア付シリアル受信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62004472A JP2588396B2 (ja) | 1987-01-12 | 1987-01-12 | ダブルバツフア付シリアル受信装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63172540A JPS63172540A (ja) | 1988-07-16 |
JP2588396B2 true JP2588396B2 (ja) | 1997-03-05 |
Family
ID=11585061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62004472A Expired - Lifetime JP2588396B2 (ja) | 1987-01-12 | 1987-01-12 | ダブルバツフア付シリアル受信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2588396B2 (ja) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS4953342A (ja) * | 1972-09-27 | 1974-05-23 | ||
JPS5759243A (en) * | 1980-09-26 | 1982-04-09 | Toshiba Corp | Buffer circuit |
JPS5819063A (ja) * | 1981-07-27 | 1983-02-03 | Nec Corp | 回線アダプタ |
JPS59177647A (ja) * | 1983-03-28 | 1984-10-08 | Fujitsu Ltd | ステ−タス確認制御方式 |
-
1987
- 1987-01-12 JP JP62004472A patent/JP2588396B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS63172540A (ja) | 1988-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR0165515B1 (ko) | 그래픽 데이터의 선입선출기 및 선입선출 방법 | |
JPH05274259A (ja) | シリアル入力インタフェース回路 | |
US4800490A (en) | Buffer storage control system having a priority circuit | |
JP2588396B2 (ja) | ダブルバツフア付シリアル受信装置 | |
US5896384A (en) | Method and apparatus for transferring deterministic latency packets in a ringlet | |
US20020099880A1 (en) | Direct memory accessing | |
US4562534A (en) | Data processing system having a control device for controlling an intermediate memory during a bulk data transport between a source device and a destination device | |
EP0321568A1 (en) | Pipeline control system | |
JPS6211736B2 (ja) | ||
US5416745A (en) | Parallel data transfer circuit | |
JP3667556B2 (ja) | Dma転送制御装置およびdma転送制御方法 | |
JP2865717B2 (ja) | 情報処理装置及び命令処理方法 | |
JP2531188B2 (ja) | バツフアメモリ | |
JPH05324529A (ja) | データ転送装置及びデータ転送方法 | |
JPS61107593A (ja) | 磁気バブルメモリ装置 | |
JPH0252543A (ja) | シリアルデータの受信装置 | |
JPH023345B2 (ja) | ||
JPH0228724A (ja) | 分岐命令制御方式 | |
SU807297A1 (ru) | Устройство дл управлени обслужива-НиЕМ зА ВОК B пОР дКЕ пОСТуплЕНи | |
JP3146864B2 (ja) | 単方向ループ型伝送回路 | |
JPS62232034A (ja) | フア−ムウエアロ−ド方式 | |
JPH0877125A (ja) | 非同期データの同期化転送方式 | |
JPH0683639A (ja) | レジスタ装置 | |
KR20010087887A (ko) | 연산 기능을 갖는 다이렉트 메모리 액세스 장치 | |
JPH10105375A (ja) | 非同期fifoバッファ装置 |