6 bit things...

On 6/8/22 09:13, Jasen Betts wrote:
It seems like you\'re reinventing the wheel, and having rejected the
triangular wheel for the square wheel are impressed by the
improvement it gives.
Well, at least a Reuleux Triangle rolls with constant width!
<https://en.wikipedia.org/wiki/Reuleaux_triangle>
 
lørdag den 6. august 2022 kl. 02.09.50 UTC+2 skrev John Larkin:
On Fri, 5 Aug 2022 13:41:31 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

fredag den 5. august 2022 kl. 22.20.58 UTC+2 skrev John Larkin:
On Fri, 5 Aug 2022 10:53:34 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

torsdag den 4. august 2022 kl. 19.00.18 UTC+2 skrev John Larkin:
On Thu, 4 Aug 2022 06:21:33 -0000 (UTC), Jasen Betts
use...@revmaps.no-ip.org> wrote:

On 2022-08-03, jla...@highlandsniptechnology.com <jla...@highlandsniptechnology.com> wrote:
Is a byte always 8 bits?

no, this is why internet standards use the term \"Octet\" instead

What can I call a 6-bit byte? A clump?

sixpence? Nintendo called 5 bits of their 10 bit word a nickel.
\"Sextet\" would work also.

I want to send data over an SFP optical link, in 6-bit things.

0 1 1 0 d \\d repeated, roughly 100 Mbits/sec

looks like manchester encoded one bit PWM
Manchester is ambiguous. A string of 0s looks just like a string of
1s.

One of my guys, on his ferry ride, figured out how to add two bit
times

1 0 d \\d

to get a DC balanced form that is easy to generate and decode. It\'s
terrifyingly clever.

move the bits around and it is FSK; F and 2F

1100
1010


Cute. But pattern 1010 1010

has an embedded 1010

isn\'t that what you get with 1 0 d \\d and d = 1 ?
The decoder is a 3-bit shift register and a 2-input xnor gate.

and how does that help? you still need to use 1010
 
On 8/4/2022 10:20 PM, Phil Hobbs wrote:
John S wrote:
On 8/3/2022 4:29 PM, John Larkin wrote:
On Wed, 3 Aug 2022 14:28:30 -0400, Phil Hobbs
pcdhSpamMeSenseless@electrooptical.net> wrote:

jlarkin@highlandsniptechnology.com wrote:
On Wed, 3 Aug 2022 12:03:11 -0400 (EDT), Martin Rid
martin_riddle@verison.net> wrote:

jlarkin@highlandsniptechnology.com Wrote in message:r
Is a byte always 8 bits? What can I call a 6-bit byte? A clump?I
want to send data over an SFP optical link, in 6-bit things.   0
1 1 0 d \\d   repeated, roughly 100 Mbits/secis DC balanced, which
SFP likes.

I would still consider it a byte, but sixbit.
You could always call it braille.

Cheers

Maybe \"frame\" sounds better than \"clump.\"



Or \'clod\'.   Alternatives abound. ;)

I\'d go with sextet (or sestet, if you\'re feeling poetic).

Cheers

Phil Hobbs

Now one of my guys claims that all we need is

1 0 d1 \\d1 1 0 d2 \\d2 .... etc

four bits per chunk to recover data d. Which is a nibble. I can still
call each 4 bits a frame.


4 bit is a nybble. Or a dollar.

Nah, two bits is a quarter, so 8 bits is a dollar.

Cheers

Phil Hobbs

Oh! You\'re right! Thanks.
 
On Sat, 6 Aug 2022 16:35:13 +1000, Clifford Heath <no_spam@please.net>
wrote:

On 6/8/22 09:13, Jasen Betts wrote:
It seems like you\'re reinventing the wheel, and having rejected the
triangular wheel for the square wheel are impressed by the
improvement it gives.
Well, at least a Reuleux Triangle rolls with constant width!
https://en.wikipedia.org/wiki/Reuleaux_triangle

That, for some weird reason, reminds me of a DDS frequency synthesizer
variant that we invented on Friday. Maybe I\'ll post that and see how
much hostility that one inspires.
 
On Sat, 6 Aug 2022 02:26:16 -0700 (PDT), Lasse Langwadt Christensen
<langwadt@fonz.dk> wrote:

lørdag den 6. august 2022 kl. 02.09.50 UTC+2 skrev John Larkin:
On Fri, 5 Aug 2022 13:41:31 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

fredag den 5. august 2022 kl. 22.20.58 UTC+2 skrev John Larkin:
On Fri, 5 Aug 2022 10:53:34 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

torsdag den 4. august 2022 kl. 19.00.18 UTC+2 skrev John Larkin:
On Thu, 4 Aug 2022 06:21:33 -0000 (UTC), Jasen Betts
use...@revmaps.no-ip.org> wrote:

On 2022-08-03, jla...@highlandsniptechnology.com <jla...@highlandsniptechnology.com> wrote:
Is a byte always 8 bits?

no, this is why internet standards use the term \"Octet\" instead

What can I call a 6-bit byte? A clump?

sixpence? Nintendo called 5 bits of their 10 bit word a nickel.
\"Sextet\" would work also.

I want to send data over an SFP optical link, in 6-bit things.

0 1 1 0 d \\d repeated, roughly 100 Mbits/sec

looks like manchester encoded one bit PWM
Manchester is ambiguous. A string of 0s looks just like a string of
1s.

One of my guys, on his ferry ride, figured out how to add two bit
times

1 0 d \\d

to get a DC balanced form that is easy to generate and decode. It\'s
terrifyingly clever.

move the bits around and it is FSK; F and 2F

1100
1010


Cute. But pattern 1010 1010

has an embedded 1010

isn\'t that what you get with 1 0 d \\d and d = 1 ?
The decoder is a 3-bit shift register and a 2-input xnor gate.

and how does that help? you still need to use 1010

Try it. Draw a string of such 4-bit frames, with some 1s and 0s
encoded, as if they were in a long shift register.

Make a 3-bit wide \"caliper\" with one xnor gate, namely xnor bits n and
n+2. Slide it along the string of bits and see what comes out.

Actually, it\'s easier to think about using 1 0 \\d d encoding and use
an xor gate. My guy did it the first way.
 
On Thursday, August 4, 2022 at 1:00:18 PM UTC-4, John Larkin wrote:
On Thu, 4 Aug 2022 06:21:33 -0000 (UTC), Jasen Betts
use...@revmaps.no-ip.org> wrote:

On 2022-08-03, jla...@highlandsniptechnology.com <jla...@highlandsniptechnology.com> wrote:
Is a byte always 8 bits?

no, this is why internet standards use the term \"Octet\" instead

What can I call a 6-bit byte? A clump?

sixpence? Nintendo called 5 bits of their 10 bit word a nickel.
\"Sextet\" would work also.

I want to send data over an SFP optical link, in 6-bit things.

0 1 1 0 d \\d repeated, roughly 100 Mbits/sec

looks like manchester encoded one bit PWM
Manchester is ambiguous. A string of 0s looks just like a string of
1s.

One of my guys, on his ferry ride, figured out how to add two bit
times

1 0 d \\d

to get a DC balanced form that is easy to generate and decode. It\'s
terrifyingly clever.

This sequence is also pathological for continuous one data. You end up with 10101010 with no way to distinguish the frame bits from the data.

With Manchester data you get alignment anytime there is a change in polarity of the data, either 1>0 or 0>1, because you end up with a single transition in the bit time, rather than two that you get with continuous data.

There is nothing magical about the pattern 1 0 d \\d.

--

Rick C.

-+ Get 1,000 miles of free Supercharging
-+ Tesla referral code - https://ts.la/richard11209
 
On Thursday, August 4, 2022 at 1:00:18 PM UTC-4, John Larkin wrote:
On Thu, 4 Aug 2022 06:21:33 -0000 (UTC), Jasen Betts
use...@revmaps.no-ip.org> wrote:

On 2022-08-03, jla...@highlandsniptechnology.com <jla...@highlandsniptechnology.com> wrote:
Is a byte always 8 bits?

no, this is why internet standards use the term \"Octet\" instead

What can I call a 6-bit byte? A clump?

sixpence? Nintendo called 5 bits of their 10 bit word a nickel.
\"Sextet\" would work also.

I want to send data over an SFP optical link, in 6-bit things.

0 1 1 0 d \\d repeated, roughly 100 Mbits/sec

looks like manchester encoded one bit PWM
Manchester is ambiguous. A string of 0s looks just like a string of
1s.

One of my guys, on his ferry ride, figured out how to add two bit
times

1 0 d \\d

to get a DC balanced form that is easy to generate and decode. It\'s
terrifyingly clever.

Here\'s a simple and effective data pattern, d \\d \\d d. Now you have Manchester encoding of a stream which consists of the data and the inverted data, d \\d. Very easy to modulate and demodulate along with data redundancy for error checking. No need for wasteful formatting overhead.

Encoding is blindingly simple. The output is the XOR of the data and a two bit, binary counter. The decode is the usual Manchester decode giving two bits, d and \\d which you may use as you choose. It literally doesn\'t get much simpler than this.

--

Rick C.

+- Get 1,000 miles of free Supercharging
+- Tesla referral code - https://ts.la/richard11209
 
On Thursday, August 4, 2022 at 7:40:51 PM UTC-4, John Larkin wrote:
On Thu, 04 Aug 2022 16:40:53 -0400, Joe Gwinn <joeg...@comcast.net
wrote:

On Wed, 03 Aug 2022 14:48:12 -0700, John Larkin
jlarkin@highland_atwork_technology.com> wrote:

On Wed, 03 Aug 2022 16:32:53 -0400, Joe Gwinn <joeg...@comcast.net
wrote:

On Wed, 03 Aug 2022 10:19:49 -0700, John Larkin
jlarkin@highland_atwork_technology.com> wrote:

On Wed, 03 Aug 2022 12:35:16 -0400, Joe Gwinn <joeg...@comcast.net
wrote:

On Wed, 03 Aug 2022 08:52:08 -0700, jla...@highlandsniptechnology.com
wrote:

Is a byte always 8 bits? What can I call a 6-bit byte? A clump?

It would still be a byte. Univac 1108, with 36-bit words.

A byte was always a fraction of a word, but the length of a word was
whatever the computer was designed for. All sizes were tried.

I\'ve worked on digital computers with the following word sizes (in
bits): 12, 16, 24, 32, 36, 48, 64.

There were just as many floating-point formats.

Now days, it has settled down, and words are multiples of 8 bits in
size, usually a power of two. And all FP is IEEE.

The standards folk came up with \"octet\" because byte was so
ill-defined.

Half an octet was sometimes called a nybble. And so on.


I want to send data over an SFP optical link, in 6-bit things.

0 1 1 0 d \\d repeated, roughly 100 Mbits/sec

is DC balanced, which SFP likes.

If you use 8-bit patterns (best for component availability), but use
only the DC balanced subset, does that suffice?

We could do 8b10b, but that would need an FPGA to generate and
receive. I\'m thinking about a spare-time thing that I could design
without an FPGA or uP, all hardware. My digital people are swamped
with big projects and I need something fun to design.


Or, turn it around. Figure out how many DC-balanced patterns you
need, double it (for growth), and figure out long a word is needed.
Don\'t forget to include some control patterns.


The data is a 1-bit steam from a delta-sigma ADC. I just want to
transport it over fiber, and SFP is the easy way to do that. But SFP
is intended for telecom, ac coupled, intolerant of dc imbalance. Most
SFPs won\'t pass anything below about 1 MHz. But they are crazy fast
and have great AGC.

Is it 100 million bits per second, or symbols per second?

The ADUM7703 can be clocked up to 20 MHz, but we really don\'t need to
do that. 10M would be plenty.


What is being digitized? Voice? Data of some kind?

Some customer\'s analog voltage. Might be a strain gage load cell, for
example. We\'d have some input ranges.

All very low bandwidth stuff. Is it required to transmit absolute
values, or is just the \"AC\" part enough?

Sounds like for instance actual strain values are desired.



Is there a maximum latency and latency jitter requirement?

Neither, actually. I just want to transport the ADC output correctly.

OK.



One-bit delta samples are usually signed, so the minimum is two
symbols. If the voltage being sent is zero, then we\'ll get a steady
+,-,+,-,+, stream, which will have very strong RF spurs and thus
emissions, so need to break this up.

The ADC has a one-bit output over +-320 mV input, and averages 50%
duty cycle at 0 volts in. I just want to transport that bit over a
fiber link.

So the ADC output is a signed bit per sample.
It\'s an ADUM7703 delta-sigma a/d converter; it doesn\'t actually sample
but runs its stuff continuously. It has a clock input and a single bit
logic output. The duty cycle of the output reports the analog input:
0% duty cycle is -320 mV and 100% is +320 mV. It\'s fully isolated and
crazy precise. Once we convey that logic level to a destination, we
\"decimate\" it into a 16 or 18 or 20 bit value that reflects the input
voltage. The decimation is typically digital, a sinc3 filter, but I
might do it all analog in this case. Decimation becomes a lowpass
filter.



A zero symbol makes it three, and an idle symbol, makes it four
symbols.


Gigabit Ethernet does something like this, only grander, with two
patterns for every possible symbol to be sent, and they track current
DC balance, and choose which pattern to use that will reduce the
running DC balance.

8b10b does elaborate long-term DC balancing like that. Too much work.

SFPs usually tolerate a little DC imbalance. You can send PWM at, say,
35% to 65%.

Yes, too much trouble. But if you use table lookup, you can get close
enough.

I don\'t want an FPGA or a uP in this box. All my coder-people are too
busy on other projects now. So, a few gates and flipflops.

OK. This too can be done, given a large ratio between optical bit
rate and ADC bitrate.

The AGC in the SFP is pretty fast, but the optical bitrate must be
much faster, or the AGC will flatten the desired signal. The SFP
datasheet should define the AGC response speed.
The combination of AGC and AC coupling makes SFPs not work well at
data rates below about 1 MHz. That varies a lot with specific parts.

So, pick a convenient optical signaling (flash) rate well above the
AGC reaction speed, so you will be able to recover the sent pattern at
the SFP output.

Here is one possible design:

Choose a ADC sample rate a fraction of the optical rate. The fraction
is determined by choosing orthogonal codes to represent +1, zero, or
-1 ADC outputs to be sent. Also need a frame-start symbol.

The orthogonal codes are chosen from the standard Gold Codes:

.<https://en.wikipedia.org/wiki/Gold_code

The codes have odd length, and are fairly close to balanced, so one
ought to be able to find some truncated Gold codes of even length
(drop last bit) that are exactly balanced. We need only four such
symbol codes, and a 16-bit code would allow the optical rate to be 16
times the code (ADC output) rate.

There must be a steady stream of ADC symbols, even if ADC output is
zero, to keep the SFP AGC stable.

Generation. Drive a 16-line demux with the optical clock. Make or
don\'t make connections from the demux to an adder, as dictated by the
symbol to be sent. The adder output is used to drive the SFP TX
input.

Reception. Lock a phase-lock loop to the optical flash rate, to
recover the optical clock.

Have one correlator per symbol type, all running in parallel. Given
the near-perfect correlation behavior of Gold codes, the correlator
output will be roughly one unit amplitude except at the pattern
center, where the peak will be about 16 units, so a threshold set at 8
units should enable perfect recovery.

The frame sync symbol is used if we are switching between a reference
voltage and the strain-gage output voltage, to mark where reference
starts. May need an ref-end symbol.

If no correlator peaks for more than a few symbol periods, complain.
The SFP will also tell you if any optical power is being received, if
I recall.

Design the receiver first, as it\'s usually the harder of the two, then
design the transmitter to make the receiver happy.
It\'s really simple; just move the 1-bit logic level output of the ADC
to the destination and recover a clock to know where the bits are.
We\'d clock the ADC at 20 or maybe 10 MHz.

Or you can use Manchester encoding to encode the clock and easily recover it at the other end. Data bits with the clock for free! I guess some people don\'t like free.

--

Rick C.

++ Get 1,000 miles of free Supercharging
++ Tesla referral code - https://ts.la/richard11209
 
On Friday, August 5, 2022 at 4:41:35 PM UTC-4, lang...@fonz.dk wrote:
fredag den 5. august 2022 kl. 22.20.58 UTC+2 skrev John Larkin:
On Fri, 5 Aug 2022 10:53:34 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

torsdag den 4. august 2022 kl. 19.00.18 UTC+2 skrev John Larkin:
On Thu, 4 Aug 2022 06:21:33 -0000 (UTC), Jasen Betts
use...@revmaps.no-ip.org> wrote:

On 2022-08-03, jla...@highlandsniptechnology.com <jla...@highlandsniptechnology.com> wrote:
Is a byte always 8 bits?

no, this is why internet standards use the term \"Octet\" instead

What can I call a 6-bit byte? A clump?

sixpence? Nintendo called 5 bits of their 10 bit word a nickel.
\"Sextet\" would work also.

I want to send data over an SFP optical link, in 6-bit things.

0 1 1 0 d \\d repeated, roughly 100 Mbits/sec

looks like manchester encoded one bit PWM
Manchester is ambiguous. A string of 0s looks just like a string of
1s.

One of my guys, on his ferry ride, figured out how to add two bit
times

1 0 d \\d

to get a DC balanced form that is easy to generate and decode. It\'s
terrifyingly clever.

move the bits around and it is FSK; F and 2F

1100
1010


Cute. But pattern 1010 1010

has an embedded 1010
isn\'t that what you get with 1 0 d \\d and d = 1 ?

which means that a simple running decoder can mis-frame
the clumps.
won\'t you have that problem with all possible ways of using 4 bit?

I was thinking of sending d \\d \\d d, and that lets you align at a first level, but still leaves room for misalignment so the recovered data is \\d rather than d.

What is wrong with sending a frame that is DC balanced over multiple data bits, even if not each one? 1 1 d0 \\d0 0 0 d1 \\d1 should be easy to sync to, is DC balanced and has unambiguous alignment. Any given data bit will be the middle two bits of 0011, 0101, 1010 or 1100. Because the frame bits are 11 or 00, they can\'t be confused with data in these 4 bit sequences.

Encoding is just a 3 bit counter and a few gates. Decoding can be done with a 4 bit shift register, an inverter and an 8 to 1 multiplexer, three SSI devices. That\'s pretty simple.

--

Rick C.

--- Get 1,000 miles of free Supercharging
--- Tesla referral code - https://ts.la/richard11209
 
On Saturday, August 6, 2022 at 11:54:35 AM UTC-4, Ricky wrote:
On Friday, August 5, 2022 at 4:41:35 PM UTC-4, lang...@fonz.dk wrote:
fredag den 5. august 2022 kl. 22.20.58 UTC+2 skrev John Larkin:
On Fri, 5 Aug 2022 10:53:34 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

torsdag den 4. august 2022 kl. 19.00.18 UTC+2 skrev John Larkin:
On Thu, 4 Aug 2022 06:21:33 -0000 (UTC), Jasen Betts
use...@revmaps.no-ip.org> wrote:

On 2022-08-03, jla...@highlandsniptechnology.com <jla...@highlandsniptechnology.com> wrote:
Is a byte always 8 bits?

no, this is why internet standards use the term \"Octet\" instead

What can I call a 6-bit byte? A clump?

sixpence? Nintendo called 5 bits of their 10 bit word a nickel.
\"Sextet\" would work also.

I want to send data over an SFP optical link, in 6-bit things.

0 1 1 0 d \\d repeated, roughly 100 Mbits/sec

looks like manchester encoded one bit PWM
Manchester is ambiguous. A string of 0s looks just like a string of
1s.

One of my guys, on his ferry ride, figured out how to add two bit
times

1 0 d \\d

to get a DC balanced form that is easy to generate and decode. It\'s
terrifyingly clever.

move the bits around and it is FSK; F and 2F

1100
1010


Cute. But pattern 1010 1010

has an embedded 1010
isn\'t that what you get with 1 0 d \\d and d = 1 ?

which means that a simple running decoder can mis-frame
the clumps.
won\'t you have that problem with all possible ways of using 4 bit?
I was thinking of sending d \\d \\d d, and that lets you align at a first level, but still leaves room for misalignment so the recovered data is \\d rather than d.

What is wrong with sending a frame that is DC balanced over multiple data bits, even if not each one? 1 1 d0 \\d0 0 0 d1 \\d1 should be easy to sync to, is DC balanced and has unambiguous alignment. Any given data bit will be the middle two bits of 0011, 0101, 1010 or 1100. Because the frame bits are 11 or 00, they can\'t be confused with data in these 4 bit sequences.

Encoding is just a 3 bit counter and a few gates. Decoding can be done with a 4 bit shift register, an inverter and an 8 to 1 multiplexer, three SSI devices. That\'s pretty simple.

Or, decode can be done with the shift register and a pair of 2-input XOR gates and an AND gate. I almost missed that.

--

Rick C.

--+ Get 1,000 miles of free Supercharging
--+ Tesla referral code - https://ts.la/richard11209
 
lørdag den 6. august 2022 kl. 17.08.37 UTC+2 skrev jla...@highlandsniptechnology.com:
On Sat, 6 Aug 2022 02:26:16 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

lørdag den 6. august 2022 kl. 02.09.50 UTC+2 skrev John Larkin:
On Fri, 5 Aug 2022 13:41:31 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

fredag den 5. august 2022 kl. 22.20.58 UTC+2 skrev John Larkin:
On Fri, 5 Aug 2022 10:53:34 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

torsdag den 4. august 2022 kl. 19.00.18 UTC+2 skrev John Larkin:
On Thu, 4 Aug 2022 06:21:33 -0000 (UTC), Jasen Betts
use...@revmaps.no-ip.org> wrote:

On 2022-08-03, jla...@highlandsniptechnology.com <jla...@highlandsniptechnology.com> wrote:
Is a byte always 8 bits?

no, this is why internet standards use the term \"Octet\" instead

What can I call a 6-bit byte? A clump?

sixpence? Nintendo called 5 bits of their 10 bit word a nickel.
\"Sextet\" would work also.

I want to send data over an SFP optical link, in 6-bit things..

0 1 1 0 d \\d repeated, roughly 100 Mbits/sec

looks like manchester encoded one bit PWM
Manchester is ambiguous. A string of 0s looks just like a string of
1s.

One of my guys, on his ferry ride, figured out how to add two bit
times

1 0 d \\d

to get a DC balanced form that is easy to generate and decode. It\'s
terrifyingly clever.

move the bits around and it is FSK; F and 2F

1100
1010


Cute. But pattern 1010 1010

has an embedded 1010

isn\'t that what you get with 1 0 d \\d and d = 1 ?
The decoder is a 3-bit shift register and a 2-input xnor gate.

and how does that help? you still need to use 1010



Try it. Draw a string of such 4-bit frames, with some 1s and 0s
encoded, as if they were in a long shift register.

Make a 3-bit wide \"caliper\" with one xnor gate, namely xnor bits n and
n+2. Slide it along the string of bits and see what comes out.

Actually, it\'s easier to think about using 1 0 \\d d encoding and use
an xor gate. My guy did it the first way.

but you still need to use 1010, in a long string of those you can\'t tell where the 4 bit start

1010101010
xx10101010

what are you going to clock the shift with?
 
On Sat, 6 Aug 2022 09:36:42 -0700 (PDT), Lasse Langwadt Christensen
<langwadt@fonz.dk> wrote:

lørdag den 6. august 2022 kl. 17.08.37 UTC+2 skrev jla...@highlandsniptechnology.com:
On Sat, 6 Aug 2022 02:26:16 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

lørdag den 6. august 2022 kl. 02.09.50 UTC+2 skrev John Larkin:
On Fri, 5 Aug 2022 13:41:31 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

fredag den 5. august 2022 kl. 22.20.58 UTC+2 skrev John Larkin:
On Fri, 5 Aug 2022 10:53:34 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

torsdag den 4. august 2022 kl. 19.00.18 UTC+2 skrev John Larkin:
On Thu, 4 Aug 2022 06:21:33 -0000 (UTC), Jasen Betts
use...@revmaps.no-ip.org> wrote:

On 2022-08-03, jla...@highlandsniptechnology.com <jla...@highlandsniptechnology.com> wrote:
Is a byte always 8 bits?

no, this is why internet standards use the term \"Octet\" instead

What can I call a 6-bit byte? A clump?

sixpence? Nintendo called 5 bits of their 10 bit word a nickel.
\"Sextet\" would work also.

I want to send data over an SFP optical link, in 6-bit things.

0 1 1 0 d \\d repeated, roughly 100 Mbits/sec

looks like manchester encoded one bit PWM
Manchester is ambiguous. A string of 0s looks just like a string of
1s.

One of my guys, on his ferry ride, figured out how to add two bit
times

1 0 d \\d

to get a DC balanced form that is easy to generate and decode. It\'s
terrifyingly clever.

move the bits around and it is FSK; F and 2F

1100
1010


Cute. But pattern 1010 1010

has an embedded 1010

isn\'t that what you get with 1 0 d \\d and d = 1 ?
The decoder is a 3-bit shift register and a 2-input xnor gate.

and how does that help? you still need to use 1010



Try it. Draw a string of such 4-bit frames, with some 1s and 0s
encoded, as if they were in a long shift register.

Make a 3-bit wide \"caliper\" with one xnor gate, namely xnor bits n and
n+2. Slide it along the string of bits and see what comes out.

Actually, it\'s easier to think about using 1 0 \\d d encoding and use
an xor gate. My guy did it the first way.

but you still need to use 1010, in a long string of those you can\'t tell where the 4 bit start

1010101010
xx10101010

what are you going to clock the shift with?

Of course we need an 80 MHz PLL on the receive end to clock the bits;
that\'s easy. If I clock the ADC at 10 MHz, the bit rate and PLL are 40
MHz, which is handy because we stock a nice 40 MHz VCXO.

I don\'t care where a bit \"starts\", I just need to recover a 20 Mbps
delta-sigma stream to poke into a decimator.

Try it.
 
On Fri, 5 Aug 2022 21:02:06 -0000 (UTC), Mike Monett <spamme@not.com>
wrote:

Lasse Langwadt Christensen <langwadt@fonz.dk> wrote:

fredag den 5. august 2022 kl. 22.20.58 UTC+2 skrev John Larkin:
On Fri, 5 Aug 2022 10:53:34 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

torsdag den 4. august 2022 kl. 19.00.18 UTC+2 skrev John Larkin:
On Thu, 4 Aug 2022 06:21:33 -0000 (UTC), Jasen Betts
use...@revmaps.no-ip.org> wrote:

On 2022-08-03, jla...@highlandsniptechnology.com
jla...@highlandsniptechnology.com> wrote:
Is a byte always 8 bits?

no, this is why internet standards use the term \"Octet\" instead

What can I call a 6-bit byte? A clump?

sixpence? Nintendo called 5 bits of their 10 bit word a nickel.
\"Sextet\" would work also.

I want to send data over an SFP optical link, in 6-bit things.

0 1 1 0 d \\d repeated, roughly 100 Mbits/sec

looks like manchester encoded one bit PWM
Manchester is ambiguous. A string of 0s looks just like a string of
1s.

One of my guys, on his ferry ride, figured out how to add two bit
times

1 0 d \\d

to get a DC balanced form that is easy to generate and decode. It\'s
terrifyingly clever.

move the bits around and it is FSK; F and 2F

1100
1010


Cute. But pattern 1010 1010

has an embedded 1010

isn\'t that what you get with 1 0 d \\d and d = 1 ?


which means that a simple running decoder can mis-frame the clumps.

won\'t you have that problem with all possible ways of using 4 bit?

MFM coding is DC balanced and easy to encode. It is hard to decode:

https://en.wikipedia.org/wiki/Modified_frequency_modulation

It requires a PLL with zero deadband. I invented the first zero deadband
PFD in 1970, and Memorex patented it. It is shown on page 3 of my \'234
patent:

https://patentimages.storage.googleapis.com/53/fc/f0/26d83e477e999a/US38102
34.pdf

My favorite phase detector is a single d-flop. Clock from received
data, poke the local VCXO square wave into D.

It makes an early/late decision every data rising edge, and can
produce picosecond time alignment and picosecond jitter.

It\'s basically infinite gain and immune to analog errors. A
differential ECL flop is best, like NB7V52.
 
lørdag den 6. august 2022 kl. 19.44.16 UTC+2 skrev John Larkin:
On Sat, 6 Aug 2022 09:36:42 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

lørdag den 6. august 2022 kl. 17.08.37 UTC+2 skrev jla...@highlandsniptechnology.com:
On Sat, 6 Aug 2022 02:26:16 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

lørdag den 6. august 2022 kl. 02.09.50 UTC+2 skrev John Larkin:
On Fri, 5 Aug 2022 13:41:31 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

fredag den 5. august 2022 kl. 22.20.58 UTC+2 skrev John Larkin:
On Fri, 5 Aug 2022 10:53:34 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

torsdag den 4. august 2022 kl. 19.00.18 UTC+2 skrev John Larkin:
On Thu, 4 Aug 2022 06:21:33 -0000 (UTC), Jasen Betts
use...@revmaps.no-ip.org> wrote:

On 2022-08-03, jla...@highlandsniptechnology.com <jla...@highlandsniptechnology.com> wrote:
Is a byte always 8 bits?

no, this is why internet standards use the term \"Octet\" instead

What can I call a 6-bit byte? A clump?

sixpence? Nintendo called 5 bits of their 10 bit word a nickel.
\"Sextet\" would work also.

I want to send data over an SFP optical link, in 6-bit things.

0 1 1 0 d \\d repeated, roughly 100 Mbits/sec

looks like manchester encoded one bit PWM
Manchester is ambiguous. A string of 0s looks just like a string of
1s.

One of my guys, on his ferry ride, figured out how to add two bit
times

1 0 d \\d

to get a DC balanced form that is easy to generate and decode.. It\'s
terrifyingly clever.

move the bits around and it is FSK; F and 2F

1100
1010


Cute. But pattern 1010 1010

has an embedded 1010

isn\'t that what you get with 1 0 d \\d and d = 1 ?
The decoder is a 3-bit shift register and a 2-input xnor gate.

and how does that help? you still need to use 1010



Try it. Draw a string of such 4-bit frames, with some 1s and 0s
encoded, as if they were in a long shift register.

Make a 3-bit wide \"caliper\" with one xnor gate, namely xnor bits n and
n+2. Slide it along the string of bits and see what comes out.

Actually, it\'s easier to think about using 1 0 \\d d encoding and use
an xor gate. My guy did it the first way.

but you still need to use 1010, in a long string of those you can\'t tell where the 4 bit start

1010101010
xx10101010

what are you going to clock the shift with?
Of course we need an 80 MHz PLL on the receive end to clock the bits;
that\'s easy. If I clock the ADC at 10 MHz, the bit rate and PLL are 40
MHz, which is handy because we stock a nice 40 MHz VCXO.

I don\'t care where a bit \"starts\", I just need to recover a 20 Mbps
delta-sigma stream to poke into a decimator.

but you said:
\"
Cute. But pattern 1010 1010

has an embedded 1010

which means that a simple running decoder can mis-frame
the clumps.
\"
 
On Sat, 6 Aug 2022 02:26:16 -0700 (PDT), Lasse Langwadt Christensen
<langwadt@fonz.dk> wrote:

lørdag den 6. august 2022 kl. 02.09.50 UTC+2 skrev John Larkin:
On Fri, 5 Aug 2022 13:41:31 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

fredag den 5. august 2022 kl. 22.20.58 UTC+2 skrev John Larkin:
On Fri, 5 Aug 2022 10:53:34 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

torsdag den 4. august 2022 kl. 19.00.18 UTC+2 skrev John Larkin:
On Thu, 4 Aug 2022 06:21:33 -0000 (UTC), Jasen Betts
use...@revmaps.no-ip.org> wrote:

On 2022-08-03, jla...@highlandsniptechnology.com <jla...@highlandsniptechnology.com> wrote:
Is a byte always 8 bits?

no, this is why internet standards use the term \"Octet\" instead

What can I call a 6-bit byte? A clump?

sixpence? Nintendo called 5 bits of their 10 bit word a nickel.
\"Sextet\" would work also.

I want to send data over an SFP optical link, in 6-bit things.

0 1 1 0 d \\d repeated, roughly 100 Mbits/sec

looks like manchester encoded one bit PWM
Manchester is ambiguous. A string of 0s looks just like a string of
1s.

One of my guys, on his ferry ride, figured out how to add two bit
times

1 0 d \\d

to get a DC balanced form that is easy to generate and decode. It\'s
terrifyingly clever.

move the bits around and it is FSK; F and 2F

1100
1010


Cute. But pattern 1010 1010

has an embedded 1010

isn\'t that what you get with 1 0 d \\d and d = 1 ?
The decoder is a 3-bit shift register and a 2-input xnor gate.

and how does that help? you still need to use 1010

Will that even work? A correlation receiver with emit a pulse
whenever the desired pattern is in the shift register, even if it
happens to find the pattern between two correctly-framed instances of
the pattern.

What\'s needed is to choose a pattern that will also ensure correct
framing in an arbitrary random string of one and zero symbols. This
is a slightly stronger requirement than orthogonal: The symbols must
be a good synch pattern as well. With only two kinds of symbol, it
ought to be possible, given a sufficiently long pattern.

Joe Gwinn
 
John Larkin wrote:
On Fri, 5 Aug 2022 21:02:06 -0000 (UTC), Mike Monett <spamme@not.com
wrote:

Lasse Langwadt Christensen <langwadt@fonz.dk> wrote:

fredag den 5. august 2022 kl. 22.20.58 UTC+2 skrev John Larkin:
On Fri, 5 Aug 2022 10:53:34 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

torsdag den 4. august 2022 kl. 19.00.18 UTC+2 skrev John Larkin:
On Thu, 4 Aug 2022 06:21:33 -0000 (UTC), Jasen Betts
use...@revmaps.no-ip.org> wrote:

On 2022-08-03, jla...@highlandsniptechnology.com
jla...@highlandsniptechnology.com> wrote:
Is a byte always 8 bits?

no, this is why internet standards use the term \"Octet\" instead

What can I call a 6-bit byte? A clump?

sixpence? Nintendo called 5 bits of their 10 bit word a nickel.
\"Sextet\" would work also.

I want to send data over an SFP optical link, in 6-bit things.

0 1 1 0 d \\d repeated, roughly 100 Mbits/sec

looks like manchester encoded one bit PWM
Manchester is ambiguous. A string of 0s looks just like a string of
1s.

One of my guys, on his ferry ride, figured out how to add two bit
times

1 0 d \\d

to get a DC balanced form that is easy to generate and decode. It\'s
terrifyingly clever.

move the bits around and it is FSK; F and 2F

1100
1010


Cute. But pattern 1010 1010

has an embedded 1010

isn\'t that what you get with 1 0 d \\d and d = 1 ?


which means that a simple running decoder can mis-frame the clumps.

won\'t you have that problem with all possible ways of using 4 bit?

MFM coding is DC balanced and easy to encode. It is hard to decode:

https://en.wikipedia.org/wiki/Modified_frequency_modulation

It requires a PLL with zero deadband. I invented the first zero deadband
PFD in 1970, and Memorex patented it. It is shown on page 3 of my \'234
patent:

https://patentimages.storage.googleapis.com/53/fc/f0/26d83e477e999a/US38102
34.pdf

My favorite phase detector is a single d-flop. Clock from received
data, poke the local VCXO square wave into D.

It makes an early/late decision every data rising edge, and can
produce picosecond time alignment and picosecond jitter.

It\'s basically infinite gain and immune to analog errors. A
differential ECL flop is best, like NB7V52.

$18 in hundreds. Got a second fave for us picosecond proles? ;)

Cheers

Phil Hobbs

--
Dr Philip C D Hobbs
Principal Consultant
ElectroOptical Innovations LLC / Hobbs ElectroOptics
Optics, Electro-optics, Photonics, Analog Electronics
Briarcliff Manor NY 10510

http://electrooptical.net
http://hobbs-eo.com
 
Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> wrote:

> John Larkin wrote:

[...]

My favorite phase detector is a single d-flop. Clock from received
data, poke the local VCXO square wave into D.

It makes an early/late decision every data rising edge, and can
produce picosecond time alignment and picosecond jitter.

It\'s basically infinite gain and immune to analog errors. A
differential ECL flop is best, like NB7V52.


$18 in hundreds. Got a second fave for us picosecond proles? ;)

Cheers

Phil Hobbs

I disagree with the claims. However, a MC100EP52DT is CAD$3.47 at
Rochester, and a MC100EP52DTG is CAD$4.13 at Arrow, QTY 1:

https://octopart.com/search?q=100ep52&currency=CAD&specs=0





--
MRM
 
On 2022-08-06 19:52, John Larkin wrote:
On Fri, 5 Aug 2022 21:02:06 -0000 (UTC), Mike Monett <spamme@not.com
wrote:

Lasse Langwadt Christensen <langwadt@fonz.dk> wrote:

fredag den 5. august 2022 kl. 22.20.58 UTC+2 skrev John Larkin:
On Fri, 5 Aug 2022 10:53:34 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

torsdag den 4. august 2022 kl. 19.00.18 UTC+2 skrev John Larkin:
On Thu, 4 Aug 2022 06:21:33 -0000 (UTC), Jasen Betts
use...@revmaps.no-ip.org> wrote:

On 2022-08-03, jla...@highlandsniptechnology.com
jla...@highlandsniptechnology.com> wrote:
Is a byte always 8 bits?

no, this is why internet standards use the term \"Octet\" instead

What can I call a 6-bit byte? A clump?

sixpence? Nintendo called 5 bits of their 10 bit word a nickel.
\"Sextet\" would work also.

I want to send data over an SFP optical link, in 6-bit things.

0 1 1 0 d \\d repeated, roughly 100 Mbits/sec

looks like manchester encoded one bit PWM
Manchester is ambiguous. A string of 0s looks just like a string of
1s.

One of my guys, on his ferry ride, figured out how to add two bit
times

1 0 d \\d

to get a DC balanced form that is easy to generate and decode. It\'s
terrifyingly clever.

move the bits around and it is FSK; F and 2F

1100
1010


Cute. But pattern 1010 1010

has an embedded 1010

isn\'t that what you get with 1 0 d \\d and d = 1 ?


which means that a simple running decoder can mis-frame the clumps.

won\'t you have that problem with all possible ways of using 4 bit?

MFM coding is DC balanced and easy to encode. It is hard to decode:

https://en.wikipedia.org/wiki/Modified_frequency_modulation

It requires a PLL with zero deadband. I invented the first zero deadband
PFD in 1970, and Memorex patented it. It is shown on page 3 of my \'234
patent:

https://patentimages.storage.googleapis.com/53/fc/f0/26d83e477e999a/US38102
34.pdf

My favorite phase detector is a single d-flop. Clock from received
data, poke the local VCXO square wave into D.

It makes an early/late decision every data rising edge, and can
produce picosecond time alignment and picosecond jitter.

It\'s basically infinite gain and immune to analog errors. A
differential ECL flop is best, like NB7V52.

Infinite (OK, very large) gain around the lock target and zero
gain elsewhere. Not something you really want in a well behaved
loop. You really want constant loop gain.

Jeroen Belleman
 
On Sat, 6 Aug 2022 11:00:50 -0700 (PDT), Lasse Langwadt Christensen
<langwadt@fonz.dk> wrote:

lørdag den 6. august 2022 kl. 19.44.16 UTC+2 skrev John Larkin:
On Sat, 6 Aug 2022 09:36:42 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

lørdag den 6. august 2022 kl. 17.08.37 UTC+2 skrev jla...@highlandsniptechnology.com:
On Sat, 6 Aug 2022 02:26:16 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

lørdag den 6. august 2022 kl. 02.09.50 UTC+2 skrev John Larkin:
On Fri, 5 Aug 2022 13:41:31 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

fredag den 5. august 2022 kl. 22.20.58 UTC+2 skrev John Larkin:
On Fri, 5 Aug 2022 10:53:34 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

torsdag den 4. august 2022 kl. 19.00.18 UTC+2 skrev John Larkin:
On Thu, 4 Aug 2022 06:21:33 -0000 (UTC), Jasen Betts
use...@revmaps.no-ip.org> wrote:

On 2022-08-03, jla...@highlandsniptechnology.com <jla...@highlandsniptechnology.com> wrote:
Is a byte always 8 bits?

no, this is why internet standards use the term \"Octet\" instead

What can I call a 6-bit byte? A clump?

sixpence? Nintendo called 5 bits of their 10 bit word a nickel.
\"Sextet\" would work also.

I want to send data over an SFP optical link, in 6-bit things.

0 1 1 0 d \\d repeated, roughly 100 Mbits/sec

looks like manchester encoded one bit PWM
Manchester is ambiguous. A string of 0s looks just like a string of
1s.

One of my guys, on his ferry ride, figured out how to add two bit
times

1 0 d \\d

to get a DC balanced form that is easy to generate and decode. It\'s
terrifyingly clever.

move the bits around and it is FSK; F and 2F

1100
1010


Cute. But pattern 1010 1010

has an embedded 1010

isn\'t that what you get with 1 0 d \\d and d = 1 ?
The decoder is a 3-bit shift register and a 2-input xnor gate.

and how does that help? you still need to use 1010



Try it. Draw a string of such 4-bit frames, with some 1s and 0s
encoded, as if they were in a long shift register.

Make a 3-bit wide \"caliper\" with one xnor gate, namely xnor bits n and
n+2. Slide it along the string of bits and see what comes out.

Actually, it\'s easier to think about using 1 0 \\d d encoding and use
an xor gate. My guy did it the first way.

but you still need to use 1010, in a long string of those you can\'t tell where the 4 bit start

1010101010
xx10101010

what are you going to clock the shift with?
Of course we need an 80 MHz PLL on the receive end to clock the bits;
that\'s easy. If I clock the ADC at 10 MHz, the bit rate and PLL are 40
MHz, which is handy because we stock a nice 40 MHz VCXO.

I don\'t care where a bit \"starts\", I just need to recover a 20 Mbps
delta-sigma stream to poke into a decimator.

but you said:
\"
Cute. But pattern 1010 1010

has an embedded 1010

which means that a simple running decoder can mis-frame
the clumps.
\"

As I said, try it.

--

John Larkin Highland Technology, Inc trk

The cork popped merrily, and Lord Peter rose to his feet.
\"Bunter\", he said, \"I give you a toast. The triumph of Instinct over Reason\"
 
On Sat, 06 Aug 2022 14:19:10 -0400, Joe Gwinn <joegwinn@comcast.net>
wrote:

On Sat, 6 Aug 2022 02:26:16 -0700 (PDT), Lasse Langwadt Christensen
langwadt@fonz.dk> wrote:

lørdag den 6. august 2022 kl. 02.09.50 UTC+2 skrev John Larkin:
On Fri, 5 Aug 2022 13:41:31 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

fredag den 5. august 2022 kl. 22.20.58 UTC+2 skrev John Larkin:
On Fri, 5 Aug 2022 10:53:34 -0700 (PDT), Lasse Langwadt Christensen
lang...@fonz.dk> wrote:

torsdag den 4. august 2022 kl. 19.00.18 UTC+2 skrev John Larkin:
On Thu, 4 Aug 2022 06:21:33 -0000 (UTC), Jasen Betts
use...@revmaps.no-ip.org> wrote:

On 2022-08-03, jla...@highlandsniptechnology.com <jla...@highlandsniptechnology.com> wrote:
Is a byte always 8 bits?

no, this is why internet standards use the term \"Octet\" instead

What can I call a 6-bit byte? A clump?

sixpence? Nintendo called 5 bits of their 10 bit word a nickel.
\"Sextet\" would work also.

I want to send data over an SFP optical link, in 6-bit things.

0 1 1 0 d \\d repeated, roughly 100 Mbits/sec

looks like manchester encoded one bit PWM
Manchester is ambiguous. A string of 0s looks just like a string of
1s.

One of my guys, on his ferry ride, figured out how to add two bit
times

1 0 d \\d

to get a DC balanced form that is easy to generate and decode. It\'s
terrifyingly clever.

move the bits around and it is FSK; F and 2F

1100
1010


Cute. But pattern 1010 1010

has an embedded 1010

isn\'t that what you get with 1 0 d \\d and d = 1 ?
The decoder is a 3-bit shift register and a 2-input xnor gate.

and how does that help? you still need to use 1010

Will that even work? A correlation receiver with emit a pulse
whenever the desired pattern is in the shift register, even if it
happens to find the pattern between two correctly-framed instances of
the pattern.

A 2-input xnor is not a correlation receiver.

--

John Larkin Highland Technology, Inc trk

The cork popped merrily, and Lord Peter rose to his feet.
\"Bunter\", he said, \"I give you a toast. The triumph of Instinct over Reason\"
 

Welcome to EDABoard.com

Sponsor

Back
Top