• ベストアンサー

4B5B変換について質問です。

4B5B変換について質問です。 wikiでは 0000 の様な一続きの 4 ビットは遷移を含まず、クロック問題を引き起こしうる。4B/5B では、この問題を 4 ビットを対応する 5 ビットワードに割り当てることにより解決する。 と記載があります。 ・クロック問題とは何でしょうか。 ・遷移を含むとこの問題が解決されるのはなぜでしょうか。 https://ja.wikipedia.org/wiki/4B5B%E7%AC%A6%E5%8F%B7%E5%8C%96

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

  • ベストアンサー
回答No.1

>・クロック問題とは何でしょうか。 データ送出側と、データ受入側で、クロックをピッタリ合わせてあれば、クロック問題は起きません。 しかし、送出側と受入側で、クロック周波数が0.0000001%ズレていた場合、信号1000000000個に付き、1個分のズレが発生します。 >・遷移を含むとこの問題が解決されるのはなぜでしょうか。 信号が0から1、または、1から0に必ず変わる事が保証されているなら、信号の変わり目で「クロックのズレを補正する」事ができます。 しかし、もし、0が1000000000個続いたら、受け側でズレを補正出来ないので「0が1000000001個」に化けたり、「0が99999999個」に化けたりします。 そこで「4ビットのデータを、5ビットで表現して、その5ビットの並びは、必ず0から1、1から0に変わる場所がある」ように変換して送出します。 そうすると、どんなデータを送っても、必ず「0から1、1から0に変わる地点が、5ビットの中に2か所以上出現する」ので、クロックが多少ズレていても、受け側で補正できます。 また、4B5B変換では、必ず一定の間隔で「最短の0」または「最短の1」が出現するようになっていて、この「最短の信号の長さ」を計れば「送出側が送り出すクロック」が判るようになっています。 4B5B変換を行わずに 0101010101010101... という信号を送ったり 001100110011001100110011... という信号を送ったり 000111000111000111000111000111... という信号を送ると、受け側は「どれもすべて同じ」に見えます。 なぜなら、上記の3つは、どれも「一定間隔で、電気信号がローレベル、ハイレベル、ローレベル、ハイレベル、と繰り返す」ので「電気信号の変化として見れば、どれもすべて同じ」なのです。 このように「信号の中に、最短の遷移が必ず現れる事が保証される」と、受け側でクロックを同期し易くなり、色々な問題が解決します。