Data transfer for real time analysis

hi, We are planning a data acquisition system with 4-12 sub units. Each sub unit produce data of 25MBit/sec. The distance between the boxes and computer is about 2 meters. I'm willing to transfer and analyze the data in real-time. I'm willing to close a control loop in 1-5msec (I. wish 100usec ......). What is the recommended serial protocol? The sub units will be in-house made the host computer for data analysis and storage will be a PC (probably with raid HD). What communication HW/protocol should I use in my sub units? What communication HW/protocol should I use in the PC?

Regards Pini

PS There is a discussion about this tread at comp.realtime

Reply to
Pini
Loading thread data ...

One straw man would be 100 megabit ethernet. That lets you use off-the-shelf gear on the PC end. For 12 sub units, you probably need a gigabit ethernet card on the PC and a 12 port switch with a gigabit uplink. (It also gives you lots of flexibility on the length which might be handy some day.)

If you want to build your own PCI card, look at LVDS. 25 megabits should be easy at 2 meters. Manchester encoding costs a factor of 2 in link bandwidth (which you have lots of) but it's real simple to decode.

--
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 to
Hal Murray

I've found some boards with 32 LVDS channels. The problem is that all the 32 channels have a common clock. I would like to connect a different sub unit to each pin of the 32 channels. How can I distribute the clock to all sub units?

þþ"Hal Murray" ëúá áäåãòä news: snipped-for-privacy@megapath.net...

unit

is

and

unsolicited

addresses.

Reply to
Pini

What clock are you talking about?

I'm guessing that it's setup for driving 32 parallel signals and listening to 32 parallel signals. Are there extra clock signals?

If those are full duplex channels and you only need 12 remote boxes, then you could do something like send 2 signals to each box, use one for a clock and the other for data. Now each box has a clock synchronized to your central board. You might want a PLL to clean it up.

Then you can do the same thing on the return path. The trick here is that each clock has been delayed by some unknown time, but it is running at the exact same frequency as your central clock. You need a tiny FIFO to solve that problem. I think that takes a depth of 4 and some tricky initialization but I can't recreate the tricks on the fly.

You could also use a crystal on each remote box and use Manchester encoding. If your local clock is 10x or 16x the bit rate, you can build a small FSM to parse Manchester encoding. 10x 25 megabits is 250 MHz, or only 125 if you process it 2 bits at a time. If you have a clean signal you can probably do it with fewer samples per bit. (You can work out the FSM with pencil and graph paper.) If you have 32 recv channels and only need 12 remote boxes you could use 2 channels per box and run at half speed.

Note that a signal clock for all 32 channels is OK. That's the 10x oversample clock, not the bit rate clock. You still have to figure out what to do when the data arrives at slightly different rates and/or at different times.

--
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 to
Hal Murray

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.