• ベストアンサー

調歩同期方式のパリティによる誤り検出方式について

調歩同期方式のデータ転送において、偶数パリティによる誤り検出方式を用いて、文字T(JIS7単位符号1010100)が送出されたとき、これを正しく受信したときのビット列はどういう列になるのか分かりません。 送出は、  スタートビット(0)、  文字の低位ビットから高位ビット、  パリティビット、  ストップビット(1) の順です。 送るときは、 00010101X1 かと思いましたが、わかりません。 Xはパリティビットになります。これは0なのでしょうか?1なのでしょうか? 奇数個の誤りが生じている場合、誤りの有無を判定できるそうですがよく理解できません。 送信するときと受信するときはそれぞれどのようなビット列になっているのでしょうか? どなたか教えていただけませんでしょうか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.1

今ビット1の数が3個ですから偶数にするには1個足りません。 電線路上はSTT+10101001+STPです。 つまりパリティビットは1です。 受信したあとビット1の数を数えます。 偶数なら正常受信。奇数ならどこかで誤りが発生していますのでエラーと判定します。 もちろんパリティビットは除去します。 もし2個間違うと偶数になりますから正常と判断されます。3個なら奇数で・・・。 

IRAM
質問者

補足

わかりました。 ありがとうございました!

その他の回答 (7)

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.8

質問者さんはパリティビットが0or1とパリティチェックの仕組みを聞いておられます。 そのレベルから考えてビット消失の話は次元が違うかと。 さらに「高精度水晶発振器」「オシロスコープ」と言われても困るかも。

IRAM
質問者

補足

そうですね、そうなんです。 説明してくださった皆さんには申し訳ないのですが、よく理解できないでいます。すみません。

  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.7

さらに補足. 調歩同期は方式としてビット消失誤りには適応ないがゆえに,ビット消失誤りなどの系統の誤りが(どう考えてもめったに)起きない分野にだけ,つまり低速短距離通信で8単位以下にだけ,使われます. パリティチェックは,1として送ったビットが0として受信される,または,0として送信したビットが0として受信される,この2種類のエラーしか起きない(考えない)という前提のもとで,「全ての1ビット誤りが検出可能」です. 1ビット抜けるとか,無かったビットが生まれて挟まってくるというエラーは,たとえ「1ビットの誤り」でもパリティチェックで検出できる保証はありませんよね.

  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.6

調歩同期は送信側と(ほぼ)同じクロックでタイミングを作って,一定間隔で(ベースバンドの)入力をサンプリングしているわけで,1ビット1ビットの符号の対応を見ているわけではありません.  一体調歩同期の方式のどこに,ビット消失誤りを他の誤りと区別して扱える機能があるというのでしょうか? パリティとストップビットでエラーチェックを行いますが,全てはビット化けとして扱われます(としてしか扱われません).ビット消失でビット位置がずれた(今時の高精度水晶発振器を使っている限りでは考えられませんが)ということがもし,起きても,それはオシロスコープ等では系を見ている人にとってのみ検出できることです.

  • JMPFAR
  • ベストアンサー率14% (21/143)
回答No.5

ASYNCの伝送に於いては スタート1bit DATA7~8bit パリティー1bit ストップbit、1,1.5、2です。 偶数パリティーだとDATAとパリティビットの1の数が偶数になります。 X=1です。 パリティーの作成や検出はUARTと言われるchipでします8251が有名です。

IRAM
質問者

補足

偶数パリティだと、データのなかの1の個数とパリティビットの1の数が偶数になるようにするためには、この場合ではXは1、ということですね。 分かりました。 ありがとうございました。

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.4

私も以下の部分は間違っていると思います。 > あと基本的なことを. > 調歩同期通信などでは,ビット消失誤りなどは扱いません. > たとえば伝送の過程で第3ビットが無くなったとしましょう. > この場合は単に第4ビット以降が第3ビット以降として1ビットずれて受信されます. > 当然,ストップビットが検出されないのでフレーミングエラーになると思いますが. これでは、何のためのスタートストップ同期かわかりません。 非同期と言う言葉が誤解を生むのかな。 専門家が初歩のところで間違えると言うのはよく有る話ですけどね。

  • mii-japan
  • ベストアンサー率30% (874/2820)
回答No.3

#2の回答に重大な事実誤認があるので補足します >調歩同期通信などでは,ビット消失誤りなどは扱いません.たとえば伝送の過程で第3ビットが無くなったとしましょう.この場合は単に第4ビット以降が第3ビット以降として1ビットずれて受信されます.当然,ストップビットが検出されないのでフレーミングエラーになると思いますが ここが間違いです 調歩同期の場合、速度設定により、信号を検出する時間間隔が決定します スタートビット検出時点より規定の時間間隔で信号を検出します、そしてその信号の 0/1 を判断します、ストップビットを検出すれば1データ分終了です  0/1 の判断は 検出した信号があらかじめ指定したレベルよりより高ければ 1 とか 信号が変化したら 1 とか です ですので 雑音等で信号が変更されれば、変更されたように受信されます(0/1の反転等) なお、質問のパリティビットが 1なのか0なのかは 偶数パリティか、奇数パリティかを決めなければ 決まりません パリティビットを含めて 1のビットの数が奇数になるように決めれば 0010101X の場合 Xは 0 です (スタート、ストップビットは含めません) 「正しく受信された」時ならば 1010100 です それから、簡単に言うと スタートビットを検出してストップビットが検出できなかったのが フレーミングエラーです >奇数個の誤りが生じている場合、誤りの有無を判定できるそうですがよく理解できません パリティチェックがどのようにしてエラーを検出するかがお判りになっていますか ??

  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.2

途中でデータ化けが起きない限り,送信するときと受信するときのビット列が変るわけがありません. なお,調歩同期処理はパリティの外側で行われますので,スタート/ストップビットはパリティ計算には含まれません.よって,2ストップでも1ストップでもデータが同じならパリティビットも同じです. データ→パリティ計算・付加→スタート/ストップビットつきで送信 受信信号→スタート/ストップビット除去→パリティチェック あと基本的なことを. 調歩同期通信などでは,ビット消失誤りなどは扱いません. たとえば伝送の過程で第3ビットが無くなったとしましょう.この場合は単に第4ビット以降が第3ビット以降として1ビットずれて受信されます.当然,ストップビットが検出されないのでフレーミングエラーになると思いますが.  また全ての受信データは1か0です.「1でも0でもない変なノイズを受け取った」ということは考えません. さらに,ノイズなどで信号が乱れたの結果,もともと「1」として送ったビットが「1」として受信されたらそれは,「誤りがなかった」扱いです. いくら偶然正しいだけでも.

関連するQ&A