このページをはてなブックマークに追加このページを含むはてなブックマーク このページをlivedoor クリップに追加このページを含むlivedoor クリップ

エラー検出

オーバランエラー

  • 受信バッファ(受信バッファレジスタ)に入っているデータを取り出す前に、次の重心データが届いてしまったときに発生するエラーである。
  • 受信処理が間に合っていないときや、予定外のときにデータが送られてきてしまったときなどに発生するエラーである。

フレーミングエラー

  • 調歩同期式でストップビット(Highレベル)になるべきところがならなkったときに発生するエラーである。
  • これは通信相手との通信方式の設定が間違っているときや通信路上でビットが不正になったときに発生するものである。
  • これらのエラーが発生した場合は処理の見直しや通信路の見直しが必要となる。

通信速度

  • シリアル通信の世界ではデータの転送速度をボーレート(Baud Rate)と呼ぶことがある。
  • ボーレートは1秒間に送ることができる信号の個数である。
    • 1つの信号で1ビットというのはわかりやすいが、位相変調という方式を使うと1つの信号で複数のビットを持たせることができる。
      • よって、ボーレートが常にbps(bits per second)と同じにはならないこともある。

例:歩調同期式で8ビット長のデータ、パリティビット付き、ストップビットを1ビットとしたとき、9600bpsでシリアル通信したとする。

 9600bpsなので、1ビット当たりに要する時間は1/9600=104.1666[μsec]である。

 ビット数は1スタートビット+データ8ビット+パリティ1ビット+1ストップビットなので、1データ(キャラクタ)は11ビットである。

 1データの送信時間は11ビット×104.1666=1145.8326[μsec]≒1.15[msec]となる。

 このとき、100バイトのデータを送ろうとしたら0.1秒以上かかることになる。 ◇

参考文献

  • 『組み込みソフトウェアエンジニアのためのハードウェア入門』