Hi.
Sorry for what might appear as a commercial at first - but I do have
some real
questions at the end - I’ll try to the description short.
We have developed a new RF learning platform [1] on a standard FMC card
[2]
(meets the electrical requirements, not the mechanical - it’s too long)
which can connect to nearly any recent Xilinx development system, that
we
started showing at X-Fest[3] yesterday.
The advantage of this, vs some existing platforms is bandwidth. The DAC
is a
16-Bit, 1200 MSPS (limited on this platform to 1GSPS, due to the clock
chip
we used), and the ADC is 14-Bit, 250 MSPS. The RF side includes a 400
MHz to
6 GHz Quadrature Modulator/Demodulator, separate Tx and Rx LO
Synthesisers
(35MHz to 4400MHz), and fixed gain on the Tx side, and a Variable Gain
on the
Rx Side. It’s clocking can handle multiple boards attached to the same
FPGA
(for MIMO), and can sync to a 1 pps (from GPS, or IEEE 1588) to sync
many,
many, many boards together.
The demo we are showing at X-Fest is the FMComms board, attached to a
Xilinx
ML605 FPGA, which runs Linux on Microblaze - playing a tone (Xilinx DDS)
out
the DAC, modulating that up to 2.4 GHz, sending it out the antenna,
receiving
it on the same board, demodulating it (at 2.4GHz), passing it through
the
VGA, to the ADC, were we capture the samples (into DDR), passing the
data to
GNU plot to create a png, and then passing the png to a web server, so
it can
be displayed on an external client across the network.
We have ported this to the Series 7 platforms - KC705, and others, and
are in
process finishing the port to Zynq[4] - for the standard Xilinx ZC702
platform [5] and the newly announced Zed[6]. This (I think) is where
things
get a little interesting. Microblaze running Linux is a little pokey -
Zynq
on the otherhand - is a dual ARM Cortex A9, running at 800MHz each, plus
FPGA
fabric - which allows some serious horsepower. This is a kit
(Zynq+FMComms)
that Avnet plans on selling [7].
Which brings me to the question:
We already have Linux IIO drivers[8] for all the parts on the board
(including
the ADCs[9] and DACs[10]), and are just trying to determine how (if at
all)
this fits within the GNU Radio framework.
When I looked at things (which wasn’t very long) - I didn’t see much in
terms
of native / real time connections to a platform which was running Linux
(PCIe, other other bus). Did I miss something?
Thanks in advance
-Robin
Just to be fair - others have done the same type of FMC Card [11] - the
advantage we have is gobs of channel bandwidth - enough to sample all of
bluetooth without doing any hopping at all.
[1] AD-FMCOMMS1-EBZ HDL Reference Design [Analog Devices Wiki]
[2] http://www.vita.com/fmc.html
[3] https://www.weboom.com/avnet2012/
[4]
Zynq 7000 SoC
[5] Boards
[6] http://www.zedboard.org/
[7]
http://www.em.avnet.com/en-us/design/drc/Pages/Analog-Devices-Zynq-Software-Defined-Radio-Kit.aspx
[8] Linux Industrial I/O Subsystem [Analog Devices Wiki]
[9]
https://github.com/mhennerich/linux/blob/fa8fc592243c82c0ddaa43f51be10e2123e1fa9b/drivers/staging/iio/adc/cf_ad9467_core.c
[10]
https://github.com/mhennerich/linux/blob/fa8fc592243c82c0ddaa43f51be10e2123e1fa9b/drivers/staging/iio/frequency/ad9122.c
[11] http://www.4dsp.com/FMC30RF.php