usrp-users@lists.ettus.com

Discussion and technical support related to USRP, UHD, RFNoC

View all threads

RFNOC + GPIO

CA
Christophe ALEXANDRE
Mon, May 22, 2017 5:53 PM

Hi,

i'm using an X310. Is there any way to use
the external GPIOs inside an RFNOC block ?

regards.

Christophe ALEXANDRE

Hi, i'm using an X310. Is there any way to use the external GPIOs inside an RFNOC block ? regards. Christophe ALEXANDRE
MW
Michael West
Tue, May 23, 2017 1:06 AM

Hi Christophe,

Yes.  The external GPIO is controlled by the radio block, so the custom
RFNoC block would just have to generate the appropriate control packet to
the radio and handle the ACK packet coming back.  There will be some random
amount of latency with that approach.  If you need deterministic timing of
the GPIO signals, you can supply a timestamp in the packet from your custom
block, use timed commands from the host, or simply rewire the GPIO signals
directly to the custom block.

Regards,
Michael

On Mon, May 22, 2017 at 10:53 AM, Christophe ALEXANDRE via USRP-users <
usrp-users@lists.ettus.com> wrote:

Hi,

i'm using an X310. Is there any way to use
the external GPIOs inside an RFNOC block ?

regards.

Christophe ALEXANDRE


USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Hi Christophe, Yes. The external GPIO is controlled by the radio block, so the custom RFNoC block would just have to generate the appropriate control packet to the radio and handle the ACK packet coming back. There will be some random amount of latency with that approach. If you need deterministic timing of the GPIO signals, you can supply a timestamp in the packet from your custom block, use timed commands from the host, or simply rewire the GPIO signals directly to the custom block. Regards, Michael On Mon, May 22, 2017 at 10:53 AM, Christophe ALEXANDRE via USRP-users < usrp-users@lists.ettus.com> wrote: > Hi, > > i'm using an X310. Is there any way to use > the external GPIOs inside an RFNOC block ? > > regards. > > Christophe ALEXANDRE > > > > _______________________________________________ > USRP-users mailing list > USRP-users@lists.ettus.com > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com >
CA
Christophe ALEXANDRE
Tue, May 23, 2017 6:38 AM

thank you for your quick answer.

do you have any figure about the random latency ?

is there any documentation/example somewhere about :

  1. generating the appropriate control packet

  2. rewiring the GPIO signals directly to the custom block

regards.

Christophe ALEXANDRE

Le 23/05/2017 à 03:06, Michael West a écrit :

Hi Christophe,

Yes.  The external GPIO is controlled by the radio block, so the
custom RFNoC block would just have to generate the appropriate control
packet to the radio and handle the ACK packet coming back.  There will
be some random amount of latency with that approach.  If you need
deterministic timing of the GPIO signals, you can supply a timestamp
in the packet from your custom block, use timed commands from the
host, or simply rewire the GPIO signals directly to the custom block.

Regards,
Michael

On Mon, May 22, 2017 at 10:53 AM, Christophe ALEXANDRE via USRP-users
<usrp-users@lists.ettus.com mailto:usrp-users@lists.ettus.com> wrote:

 Hi,

 i'm using an X310. Is there any way to use
 the external GPIOs inside an RFNOC block ?

   regards.

  Christophe ALEXANDRE



 _______________________________________________
 USRP-users mailing list
 USRP-users@lists.ettus.com <mailto:USRP-users@lists.ettus.com>
 http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
 <http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com>
thank you for your quick answer. do you have any figure about the random latency ? is there any documentation/example somewhere about : 1) generating the appropriate control packet 2) rewiring the GPIO signals directly to the custom block regards. Christophe ALEXANDRE Le 23/05/2017 à 03:06, Michael West a écrit : > Hi Christophe, > > Yes. The external GPIO is controlled by the radio block, so the > custom RFNoC block would just have to generate the appropriate control > packet to the radio and handle the ACK packet coming back. There will > be some random amount of latency with that approach. If you need > deterministic timing of the GPIO signals, you can supply a timestamp > in the packet from your custom block, use timed commands from the > host, or simply rewire the GPIO signals directly to the custom block. > > Regards, > Michael > > On Mon, May 22, 2017 at 10:53 AM, Christophe ALEXANDRE via USRP-users > <usrp-users@lists.ettus.com <mailto:usrp-users@lists.ettus.com>> wrote: > > Hi, > > i'm using an X310. Is there any way to use > the external GPIOs inside an RFNOC block ? > > regards. > > Christophe ALEXANDRE > > > > _______________________________________________ > USRP-users mailing list > USRP-users@lists.ettus.com <mailto:USRP-users@lists.ettus.com> > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com > <http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com> > >
MW
Michael West
Tue, May 23, 2017 6:23 PM

Hi Christophe,

There is no real deterministic way of figuring out the latency since it
takes time to send a packet from one block to another, but I would expect
it to be <10us since the packet is small and the bus clock is 167 MHz.

Unfortunately, there are no examples or documentation on how to do it yet.
You will have to spend some time reading the code and figuring it out.

The packet header format can be found here:
https://github.com/EttusResearch/fpga/blob/maint/usrp3/chdr.txt

Wiring the signals directly into the block is just basic FPGA design.
Disconnect the fp_gpio lines from the radio block and connect them to your
custom block.

Perhaps an easier approach is to use the ATR feature of the GPIO.  You can
set up the GPIO to automatically switch values when it is idle,
transmitting, receiving, or in full duplex (transmitting and receiving).
You simply set desired values for each state.

Regards,
Michael

On Mon, May 22, 2017 at 11:38 PM, Christophe ALEXANDRE <
christophe.alexandre@cnam.fr> wrote:

thank you for your quick answer.

do you have any figure about the random latency ?

is there any documentation/example somewhere about :

  1. generating the appropriate control packet

  2. rewiring the GPIO signals directly to the custom block

regards.

Christophe ALEXANDRE

Le 23/05/2017 à 03:06, Michael West a écrit :

Hi Christophe,

Yes.  The external GPIO is controlled by the radio block, so the custom
RFNoC block would just have to generate the appropriate control packet to
the radio and handle the ACK packet coming back.  There will be some random
amount of latency with that approach.  If you need deterministic timing of
the GPIO signals, you can supply a timestamp in the packet from your custom
block, use timed commands from the host, or simply rewire the GPIO signals
directly to the custom block.

Regards,
Michael

On Mon, May 22, 2017 at 10:53 AM, Christophe ALEXANDRE via USRP-users <
usrp-users@lists.ettus.com> wrote:

Hi,

i'm using an X310. Is there any way to use
the external GPIOs inside an RFNOC block ?

regards.

Christophe ALEXANDRE


USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Hi Christophe, There is no real deterministic way of figuring out the latency since it takes time to send a packet from one block to another, but I would expect it to be <10us since the packet is small and the bus clock is 167 MHz. Unfortunately, there are no examples or documentation on how to do it yet. You will have to spend some time reading the code and figuring it out. The packet header format can be found here: https://github.com/EttusResearch/fpga/blob/maint/usrp3/chdr.txt Wiring the signals directly into the block is just basic FPGA design. Disconnect the fp_gpio lines from the radio block and connect them to your custom block. Perhaps an easier approach is to use the ATR feature of the GPIO. You can set up the GPIO to automatically switch values when it is idle, transmitting, receiving, or in full duplex (transmitting and receiving). You simply set desired values for each state. Regards, Michael On Mon, May 22, 2017 at 11:38 PM, Christophe ALEXANDRE < christophe.alexandre@cnam.fr> wrote: > thank you for your quick answer. > > do you have any figure about the random latency ? > > is there any documentation/example somewhere about : > > 1) generating the appropriate control packet > > 2) rewiring the GPIO signals directly to the custom block > > > regards. > > > Christophe ALEXANDRE > > > Le 23/05/2017 à 03:06, Michael West a écrit : > > Hi Christophe, > > Yes. The external GPIO is controlled by the radio block, so the custom > RFNoC block would just have to generate the appropriate control packet to > the radio and handle the ACK packet coming back. There will be some random > amount of latency with that approach. If you need deterministic timing of > the GPIO signals, you can supply a timestamp in the packet from your custom > block, use timed commands from the host, or simply rewire the GPIO signals > directly to the custom block. > > Regards, > Michael > > On Mon, May 22, 2017 at 10:53 AM, Christophe ALEXANDRE via USRP-users < > usrp-users@lists.ettus.com> wrote: > >> Hi, >> >> i'm using an X310. Is there any way to use >> the external GPIOs inside an RFNOC block ? >> >> regards. >> >> Christophe ALEXANDRE >> >> >> >> _______________________________________________ >> USRP-users mailing list >> USRP-users@lists.ettus.com >> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com >> > > >