電子書籍の厳選無料作品が豊富!

調歩同期式通信でストップビットがなかった場合どのような問題があるでしょうか。
例えば、スタートビット0とビット長8のデータがあるとして、
1111111010110110
というデータを受信した場合にデータは10110110と分かると思います。
ビット長8と指定してあればストップビットはいらないのではないかと思ってしまうのですが、調歩同期式通信がどのような仕組みになっているのでしょうか。

A 回答 (5件)

● ANo.2 の質問の回答です。



まず、00000000... と書いたのは便宜上であり、電圧 Lo レベルが延々と続くわけで、バイトの区切りもビットの区切りもありません。ビットの区切りは経過時間だけで推測するしかないのですが、1バイト毎に必ず 1→0 となり、ここで計測開始ポイントをリセットすれば、この計測精度は、1バイト分の時間を計るだけの精度があれば問題なく通信可能となります。

次に同期がずれる原因(というか理由)ですが、まず第一に、送信側と受信側では異なる発振子を使用していることがあげられます。発振子1つ1つの製造誤差です。
その他の理由としては、○MHz ~ ○GHz というクロックを何倍かすることにより、ボーレートを刻むクロックを作り出しているのですが、仕様どおりのボーレートの周波数を作り出すことが出来ない場合があります。この場合、仕様にもっとも近い周波数(ボーレート)で送受信しているのですが、この ”約” の度合いも、送信側と受信側でまず異なることが多いです。
    • good
    • 0
この回答へのお礼

製造誤差は避けられないからその影響をいかに減らすかというのが重要になってくるのですね。詳しい説明ありがとうございました。理解が深まった気がします。

お礼日時:2006/12/12 20:17

● ANo.3 の質問の回答です。


  > TXDとRXDのラインの信号だけあれば1→0(ストップビット)の変化で間接的に同期の状態になる
そうです。ただし 「間接的に」 ではなく、まさにここで同期を取っているはずです。私の推測ではありますが、仕様や構造を考えると調歩同期の場合、ここしか同期を取れる所はありません。
    • good
    • 0
この回答へのお礼

補足回答ありがとうございます。「間接的に」という言葉の使い方が適切でなかったかもしれませんね。

お礼日時:2006/12/12 20:15

No.2 補足追加。



クロック信号線が無くても、このように送受側と受信側の同期をとっています。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。RS232Cの場合でしたら、TXDとRXDのラインの信号だけあれば1→0(ストップビット)の変化で間接的に同期の状態になるという意味でしょうか。

お礼日時:2006/11/28 21:09

● ストップビットをなくした場合の問題点


0x00(00h)という値だけを繰り返し延々と無駄時間無く(すき間なく)送信し続けた場合、送信されるビット列は 0000000000000000000000000000000000000000000000000....
どこがバイトの区切りか判らなくなり、そのうち同期がズレてしまいます。

● 調歩同期式の仕組み
バイトの区切り(バイトの始まり)が必ず 1→0 と変化し、ここで送信側と受信側の同期を取ります。10ビットの各1ビットごとの区切りの判定は、スタートビットの 1→0 からの経過時間だけで判断していますが、10ビットぐらいなら時間の精度はそれほど必要ありません。
このようにクロックが無くても送受信間の同期を取っています。

この回答への補足

2つの問題点としてストップビットで1にしなければ1→0の変化ができないため、スタートビットを検出できないということも考えられますか?

補足日時:2006/11/28 20:58
    • good
    • 0
この回答へのお礼

ストップビットがない場合
0000000000000000000000000000000000000000000000000
というのでも区切りは0(ST) 00000000(DATA) 0(ST) 00000000(DATA)…
と分かると思いますが、クロックは物理的なものなので、完璧に正確な周期を刻んでおらず多少のゆらぎがあるため少しずつのずれが生じますよね。非常に長いビット系列データが続いたときに同期がズレるということでしょうか。ここで、もしストップビットがあれば、一旦データのラッチをやめて、1→0(スタートビット)の変化で再びラッチし始めることができるためずれが生じてもずれを再びリセットできるというような理解でよろしいでしょうか。

お礼日時:2006/11/28 21:07

ストップビットが無いとオールゼロの信号を送るときに具合が悪くなります。



調歩同期式通信ではスタートビットの始まりでクロックの同期を取っています。
これにより送信と受信のクロックに多少の誤差があっても通信が行えるのです。
スタートビットの始まりでエッジの変化が無ければ同期が外れてしまい正常な通信が出来ません。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2006/11/28 21:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!