Hey Richard,

Not sure if this is still on your radar, but I'd be curious to see the code
you're using to test this. Do you update your frequency tuning policy to be
DSP tuning only? If you want to pick this back up, feel free to shoot an
email to supp...@ettus.com and we can do a bit of a code walk through to
try to see what's going on.

Sam Reiter

On Tue, Jan 28, 2020 at 4:00 PM Richard Joseph Muri via USRP-users <
usrp-users@lists.ettus.com> wrote:

> Hello,
>
>
> I have an application that schedules transmissions/receives on a short
> time scale (order of tens of microseconds). I'm attempting to gauge the
> feasibility of using a x310 with UBX-160 daughterboards and 10Gb ethernet
> for the application.
>
>
> I wrote a quick test to see approximately how long it would take to
> schedule a bunch of DSP retunes:
> for (int i = 0; i < packets_to_send; i += batch_size)
>     {
>         start = std::chrono::system_clock::now();
>         for (int j = 0; j < batch_size; j++)
>         {
>             // Hop at a scheduled time
>             usrp->set_tx_freq(tune_request.getNextTuneRequest());
>             usrp->clear_command_time();
>             cmd_time += schedule_increment;
>             usrp->set_command_time(cmd_time);
>         }
>         stop = std::chrono::system_clock::now();
>
>         elapsed = std::chrono::duration_cast<std::chrono::microseconds>(stop 
> - start).count();
>         if (elapsed < batch_latency)
>         {
>             busyCheck(batch_latency - elapsed);
>         }
>         else
>         {
>             long_elapsed++;
>             std::cout << elapsed << ", ";
>         }
>     }
>
>
> The behavior is slightly different than I would expect. I know the USRP
> has a command FIFO with approximately 16 slots to queue up commands. I
> would expect that the first chunk of commands would execute quickly, and
> then the set_tx_freq call would start blocking as it waits for the queue to
> have space. Instead I see that the first handful of commands take on the
> order of 1000 us, and it steadily decreases in time until hitting a steady
> state where it takes 250 - 300 us to schedule a command.
>
>
> Are there any obvious mistakes in my test setup? Can I reduce my retune
> command times to under 100 us?
>
>
> Thanks,
>
> Richard
> _______________________________________________
> USRP-users mailing list
> USRP-users@lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to