Hi Marcus,

Can we quantify this in the following way?

If I send timed commands every 2ms and sampling rate is 5MS/s, that's 10000 
samples per command or 50000 for the command queue (assuming a depth of 5).

Can we say the timed commands will guaranteed to be executed on time if we 
never buffer more than 50000 samples (=200000 bytes) on the host?

Can this be tuned somehow? I tried setting send_buff_size [1] to a small value 
(send_buff_size=10000 etc.) but that didn't seem to make any difference.

Thanks,
Lukas


[1] https://files.ettus.com/manual/page_transport.html



> Gesendet: Donnerstag, 11. Juni 2020 um 16:32 Uhr
> Von: "Marcus D Leech" <patchvonbr...@gmail.com>
> An: "Lukas Haase" <lukasha...@gmx.at>
> Cc: "USRP-userslists.ettus.com" <usrp-users@lists.ettus.com>
> Betreff: Re: [USRP-users] How to debug timed commands on FPGA side?
>
> So one of the things That can happen is that your command packets will have 
> to wait For a much-larger data packet. The link is shared. 
> 
> I’d timed commands are scheduled “tight” this can happen. 
> 
> Sent from my iPhone
> 
> > On Jun 11, 2020, at 3:34 PM, Lukas Haase <lukasha...@gmx.at> wrote:
> > 
> > Hi Marcus,
> > 
> >>> On 06/10/2020 09:00 PM, Lukas Haase via USRP-users wrote:
> >>> [...]
> >>> For example, what is the fastest rate I can issue timed commands
> >>> (ignoring settling times etc) on a X310 over 10Gbe?
> >> This is actually an ambiguous question.  Do you mean "what is the
> >> smallest scheduling interval for the commands that will be executed
> >> in the future?" or "how fast can I issue commands that will
> >> ultimately be scheduled at a later time?"  In the former, that
> >> depends on the exact nature of the commands, since they end up
> >> actually being executed by, for example, an SPI or I2C endpoint,
> >> which operates very very much slower than a 10GiGe interface.  In the
> >> latter, my guess is that the FPGA can swallow commands and place them
> >> on the queue pretty-much as fast as you can issue them over 10GiG.
> >> How fast you can do that depends very much on your host-side
> >> environment, network stack, kernel network drivers, kernel latencies,
> >> etc.
> > 
> > My questions concerns the latter (for now).
> > Since the FPGA has a (small) finite FIFO for these timed commands I 
> > assume*d* there would be a limit on how fast I can send these commands.
> > 
> > Based on Jonathon's answer however, it seems that UHD on the host ensures 
> > that it only sends a maximum number of timed commands such that the command 
> > queues do not overflow.
> > 
> > But it seems to bring another issue: If UHD holds back these messages too 
> > long they will eventually arrive late and (silently) execute non-timed 
> > (thereby destroying any coherence the application might require).
> > 
> > I am trying to debug WHY this can happen, why it does NOT happen to the 
> > data stream (all data arrives on time!) and what I can do that I ensure my 
> > timed commands will execute *on time*.
> > 
> > Thanks,
> > Lukas
> > 
> > 
> > 
> > 
> > 
> > 
>

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

Reply via email to