8B/10B decoding after serial transmission problem?

Jul 17, 2007 2 Replies

Hello,



I run into a problem/bug where I currently don't see a solution, probably somebody can give me some hints.



I encoded data frames with 8B/10B, filled the gaps between the data with K28.5 characters and then transmitted the data stream via a serial line. On the receiver side I did the same backwards and run their into a problem: The serial data stream of the following bytes (0x6E, 0x74, 0x77, 0x65 or D14.3, D20.3, D23.3, D5.3) contains a bit sequence that is identical to the K28.5 character and therefore my receiver recognises also this K char instead of the intended data byte.



What is going wrong here or what kind of mechanism do I forgot to implement? Any ideas or help is very welcome!



Best Regards,



Damc



Hello,

I run into a problem/bug where I currently don't see a solution, probably somebody can give me some hints.

I encoded data frames with 8B/10B, filled the gaps between the data with K28.5 characters and then transmitted the data stream via a serial line. On the receiver side I did the same backwards and run their into a problem: The serial data stream of the following bytes (0x6E, 0x74, 0x77, 0x65 or D14.3, D20.3, D23.3, D5.3) contains a bit sequence that is identical to the K28.5 character and therefore my receiver recognises also this K char instead of the intended data byte.

[snip]

No valid D character sequence should produce the K28.5 sequence! Check your generation logic and make sure you are following the rules for running disparity.

Gabor

(posting via Xilinx website - Google groups seems broken today)

Your running disparity is the most likely culprit. I believe you are encoding the D20.3 symbol with either positive or negative disparity and then using the opposite to encode the D23.3 symbol.

Colin Hankins

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required