On Fri, 09 Jun 2006 04:54:30 GMT, "Maxim S. Shatskih"
<maxim@storagecraft.com> wrote:
>> Actually with 10mb/s Ethernet and USB (all speeds) there is no carrier
>> on the wire when actual data is not begin transmitted.
>
>Same as with serial UART.
>
>>Clock recovery
>> starts at an arbitraty point with every packet.
>
>USB packets have a preamble to synchronize the PLLs. IIRC Ethernet too.
There are no clock-recovery PLLs in USB. FS/LS is specifically
designed to be implemented by a 4x DLL. One can implement 10BT without
a PLL too.
Reply by Marc Randolph●March 24, 20052005-03-24
Hal Murray wrote:
> >> Much lower than that would be a serious problem. Much
> >> higher would be hard to measure.
> >Yep - until you start feeding PRBS test streams into the scrambler,
> >which can make your equipment look less reliable than it would be
> >against a real-world stream.
>
> I'm missing something. Why is a PRBS test stream going to make
errors?
>
> To make a long string of 0s, you have to send something that
> matches the pattern in the scrambler register. That pattern
> is supposed to be random - hard to guess and hard to hit by
> sending malicious data.
>
> Is there a trick or quirk I don't know about?
Howdy Hal,
I did a poor job of editing your original response, and an even
poorer job of explaining mine - sorry! I was actually trying to
provide an example in response to your "much lower would be a serious
problem" statement. We've chased phantom bugs in our equipment before
where a weekend long test would take a data hit. It was eventually
tracked down to a device that effectively had a very short run-length
tolerance. It wasn't a CDR, but the result was the same. We've also
had a (different) vendor tell us that we had to order the STS's within
our scrambled data stream in a certain way, or downstream devices may
lose CDR lock.
BTW, the 75 bit CID number for the V2Pro CDR can be found here:
http://xilinx.com/xlnx/xil_ans_display.jsp?getPagePath=15035http://xilinx.com/xlnx/xil_ans_display.jsp?getPagePath=15049http://xilinx.com/xlnx/xil_ans_display.jsp?getPagePath=15055
Marc
Reply by Hal Murray●March 24, 20052005-03-24
>Yep - until you start feeding PRBS test streams into the scrambler,
>which can make your equipment look less reliable than it would be
>against a real-world stream.
I'm missing something. Why is a PRBS test stream going to make errors?
To make a long string of 0s, you have to send something that
matches the pattern in the scrambler register. That pattern
is supposed to be random - hard to guess and hard to hit by
sending malicious data.
Is there a trick or quirk I don't know about?
--
The suespammers.org mail server is located in California. So are all my
other mailboxes. Please do not send unsolicited bulk e-mail or unsolicited
commercial e-mail to my suespammers.org address or any of my other addresses.
These are my opinions, not necessarily my employer's. I hate spam.
Reply by Marc Randolph●March 19, 20052005-03-19
Hal Murray wrote:
> >A CID (consecutive identical digits) of 50 bits will cover most
> >real-world cases of scrambled SONET traffic, but I'd personally want
a
> >CDR with noticably more staying power than that.
>
> 2**50 is 10**15 With a gigabit/sec link, that would be a glitch
> every 10**6 seconds or roughtly 10 days. Note that we are talking
> clock-slip which is much worse than a simple bit error.
> Adjust for your link speed.
>
> I typed in 50 without much thinking. Looks like I got in the right
> ballpark.
Yes, you did.
> Much lower than that would be a serious problem. Much
> higher would be hard to measure.
Yep - until you start feeding PRBS test streams into the scrambler,
which can make your equipment look less reliable than it would be
against a real-world stream.
> I think I remember 70 from years ago on OC-3. That would be
> another factor of 10**6 which would push the problem well
> beyond the lifetime of any gear I've ever worked with.
>
> What are current specs/reality for SONET links? Are there any
> interesting alternatives to SONET for long links?
I don't think there is an absolute minimum requirement, but a commonly
accepted number is 72 digits - so your memory is quite good. Modern
CDR's tend to be able to handle even more digits than that, but as you
said, the probability starts getting so low that it is well beyond the
lifespan of just about anything (humans, electricty, copper wire, etc).
Somewhere I got it that the V2Pro MGT can handle over 75 CID (to try
to insert at least one FPGA related item to this post).
As for long haul links, if you want protection, SONET is still the main
choice. I think that RPR is trying to make in-roads, but has been slow
out of the gate and from what I've heard third hand, is slow to be
adopted by the carriers. I believe a third alternative is protected
DWDM (not as intelligent as SONET or RPR, but that means maintenance is
considerably less expensive). There may be others I can't recall at
the moment.
Have fun,
Marc
Reply by Hal Murray●March 19, 20052005-03-19
>A CID (consecutive identical digits) of 50 bits will cover most
>real-world cases of scrambled SONET traffic, but I'd personally want a
>CDR with noticably more staying power than that.
2**50 is 10**15 With a gigabit/sec link, that would be a glitch
every 10**6 seconds or roughtly 10 days. Note that we are talking
clock-slip which is much worse than a simple bit error.
Adjust for your link speed.
I typed in 50 without much thinking. Looks like I got in the right
ballpark. Much lower than that would be a serious problem. Much
higher would be hard to measure.
I think I remember 70 from years ago on OC-3. That would be
another factor of 10**6 which would push the problem well
beyond the lifetime of any gear I've ever worked with.
What are current specs/reality for SONET links? Are there any
interesting alternatives to SONET for long links?
--
The suespammers.org mail server is located in California. So are all my
other mailboxes. Please do not send unsolicited bulk e-mail or unsolicited
commercial e-mail to my suespammers.org address or any of my other addresses.
These are my opinions, not necessarily my employer's. I hate spam.
Reply by Marc Randolph●March 19, 20052005-03-19
Hal Murray wrote:
> >Thanks for that but I already knew it existed: I wasn't trying to
pretend I
> >had invented something. But my original question was why isn't it
more
> >widely used?
>
> It is widely used - at least if you are generous on what "it" is.
Like if "it" can be equal to Ethernet? :-)
> Manchester is very easy to implement with good DC ballancing but
> only 50% efficient. 4B/5B (FDDI) is 80% efficient but not quite
> ballanced in some cases. 8B/10B is ballanced but more complicated
> to implement.
Just to make this this discussion complete, with 64B/65B and 64B/66B
there are finally encoding schemes with efficiencies worth being proud
of.
[...]
> For an alternative approach, google for scrambling as used on SONET.
> The general idea is to start with a good clock recovery circuit (say
> 50 bits without any transitions) and then randomize the data stream
> by XORing it with a random pattern so you still have transitions if
> the user sends all 0s or whatever the nasty pattern is.
A CID (consecutive identical digits) of 50 bits will cover most
real-world cases of scrambled SONET traffic, but I'd personally want a
CDR with noticably more staying power than that.
Have fun,
Marc
Reply by Hal Murray●March 19, 20052005-03-19
>Thanks for that but I already knew it existed: I wasn't trying to pretend I
>had invented something. But my original question was why isn't it more
>widely used?
It is widely used - at least if you are generous on what "it" is.
There are two conflicting properties you want when transmitting data
over a link. You need transitions in the data stream so the receiver
can do clock recovery. But useless transitions reduce link bandwidth
efficiency.
Another goal is to make the data stream ballanced so you can run
it through a capicator or transformer.
Manchester is very easy to implement with good DC ballancing but
only 50% efficient. 4B/5B (FDDI) is 80% efficient but not quite
ballanced in some cases. 8B/10B is ballanced but more complicated
to implement.
Typical async RS-232 is 80% efficient and easy to implement as
long as the signal is clean (aka distance is short relative to
the bit rate).
If you have long links, the fiber/cable is the expensive part and
you are willing to work harder (pay more) on clock recovery to get
more bits through the pipe. On the other hand, for something like
Ethernet or RS-232 with short links, you are generally willing to
trade link bandwidth (or distance) for simpler decoding procedures.
For an alternative approach, google for scrambling as used on SONET.
The general idea is to start with a good clock recovery circuit (say
50 bits without any transitions) and then randomize the data stream
by XORing it with a random pattern so you still have transitions if
the user sends all 0s or whatever the nasty pattern is.
--
The suespammers.org mail server is located in California. So are all my
other mailboxes. Please do not send unsolicited bulk e-mail or unsolicited
commercial e-mail to my suespammers.org address or any of my other addresses.
These are my opinions, not necessarily my employer's. I hate spam.
Reply by Andrew Smallshaw●March 18, 20052005-03-18
In article <423699e0$1@clear.net.nz>, Jim Granville wrote:
> Andrew Smallshaw wrote:
>> On a slightly different note, does anyone know why most serial protocols
>> use simple voltage levels to denote a logic 0 or 1? I admit I'm no expert
>> but I recall from my A-level electronics an edge-triggered system where a
>> '0' would be (say) low-followed-by-high whereas a '1' would be
>> high-followed-by-low. Yes, this means _at_least_ twice as many voltage
>> transitions per bit but I would have thought that given its greater resilience
>> mismatched clocks or any stray capacitance it would be worth the trade off.
>
> This is used already, and is called Bi-Phase or Manchester encoding,
> for the two phase variants of this Clock+Data Scheme.
> -jg
Thanks for that but I already knew it existed: I wasn't trying to pretend I
had invented something. But my original question was why isn't it more
widely used?
Hmmm... Manchester encoding. Is that another great thing my old University
came up with? The battery on this laptop is about to expire so I've not got
time for a Google search now...
--
Andrew Smallshaw
andrews@sdf.lonestar.org
Reply by ●March 15, 20052005-03-15
"Alexei A. Frounze" <alexfru@chat.ru> writes:
> If the noise happens to invert two of the middle samples... I think better
> would be to have more than 3 and less than 16 to drop the boundary effects
> and count on more samples. 8?
If your line is that noisy, you're unlikely to have good results no matter
how the sampling is done. I've never seen a serial line have that much
trouble, except on a 150m run from a factory floor to a computer room
three floors above. On that, the main problem was a difference in ground
potential, and the cure was to switch to a balanced EIA-422 line with
electrical isolation at one end (cheaper than going to fiber, which would
also have worked).
Eric
Reply by Jim Granville●March 15, 20052005-03-15
Andrew Smallshaw wrote:
> On a slightly different note, does anyone know why most serial protocols
> use simple voltage levels to denote a logic 0 or 1? I admit I'm no expert
> but I recall from my A-level electronics an edge-triggered system where a
> '0' would be (say) low-followed-by-high whereas a '1' would be
> high-followed-by-low. Yes, this means _at_least_ twice as many voltage
> transitions per bit but I would have thought that given its greater resilience
> mismatched clocks or any stray capacitance it would be worth the trade off.
This is used already, and is called Bi-Phase or Manchester encoding,
for the two phase variants of this Clock+Data Scheme.
-jg