[hpsdr] multi Mercury

Phil Harman phil at pharman.org
Sun Mar 1 17:57:02 PST 2009


Ken,

I've been thinking of ways to implement multiple receivers, either using 
multiple Mercury cards or  as proposed by Alex, VE3NEA, within the one card.

You are quite correct that  Mercury sends its I&Q data in I2S format over 
the Atlas bus on A10.  We could do the same for a second receiver but use a 
different Atlas bus line and then mux them together on Ozy. The only data 
needed by the second receiver is its tune frequency and, for a physical 
receiver, the attenuator setting. With Kirk's OneWire C&C interface sending 
this additional data would be very simple.

The USB protocol could then be

<sync><C&C><Rx1-I><Rx1-Q><Mic><Rx2-I><Rx2-q><Mic> etc

This would double the USB speed to the PC but that will not be a problem.

It gets more interesting when we want  more than two receivers - either 
hardware or software.  The problem being that we need a big FIFO in Ozy and 
it wont fit.  We can fit the FIFO in Mercury then perhaps we use some Atlas 
bus lines as a parallel bus say 8 or 16 bits wide. Perhaps we clock the bus 
on both the positive and negative edges of the clock?  Then for 7 receives 
the max bus speed becomes

192,000 x 24 x 2 x 7  = ~65Mpbs/bus width   - so with a 16 bit bus  this is 
about 4Msps - well within what we can do on the Atlas bus. Another possible 
option is to use an LVDS link between Mercury(s) and Ozy and not use the 
Atlas bus at all. There is a high speed serial Megafunction called SERDIS 
that may be an option, see

< http://www.altera.com/literature/ug/ug_ip_lvds_io.pdf >

Food for thought.

73's Phil....VK6APH 


 1235959022.0


More information about the Hpsdr mailing list