[USRP-users] Re: RFNoC Replay module (DRAM to PC)

2024-10-08 Thread Jorge Chen
Hi all,

I’m working on a multi-channel, phase-coherent transceiver platform using
the N310 and RFNoC Replay block (UHD4.6). It has been tested successfully
for 4TX and 4RX individually.

However, I’m facing challenges getting 4TX and 4RX to work simultaneously.

Attempts to configure:

   1. *1 Replay block with 8 I/O ports:*
  - Result: Bitstream generated successfully, and Replay block connects
  with other blocks. However, data read/write fails on ports 4–7.
  - Inference: [1][2] suggest the N310 Replay block only supports 4
  channels, which might explain the issue.
   2. * 2 Replay blocks, each with 4 I/O ports:*
  - Result: Bitstream compilation fails (YAML and logs attached).
  - Inference: Could the issue be related to connecting both Replay
  blocks to the same DRAM? If so, is it possible to partition the DRAM for
  use by both blocks?

Reference [2] mentions that DRAM access can be controlled by adjusting
axi_intercon_2x64_128_bd to restrict memory availability.
Could this be a solution to allow DRAM access for both Replay blocks?

Any guidance on configuring the Replay block for simultaneous 4TX/4RX would
be greatly appreciated.


References:
[1]
https://kb.ettus.com/Using_the_RFNoC_Replay_Block_in_UHD_4#Building_Custom_FPGA_Images_with_a_Replay_Block
[2]
https://kb.ettus.com/RFNoC_Frequently_Asked_Questions#How_do_I_add_the_Replay.2FDMA_FIFO_block_to_my_FPGA_image.3F


Thanks,
Jorge


Martin Braun  於 2024年10月4日 週五 下午11:41寫道:

> Mark the last connection as a back-edge (
> https://uhd.readthedocs.io/en/latest/classuhd_1_1rfnoc_1_1rfnoc__graph.html#ab4cca8d99af451a9b9c5757af2b66ffa,
> see also
> https://uhd.readthedocs.io/en/latest/page_properties.html#props_graph_resolution_back_edges
> ).
>
> --M
>
> On Fri, Oct 4, 2024 at 4:39 PM hui cj  wrote:
>
>> Sorry to bother everyone again,
>>
>>- 0/Replay#0:0 --> 0/DUC#0:0
>>- 0/DUC#0:0 ==> 0/Radio#0:0
>>- 0/Radio#0:0 ==> 0/DDC#0:0
>>- 0/DDC#0:0 --> 0/Replay#0:0
>>
>> I wonder to realize the graph that work for playing from DRAM and
>> recording to DRAM simultaneously,
>>
>> graph->connect(tx_replay_ctrl->get_block_id(), tx_replay_chan, 
>> duc_ctrl->get_block_id(), duc_chan);
>>
>> graph->connect(duc_ctrl->get_block_id(), duc_chan, 
>> tx_radio_ctrl->get_block_id(), tx_chan);
>>
>>
>> graph->connect(rx_radio_ctrl->get_block_id(), rx_chan, 
>> ddc_ctrl->get_block_id(), ddc_chan);
>>
>> graph->connect(ddc_ctrl->get_block_id(), ddc_chan, 
>> rx_replay_ctrl->get_block_id(), rx_replay_chan);
>>
>>
>> Then the following error ran out.
>>
>> [ERROR] [RFNOC::GRAPH::DETAIL] Adding edge 0/DDC#0:0 -> 0/Replay#0:0 without 
>> disabling is_forward_edge will lead to unresolvable graph!
>>
>> Can someone help me? Thanks!
>>
>> ___
>> USRP-users mailing list -- usrp-users@lists.ettus.com
>> To unsubscribe send an email to usrp-users-le...@lists.ettus.com
>>
> ___
> USRP-users mailing list -- usrp-users@lists.ettus.com
> To unsubscribe send an email to usrp-users-le...@lists.ettus.com
>
[00:13:54] Starting DRC Command
[00:15:13] Current task: DRC +++ Current Phase: Starting
[00:15:13] Current task: DRC +++ Current Phase: Finished
[00:15:13] Executing Tcl: opt_design -directive NoBramPowerOpt
[00:15:13] Starting Logic Optimization Command
[00:15:13] Current task: Logic Optimization +++ Current Phase: Starting
[00:15:13] Current task: Logic Optimization +++ Current Phase: Finished
[00:15:13] Starting DRC Task
ERROR: [DRC MDRV-1] Multiple Driver Nets: Net 
n3xx_core/rfnoc_sandbox_i/b_replay1_7/gen_replay_blocks[0].axi_dma_master_i/B25[0]
 has multiple drivers: 
n3xx_core/rfnoc_sandbox_i/b_replay1_7/gen_replay_blocks[0].axi_dma_master_i/m_axi_awlen_reg[0]/Q,
 and 
n3xx_core/rfnoc_sandbox_i/b_replay0_6/gen_replay_blocks[0].axi_dma_master_i/m_axi_awlen_reg[0]/Q.
ERROR: [DRC MDRV-1] Multiple Driver Nets: Net 
n3xx_core/rfnoc_sandbox_i/b_replay1_7/gen_replay_blocks[0].axi_dma_master_i/B25[1]
 has multiple drivers: 
n3xx_core/rfnoc_sandbox_i/b_replay1_7/gen_replay_blocks[0].axi_dma_master_i/m_axi_awlen_reg[1]/Q,
 and 
n3xx_core/rfnoc_sandbox_i/b_replay0_6/gen_replay_blocks[0].axi_dma_master_i/m_axi_awlen_reg[1]/Q.
ERROR: [DRC MDRV-1] Multiple Driver Nets: Net 
n3xx_core/rfnoc_sandbox_i/b_replay1_7/gen_replay_blocks[0].axi_dma_master_i/B25[2]
 has multiple drivers: 
n3xx_core/rfnoc_sandbox_i/b_replay1_7/gen_replay_blocks[0].axi_dma_master_i/m_axi_awlen_reg[2]/Q,
 and 
n3xx_core/rfnoc_sandbox_i/b_replay0_6/gen_replay_blocks[0].axi_dma_master_i/m_axi_awlen_reg[2]/Q.
ERROR: [DRC MDRV-1] Multiple Driver Nets: Net 
n3xx_core/rfnoc_sandbox_i/b_replay1_7/gen_replay_blocks[0].axi_dma_master_i/B25[3]
 has multiple drivers: 
n3xx_core/rfnoc_sandbox_i/b_replay1_7/gen_replay_blocks[0].axi_dma_master_i/m_axi_awlen_reg[3]/Q,
 and 
n3xx_core/rfnoc_sandbox_i/b_replay0_6/gen_replay_blocks[0].axi_dma_master_i/m_axi_awlen_reg[3]/Q.
ERROR: [DRC MDR

[USRP-users] Re: RFNoC Replay module (DRAM to PC)

2024-10-11 Thread Jorge Chen
Hi Martin

Thank you for your reply. I understand the N310’s default Replay block has
4 input and 4 output ports. In my setup, I connect the tx_streamers to the
Replay block’s input ports and route the output ports to the DUC blocks on
the TX side. On the RX side, I connect the DDC blocks to the Replay block’s
input ports, with the output ports connected to the rx_streamers. This is
why I believe I may need additional ports for simultaneous TX-RX, and I’m
exploring possible solutions.

I plan to use a 100MHz bandwidth with a sample rate of 122.88MSps per
channel. I’ve noticed that channel time offsets occur when overflows or
underflows happen in the real-time streaming architecture based on the
multi-usrp object. Since stability is crucial, especially it takes time to
collect data. And the experiment will be conducted outdoors, I aim to keep
the system as compact as possible, using just one USRP N310 and a notebook
(there will be a target in the air for transmitting samples to and
receiving samples from). This is why I’m considering using the Replay block
to off load the massive data transmission between NB and USRP N310.

Thanks again for mentioning the TX/RX cross talk issue. I plan to try
separating the frequencies for the external TX/RX LOs to reduce the
problem. Do you think this approach might help?

Any further suggestions would be greatly appreciated!

Thanks!
Jorge

On Wed, Oct 9, 2024 at 3:53 PM Martin Braun  wrote:

> Jorge,
>
> for 4x4 mode, you need 4 ports, not 8. If you configure the replay block
> with 4 channels, it will create both 4 input and output ports,
> respectively. What bandwidth are you trying to capture?
>
> Also remember that if you TX and RX simultaneously, you will get crosstalk.
>
> --M
>
> On Tue, Oct 8, 2024 at 10:06 AM Jorge Chen  wrote:
>
>> Hi all,
>>
>> I’m working on a multi-channel, phase-coherent transceiver platform using
>> the N310 and RFNoC Replay block (UHD4.6). It has been tested successfully
>> for 4TX and 4RX individually.
>>
>> However, I’m facing challenges getting 4TX and 4RX to work simultaneously.
>>
>> Attempts to configure:
>>
>>1. *1 Replay block with 8 I/O ports:*
>>   - Result: Bitstream generated successfully, and Replay block
>>   connects with other blocks. However, data read/write fails on ports 
>> 4–7.
>>   - Inference: [1][2] suggest the N310 Replay block only supports 4
>>   channels, which might explain the issue.
>>2. * 2 Replay blocks, each with 4 I/O ports:*
>>   - Result: Bitstream compilation fails (YAML and logs attached).
>>   - Inference: Could the issue be related to connecting both Replay
>>   blocks to the same DRAM? If so, is it possible to partition the DRAM 
>> for
>>   use by both blocks?
>>
>> Reference [2] mentions that DRAM access can be controlled by adjusting
>> axi_intercon_2x64_128_bd to restrict memory availability.
>> Could this be a solution to allow DRAM access for both Replay blocks?
>>
>> Any guidance on configuring the Replay block for simultaneous 4TX/4RX
>> would be greatly appreciated.
>>
>>
>> References:
>> [1]
>> https://kb.ettus.com/Using_the_RFNoC_Replay_Block_in_UHD_4#Building_Custom_FPGA_Images_with_a_Replay_Block
>> [2]
>> https://kb.ettus.com/RFNoC_Frequently_Asked_Questions#How_do_I_add_the_Replay.2FDMA_FIFO_block_to_my_FPGA_image.3F
>>
>>
>> Thanks,
>> Jorge
>>
>>
>> Martin Braun  於 2024年10月4日 週五 下午11:41寫道:
>>
>>> Mark the last connection as a back-edge (
>>> https://uhd.readthedocs.io/en/latest/classuhd_1_1rfnoc_1_1rfnoc__graph.html#ab4cca8d99af451a9b9c5757af2b66ffa,
>>> see also
>>> https://uhd.readthedocs.io/en/latest/page_properties.html#props_graph_resolution_back_edges
>>> ).
>>>
>>> --M
>>>
>>> On Fri, Oct 4, 2024 at 4:39 PM hui cj  wrote:
>>>
>>>> Sorry to bother everyone again,
>>>>
>>>>- 0/Replay#0:0 --> 0/DUC#0:0
>>>>- 0/DUC#0:0 ==> 0/Radio#0:0
>>>>- 0/Radio#0:0 ==> 0/DDC#0:0
>>>>- 0/DDC#0:0 --> 0/Replay#0:0
>>>>
>>>> I wonder to realize the graph that work for playing from DRAM and
>>>> recording to DRAM simultaneously,
>>>>
>>>> graph->connect(tx_replay_ctrl->get_block_id(), tx_replay_chan, 
>>>> duc_ctrl->get_block_id(), duc_chan);
>>>>
>>>> graph->connect(duc_ctrl->get_block_id(), duc_chan, 
>>>> tx_radio_ctrl->get_block_id(), tx_chan);
>>>>
>>>>
>>>> graph-&g

[USRP-users] Re: For building Verilog code for FPGA x300 series which license Vivado should I necessary?

2022-01-17 Thread Jorge Chen
Hi,

By the way, there's a note in AN-823 indicating the required Vivado edition
for the USRP device.

https://kb.ettus.com/Getting_Started_with_RFNoC_Development#Prerequisites

*NOTE:*

   - The edition of Xilinx Vivado that is required will depend on which
   USRP device is being used.
  - X3xx series devices: Design Edition or System Edition.
  - E3xx series devices: Design Edition, System Edition, or the free
  WebPack Edition.



 於 2022年1月17日 週一 下午8:49寫道:

> K7-325T requires a full license.
>
>
> https://support.xilinx.com/s/question/0D52E6hpNqF/ettus-usrp-x300-vivado-license?language=en_US
> ___
> USRP-users mailing list -- usrp-users@lists.ettus.com
> To unsubscribe send an email to usrp-users-le...@lists.ettus.com
>
___
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-le...@lists.ettus.com


[USRP-users] PPS and REF out form a X310 and leakage problem

2017-08-07 Thread Jorge Chen via USRP-users
Hi all



I’d like to build up 8X8 MIMO system using 4 USRP X310.

To synchronize time&freq. between all of them, I used to use a function
generator to feed both 1 PPS and 10 MHz reference clock to them.

Today, I got an Octoclock which I thought it is able to provide both
synchronization signal, but it is said that “For the OctoClock, there is no
internal timing or clocking source, so the OctoClock will always use
external 10 MHz and 1 PPS sources, regardless of the position of the switch.”
in the UHD manual.



So, I plan to use one of the X310 to feed the synchronization signal to the
Octoclock REF&PPS input and connect other X310s to the REF&PPS output, like
the block diagram below.



[image: 內置圖片 1]

1.

I use the LTS version of UHD (3.9.6).

And I use the commands like:

 //Lock mboard clocks

 tx_usrp->set_clock_source("internal",0);

 tx_usrp->set_clock_source("external",1);

But it always show the error message:

Error: RuntimeError: Reference Clock PLL failed to lock to external source.



I wonder if the commands or my thought were wrong or this function is not
supported?Because I found some discussions (March, 2017) in the mailing
list talked about the X310 is not supported for daisy-chaining. By the way,
is X300 not supported neither?





2.

The other problem is that when I use a terminator to terminate the TX/RX
port, I can still discover the signal through the spectrum analyzer by
connecting an antenna. Is the signal leaked from somewhere? And how to
prevent it?





Thanks in advance!

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


Re: [USRP-users] PPS and REF out form a X310 and leakage problem

2017-08-18 Thread Jorge Chen via USRP-users
Dear Derek

First of all, I feel sorry that I write you back so late, cuz I went to a
conference these days and was not able to do the experiments.

1. The Octoclock I have is the one needs external source.
2. Just to clarify,  "The X310 will always output it's signals so can still
be used as the source but by using the external reference on all USRPs the
1PPS signals will be aligned at all units rather than having the master be
earlier than the others due to propagation delays."

2.1 No matter I set set_clock_source("external") or
set_clock_source("internal"),
the REF OUT/PPS TRIG OUT will always output reference/PPS sources?
2.2 If yes, does that mean I just need to use one of the X310 to provide
reference/PPS sources to the Octoclock, then the Octoclock will
provide the reference/PPS
to all of the X310? And thus the PPS will arrive to all X310 simultaneously?



Win32; Microsoft Visual C++ version 12.0; Boost_105600;
UHD_003.009.006-release


Creating the transmit usrp device with:
addr0=192.168.10.4,addr1=192.168.10.5...
-- X300 initialization sequence...
-- Determining maximum frame size... 1472 bytes.
-- Setup basic communication...
-- Loading values from EEPROM...
-- Setup RF frontend clocking...
-- Radio 1x clock:200
-- Initialize Radio0 control...
-- Creating WSA UDP transport for 192.168.10.4:49153
-- Performing register loopback test... pass
-- Initialize Radio1 control...
-- Creating WSA UDP transport for 192.168.10.4:49153
-- Performing register loopback test... pass
-- Determining maximum frame size... 1472 bytes.
-- Setup basic communication...
-- Loading values from EEPROM...
-- Setup RF frontend clocking...
-- Radio 1x clock:200
-- Detecting internal GPSDO Found an internal GPSDO: LC_XO, Firmware
Rev 0.929a
-- Initialize Radio0 control...
-- Creating WSA UDP transport for 192.168.10.5:49153
-- Performing register loopback test... pass
-- Initialize Radio1 control...
-- Creating WSA UDP transport for 192.168.10.5:49153
-- Performing register loopback test... pass

Creating the receive usrp device with:
addr0=192.168.10.4,addr1=192.168.10.5...
Error: RuntimeError: Reference Clock PLL failed to lock to external source.



2017-08-08 0:22 GMT+08:00 Derek Kozel :

> Hello Jorge,
>
> The Octoclock is sold in two versions, one with an internal GPSDO and one
> that requires an external source.
>
> The X310 and X300 both do not support daisy chaining. There are a few
> issues with it, one of the key ones being propagation delay. If the 1PPS
> signal was passed from one unit to the next again and again it would arrive
> at the different USRPs at different times, ruining synchronization.
>
> The configuration should work with one of the X310s supplying the 10 MHz
> and 1 PPS. However it would be better to have the Octoclock's 10 MHz and
> 1PPS outputs connected to all four of the X310s. The X310 will always
> output it's signals so can still be used as the source but by using the
> external reference on all USRPs the 1PPS signals will be aligned at all
> units rather than having the master be earlier than the others due to
> propagation delays.
>
> Do you see the PPS light flashing on the Octoclock? What do the other
> lights show?
>
> Which USRP is failing to synchronize? If you only try to synchronize the
> slave USRPs does that work?
>
> Regards,
> Derek
>
> On Mon, Aug 7, 2017 at 3:28 PM, Jorge Chen via USRP-users <
> usrp-users@lists.ettus.com> wrote:
>
>> Hi all
>>
>>
>>
>> I’d like to build up 8X8 MIMO system using 4 USRP X310.
>>
>> To synchronize time&freq. between all of them, I used to use a function
>> generator to feed both 1 PPS and 10 MHz reference clock to them.
>>
>> Today, I got an Octoclock which I thought it is able to provide both
>> synchronization signal, but it is said that “For the OctoClock, there is
>> no internal timing or clocking source, so the OctoClock will always use
>> external 10 MHz and 1 PPS sources, regardless of the position of the switch.”
>> in the UHD manual.
>>
>>
>>
>> So, I plan to use one of the X310 to feed the synchronization signal to
>> the Octoclock REF&PPS input and connect other X310s to the REF&PPS output,
>> like the block diagram below.
>>
>>
>>
>> [image: 內置圖片 1]
>>
>> 1.
>>
>> I use the LTS version of UHD (3.9.6).
>>
>> And I use the commands like:
>>
>>  //Lock mboard clocks
>>
>>  tx_usrp->set_clock_source("internal",0);
>>
>>  tx_usrp->set_clock_source("external",1);
>>
>> But it always show the error message:
>>
>> Error: RuntimeError: Reference Clock PLL failed to lock to external
>> source.
>>
&

Re: [USRP-users] PPS and REF out form a X310 and leakage problem

2017-08-18 Thread Jorge Chen via USRP-users
Dear Derek

First of all, I feel sorry that I write you back so late, cuz I went to a
conference these days and was not able to do the experiments.

1. The Octoclock I have is the one needs external source.
2. Just to clarify,  "The X310 will always output it's signals so can still
be used as the source but by using the external reference on all USRPs the
1PPS signals will be aligned at all units rather than having the master be
earlier than the others due to propagation delays."

2.1 No matter I set set_clock_source("external")
or set_clock_source("internal"), the REF OUT/PPS TRIG OUT will always
output reference/PPS sources?
2.2 If yes, does that mean I just need to use one of the X310 to
provide reference/PPS sources to the Octoclock, then the Octoclock will
provide the reference/PPS to all of the X310? And thus the PPS will arrive
to all X310 simultaneously?

3. However, when I use the configuration mentioned above, the program
failed in the beginning (Creating the receive usrp device).


Win32; Microsoft Visual C++ version 12.0; Boost_105600;
UHD_003.009.006-release

Creating the transmit usrp device with:
addr0=192.168.10.4,addr1=192.168.10.5...
-- X300 initialization sequence...
-- Determining maximum frame size... 1472 bytes.
-- Setup basic communication...
-- Loading values from EEPROM...
-- Setup RF frontend clocking...
-- Radio 1x clock:200
-- Initialize Radio0 control...
-- Creating WSA UDP transport for 192.168.10.4:49153
-- Performing register loopback test... pass
-- Initialize Radio1 control...
-- Creating WSA UDP transport for 192.168.10.4:49153
-- Performing register loopback test... pass
-- Determining maximum frame size... 1472 bytes.
-- Setup basic communication...
-- Loading values from EEPROM...
-- Setup RF frontend clocking...
-- Radio 1x clock:200
-- Detecting internal GPSDO Found an internal GPSDO: LC_XO, Firmware
Rev 0.929a
-- Initialize Radio0 control...
-- Creating WSA UDP transport for 192.168.10.5:49153
-- Performing register loopback test... pass
-- Initialize Radio1 control...
-- Creating WSA UDP transport for 192.168.10.5:49153
-- Performing register loopback test... pass

Creating the receive usrp device with:
addr0=192.168.10.4,addr1=192.168.10.5...
Error: RuntimeError: Reference Clock PLL failed to lock to external source.


Thanks, and please ignore the previous not-finished-mail.

All the best!
Jorge

2017-08-18 20:15 GMT+08:00 Jorge Chen :

> Dear Derek
>
> First of all, I feel sorry that I write you back so late, cuz I went to a
> conference these days and was not able to do the experiments.
>
> 1. The Octoclock I have is the one needs external source.
> 2. Just to clarify,  "The X310 will always output it's signals so can
> still be used as the source but by using the external reference on all
> USRPs the 1PPS signals will be aligned at all units rather than having the
> master be earlier than the others due to propagation delays."
>
> 2.1 No matter I set set_clock_source("external") or
> set_clock_source("internal"), the REF OUT/PPS TRIG OUT will always output
> reference/PPS sources?
> 2.2 If yes, does that mean I just need to use one of the X310 to provide
> reference/PPS sources to the Octoclock, then the Octoclock will provide
> the reference/PPS to all of the X310? And thus the PPS will arrive to all
> X310 simultaneously?
>
>
>
> Win32; Microsoft Visual C++ version 12.0; Boost_105600;
> UHD_003.009.006-release
>
>
> Creating the transmit usrp device with: addr0=192.168.10.4,addr1=192.
> 168.10.5...
> -- X300 initialization sequence...
> -- Determining maximum frame size... 1472 bytes.
> -- Setup basic communication...
> -- Loading values from EEPROM...
> -- Setup RF frontend clocking...
> -- Radio 1x clock:200
> -- Initialize Radio0 control...
> -- Creating WSA UDP transport for 192.168.10.4:49153
> -- Performing register loopback test... pass
> -- Initialize Radio1 control...
> -- Creating WSA UDP transport for 192.168.10.4:49153
> -- Performing register loopback test... pass
> -- Determining maximum frame size... 1472 bytes.
> -- Setup basic communication...
> -- Loading values from EEPROM...
> -- Setup RF frontend clocking...
> -- Radio 1x clock:200
> -- Detecting internal GPSDO Found an internal GPSDO: LC_XO, Firmware
> Rev 0.929a
> -- Initialize Radio0 control...
> -- Creating WSA UDP transport for 192.168.10.5:49153
> -- Performing register loopback test... pass
> -- Initialize Radio1 control...
> -- Creating WSA UDP transport for 192.168.10.5:49153
> -- Performing register loopback test... pass
>
> Creating the receive usrp device with: addr0=192.168.10.4,addr1=192.
> 168.10.5...
> Error: RuntimeError: Reference Clock PLL failed to lock to external
> source.
>
>
>
> 2017-08-08 0:22 GMT+

[USRP-users] X310 REF LED is blinking

2017-09-12 Thread Jorge Chen via USRP-users
Dear all

The LED of REF on the front panel of one of my X310 is blinking instead of
constantly lighting up while working,
that is, the reference clock is not able to be locked with other x310s (4x4
MIMO system).

I've checked the reference clock source is constantly output, and other
X310s works fine.
I also tried to re-load the image, but it didn't work.

Does anyone meet this situation before?
How can I solve/fix this?




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


[USRP-users] Is it able to use RFNoC Replay Block on the receiver chain?

2020-11-17 Thread Jorge Chen via USRP-users
Hi USRP users,

In the example "rfnoc_replay_samples_from_file.cpp", we connect SEP and NoC
blocks as follows: (Tx_streamer)=>[Replay#0:0]=>[DUC#0:0]=>[Radio#0:0].
It first sends samples from host and records them to the on board memory,
then replays them from the on board memory continuously.

We'd also like to offload the traffic and avoid overflow while
receiving.Something like saving the samples outputs from DDC to the on
board memory first,and then receive them from the on board memory to host.

I'm wondering if I can use the same concept on the receiver chain by the
replay block?If so, how to do that?

Thanks and regards!
Jorge
___
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com


[USRP-users] Probe N310 on Windows OS

2018-07-24 Thread Jorge Chen via USRP-users
 Hi USRP Users

I got the new N310, and followed the online Getting Started Guides step by
step,
and I'm able to run the  rx_ascii_art_dft  and some example programs on
Ubuntu.

However, while I tried it on Windows OS,
I can ping the address (192.168.10.2) and find it using
uhd_find_devices.exe, but cannot probe it.

C:\Program Files\UHD\bin>uhd_find_devices.exe
[INFO] [UHD] Win32; Microsoft Visual C++ version 14.0; Boost_105900;
UHD_3.12.0.0-release
--
-- UHD Device 0
--
Device Address:
serial: 315A370
claimed: False
mgmt_addr: 192.168.10.2
product: n310
reachable: No
type: n3xx


C:\Program Files\UHD\bin>uhd_usrp_probe.exe
[INFO] [UHD] Win32; Microsoft Visual C++ version 14.0; Boost_105900;
UHD_3.12.0.0-release
[INFO] [MPMD FIND] Found MPM devices, but none are reachable for a UHD
session. Specify find_all to find all devices.
Error: LookupError: KeyError: No devices found for ->
Empty Device Address

I noticed that there's a reachable status while executing uhd_find_devices
on Windows,
I wonder if it corresponded to the message   Found MPM devices, but none
are reachable for a UHD session. in the uhd_usrp_probe log.

Are there some other settings I should take care about? or the environment
settings?

Any suggestion would be appreciated.
Thanks!

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


Re: [USRP-users] synchronizing multiple USRP N310

2019-02-21 Thread Jorge Chen via USRP-users
Hi USRP Users

I tried to synchronize 2 N310s throught the external PPS and reference
clock, and tested by the application below.
*tx_waveforms.exe  --args
"addr0=192.168.30.3,addr1=192.168.40.3,clock_source=external,time_source=external,master_clock_rate=122.88e6"
--rate 30.72e6 --freq 3.5e9 --wave-type SINE --wave-freq 10e6 --gain 20
--channels "0,4"--ref "external" --pps "external"*
The program runs without errors, but no signal outputs from the
corresponding channels. ( No sine waveform on the scope, and the LED light
are dark.)

I've checked if the external PPS is available by the application
"test_pps_input.exe".
And if I only use 1 N310, it works normally.
But failed in the 2 N310s synchronized case.

The OS is Win10, and I use the UHD 3.13.1.

My questions are:
1. Is the commands or the hardware/environment setting causing the failure
on synchronizing the 2 N310s?
2. I found the eeprom_version and the rev information are different, does
this difference affect?
And two further questions:
3. When does the N310 re-initialize the daughter board? In the log (please
see the attached file), it executes re-initializing routine 3 times.
4. What's the difference between specifying "clock_source=external,
time_source=external" in the device argument and use the UHD API
set_time_source("external"),and set_clock_source("external") if I'd like to
synchronize multiple N310s.
Are they both necessary?


|/
|   |   Mboard: ni-n3xx-3151CB0
|   |   eeprom_version: 1
|   |   mpm_version: 3.13.1.0-gbbce3e45
|   |   pid: 16962
|   |   product: n310
|   |   rev: 5
|   |   rpc_connection: remote
|   |   serial: 3151CB0
|   |   type: n3xx
|   |   MPM Version: 1.2
|   |   FPGA Version: 5.2
|   |   FPGA git hash: d0360f7.clean
|   |   RFNoC capable: Yes
|   |
|   |   Time sources:  internal, external, gpsdo, sfp0
|   |   Clock sources: external, internal, gpsdo
|   |   Sensors: temp, gps_locked, gps_time, gps_sky, gps_tpv, ref_locked,
fan
| _
|/
|   |   Mboard: ni-n3xx-3175D90
|   |   eeprom_version: 2
|   |   mpm_version: 3.13.1.0-gbbce3e45
|   |   pid: 16962
|   |   product: n310
|   |   rev: 6
|   |   rpc_connection: remote
|   |   serial: 3175D90
|   |   type: n3xx
|   |   MPM Version: 1.2
|   |   FPGA Version: 5.2
|   |   FPGA git hash: d0360f7.clean
|   |   RFNoC capable: Yes
|   |
|   |   Time sources:  internal, external, gpsdo, sfp0
|   |   Clock sources: external, internal, gpsdo
|   |   Sensors: gps_locked, fan, ref_locked, gps_tpv, gps_sky, gps_time,
temp



Any feedback or help are appreciated!

All the best!
Jorge


Florian Kaltenberger via USRP-users  於
2018年12月20日 週四 下午4:48寫道:

> Hi Michael,
>
> halleluja! that was it! Thanks for spotting this.
>
> Florian.
> On 20/12/2018 02:34, Michael West wrote:
>
> Hi Florian,
>
> The device arguments are "clock_source" and "time_source".  I noticed in
> your command you had them as "clock_src" and "time_src".  That may be the
> source of the problem.
>
> Regards,
> Michael
>
> On Mon, Dec 10, 2018 at 11:33 AM Florian Kaltenberger via USRP-users <
> usrp-users@lists.ettus.com> wrote:
>
>> Dear Nate,
>>
>> no it says something like this is not supported with the N310 and I
>> should pass it using the args options. Sorry, I don't have access to the
>> N310 right now, so I can't give you the exact message, but I have tried
>> that.
>>
>> Florian.
>> On 10/12/2018 19:00, Nate Temple wrote:
>>
>> Hi Florian,
>>
>> If you pass the arg  "--ref external" to tx_waveforms, does it resolve
>> this frequency offset?
>>
>>
>> https://github.com/EttusResearch/uhd/blob/master/host/examples/tx_waveforms.cpp#L62
>>
>> Regards,
>> Nate Temple
>>
>> On Thu, Dec 6, 2018 at 12:22 AM Florian Kaltenberger via USRP-users <
>> usrp-users@lists.ettus.com> wrote:
>>
>>> Hi Marcus,
>>>
>>> I have measured this with a spectrum analyzer simply by setting markers
>>> to the peak of the sinusoid (one marker per measured USRP) and then taking
>>> the delta.
>>>
>>> Could it be that the USRP is ignoring the external reference when used
>>> alone? Remember, I am doing the test with one USRP at a time, as the test
>>> using multiple USRP simultaneously does not work.
>>>
>>> Florian.
>>> On 06/12/2018 00:29, Marcus Müller wrote:
>>>
>>> oh! That means 341 ppb frequency error, which *really* shouldn't be
>>> happening.
>>>
>>> I'd like to get some statistics of that error, how are you measuring
>>> it?
>>>
>>> Best regards,
>>> Marcus
>>>
>>> On Wed, 2018-12-05 at 12:55 +0100, Florian Kaltenberger wrote:
>>>
>>> Sorry typo. I did use a frequency of 3.51GHz.
>>>
>>>
>>> On 5 Dec 2018, at 12:54, Marcus Müller  
>>> 
>>> wrote:
>>>
>>> Hi Florian,
>>>
>>> trying to get my head to understand the order of problems here:
>>> Could you try to use a higher frequency (say, --freq 2e9 instead of
>>> 3.5e6)?
>>> I'd thing 3.51 MHz is out of range for the N310, anyway?
>>>
>>> Best regards,
>>> Marcus
>>>
>>> On Wed, 2018-12-05 at 11:49 +0100, Flori

Re: [USRP-users] synchronizing multiple USRP N310

2019-02-22 Thread Jorge Chen via USRP-users
Hi Marcus

Thanks for your reply.

Since I thought it works in the case using channel 0,4 with default subdev
spec setup(“A:0 A:1 B:0 B:1”), so I ignore setting the subdev spec.
However, I add the subdev spec setting and test again, but still failed to
transmit synchronized signal from 2 N310s.
Any other advices?


To take a note, Q3 yesterday,3. When does the N310 re-initialize the
daughter board?
-> I found that the time is after set_clock_source(ref) and
set_time_source(pps) commands.

All the best!
Jorge


Marcus D. Leech via USRP-users 於 2019年2月22日
週五,上午3:27寫道:

> On 02/21/2019 10:18 AM, Jorge Chen via USRP-users wrote:
>
> Hi USRP Users
>
> I tried to synchronize 2 N310s throught the external PPS and reference
> clock, and tested by the application below.
> *tx_waveforms.exe  --args
> "addr0=192.168.30.3,addr1=192.168.40.3,clock_source=external,time_source=external,master_clock_rate=122.88e6"
> --rate 30.72e6 --freq 3.5e9 --wave-type SINE --wave-freq 10e6 --gain 20
> --channels "0,4"--ref "external" --pps "external"*
> The program runs without errors, but no signal outputs from the
> corresponding channels. ( No sine waveform on the scope, and the LED light
> are dark.)
>
> You have not included a subdev specification, so it's not going to be able
> to intuit what you mean.
>
>
> https://kb.ettus.com/N300/N310_Getting_Started_Guides#Subdevice_Specification_Mapping
>
>
>
>
> I've checked if the external PPS is available by the application
> "test_pps_input.exe".
> And if I only use 1 N310, it works normally.
> But failed in the 2 N310s synchronized case.
>
> The OS is Win10, and I use the UHD 3.13.1.
>
> My questions are:
> 1. Is the commands or the hardware/environment setting causing the failure
> on synchronizing the 2 N310s?
> 2. I found the eeprom_version and the rev information are different, does
> this difference affect?
> And two further questions:
> 3. When does the N310 re-initialize the daughter board? In the log (please
> see the attached file), it executes re-initializing routine 3 times.
> 4. What's the difference between specifying "clock_source=external,
> time_source=external" in the device argument and use the UHD API
> set_time_source("external"),and set_clock_source("external") if I'd like to
> synchronize multiple N310s.
> Are they both necessary?
>
>
> |/
> |   |   Mboard: ni-n3xx-3151CB0
> |   |   eeprom_version: 1
> |   |   mpm_version: 3.13.1.0-gbbce3e45
> |   |   pid: 16962
> |   |   product: n310
> |   |   rev: 5
> |   |   rpc_connection: remote
> |   |   serial: 3151CB0
> |   |   type: n3xx
> |   |   MPM Version: 1.2
> |   |   FPGA Version: 5.2
> |   |   FPGA git hash: d0360f7.clean
> |   |   RFNoC capable: Yes
> |   |
> |   |   Time sources:  internal, external, gpsdo, sfp0
> |   |   Clock sources: external, internal, gpsdo
> |   |   Sensors: temp, gps_locked, gps_time, gps_sky, gps_tpv, ref_locked,
> fan
> | _
> |/
> |   |   Mboard: ni-n3xx-3175D90
> |   |   eeprom_version: 2
> |   |   mpm_version: 3.13.1.0-gbbce3e45
> |   |   pid: 16962
> |   |   product: n310
> |   |   rev: 6
> |   |   rpc_connection: remote
> |   |   serial: 3175D90
> |   |   type: n3xx
> |   |   MPM Version: 1.2
> |   |   FPGA Version: 5.2
> |   |   FPGA git hash: d0360f7.clean
> |   |   RFNoC capable: Yes
> |   |
> |   |   Time sources:  internal, external, gpsdo, sfp0
> |   |   Clock sources: external, internal, gpsdo
> |   |   Sensors: gps_locked, fan, ref_locked, gps_tpv, gps_sky, gps_time,
> temp
>
>
>
> Any feedback or help are appreciated!
>
> All the best!
> Jorge
>
>
> Florian Kaltenberger via USRP-users  於
> 2018年12月20日 週四 下午4:48寫道:
>
>> Hi Michael,
>>
>> halleluja! that was it! Thanks for spotting this.
>>
>> Florian.
>> On 20/12/2018 02:34, Michael West wrote:
>>
>> Hi Florian,
>>
>> The device arguments are "clock_source" and "time_source".  I noticed in
>> your command you had them as "clock_src" and "time_src".  That may be the
>> source of the problem.
>>
>> Regards,
>> Michael
>>
>> On Mon, Dec 10, 2018 at 11:33 AM Florian Kaltenberger via USRP-users <
>> usrp-users@lists.ettus.com> wrote:
>>
>>> Dear Nate,
>>>
>>> no it says something like this is not supported with the N310 and I
>>> should pass it using the args options. Sorry, I don't have access to the
>>> N310 right now, so I can't give you the exact message, 

Re: [USRP-users] synchronizing multiple USRP N310

2019-02-22 Thread Jorge Chen via USRP-users
Hi Marcus

Sorry for the confusion, the problem is no signal at all, and the
application just hang without any message.

Thanks
Jorge


Marcus D. Leech 於 2019年2月22日 週五,下午10:09寫道:

> On 02/22/2019 08:15 AM, Jorge Chen wrote:
>
> Hi Marcus
>
> Thanks for your reply.
>
> Since I thought it works in the case using channel 0,4 with default subdev
> spec setup(“A:0 A:1 B:0 B:1”), so I ignore setting the subdev spec.
> However, I add the subdev spec setting and test again, but still failed to
> transmit synchronized signal from 2 N310s.
> Any other advices?
>
> Yesterday, you said you failed to transmit *ANY* signal.  Please clarify
> as to whether you mean you're transmitting, but the result is
>   unsynchronized, or whether there's no signal at all.
>
>
>
>
>
>
> To take a note, Q3 yesterday,3. When does the N310 re-initialize the
> daughter board?
> -> I found that the time is after set_clock_source(ref) and
> set_time_source(pps) commands.
>
> All the best!
> Jorge
>
>
> Marcus D. Leech via USRP-users  於 2019年2月22日
> 週五,上午3:27寫道:
>
>> On 02/21/2019 10:18 AM, Jorge Chen via USRP-users wrote:
>>
>> Hi USRP Users
>>
>> I tried to synchronize 2 N310s throught the external PPS and reference
>> clock, and tested by the application below.
>> *tx_waveforms.exe  --args
>> "addr0=192.168.30.3,addr1=192.168.40.3,clock_source=external,time_source=external,master_clock_rate=122.88e6"
>> --rate 30.72e6 --freq 3.5e9 --wave-type SINE --wave-freq 10e6 --gain 20
>> --channels "0,4"--ref "external" --pps "external"*
>> The program runs without errors, but no signal outputs from the
>> corresponding channels. ( No sine waveform on the scope, and the LED light
>> are dark.)
>>
>> You have not included a subdev specification, so it's not going to be
>> able to intuit what you mean.
>>
>>
>> https://kb.ettus.com/N300/N310_Getting_Started_Guides#Subdevice_Specification_Mapping
>>
>>
>>
>>
>> I've checked if the external PPS is available by the application
>> "test_pps_input.exe".
>> And if I only use 1 N310, it works normally.
>> But failed in the 2 N310s synchronized case.
>>
>> The OS is Win10, and I use the UHD 3.13.1.
>>
>> My questions are:
>> 1. Is the commands or the hardware/environment setting causing the
>> failure on synchronizing the 2 N310s?
>> 2. I found the eeprom_version and the rev information are different, does
>> this difference affect?
>> And two further questions:
>> 3. When does the N310 re-initialize the daughter board? In the log
>> (please see the attached file), it executes re-initializing routine 3 times.
>> 4. What's the difference between specifying "clock_source=external,
>> time_source=external" in the device argument and use the UHD API
>> set_time_source("external"),and set_clock_source("external") if I'd like to
>> synchronize multiple N310s.
>> Are they both necessary?
>>
>>
>> |/
>> |   |   Mboard: ni-n3xx-3151CB0
>> |   |   eeprom_version: 1
>> |   |   mpm_version: 3.13.1.0-gbbce3e45
>> |   |   pid: 16962
>> |   |   product: n310
>> |   |   rev: 5
>> |   |   rpc_connection: remote
>> |   |   serial: 3151CB0
>> |   |   type: n3xx
>> |   |   MPM Version: 1.2
>> |   |   FPGA Version: 5.2
>> |   |   FPGA git hash: d0360f7.clean
>> |   |   RFNoC capable: Yes
>> |   |
>> |   |   Time sources:  internal, external, gpsdo, sfp0
>> |   |   Clock sources: external, internal, gpsdo
>> |   |   Sensors: temp, gps_locked, gps_time, gps_sky, gps_tpv,
>> ref_locked, fan
>> | _
>> |/
>> |   |   Mboard: ni-n3xx-3175D90
>> |   |   eeprom_version: 2
>> |   |   mpm_version: 3.13.1.0-gbbce3e45
>> |   |   pid: 16962
>> |   |   product: n310
>> |   |   rev: 6
>> |   |   rpc_connection: remote
>> |   |   serial: 3175D90
>> |   |   type: n3xx
>> |   |   MPM Version: 1.2
>> |   |   FPGA Version: 5.2
>> |   |   FPGA git hash: d0360f7.clean
>> |   |   RFNoC capable: Yes
>> |   |
>> |   |   Time sources:  internal, external, gpsdo, sfp0
>> |   |   Clock sources: external, internal, gpsdo
>> |   |   Sensors: gps_locked, fan, ref_locked, gps_tpv, gps_sky, gps_time,
>> temp
>>
>>
>>
>> Any feedback or help are appreciated!
>>
>> All the best!
>> Jorge
>>
>>
>> Florian Kaltenberger via USRP-users

Re: [USRP-users] N310 Multi Device Configuration

2019-05-02 Thread Jorge Chen via USRP-users
Hi, Neharika and All,

I met some problems on controlling 2 N310s too.

But first of all, the argument "second_addr" indicates the IP addr. of
the second
SFP+ port on that device, and is set in the case of dual 10G streaming.
I think the first way you wrote is the right way to access the 2 N310s,
even though it is not listed in the Multiple USRP Configuration page.
(https://files.ettus.com/manual/page_multiple.html)
With that, I can control them (set rf parameters and receive signal on all
8 channels) without the error message you mentioned, what version of the
UHD you're using? (UHD 3.13.1, 3.14 worked for me)

My only problem is that they stop working (hang) at transmitting.
An alternative way  is that I create 2 usrp objects to control them as the
commands below.

*uhd::usrp::multi_usrp::sptr tx_usrp_1
= 
uhd::usrp::multi_usrp::make("addr=192.168.30.3,master_clock_rate=122.88e6,clock_source=external,time_source=external")
uhd::usrp::multi_usrp::sptr
tx_usrp_2
= 
uhd::usrp::multi_usrp::make("addr=192.168.40.3,master_clock_rate=122.88e6,clock_source=external,time_source=external")*
Even though it works ( transmit signal simultaneously on all channels ), I
don't think it's the best way (or right way) to use multiple USRPs.

Has anyone done this before? or any suggestion?

Thanks
Jorge



Neharika Valecha via USRP-users  於 2019年5月2日 週四
下午9:20寫道:

> Hello,
>
> I am using two N310 USRP's to create an 8x8 MIMO setup. But, I am unable
> to make both of them work together. I am using an example program from
> the UHD driver - txrx_loopback_to_file.
>
> I give the following command:
>
> ./txrx_loopback_to_file --tx-rate 7.68e6 --rx-rate 7.68e6 --tx-freq 2.60e9
> --rx-freq 2.60e9 --tx-gain 70 --rx-gain 60 --tx-channels "0,1,2,3"
> --rx-channels "0,1,2,3" --tx-args 
> "addr=192.168.10.2,second_addr=192.168.20.2,time_source=external,clock_source=external,master_clock_rate=122.88e6"
> --rx-args
> "addr=192.168.10.2,second_addr=192.168.20.2,time_source=external,clock_source=external,master_clock_rate=122.88e6"
> --settling 1
>
> and only one USRP turns on.
> In USRP X300 there were two ways to use multiple USRP's,
> 1. Use --tx-args and --rx-args to specify "addr0,addr1" to access two
> different USRP's with --tx-channels and --rx-channels as "0,1". I tried
> that here but it gives an error, "Error message: Someone tried to claim
> this device again".
>
> 2. To define just one "addr" in --tx-args and --rx-args but have
> --tx-channels and --rx-channels as "0,1,2,3" (as X300 is 2x2). When tried
> with N310 with channel values "0,1,2,3,4,5,6,7" it gives an error that Tx
> channels invalid.
>
> So, could you tell me what is the correct syntax to access two USRP's?
>
> Thank you
> Neharika
> ___
> 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