[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] Writing a Radio Driver
From: |
Tristan Martin |
Subject: |
Re: [Discuss-gnuradio] Writing a Radio Driver |
Date: |
Mon, 20 Oct 2014 08:20:11 -0400 |
Harrison,
On option is to start with Nutaq's software package for the Zedboard
(http://nutaq.com/en/products/zeptosdr).
This software package includes GNU Radio sink/source blocks on PC to get your
samples from the ADC through your Zynq into your user land on the PC. It also
includes those same GNU Radio sink/source blocks, but for a GNU Radio running
on the ARM processor (includes image with Linux, GNU Radio, Nutaq drivers,
etc.. for ARM). The FPGA image with comprehensive source files and
documentation, and the matching host and ARM drivers (with source code) as well
as the GNU Radio user land interface are provided, which should kick-start your
work on the Zedboard as far as streaming from GNU Radio on the Zedboard is
concerned.
Additionally, when using the FMC Radio420x RF daughter card, software package
contains GNU Radio blocks to expose your hardware controls practically. Our
software package includes an FPGA IP Core for the Radio420x that aims at
abstracting the list of the AXI-lite Registers through the use of this user
friendly Radio420x FPGA core, as well as the corresponding GNU Radio blocks so
that you can avoid pulling signals in the user logic to control the Radio420x
and rather call functions on the host computer to control the radio parameters
(clk freq, Tx freq, Rx freq, filters, gains, auto-calibration of DC offset and
IQ imbalance, etc...). When using an FMC daughter card from a 3rd party vendor
with the Zedboard, you may use generic AXI-lite Registers read and write
functions in the Nutaq API to control the AXI-lite FMC IP core provided with
the FMC card and easily integrate the new card with your existing GNU Radio
application. The package also includes GNU Radio blocks to read and write to
Zynq FPGA registers. It should kick-start your work on the Zedboard as far as
controlling registers from GNU Radio on the Zedboard is concerned.
This software package is available online but password protected until we find
the most comprehensive way to decouple what's specific to Zedboard from what's
specific to the FMC Radio420x. But you can request access for a free evaluation.
Good luck.
Tristan
address@hidden
-----Message d'origine-----
De : address@hidden [mailto:address@hidden De la part de Marcus Müller
Envoyé : 16 octobre 2014 15:29
À : address@hidden
Objet : Re: [Discuss-gnuradio] Writing a Radio Driver
Hi Harrison,
There's no "driver architecture" in GNU Radio; you just write sink/source
blocks.
If you have a few minutes to spare, start with the GNU Radio tutorials [1] from
start to hardware; that should give you a solid primer on how things work with
GNU Radio. If you then know how you get your samples from the ADC through your
Zynq into your userland, you're basically set :D well, aside from minor things
like figuring out how to expose your hardware controls most practically to GNU
Radio, and how to avoid overhead.
Again, there's no standard for hardware control in GNU Radio[1].
UHD is quite specific to Ettus devices, so I don't think screwing your stuff
onto that seems very wise (though I've seen parts similar to yours in Ettus
products ;) [2]). UHD, though, is open source, including the FPGA image and the
matching drivers as well as the userland interface, and I don't think the
developers mind you looking at the code they produced to tackle the
FPGA-userland interface.
Greetings,
Marcus
[1] maybe there should be. I think we should wrap this up in clean interface
specifications, and define CORBA objects for that :D j/k.
[2] There is an upcoming embedded USRP, employing a Zynq, the E300.
Ettus presented some information on grcon 2014:
http://www.trondeau.com/storage/grcon14/presentations/Sep16_05_Ettus_Updates.pdf
On 16.10.2014 20:21, Harrison Caudill wrote:
> Hello Everyone,
>
> I have a custom PCB to power an SDR, and I'm going to need to provide
> a gnuradio driver for it.
>
> We are using:
> * Xilinx Zynq 7020 SoC
> * Analog Devices AD9364 ADC
> * AvNet ZedBoard for prototyping
>
> I can only imagine that we will ultimately use a tweaked version of
> the Ettus Research UHD driver. I have found a couple of other drivers
> that people have written, as well.
>
> Short of old-fashioned source-diving, I am unsure of where to begin.
> Can anyone recommend some good reading on the gnuradio architecture
> and/or driver layer? I'm guessing I'll have to write a source block
> for the radio, leaving the issue of running the flow graph on the PL
> of the Zynq and interfacing properly with the AXI bus.
>
> Thanks,
> Harrison
>
_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio