JPH06243052A - シリアル通信エラー処理方法 - Google Patents
シリアル通信エラー処理方法Info
- Publication number
- JPH06243052A JPH06243052A JP5029412A JP2941293A JPH06243052A JP H06243052 A JPH06243052 A JP H06243052A JP 5029412 A JP5029412 A JP 5029412A JP 2941293 A JP2941293 A JP 2941293A JP H06243052 A JPH06243052 A JP H06243052A
- Authority
- JP
- Japan
- Prior art keywords
- level
- signal
- data
- communication
- terminal
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title description 4
- 230000005540 biological transmission Effects 0.000 claims abstract description 35
- 238000000034 method Methods 0.000 claims description 5
- 230000002159 abnormal effect Effects 0.000 abstract description 2
- 238000001514 detection method Methods 0.000 description 7
- 230000000630 rising effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000003708 edge detection Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 2
- 101000860173 Myxococcus xanthus C-factor Proteins 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【目的】 シリアル通信でハングアップに入ることを防
止する。 【構成】 マイクロコンピュータは、ICとシリアル通
信でアドレスの送信及びデータの送受信を行う。マイク
ロコンピュータは、ACK信号がHレベルを確認してS
TB信号をLレベルにする。この直後にICがACK信
号をLレベルにすると、入出力信号として8ビット分の
アドレスまたはデータを送受信する。SCK信号はこの
ときクロックパルスを送出している。送受信が正常に終
了すると、ACK信号がHレベルになってからマイクロ
コンピュータはSTB信号をHレベルにする。マイクロ
コンピュータは、一定時間たってもACK信号がHレベ
ルにならないときは通信エラーが発生したものと判断
し、強制的にSTB信号をHレベルにして通信を異常終
了させる。ICは、通信が異常終了すると、入力中のア
ドレスまたはデータをラッチしない。異常通信終了後
に、マイクロコンピュータ、STB信号をLレベルにし
て通信エラーが生じたアドレス又はデータから通信を再
開する。
止する。 【構成】 マイクロコンピュータは、ICとシリアル通
信でアドレスの送信及びデータの送受信を行う。マイク
ロコンピュータは、ACK信号がHレベルを確認してS
TB信号をLレベルにする。この直後にICがACK信
号をLレベルにすると、入出力信号として8ビット分の
アドレスまたはデータを送受信する。SCK信号はこの
ときクロックパルスを送出している。送受信が正常に終
了すると、ACK信号がHレベルになってからマイクロ
コンピュータはSTB信号をHレベルにする。マイクロ
コンピュータは、一定時間たってもACK信号がHレベ
ルにならないときは通信エラーが発生したものと判断
し、強制的にSTB信号をHレベルにして通信を異常終
了させる。ICは、通信が異常終了すると、入力中のア
ドレスまたはデータをラッチしない。異常通信終了後
に、マイクロコンピュータ、STB信号をLレベルにし
て通信エラーが生じたアドレス又はデータから通信を再
開する。
Description
【0001】
【産業上の利用分野】本発明は、シリアル通信エラー処
理方法に関するものである。
理方法に関するものである。
【0002】
【従来の技術】マイクロコンピュータとICとの間、マ
イクロコンピュータとマイクロコンピュータとの間でデ
ータを通信する際に、データ量が少ない場合はシリアル
通信が用いられることが多い。このシリアル通信は伝送
するデータのビット数に合わせたデータ伝送線の本数が
必要なく、データ線は2本又は1本でよいから、データ
伝送線の本数や接続ピンの個数に制約があったりする場
合に大変便利である。
イクロコンピュータとマイクロコンピュータとの間でデ
ータを通信する際に、データ量が少ない場合はシリアル
通信が用いられることが多い。このシリアル通信は伝送
するデータのビット数に合わせたデータ伝送線の本数が
必要なく、データ線は2本又は1本でよいから、データ
伝送線の本数や接続ピンの個数に制約があったりする場
合に大変便利である。
【0003】シリアル通信では、データの他にタイミン
グ信号や送受信の状態をそれぞれ相手側に知らせる制御
信号が用いられ、これらの信号は各信号線を用いて入出
力されている。双方が通信を行う場合は、制御信号の状
態からデータ送受信可能状態、送受信待機状態や要求、
送信開始、受け取り完了などの状態を判断している。
グ信号や送受信の状態をそれぞれ相手側に知らせる制御
信号が用いられ、これらの信号は各信号線を用いて入出
力されている。双方が通信を行う場合は、制御信号の状
態からデータ送受信可能状態、送受信待機状態や要求、
送信開始、受け取り完了などの状態を判断している。
【0004】
【発明が解決しようとする課題】しかしながら上記の方
法では、何らかの理由で通信エラーが発生し、通信相手
の一方がデータの入力されるのを待ち、他方はデータの
受け取りの完了信号を待つといった状態が起こることが
ある。この状態になると双方は相手方からの信号を待ち
続けるため、以降のステップに進まないハングアップに
なってしまう。1度ハングアップしてしまったら、外部
から通信のリセット信号を入力したり、装置の電源を切
ってからもう1度入れてイニシャライズをしなくてはこ
の状態から抜け出せないので大変面倒であるとともに、
このようにして復帰したとしても、正常に通信した有効
なデータが消去されたるため、大変都合が悪い。
法では、何らかの理由で通信エラーが発生し、通信相手
の一方がデータの入力されるのを待ち、他方はデータの
受け取りの完了信号を待つといった状態が起こることが
ある。この状態になると双方は相手方からの信号を待ち
続けるため、以降のステップに進まないハングアップに
なってしまう。1度ハングアップしてしまったら、外部
から通信のリセット信号を入力したり、装置の電源を切
ってからもう1度入れてイニシャライズをしなくてはこ
の状態から抜け出せないので大変面倒であるとともに、
このようにして復帰したとしても、正常に通信した有効
なデータが消去されたるため、大変都合が悪い。
【0005】本発明は上記問題点を解消するためになさ
れたもので、通信エラーを確実に判断し、ハングアップ
することなく通信が再開されるようにしたシリアル通信
のエラー処理方法を提供することを目的とする。
れたもので、通信エラーを確実に判断し、ハングアップ
することなく通信が再開されるようにしたシリアル通信
のエラー処理方法を提供することを目的とする。
【0006】
【課題を解決するための手段】本発明は上記目的を達成
するために、送信側から受信側へデータをシリアルに送
る通信において、送信側から受信側に送信要求信号を送
るための第1の通信線と、受信側から送信側に受信要求
信号を送るための第2の通信線とを設け、データ通信時
に送信側は送信要求信号を発生を開始し、受信要求信号
の発生停止を確認してから送信要求信号の発生を停止
し、受信側は送信要求信号の受取直後からデータの受信
が終了するまで受信要求信号を発生しており、送信要求
信号の発生開始時点から一定時間が経過したときに、受
信要求信号が発生したままであるときには、送信側は通
信エラーが発生したものと判断して送信要求信号の発生
を停止し、その後通信エラーが発生したデータを再送信
するために送信要求信号を発生し、他方受信側は受信要
求信号の発生中に送信要求信号の発生が停止したときに
通信エラーが発生したものと判断して受信中のデータを
廃棄する。
するために、送信側から受信側へデータをシリアルに送
る通信において、送信側から受信側に送信要求信号を送
るための第1の通信線と、受信側から送信側に受信要求
信号を送るための第2の通信線とを設け、データ通信時
に送信側は送信要求信号を発生を開始し、受信要求信号
の発生停止を確認してから送信要求信号の発生を停止
し、受信側は送信要求信号の受取直後からデータの受信
が終了するまで受信要求信号を発生しており、送信要求
信号の発生開始時点から一定時間が経過したときに、受
信要求信号が発生したままであるときには、送信側は通
信エラーが発生したものと判断して送信要求信号の発生
を停止し、その後通信エラーが発生したデータを再送信
するために送信要求信号を発生し、他方受信側は受信要
求信号の発生中に送信要求信号の発生が停止したときに
通信エラーが発生したものと判断して受信中のデータを
廃棄する。
【0007】
【実施例】図2は本発明を用いて通信を行うマイクロコ
ンピュータとICのブロック図である。同一セット内に
あるマイクロコンピュータ1とIC2は、複数の信号線
で接続されており、この信号線にはSTB信号、ACK
信号、入出力信号、SCK信号、ALD信号、WLR信
号用とがある。IC2はマイクロコンピュータ1から指
定されたアドレスを保持し、そのアドレスにマイクロコ
ンピュータ1が送出したデータを書き込む機能とそのア
ドレスのデータを読み出しマイクロコンピュータ1に送
出できる機能を持っている。
ンピュータとICのブロック図である。同一セット内に
あるマイクロコンピュータ1とIC2は、複数の信号線
で接続されており、この信号線にはSTB信号、ACK
信号、入出力信号、SCK信号、ALD信号、WLR信
号用とがある。IC2はマイクロコンピュータ1から指
定されたアドレスを保持し、そのアドレスにマイクロコ
ンピュータ1が送出したデータを書き込む機能とそのア
ドレスのデータを読み出しマイクロコンピュータ1に送
出できる機能を持っている。
【0008】STB信号はマイクロコンピュータ1から
の送信要求信号である。ACK信号はIC2からの受信
要求信号である。入出力信号にはアドレスとデータとが
あり、これらは8ビットで構成され、1ビットずつマイ
クロコンピュータ1とIC2との間でやりとりされる。
この8ビットの入出力信号の区切りを示すために、SK
C信号がクロックパルスとしてマイクロコンピュータ1
からIC2に送られる。ALD信号はアドレスとデータ
の選択をする信号であり、マイクロコンピュータ1はア
ドレスを送出するときはALD信号をLレベルにし、デ
ータを入出力するときはHレベルにする。STB信号お
よびALD信号、SCK信号はマイクロコンピュータ1
からIC2に入力される。ACK信号はIC2からマイ
クロコンピュータ1に入力される。マイクロコンピュー
タ1はこのACK信号がクロックパルスの1周期よりも
長い時間経過した後にもHレベルになっていると、AC
K信号がHレベルになったことを検知する。さらに、マ
イクロコンピュータ1はACK信号が一定時間以上Lレ
ベルにあると、通信エラーが発生したと判断しSTB信
号を強制的にHレベルにする。
の送信要求信号である。ACK信号はIC2からの受信
要求信号である。入出力信号にはアドレスとデータとが
あり、これらは8ビットで構成され、1ビットずつマイ
クロコンピュータ1とIC2との間でやりとりされる。
この8ビットの入出力信号の区切りを示すために、SK
C信号がクロックパルスとしてマイクロコンピュータ1
からIC2に送られる。ALD信号はアドレスとデータ
の選択をする信号であり、マイクロコンピュータ1はア
ドレスを送出するときはALD信号をLレベルにし、デ
ータを入出力するときはHレベルにする。STB信号お
よびALD信号、SCK信号はマイクロコンピュータ1
からIC2に入力される。ACK信号はIC2からマイ
クロコンピュータ1に入力される。マイクロコンピュー
タ1はこのACK信号がクロックパルスの1周期よりも
長い時間経過した後にもHレベルになっていると、AC
K信号がHレベルになったことを検知する。さらに、マ
イクロコンピュータ1はACK信号が一定時間以上Lレ
ベルにあると、通信エラーが発生したと判断しSTB信
号を強制的にHレベルにする。
【0009】WLR信号は、マイクロコンピュータから
指定されたアドレスに、マイクロコンピュータ1からI
C2にデータを書き込むのか、IC2のデータをマイク
ロコンピュータ1に読み出すのかを選択する。マイクロ
コンピュータ1がデータの読み込みを選択してるとき
は、IC2は指定されたアドレスのデータをSCK信号
に同期させて入出力信号として送り出す。また、書き込
みに設定されているときはマイクロコンピュータ1から
のデータを受け取ることができる。
指定されたアドレスに、マイクロコンピュータ1からI
C2にデータを書き込むのか、IC2のデータをマイク
ロコンピュータ1に読み出すのかを選択する。マイクロ
コンピュータ1がデータの読み込みを選択してるとき
は、IC2は指定されたアドレスのデータをSCK信号
に同期させて入出力信号として送り出す。また、書き込
みに設定されているときはマイクロコンピュータ1から
のデータを受け取ることができる。
【0010】図1はIC2の主要部の論理回路図であ
る。マイクロコンピュータ1からのSTB信号はORゲ
ート25a、インバータ29a、立ち下がり検出回路2
1及び立ち上がり検出回路22に入力される。立ち下が
り検出回路21はSTB信号の立ち下がり(Hレベルか
らLレベルに変化)で短いパルス(Hレベル)を1個発
生し、そのパルスをJK−FF23のK端子、ANDゲ
ート24a及びORゲート25bに出力する。立ち上が
り検出回路22はSTB信号の立ち上がり(Lレベルか
らHレベルに変化)で短いパルス(Hレベル)を1個発
生し、その出力をANDゲート23b、23c、26、
27に出力する。
る。マイクロコンピュータ1からのSTB信号はORゲ
ート25a、インバータ29a、立ち下がり検出回路2
1及び立ち上がり検出回路22に入力される。立ち下が
り検出回路21はSTB信号の立ち下がり(Hレベルか
らLレベルに変化)で短いパルス(Hレベル)を1個発
生し、そのパルスをJK−FF23のK端子、ANDゲ
ート24a及びORゲート25bに出力する。立ち上が
り検出回路22はSTB信号の立ち上がり(Lレベルか
らHレベルに変化)で短いパルス(Hレベル)を1個発
生し、その出力をANDゲート23b、23c、26、
27に出力する。
【0011】JK−FF23および後述のJK−FF2
5は共にJK型フリップフロップ回路であり、J端子が
Lレベル、K端子がLレベルでQ端子の出力は変化せ
ず、J端子がHレベル、K端子がLレベルで出力QはH
レベルになり、J端子がLレベル、K端子がHレベルで
出力QはLレベルになり、J端子がHレベル、K端子が
HレベルでQ端子の出力が反転する。Q端子の出力はJ
端子及びK端子の変化が生じてからクロック半周期以内
の遅れで変化する。
5は共にJK型フリップフロップ回路であり、J端子が
Lレベル、K端子がLレベルでQ端子の出力は変化せ
ず、J端子がHレベル、K端子がLレベルで出力QはH
レベルになり、J端子がLレベル、K端子がHレベルで
出力QはLレベルになり、J端子がHレベル、K端子が
HレベルでQ端子の出力が反転する。Q端子の出力はJ
端子及びK端子の変化が生じてからクロック半周期以内
の遅れで変化する。
【0012】マイクロコンピュータ1から送出されたS
CK信号は、ANDゲート29に入力される。インバー
タ29aの出力は、ANDゲート29に入力されてお
り、STB信号がLレベルの時のみにSCK信号のクロ
ックパルスはカウンタ24及びANDゲート25cに入
力される。カウンタ24はSCK信号のクロックパルス
の立ち下がりで計数し、そのカウント数は2進数で低い
桁からQA端子、QB端子、QC端子、QD端子、CO
端子の順に出力する。カウンタ24は24aからパルス
(Hレベル)が送られるとその値を「0」にする(QA
端子〜QD端子,CO端子の出力が全てLレベルにな
る)。QA端子,QB端子,QC端子の出力はNORゲ
ート25dに、QD端子の出力はインバータ25eを介
してNORゲート25dに入力されている。
CK信号は、ANDゲート29に入力される。インバー
タ29aの出力は、ANDゲート29に入力されてお
り、STB信号がLレベルの時のみにSCK信号のクロ
ックパルスはカウンタ24及びANDゲート25cに入
力される。カウンタ24はSCK信号のクロックパルス
の立ち下がりで計数し、そのカウント数は2進数で低い
桁からQA端子、QB端子、QC端子、QD端子、CO
端子の順に出力する。カウンタ24は24aからパルス
(Hレベル)が送られるとその値を「0」にする(QA
端子〜QD端子,CO端子の出力が全てLレベルにな
る)。QA端子,QB端子,QC端子の出力はNORゲ
ート25dに、QD端子の出力はインバータ25eを介
してNORゲート25dに入力されている。
【0013】ORゲート27aにはNORゲート25d
の出力及びカウンタ24のCO端子の出力が入力され
る。カウンタはSCK信号のクロックパルスを1から順
に計数していき8個目にQD端子〜QA端子の出力が
「H,L,L,L」になるので、出力がHレベルにな
る。カウンタ24がクロックパルスを16個目を計数し
たときには、CO端子の出力が「H」になっている。
の出力及びカウンタ24のCO端子の出力が入力され
る。カウンタはSCK信号のクロックパルスを1から順
に計数していき8個目にQD端子〜QA端子の出力が
「H,L,L,L」になるので、出力がHレベルにな
る。カウンタ24がクロックパルスを16個目を計数し
たときには、CO端子の出力が「H」になっている。
【0014】ORゲート27aの出力はワンショット回
路27に入力される。カウンタ24のCO端子の出力は
ワンショット回路28にも入力されている。ワンショッ
ト回路27及び28は入力される信号の立ち上がりで短
いパルスを1個出力する。ワンショット回路27からの
パルスはORゲート25aに入力される。ワンショット
回路28のパルスはORゲート23aに入力される。A
LD信号はANDゲート27に入力され、またALD信
号はインバータ26aを介してANDゲート23b、2
6に入力されている。
路27に入力される。カウンタ24のCO端子の出力は
ワンショット回路28にも入力されている。ワンショッ
ト回路27及び28は入力される信号の立ち上がりで短
いパルスを1個出力する。ワンショット回路27からの
パルスはORゲート25aに入力される。ワンショット
回路28のパルスはORゲート23aに入力される。A
LD信号はANDゲート27に入力され、またALD信
号はインバータ26aを介してANDゲート23b、2
6に入力されている。
【0015】ORゲート25aからの出力はJK−FF
25のJ端子に入力されている。JK−FF25のK端
子にはORゲート25bの出力が入力されている。OR
ゲート25bの入力にはANDゲート25cの出力が入
力されている。JK−FF25のQの出力はACK信号
として出力され、さらにANDゲート25c、26、2
7に入力されている。INV−Q端子からはQ端子の出
力を反転した出力がされる。INV−Q端子の出力はA
NDゲート23cに入力されている。
25のJ端子に入力されている。JK−FF25のK端
子にはORゲート25bの出力が入力されている。OR
ゲート25bの入力にはANDゲート25cの出力が入
力されている。JK−FF25のQの出力はACK信号
として出力され、さらにANDゲート25c、26、2
7に入力されている。INV−Q端子からはQ端子の出
力を反転した出力がされる。INV−Q端子の出力はA
NDゲート23cに入力されている。
【0016】ANDゲート23bの出力はORゲート2
3aに入力されている。ANDゲート23cの出力はO
Rゲート23aに入力されている。23aの出力はJK
−FF23のJ端子に入力されている。JK−FF23
のQ端子の出力はANDゲート24a及び27に入力さ
れている。
3aに入力されている。ANDゲート23cの出力はO
Rゲート23aに入力されている。23aの出力はJK
−FF23のJ端子に入力されている。JK−FF23
のQ端子の出力はANDゲート24a及び27に入力さ
れている。
【0017】ANDゲート26はADWTE信号を出力
する。ANDゲート26が出力するパルスによってIC
2はマイクロコンピュータ1が送出したアドレスをラッ
チする。また、ANDゲート27はDWTE信号を出力
する。ANDゲート27が出力するパルスによってマイ
クロコンピュータ1から送出されたデータをラッチす
る。
する。ANDゲート26が出力するパルスによってIC
2はマイクロコンピュータ1が送出したアドレスをラッ
チする。また、ANDゲート27はDWTE信号を出力
する。ANDゲート27が出力するパルスによってマイ
クロコンピュータ1から送出されたデータをラッチす
る。
【0018】次に図2に示す回路の作用について、図3
から図6を参照して説明する。電源投入時の初期状態と
して、STB信号、JK−FF23のQ端子、ALD信
号はHレベルに設定される。正常な通信のときは次のよ
うに作動する。まずマイクロコンピュータ1はACK信
号のHレベルを検知するとALD信号、WLR信号及び
STB信号をLレベルにする。このときのLレベルにす
るタイミングはALD信号、WLR信号、STB信号を
同時にLレベルにしてもよいし、STB信号を少し遅ら
せてもよい。
から図6を参照して説明する。電源投入時の初期状態と
して、STB信号、JK−FF23のQ端子、ALD信
号はHレベルに設定される。正常な通信のときは次のよ
うに作動する。まずマイクロコンピュータ1はACK信
号のHレベルを検知するとALD信号、WLR信号及び
STB信号をLレベルにする。このときのLレベルにす
るタイミングはALD信号、WLR信号、STB信号を
同時にLレベルにしてもよいし、STB信号を少し遅ら
せてもよい。
【0019】STB信号の立ち下がりによって立ち下が
り検出回路21からのパルスが出力されると、JK−F
F23のQ端子がHレベルになっているので、ANDゲ
ート24aからパルスが出力され、カウンタ24をクリ
アする。またJK−FF23のK端子もHレベルが入力
されるので少し遅れてQはLレベルになる。さらに、J
K−FF25のJ端子はLレベルになり、K端子はHレ
ベルが入力されるのでJK−FF25のQ端子から出力
されるACK信号は少し遅れてLレベルになる。
り検出回路21からのパルスが出力されると、JK−F
F23のQ端子がHレベルになっているので、ANDゲ
ート24aからパルスが出力され、カウンタ24をクリ
アする。またJK−FF23のK端子もHレベルが入力
されるので少し遅れてQはLレベルになる。さらに、J
K−FF25のJ端子はLレベルになり、K端子はHレ
ベルが入力されるのでJK−FF25のQ端子から出力
されるACK信号は少し遅れてLレベルになる。
【0020】マイクロコンピュータ1はACK信号がL
レベルになるのを確認すると、SCK信号で8個のクロ
ックパルスの送出とともに、入出力信号として8ビット
のアドレスデータのを送出する。クロックパルス8個目
をカウンタ24が計数するとJK−FF25のJ端子に
はHレベルが入力され、ACK信号はHレベルになる。
マイクロコンピュータ1は、ACK信号がHレベルにな
ったのを検知すると、STB信号をHレベルにする。
レベルになるのを確認すると、SCK信号で8個のクロ
ックパルスの送出とともに、入出力信号として8ビット
のアドレスデータのを送出する。クロックパルス8個目
をカウンタ24が計数するとJK−FF25のJ端子に
はHレベルが入力され、ACK信号はHレベルになる。
マイクロコンピュータ1は、ACK信号がHレベルにな
ったのを検知すると、STB信号をHレベルにする。
【0021】STB信号が立ち上がると、立ち上がり検
出回路22がパルスを送出する。これにより、ALD信
号をインバータ26aで反転さセた信号及びJK−FF
25のQ端子がHレベルになっているから、ANDゲー
ト26がADWTE信号のパルスを出力する。このAD
WTE信号によってIC2にマイクロコンピュータ1か
ら送出されたアドレスデータがラッチされる。また、J
K−FF23のJ端子にはHレベルが入力されるので、
Q端子はHレベルになる。その後JK−FF25のQ端
子にはSTB信号のHレベルが入力されるが、QはHレ
ベルの状態から変化はしない。
出回路22がパルスを送出する。これにより、ALD信
号をインバータ26aで反転さセた信号及びJK−FF
25のQ端子がHレベルになっているから、ANDゲー
ト26がADWTE信号のパルスを出力する。このAD
WTE信号によってIC2にマイクロコンピュータ1か
ら送出されたアドレスデータがラッチされる。また、J
K−FF23のJ端子にはHレベルが入力されるので、
Q端子はHレベルになる。その後JK−FF25のQ端
子にはSTB信号のHレベルが入力されるが、QはHレ
ベルの状態から変化はしない。
【0022】マイクロコンピュータ1はACK信号がH
レベルであることを確認した後に、ALD信号をHレベ
ルにし、WLR信号をデータ書き込みまたは読み出しに
設定し、STB信号をLレベルにする。STB信号が立
ち下がると、立ち下がり検出回路21からパルスが出力
され、カウンタ24はクリアされる。さらにJK−FF
23ではK端子にHレベルが入力され、遅れてQ端子が
Lレベルになる。また、JK−FF25では、J端子は
Lレベルになり、K端子にはHレベルが入力されるか
ら、遅れてQ端子すなわちACK信号がLレベルにな
る。
レベルであることを確認した後に、ALD信号をHレベ
ルにし、WLR信号をデータ書き込みまたは読み出しに
設定し、STB信号をLレベルにする。STB信号が立
ち下がると、立ち下がり検出回路21からパルスが出力
され、カウンタ24はクリアされる。さらにJK−FF
23ではK端子にHレベルが入力され、遅れてQ端子が
Lレベルになる。また、JK−FF25では、J端子は
Lレベルになり、K端子にはHレベルが入力されるか
ら、遅れてQ端子すなわちACK信号がLレベルにな
る。
【0023】ACK信号のLレベルをマイクロコンピュ
ータ1が確認すると、クロックパルスの送出とともに入
出力信号でデータの上位8ビットを送受信する。カウン
タ24が8個のパルスを計数すると、JK−FF25で
はJ端子にHレベルが入力されてACK信号がHレベル
になる。マイクロコンピュータ1は、ACK信号のHレ
ベルを検知してから、STB信号をHレベルにする。こ
のときJK−FF23のJ端子はHレベルにならないの
でQ端子はLレベルのままである。この時点でDWTE
信号のパルスは出ていないから、データをラッチしな
い。
ータ1が確認すると、クロックパルスの送出とともに入
出力信号でデータの上位8ビットを送受信する。カウン
タ24が8個のパルスを計数すると、JK−FF25で
はJ端子にHレベルが入力されてACK信号がHレベル
になる。マイクロコンピュータ1は、ACK信号のHレ
ベルを検知してから、STB信号をHレベルにする。こ
のときJK−FF23のJ端子はHレベルにならないの
でQ端子はLレベルのままである。この時点でDWTE
信号のパルスは出ていないから、データをラッチしな
い。
【0024】マイクロコンピュータ1は、一定時間後に
STB信号をLレベルにする。このとき立ち下がり検出
回路21からパルスが出力されても、JK−FF23の
Q端子はLレベルであるから、カウンタはクリアされな
い。JK−FF25ではK端子にHレベルが入力される
ので、少し遅れてACK信号はLレベルになる。マイク
ロコンピュータ1は、ACK信号のLレベルを確認した
後に、8個のクロックを送出し、データの下位8ビット
の送受信を行う。この送受信が終了すると、カウンタ2
4のカウント数は16になるから、JK−FF23のJ
端子及びJK−FF25のJ端子にはHレベルが入力さ
れ、これによりJK−FF23のQ端子及びACK信号
はHレベルになる。
STB信号をLレベルにする。このとき立ち下がり検出
回路21からパルスが出力されても、JK−FF23の
Q端子はLレベルであるから、カウンタはクリアされな
い。JK−FF25ではK端子にHレベルが入力される
ので、少し遅れてACK信号はLレベルになる。マイク
ロコンピュータ1は、ACK信号のLレベルを確認した
後に、8個のクロックを送出し、データの下位8ビット
の送受信を行う。この送受信が終了すると、カウンタ2
4のカウント数は16になるから、JK−FF23のJ
端子及びJK−FF25のJ端子にはHレベルが入力さ
れ、これによりJK−FF23のQ端子及びACK信号
はHレベルになる。
【0025】マイクロコンピュータ1は、ACK信号が
Hレベルになったことを検知すると、STB信号をHレ
ベルにする。ALD信号、JK−FF23、25のQ端
子がHレベルになっているから、立ち上がり検出回路2
2からのパルスでANDゲート27はDWTE信号のパ
ルスを送出する。データ書き込みに設定されているとき
は、IC2に16ビットのデータがラッチされる。な
お、マイクロコンピュータ1にデータが送出されたとき
は、例えばレジスタに保持するようにすればよい。ST
B信号はHレベルになっているので、JK−FF25の
J端子はHレベルになって初期状態にもどる。必要なデ
ータの送受信が終了するまでこの動作を繰り返す。
Hレベルになったことを検知すると、STB信号をHレ
ベルにする。ALD信号、JK−FF23、25のQ端
子がHレベルになっているから、立ち上がり検出回路2
2からのパルスでANDゲート27はDWTE信号のパ
ルスを送出する。データ書き込みに設定されているとき
は、IC2に16ビットのデータがラッチされる。な
お、マイクロコンピュータ1にデータが送出されたとき
は、例えばレジスタに保持するようにすればよい。ST
B信号はHレベルになっているので、JK−FF25の
J端子はHレベルになって初期状態にもどる。必要なデ
ータの送受信が終了するまでこの動作を繰り返す。
【0026】次に通信エラーが発生したときの動作につ
いて説明する。上記で図3のタイミングを示したよう
に、マイクロコンピュータ1がSTB信号をLレベルに
したのち、通信が正常終了した場合はACK信号よりも
先にSTB信号がHレベルになっている。しかし、何ら
かの理由で通信が正常終了しないときは、図4のように
マイクロコンピュータ1は、ACK信号が一定時間以上
経過してもHレベルを検知できないので、通信がエラー
が発生したと判断し強制的にSTB信号をHレベルにす
る。ここでACK信号は遅れてHレベルになるから、S
TB信号はACK信号よりも先にHレベルになり異常終
了する。STB信号がHレベルになってイル間はSCK
信号はANDゲート29から先には送出されない。
いて説明する。上記で図3のタイミングを示したよう
に、マイクロコンピュータ1がSTB信号をLレベルに
したのち、通信が正常終了した場合はACK信号よりも
先にSTB信号がHレベルになっている。しかし、何ら
かの理由で通信が正常終了しないときは、図4のように
マイクロコンピュータ1は、ACK信号が一定時間以上
経過してもHレベルを検知できないので、通信がエラー
が発生したと判断し強制的にSTB信号をHレベルにす
る。ここでACK信号は遅れてHレベルになるから、S
TB信号はACK信号よりも先にHレベルになり異常終
了する。STB信号がHレベルになってイル間はSCK
信号はANDゲート29から先には送出されない。
【0027】異常終了したときに立ち上がり検出回路2
2からパルスが送出されてもJK−FF25のQ端子は
まだLレベルである。これによってIC2は通信エラー
を知り、入力中のアドレス又はデータをラッチせずにこ
れらを廃棄する。JK−FF25のINV−Q端子はH
レベルになっているので、立ち上がり検出回路22から
パルスが送出されると、ANDゲート23cからJK−
FF23のJ端子にHレベルが入力されJK−FF23
のQ端子をHレベルにする。その後マイクロコンピュー
タ1は、エラーが発生した時のアドレスまたはデータを
再送するために、STB信号をLレベルにする。
2からパルスが送出されてもJK−FF25のQ端子は
まだLレベルである。これによってIC2は通信エラー
を知り、入力中のアドレス又はデータをラッチせずにこ
れらを廃棄する。JK−FF25のINV−Q端子はH
レベルになっているので、立ち上がり検出回路22から
パルスが送出されると、ANDゲート23cからJK−
FF23のJ端子にHレベルが入力されJK−FF23
のQ端子をHレベルにする。その後マイクロコンピュー
タ1は、エラーが発生した時のアドレスまたはデータを
再送するために、STB信号をLレベルにする。
【0028】例えばクロックの少ない場合や、カウンタ
24のクロックのカウントミスなどなど、何らかの理由
でカウンタ24のカウント数が8または16にならない
状態が一定時間以上続くと、通信エラーが生じたものと
判断してマイクロコンピュータ1はSTB信号を強制的
にHレベルにする。そして前述したように、通信エラー
が発生した入出力信号から再送信する。
24のクロックのカウントミスなどなど、何らかの理由
でカウンタ24のカウント数が8または16にならない
状態が一定時間以上続くと、通信エラーが生じたものと
判断してマイクロコンピュータ1はSTB信号を強制的
にHレベルにする。そして前述したように、通信エラー
が発生した入出力信号から再送信する。
【0029】図5はクロックの多い場合のタイミングを
示したものである。例えばSCK信号にノイズが乗って
しまうなどして、本来の8個目または16個目のパルス
の前にカウンタが8または16個を数えると(ここで図
5では16個目のみの変化は破線で示してある)、JK
−FF25のQ端子すなわちACK信号がHレベルにな
る。しかし、8個または16個目をカウンタが計数した
後にもSCK信号のクロックがIC2に入力されてく
る。ANDゲート25cは、JK−FF25からの入力
がすでにHレベルになっている。見掛け上9個または1
7個目のクロックのHレベルが入力されてくると、OR
ゲート25bを介してJK−FF25のK端子にHレベ
ルを入力する。この時すでにワンショット回路27から
の出力はLレベルになっており、またカウンタ24のC
O端子にも変化がないので、再びワンショット回路27
からパルスが出力されることもなく、したがってJK−
FF25のJ端子はLレベルになっている。
示したものである。例えばSCK信号にノイズが乗って
しまうなどして、本来の8個目または16個目のパルス
の前にカウンタが8または16個を数えると(ここで図
5では16個目のみの変化は破線で示してある)、JK
−FF25のQ端子すなわちACK信号がHレベルにな
る。しかし、8個または16個目をカウンタが計数した
後にもSCK信号のクロックがIC2に入力されてく
る。ANDゲート25cは、JK−FF25からの入力
がすでにHレベルになっている。見掛け上9個または1
7個目のクロックのHレベルが入力されてくると、OR
ゲート25bを介してJK−FF25のK端子にHレベ
ルを入力する。この時すでにワンショット回路27から
の出力はLレベルになっており、またカウンタ24のC
O端子にも変化がないので、再びワンショット回路27
からパルスが出力されることもなく、したがってJK−
FF25のJ端子はLレベルになっている。
【0030】JK−FF25のK端子にHレベルが入力
されることで、ACK信号がHレベルになってから、最
長でもクロックパルスの1周期以内の時間にはLレベル
になっている。ここではマイクロコンピュータ1はAC
K信号を検知しない。本来の8個または16個目のクロ
ックパルスが送出され、カウンタ24で計数されている
途中でも終了後でもACK信号のLレベルの状態は変化
しない。一定時間後にマイクロコンピュータ1は、通信
エラーと判断してSTB信号をHレベルにする。前記と
同様に再送が開始される。
されることで、ACK信号がHレベルになってから、最
長でもクロックパルスの1周期以内の時間にはLレベル
になっている。ここではマイクロコンピュータ1はAC
K信号を検知しない。本来の8個または16個目のクロ
ックパルスが送出され、カウンタ24で計数されている
途中でも終了後でもACK信号のLレベルの状態は変化
しない。一定時間後にマイクロコンピュータ1は、通信
エラーと判断してSTB信号をHレベルにする。前記と
同様に再送が開始される。
【0031】また、通信が中断した後の通信については
アドレスとデータの関係が崩れている可能性があるか
ら、IC2は前述しているように、ALD信号がLレベ
ルの場合は常にアドレスとする。図6の(a)のよう
に、続けてALD信号がLレベルでもIC2はアドレス
を受け取るものとする。また図6の(b)のように上位
8ビットのデータの送受信の後で、ALD信号がHレベ
ルからLレベルになっても、IC2はアドレス2を受け
取る。このときアドレス1に対応する上位8ビットのデ
ータ1はラッチされることはない。
アドレスとデータの関係が崩れている可能性があるか
ら、IC2は前述しているように、ALD信号がLレベ
ルの場合は常にアドレスとする。図6の(a)のよう
に、続けてALD信号がLレベルでもIC2はアドレス
を受け取るものとする。また図6の(b)のように上位
8ビットのデータの送受信の後で、ALD信号がHレベ
ルからLレベルになっても、IC2はアドレス2を受け
取る。このときアドレス1に対応する上位8ビットのデ
ータ1はラッチされることはない。
【0032】以上のように、IC2とマイクロコンピュ
ータ1は通信エラーが発生しても双方で通信の終了を待
ち続けることがなくなり、ハングアップすることなく通
信を再開するようになった。
ータ1は通信エラーが発生しても双方で通信の終了を待
ち続けることがなくなり、ハングアップすることなく通
信を再開するようになった。
【0033】上記の実施例では、マイクロコンピュータ
とIC間のについて説明したが、マイクロコンピュータ
とマイクロコンピュータ間についても同様なプロトコル
を用いてもよい。また、同一セット内における通信だけ
でなくセット間の通信も可能である。アドレスとデータ
の識別にALD信号線を使用したが、この信号線はなく
てもよい。データの読み出しと書き込み用にWLR信号
線を使用したが、この信号線はなくてもよい。
とIC間のについて説明したが、マイクロコンピュータ
とマイクロコンピュータ間についても同様なプロトコル
を用いてもよい。また、同一セット内における通信だけ
でなくセット間の通信も可能である。アドレスとデータ
の識別にALD信号線を使用したが、この信号線はなく
てもよい。データの読み出しと書き込み用にWLR信号
線を使用したが、この信号線はなくてもよい。
【0034】
【発明の効果】以上に述べたように、本発明の通信エラ
ー処理方法によれば送信側と受信側との間に、送信要求
信号を送る通信線と、受信要求信号を送る通信線とを設
け、通信開始から一定時間経過してもデータが送信が終
了しないときは通信エラーが発生したものと判断し、通
信エラーが生じたデータの再送信を行うようにしたか
ら、ハングアップになることを防止することができる。
また、この信号の状態から、通信エラーを制御するか
ら、確実かつ簡単である。
ー処理方法によれば送信側と受信側との間に、送信要求
信号を送る通信線と、受信要求信号を送る通信線とを設
け、通信開始から一定時間経過してもデータが送信が終
了しないときは通信エラーが発生したものと判断し、通
信エラーが生じたデータの再送信を行うようにしたか
ら、ハングアップになることを防止することができる。
また、この信号の状態から、通信エラーを制御するか
ら、確実かつ簡単である。
【図1】本発明の方法を実施するICの主要部のロジッ
ク図である。
ク図である。
【図2】マイクロコンピュータとICとのシリアル通信
を示すブロック図である。
を示すブロック図である。
【図3】実施例のロジック回路の正常通信時を示すタイ
ミングチャートである。
ミングチャートである。
【図4】通信エラー時のタイミングチャートである。
【図5】別の通信エラー時のタイミングチャートである
【図6】ALD信号による動作説明図である。
1 マイクロコンピュータ 2 IC 23,25 JK−FF 24 カウンタ
Claims (1)
- 【請求項1】 送信側から受信側へデータをシリアルに
送るシリアル通信において、前記送信側から受信側に送
信要求信号を送るための第1の通信線と、受信側から送
信側に受信要求信号を送るための第2の通信線とを設
け、データ通信時に送信側は送信要求信号の発生を開始
し、受信要求信号の発生停止を確認してから送信要求信
号の発生を停止し、受信側は送信要求信号の受取直後か
らデータの受信が終了するまで受信要求信号を発生して
おり、送信要求信号の発生開始時点から一定時間が経過
したときに、受信要求信号が発生したままであるときに
は、送信側は通信エラーが発生したものと判断して送信
要求信号の発生を停止し、その後通信エラーが発生した
データを再送信するために送信要求信号を発生し、他方
受信側は受信要求信号の発生中に送信要求信号の発生が
停止したときに通信エラーが発生したものと判断して受
信中のデータを廃棄することを特徴とするシリアル通信
エラー処理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5029412A JPH06243052A (ja) | 1993-02-18 | 1993-02-18 | シリアル通信エラー処理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5029412A JPH06243052A (ja) | 1993-02-18 | 1993-02-18 | シリアル通信エラー処理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06243052A true JPH06243052A (ja) | 1994-09-02 |
Family
ID=12275422
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5029412A Pending JPH06243052A (ja) | 1993-02-18 | 1993-02-18 | シリアル通信エラー処理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06243052A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7257656B1 (en) | 1999-04-19 | 2007-08-14 | Moeller Gmbh | Device for synchronous transmission of data between a master device and a slave device |
| US7257742B2 (en) | 2001-12-14 | 2007-08-14 | Funai Electric Co., Ltd. | Disk reproducing apparatus |
| CN102929830A (zh) * | 2012-11-08 | 2013-02-13 | 浙江绍兴苏泊尔生活电器有限公司 | 一种软件模拟快速通信协议 |
| US8972638B2 (en) | 2007-09-18 | 2015-03-03 | Kowa Company, Ltd. | Serial data communication system and serial data communication method |
-
1993
- 1993-02-18 JP JP5029412A patent/JPH06243052A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7257656B1 (en) | 1999-04-19 | 2007-08-14 | Moeller Gmbh | Device for synchronous transmission of data between a master device and a slave device |
| US7257742B2 (en) | 2001-12-14 | 2007-08-14 | Funai Electric Co., Ltd. | Disk reproducing apparatus |
| US8972638B2 (en) | 2007-09-18 | 2015-03-03 | Kowa Company, Ltd. | Serial data communication system and serial data communication method |
| CN102929830A (zh) * | 2012-11-08 | 2013-02-13 | 浙江绍兴苏泊尔生活电器有限公司 | 一种软件模拟快速通信协议 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4710871A (en) | Data transmitting and receiving apparatus | |
| JPH0319740B2 (ja) | ||
| JPH0612906B2 (ja) | データを通信する方法 | |
| KR940002144B1 (ko) | 데이터 전송방식 | |
| JPH0228939B2 (ja) | ||
| JPH06243052A (ja) | シリアル通信エラー処理方法 | |
| JPH07273809A (ja) | 通信網のデータ衝突検出回路および検出方法 | |
| US7408958B2 (en) | Device for transmitting asynchronous data having clock deviation control | |
| JP3409749B2 (ja) | Usbファンクションの評価装置及びその方法 | |
| Cook | IEEE 1355 data-strobe links: ATM speed at RS232 cost | |
| EP0405041A1 (en) | Terminal adapter having a multiple HDLC communication channels receiver for processing control network management frames | |
| JPH07212413A (ja) | 非同期データの受信回路 | |
| US6920577B2 (en) | Clock selection circuit for selecting between an external clock and a clock generated by comparing a count value with a setting value | |
| KR100267344B1 (ko) | 에이치.디.엘.씨(hdlc)버스 구조 교환기 시스템의 전송 데이터 충돌 방지 장치 및 그 방법 | |
| US5365224A (en) | Error recovery arrangement in a time division multiplex data transmission system | |
| JPS63290033A (ja) | デ−タ送受信回路 | |
| KR920004806Y1 (ko) | 직렬통신 잡음 제거회로 | |
| JP2573210B2 (ja) | 通信システム | |
| JP3488378B2 (ja) | シリアルデータ通信装置およびシリアルデータ通信装置のエラーチェック方法 | |
| JP2619939B2 (ja) | 同期パターン検出回路 | |
| KR100334190B1 (ko) | 멀티스테이션통신버스시스템및이에사용되는마스터스테이션 | |
| JP2774318B2 (ja) | 伝送制御信号検出装置およびその制御方法 | |
| JP2994906B2 (ja) | データ受信回路 | |
| JP2005354158A (ja) | エラー検出回路 | |
| JPS63228837A (ja) | デ−タ送受信システム |