www.fiberoptics...
Hello everyone, this is Colin from Fiber Optics For Sale.
In this video, I will explain what is 8b/10b encoding.
8b/10b encoding is used by Fiber Optic Gigabit Ethernet. In this coding, each 8 bit data is mapped to a 10 bit data, and then transmitted to the receiving side. Let's see why we need to go through this extra step.
If we want to understand the 8b/10b mapping process, we have to understand the problems of directly transmitting baseband data.
Here we can see an example of raw baseband digital data. We have a long sequence of 0s. You may also get a long sequence of 1s. They both present the same problem, there is not enough transitions, which means the jumping from 0 to 1, and from 1 to 0. Transitions are very important for the receiver to correctly recover the data clock. Without a correct clock, you will get a very high error rate.
Another problem is that the baseband data is not optimized for the transmission medium. The transmission medium may be UTP copper cable or fiber optic cable.
So that means we should not directly transmit the baseband data to the line. That is when line codes come to the rescue.
What is exactly line code? Line code is developed to solve the problem we just talked about.
Line code is basically a digital data coding process. In this process, a line code is chosen for a particular transmission system. This line code is optimized for the physical properties of the medium. A line code will typically reflect technical requirements of the transmission medium, such as optical fiber or twisted pair copper cable.
The line code should make it easy to recover the clock from the data, it should have no DC part and small low frequency part and have high transmission efficiency.
There are many types of line code used for different purposes. 8b/10b is one commonly used for fiber optic communication systems such as optical gigabit Ethernet. Other line codes include RZ, NRZ, AMI, Manchester Code, and more.
Now let's take a closer look at 8b/10b line code.
8b/10b line code is based on 5b/6b and 3b/4b codes. Now let's see how a 8 bit byte is encoded.
In the left figure, the hexadecimal word 45 is encoded as a 8 bit byte. 4 is coded as 0100, it occupies position EFGH. 5 is coded as 0101, it occupies position ABCD. The 8 bit byte is then split to a 5 bit ABCDE and a 3 bit FGH group.
The positions of these two groups are then switched in the transmission process. ABCDE is moved to the front, and FGH is moved to the back.
Then comes the 8b/10b coding process as shown in the right side picture. A i bit joins the 5 bit ABCDE group. And a j bit joins the FGH group.
Here we have to understand the concept of Running Disparity. Running disparity means the difference between the number of 1 bits and the number of 0 bits in the data.
The value of i bit and j bit is set on the fly depending on the current running disparity. We will see clearly how this works in the next slide.
Here is the mapping table of 5b/6b and 3b/4b.
In the 5b/6b table, if the raw input data has ABCDE bit of 00000, it is mapped to either 100111 or 011000. Which one is chosen depends on the running disparity.
If the previous running disparity is -1, which means there was one less 1 bit than 0 bit, then 100111 is chosen, so in this code it has 2 more 1s than 0s. -1 plus 2 equals 1, so the running disparity becomes +1.
If the previous running disparity is +1, which means there is one more 1 bit than 0 bit, then 011000 is chosen, so in this code it has 2 less 1s than 0s. 1 plus minus 2 equals -1, the running disparity becomes -1.
In the 3b/4b mapping table, it follows the same procedure.
This running disparity process makes sure the difference between the number of 1s and 0s is always between 1 and -1. And the 5b/6b and 3b/4b mapping process makes sure there is frequent transitions from 1 to 0 and from 0 to 1, so the clock can be easily recovered on the receiver side.
8b/10b line coding has many benefits than directly transmitting baseband data. Here is a few listed.
8b/10b coding provides frequent transitions for easy clock recovery on the receiver side.
It provides a balance between the number of one bits and zero bits transmitted. This is called DC balance.
DC balance makes sure the optical laser is maintained at around 50% duty cycle for best performance and power usage.
DC balance puts a limit on the DC offset on the receiver side which helps maintain a good level detect thresholds.
So there you have it. Please leave your comment below if you'd like to see other topics.
Don't forget to visit www.fiberoptics... for more free fiber optic tutorials.
I will see you in the next video!
Негізгі бет Ғылым және технология What is 8B/10B Line Encoding?
Пікірлер: 38