In order to create a DC-balanced data stream, the concept of disparity is employed to balance the number of 0s and 1s.
The disparity of a block is calculated by the number of 1s minus the number of 0s. The value of a block that has a zero disparity is called disparity neutral. If both the 4-bit and 6-bit blocks are disparity neutral, a combined 10-bit encoded data will be disparity neutral as well. This will create a perfect DC-balanced code.
However, this is not possible. Because only 6 out of the 16 possible values of the 4-bit block are disparity neutral, they are not enough for encoding the 8 values of the 3-bit block.
Likewise, only 20 values of the 6-bit block are disparity neutral and they are not enough for encoding the 32 values of the 5-bit block. Because both the 4-bit and 6-bit blocks have an even number of bits, the disparity is not possible to be +1 or -1. Therefore, the values with a disparity of +2 and -2 are also used in the 8b/10b coding scheme.
Table 1 and Table 2 are the values that are used for the 3-bit to 4-bit encoding and the 5-bit to 6-bit encoding respectively. Concatenating the 4-bit and 6-bit blocks together generates the 10-bit encoded value. Note that some of the encoded values in Table 1 and Table 2 have two possible values, one with a disparity value of +2 and the other with a disparity value of -2. The 8b/10b coding scheme was designed to combine the values of the 4-bit and 6-bit blocks perfectly so that the worst case disparity value of the 10-bit code group will be at most +2 or -2.
For H G F E D C B A Dx.y a b c d e i f g h j MSB LSB LSB MSB LSB MSB 8b 10b or Kx.y code group 8b/10b Encoder/Decoder 3 example, the 4-bit encoded values with disparity value+2 will not be combined with the 6-bit encoded values with disparity value +2 because this will create a 10-bit value with disparity value +4.
In General , What is running disparity ?
Here is the definition -
Running disparity is the difference between the number of logic 1 bits and logic 0 bits between the start of a data sequence and a particular instant in time during its transmission. The RD for a character is the difference between the number of 1 bits and 0 bits in that character. If there are more 1 bits than 0 bits, the RD is defined as positive. If there are fewer 1 bits than 0 bits, the RD is defined as negative. If the number of 1 bits and 0 bits is the same, the RD is defined as neutral or zero.
As it is said, Running disparity is useful in DC balancing. After encoding 8-bit into 10-bits, few words still have more 1's than 0's or more 0's than 1's. DC balancing can be adjusted based on the running disparity.
So the next question is , How to calculate the running disparity ?
Answer is ,find out the number of 1's and number of 0's in the parallel data and based on the comparison , running disparity can be calculated.
Next question is , How to check the DC balance ?
Answer is , DC balancing is check the number of 1's and 0's in the data stream for a period of time , difference between number of 1's and 0's should not be large, if it is large , it means the encoding is not correctly implemented.
Please share your views or comments if you have any.
Thanks for reading my blog, have a nice day.
In General , What is running disparity ?
Here is the definition -
Running disparity is the difference between the number of logic 1 bits and logic 0 bits between the start of a data sequence and a particular instant in time during its transmission. The RD for a character is the difference between the number of 1 bits and 0 bits in that character. If there are more 1 bits than 0 bits, the RD is defined as positive. If there are fewer 1 bits than 0 bits, the RD is defined as negative. If the number of 1 bits and 0 bits is the same, the RD is defined as neutral or zero.
As it is said, Running disparity is useful in DC balancing. After encoding 8-bit into 10-bits, few words still have more 1's than 0's or more 0's than 1's. DC balancing can be adjusted based on the running disparity.
So the next question is , How to calculate the running disparity ?
Answer is ,find out the number of 1's and number of 0's in the parallel data and based on the comparison , running disparity can be calculated.
Next question is , How to check the DC balance ?
Answer is , DC balancing is check the number of 1's and 0's in the data stream for a period of time , difference between number of 1's and 0's should not be large, if it is large , it means the encoding is not correctly implemented.
Please share your views or comments if you have any.
Thanks for reading my blog, have a nice day.
No comments:
Post a Comment