Tell me more ×
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free, no registration required.

I have a ultra high bandwidth data stream (USB 2.0 Highspeed), on which I need to add an header for synchronization. This needs to be done, since the datastream needs to be transmitted wireless on a custom RF link.

I was thinking about using a very fast processor to do the data processing, basically add a header. Then output the data in parallel 16 or 32 bits at a time, to a external hardware shift register, driven by proper clock. In this way I would get a serial data stream of the data.

But is this the way to go?

I have trouble even finding parallel to serial (shift registers) that can operate at these speeds.

share|improve this question

3 Answers

up vote 1 down vote accepted

literal answer: as Brian Carlton and Martin Thompson pointed out, some modern FPGAs can easily do parallel-to-serial shift registers at 480 Mbit/s.

"But is this the way to go?"

Perhaps not. Have you considered the alternatives?

  • If you want to transmit USB over a wireless link, have you considered using off-the-shelf wireless USB?
  • Very few RF links support 480 Mbit/s. Perhaps for your project it would be adequate to use a processor that can accept brief bursts of 480 Mbit/s from a host computer, store those bursts in RAM, and then trickle the stored data out at whatever rate your RF analog electronics can support -- which I suspect is much slower than 480 Mbit/s.
  • Many RF systems transmit "symbols" of 4 bits or 8 bits or more at a time, and it is simplest to send all the bits for each symbol in parallel to the I and Q DACs, updating those 4 or 8 wires or more. At 480 Mbit/s, that gives an update rate of 120 MHz or 60 MHz or less -- which can be done directly with some off-the-shelf CPUs, without any FPGA glue logic. (By "more", I'm alluding to COFDM systems).
  • Transmitting a header first, and then a packet of data, is a perfectly adequate method for synchronization. But there are many other methods of synchronization. Perhaps one of those other methods would make your system much easier to implement. Some RF systems transmit each bit of data as soon as it is received (more or less in real time). For example, WOLF (Weak-signal Operation on Low Frequency) alternates between sending a bit of payload data and sending a bit of a long synchronization sequence. For example, many spread spectrum systems simply multiply (with an analog multiplier, aka modulator) the data bit stream with the known spreading sequence that can be used for synchronization.
share|improve this answer

Use a FPGA; even older ones can do shift registers in the 200+ MHz range. Some have built-in serializers and deserializers which are good for the 480 Mb/s you will need.

share|improve this answer
I agree, and then some. FPGA's can go far faster than this. – Jason Morgan May 16 '12 at 19:28
1  
USB2 is 480bmps half duplex. I would guess transporting it across wirelss is possible (WirelessUSB is a standard) but this throughput would require some significant bandwidth. What RF band do you intend to use? Assuming your RF band is limited you would need a modulation technique that achieved some serious spectral effeciency, even surpassing that of LTE wireless used in 4G cellphones. – Jason Morgan May 16 '12 at 19:42

An FPGA should be able to do the whole job: take data in, add header, shift out

400+MHz will require some care, but should be doable.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.