プロが教えるわが家の防犯対策術!

RS232C 調歩同期のビットレート誤差は何%程度まで許容できるのでしょうか?
また、目安とその理由について教えて下さい。

SH4のプログラムを組んでいます。
例えば、パソコンとRS232C(調歩同期)通信を行う際のビットレートの設定で、SH4側のビットレート誤差は何%以内にするべきでしょうか?
クロック同期の場合は、「なるべく1%以内になるように」とマニュアルに記載があるのですが。。。

A 回答 (4件)

まずは


データ長8ビット
パリティなし
ストップビット1

だとすると、シリアルデータは全部で10ビットです。

スタートビットから同期し、各ビットの中央でデータをサンプリングするなら、10番目のビットが50%以上ずれるとアウトです。つまり5%誤差ですね。

しかし世の中そううまくいきません。コントロールICによって違いますが、ビットレートの8倍や16倍で各データをサンプリングします。1ビットを8回や16回チェックしてるんですね。

ビットがHかLかを判断するのもいろいろですが、中央部数回分(8回サンプルなら3~4回程度)を多数決原理で判断するのが多いようです。とすると、せいぜい2.5%となります。

これに、クロック源の誤差も加味すると2%くらいが限度です。



CPUクロックからビットレートを生成する場合、ビットレートにあわせた変な周波数のクロック源でなければ0%なんて無理ですよね。実際は1%以内なら気にしませんし、大丈夫ですよ。
    • good
    • 0
この回答へのお礼

なるほど、参考になります。ありがとうございます。
データサンプリングの回数や位置、データの判断方法で異なってくると言うことですね。送り側と受け側の誤差の蓄積を考慮しても、1%以内にしておけば殆どのケースで問題にならないということでしょうか。
確認の意味を含めまして、お礼申し上げます。

お礼日時:2003/03/12 09:39

>1%以内にしておけば殆どのケースで問題にならないということでしょうか。



まさしく「ほとんど」問題になりません。
と、言うのは、調歩同期は通信する2個の機器が別々にクロックを生成していますから、相手がどのくらい正確かわかりませんし、仕様にもクロック精度は定義されていません。信用するしかないって事です。

しかし、232C通信程度で同期がずれるようでは、もはや「商品」クオリティではありません。個人的考えですが、「商品」か「アマチュア作品」かのボーダーラインは1%未満の領域にあると思います。
No2の方がおっしゃるように、「1%」というのは232Cにおいて「相当大きな誤差」だと思います。

SH4は、ボーレートジェネレータかCTC出力をクロック源として使えるはずですし、それを使用すれば0.2%くらいの精度にするのは造作も無いはずです。それで同期がずれたら悪いのは相手側ですよ。
    • good
    • 0
この回答へのお礼

色々と経験的なところを教えてもらいありがとうございます。
非常に役に立ちました。
また、別の質問をした際も宜しくお願いします。

お礼日時:2003/03/13 09:41

すいません。

最後になぜ1%なのか書き損じました。SH4側が+1%、相手が-1%の誤差なら、相対的に2%程度の誤差です。

したがって1%程度が限度と考えるべきです。
    • good
    • 0

具体的な値は知りませんが、調歩同期では問題にしなくていいと思います。


調歩同期では10ビット(程度)ごとに同期を取りますのでビットレートの
誤差は相当大きくても問題になりません。
    • good
    • 0

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