[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