Re: 8b10b encoding + line encoding
- From: Weng Tianxiang <wtxwtx@xxxxxxxxx>
- Date: Fri, 3 Apr 2009 12:47:39 -0700 (PDT)
On Apr 1, 2:08 am, Sharan <sharan.basa...@xxxxxxxxx> wrote:
Hi,
In few of the protocols (e.g. USB), there is an 8b10b and then there
is line encoding. Since one of the purpose of 8b10b is to create
enough 1&0 transitions, why is there a separate line encoding after
8b10b? Am I missing something
Regards
Hi,
8b10 is a coding method at the physical layer and it is used to
maintain that the differences of numbers of '0' and '1' in a
transaction are not beyond 2. Its physical meaning is to make sure
that transmission line has no charge accumulated. For example, a code
"11111" is transferred to other end of transmission line and several
'1' would accumulate some charge, then a successive '0' will have to
discharge it to ground. The more charges accumulated in a transmission
line, the more discharge time and more time based on formulae: T = RC
in seconds, and lower frequency required. To increase transmission
rate, a coding is needed to maintain balance between the '0' and '1'.
A higher level or even several levels of coding are needed to do their
own purposes. For example, correction code is to be used to keep error
rate as low as possible by adding more data bits used to correct
errors.
8b10b coding become popular in recent year and it has two reasons:
a. higher frequency of transmission line is much needed.
b. Its patent by IBM expired in 2002.
You may see "Byte oriented DC balanced (0,4) 8B/10B partitioned block
transmission code" patented by IBM, 4486739, filed on Jun 30, 1982,
and after reading the paper you may know why it was introduced.
It is a real invention which was invented before new technology needs
it. I think PCI-Express may be the first standard to use it near the
expiration data of the patent and IBM may not receive any royalty from
the invention.
Weng
.
- References:
- 8b10b encoding + line encoding
- From: Sharan
- 8b10b encoding + line encoding
- Prev by Date: Re: Lattice EPIC Logic Block Editor for Slice in CCU2 mode
- Next by Date: Re: Lattice EPIC Logic Block Editor for Slice in CCU2 mode
- Previous by thread: 8b10b encoding + line encoding
- Next by thread: Altera flash FPGA with ColdFire hard core
- Index(es):
Relevant Pages
|
Loading