Dear all,

I tried a UHD C++ application for testing GPIO switching times and I get at a 
toggle period of roughly 17us using the following code:

    while(stop_signal_called==false)
    {
            tx_radio_ctrl->set_gpio_attr(gpio, std::string("OUT"), "HIGH", 
GPIO_BIT(4));

            tx_radio_ctrl->set_gpio_attr(gpio, std::string("OUT"), "LOW", 
GPIO_BIT(4));

    }

It seems like this is the upper limit concerning toggling period possible.

Toggling the GPIOs with a period of 100us should thus be feasible...

Does anyone has an advice how to write a low latency OOT block for GNURadio?

Is there a GR-API call to priorize a block?


Thank you for any hints!


________________________________
Von: Marcus D. Leech <patchvonbr...@gmail.com>
Gesendet: Freitag, 10. September 2021 19:47
An: Dobler, Anton; discuss-gnuradio@gnu.org; usrp-us...@lists.ettus.com
Betreff: Re: AW: AW: AW: USRP, GPIO toggling and Gnuradio

On 2021-09-10 1:37 p.m., Dobler, Anton wrote:

Thank you for that explanation! Does the transaction regarding the GPIO states 
use the SFP+ ports or the management connection?


I will go for the raw c++ application and come back to the list ASAP.


Thank you all for your answers!

That's a good question, and one for which I don't have an answer I'm certain 
of.  Copying the usrp-users mailing list.

Your device is an "MPM" device, which is a server on the Linux CPU on your 
device that handles "management of the radio" via
  RPC calls.  Browsing (very cursory) the code, it seems that it "gets" things 
like I2C and SPI, so it probably also handles GPIO
  transactions, it most definitely "lives" on the management interface.




?

________________________________
Von: Marcus D. Leech <patchvonbr...@gmail.com><mailto:patchvonbr...@gmail.com>
Gesendet: Freitag, 10. September 2021 18:59
An: Dobler, Anton; discuss-gnuradio@gnu.org<mailto:discuss-gnuradio@gnu.org>
Betreff: Re: AW: AW: USRP, GPIO toggling and Gnuradio

On 2021-09-10 12:08 p.m., Dobler, Anton wrote:

Is there any alternative to the standard GPIO UHD interface, that allows me the 
desired speed and is this issue I see related to gnuradio and its scheduler or 
rather to the UHD API for the GPIOs??


BR,


Anton?

Every GPIO state transition requires a transaction across your network 
interface, and then into the FPGA GPIO logic.  That's the absolute upper limit 
on
  toggling the GPIOs from the host.

You can test how fast you can make this go with a "raw" UHD C++ program.  Once 
you've established how fast it can potentially go, then you start
  evaluating how to approach this latency with GR.  Right now, the waters are 
very muddy, and I am not the one to comment on GR latencies, etc.




________________________________
Von: Marcus D. Leech <patchvonbr...@gmail.com><mailto:patchvonbr...@gmail.com>
Gesendet: Freitag, 10. September 2021 18:04
An: Dobler, Anton; discuss-gnuradio@gnu.org<mailto:discuss-gnuradio@gnu.org>
Betreff: Re: AW: USRP, GPIO toggling and Gnuradio

On 2021-09-10 11:54 a.m., Dobler, Anton wrote:

I am extracting the package rate of a receive signal using a rather complex GRC 
flowgraph, i.e. I am detecting the preamble of a receive signal and generate a 
clock from here. This clock signal period is within the range of 100us - 1ms.
Toggling GPIOs using the standard GPIO interface for signals this fast is 
likely not going to be very speedy.

The GR experts will have to answer your other questions.



Reply via email to