本文へ移動
サポートシェアリングソリューション
OKWAVE Plus

このQ&Aは役に立ちましたか?

ベストアンサー

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

2024/02/03 20:05

4B5B変換について質問です。
wikiでは
0000 の様な一続きの 4 ビットは遷移を含まず、クロック問題を引き起こしうる。4B/5B では、この問題を 4 ビットを対応する 5 ビットワードに割り当てることにより解決する。

と記載があります。
・クロック問題とは何でしょうか。
・遷移を含むとこの問題が解決されるのはなぜでしょうか。

https://ja.wikipedia.org/wiki/4B5B%E7%AC%A6%E5%8F%B7%E5%8C%96

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

ベストアンサー
2024/02/03 21:06
回答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つは、どれも「一定間隔で、電気信号がローレベル、ハイレベル、ローレベル、ハイレベル、と繰り返す」ので「電気信号の変化として見れば、どれもすべて同じ」なのです。

このように「信号の中に、最短の遷移が必ず現れる事が保証される」と、受け側でクロックを同期し易くなり、色々な問題が解決します。

このQ&Aは役に立ちましたか?

お礼をおくりました

さらに、この回答をベストアンサーに選びますか?

ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。