制御機器の基礎から応用まで
エンジニアに役立つホットな情報が満載!

業務に役立つコンテンツが勢ぞろい!“eブック”一覧ページはこちら

コネクタ関連情報

投稿日:2016年06月27日 / 更新日:2023年09月07日

コーディングでエラーをなくせ!

高速伝送経路でよく用いられるコーディングの解説です。データ伝送エラー対策には必須な用語です。

今回は、高速伝送インターフェースでよく用いられるコーディングについて解説いたします。伝送規格に対応するために、重要な用語です。

さて、このサイトの記事でも何度も取り上げているデータ伝送とは、そもそも、電圧が「0」であるか「1」であるかをICが読み取り、伝わるのでしたね。
データ伝送経路内では、「1」「0」がバラバラと並んで伝送されているわけです。

その中で、電圧「0」や「1」が連続して続くことも考えられます。
このように、同じ電圧がずっと続いて伝送されると、データを受け取るICではいきなり異なる電圧を受け取れなくなる場合があります。
例えば、キャッチャーとピッチャーで考えてみると、、
キャッチャーがずっとハイボールを投げられているときに、いきなりローボールを投げられると受けられないですよね。
これと同じことが、データを受け取るICでもあてはまり、ずっと電圧「1」が続くと、いきなり電圧「0」がきた時に受け取れなくなり、エラーとなってしまうのです。

データエラー時のイメージ

その解決策こそが、コーディングです。
コーディングは、下図のように電圧「0」「1」が続かないように、データを一部変換することをいいます。

コーディングでのデータ変換例 8B10B変換(PCI Express)の場合

このコーディングは、伝送規格に対応するために必要となることがよくあり、高速伝送を行ううえで、必須項目となっています。

変換方式は以下のように様々な方法があります。
  • 8B10B :8ビットのデータを10ビットへ置き換える
  • 64B66B :64ビットのデータを66ビットへ置き換える
  • 128B130B :128ビットのデータを130ビットへ置き換える

また、それぞれ置き換え方法は、伝送規格で定められています。
上図は、PCI Express(1.0/2.0)に対応するための8B10B置き換え例で、「0」が8ビット分続くデータに「1」を混ぜて、10ビットへ置き換えています。

これらの変換にはICを用いて行います。

いかがでしたでしょうか。今回はコーディングについてお話いたしました。高速伝送をエラーなく実現するには、重要な用語です。ぜひ設計時にご活用ください。

New call-to-action
お客様の思考はどの大名? エンジニア性格診断はこちら
新規CTA
“eブック”一覧ページはこちら