diff options
author | michael-west <michael.west@ettus.com> | 2022-02-13 18:43:52 -0800 |
---|---|---|
committer | Aaron Rossetto <aaron.rossetto@ni.com> | 2022-04-07 06:24:52 -0700 |
commit | b3a9c7849fa249653643d01c5d5f127feb92152b (patch) | |
tree | 3c80193f6efb111a132b8d8b0b006981854e94e0 /host/docs | |
parent | 41aadb29b952d563bf78c38b7bfd408d2f1d2519 (diff) | |
download | uhd-b3a9c7849fa249653643d01c5d5f127feb92152b.tar.gz uhd-b3a9c7849fa249653643d01c5d5f127feb92152b.tar.bz2 uhd-b3a9c7849fa249653643d01c5d5f127feb92152b.zip |
multi_usrp_rfnoc: Add TX buffering using Replay
Enabled with the "tx_replay_buffer" device argument. Buffers TX data in
DRAM using the Replay block (version 1.1 or higher required), allowing
more buffering of data on the device. May reduce underruns for certain
applications. The Replay block is currently limited to 32 play
commands, so fewer calls to send() with larger buffers will perform
better than more calls with smaller buffers.
Signed-off-by: michael-west <michael.west@ettus.com>
Diffstat (limited to 'host/docs')
-rw-r--r-- | host/docs/configuration.dox | 4 | ||||
-rw-r--r-- | host/docs/general.dox | 12 |
2 files changed, 16 insertions, 0 deletions
diff --git a/host/docs/configuration.dox b/host/docs/configuration.dox index d9a121505..b65714a29 100644 --- a/host/docs/configuration.dox +++ b/host/docs/configuration.dox @@ -212,6 +212,10 @@ The following parameters are supported: - `noclear` (applies to B100 and N2xx only) - `port` and `addr` (N2xx only) These settings specify an alternate receiver streamer destination. +- `streamer` Specify the type of streamer to use. "replay_buffered" (applies + to RFNoC enabled devices with a Replay block in the FPGA image) Adds data + buffering in DRAM using the Replay block for TX streamers when using the + multi_usrp API. \subsubsection config_stream_args_transport Transport-related Stream Arguments diff --git a/host/docs/general.dox b/host/docs/general.dox index 2dab0a9ea..4e1d0cfb9 100644 --- a/host/docs/general.dox +++ b/host/docs/general.dox @@ -189,6 +189,18 @@ Underflow occurs when the host does not produce data fast enough. When UHD software detects the underflow, it prints a "U" to stdout, and pushes a message packet into the async message stream. +Some underruns may be mitigated by buffering data in DRAM using the Replay +block. The Replay block is only available in devices that support RFNoC. Some +RFNoC devices include the Replay block in the default FPGA image. Use the +'uhd_usrp_probe' utility and look for the "RFNoC blocks on this device:" +section of the output to check if the Replay block is present. If using +the multi_usrp API, simply add the stream argument "streamer=replay_buffered" +to enable the buffering. This buffering adds latency and will likely not work +at the highest streaming rates. A limited number of buffers can be stored +in the Replay block, so larger buffers supplied to the tx_streamer::send() +call will produce the best results. Buffers that are too small will result +in gaps in the transmitted signal. + <b>Note:</b> "O" and "U" message are generally harmless, and just mean the host machine can't keep up with the requested rates. |