Still looking for more info on this problem.

I have the exact same RfNoC block/software program running on an X300 and see 
no such jumps or otherwise unexpected behavior.

I have attempted to isolate this issue on the E312 by creating the device3 with 
the “no_reload_fpga” flag. (Appropriate image is loaded before hand with the 
uhd_usrp_image_loader. Running my program the first time works as expected, but 
if I kill the program and restart, I get this error:

“AssertionError: zf_peek32(ctrl_base+ARBITER_RB_ADDR_SPACE) > 0 in virtual void 
e300_fifo_mb::release()"

The last few lines in the Uhd log file are:


e300_impl.cpp:639,1,E300,[E300] Setting up dest map for host ep 0 to be stream 0

device3_impl.cpp:131,0, DEVICE3, Setting up NoC-Shell Control for port #0 (SID; 
00:00>02:10)
device3_impl.cpp:139,0,DEVICE3, OK
davice3_impl.cpp:141,0, DEVICE3, Port 16: found NoC-Block with ID 
12AD100000000000.
e300_impl.cpp:639,1,E300, [E300] Setting up dest map for host ep 1 to be stream 
1

device3_impl.cpp:160,0,DEVICE3, Setting up NoC Shell port for #1 (SID: 
00:01>02:11)



Shouldn’t the E312 be able to operate without needing to reload the FPGA image 
each time? Has this been tested? I would really appreciate any hints or 
pointers into why this is happening.

Thank you,

Sam

On Mar 6, 2018, 12:40 PM -0800, Prager, Samuel M (334E) via USRP-users 
<usrp-users@lists.ettus.com>, wrote:
> Hi Nick,
>
> Thanks for the response. I am streaming from one channel at a time. I switch 
> between channels by toggling:
>
>              _radio_ctrl->set_rx_streamer(false, _radio_chan);
>              _radio_ctrl->set_rx_streamer(true, _calib_chan);
>
> And then issue timed RX stream commands:
>
> uhd::time_spec_t timenow = _radio_ctrl->get_time_now();
>                uhd::time_spec_t time_spec = 
> uhd::time_spec_t(seconds_in_future)+timenow;
>                 stream_cmd.stream_now = false;
>                stream_cmd.time_spec = time_spec;
> issue_stream_cmd_override(stream_cmd, _radio_chan);
>
> Where issue_stream_cmd_override() is the same as 
> _radio_ctrl->issue_stream_cmd() except that it doesn’t check that the 
> requested channel is active (easiest way I found to quickly switch between 
> RXA and RXB). I also set the MCS register in the aD9361 initialization so 
> that the two channels are phase coherent.
>
> A signal generator upstream from the radio in the FPGA generates the TX pulse 
> on request (with a timestamp to forward) and creates a vita header with the 
> same timestamp used for the RX stream command, so TX and RX begin at the same 
> clock cycle.
>
> Thanks,
>
> Sam
>
> From: Nick Foster [mailto:bistrom...@gmail.com]
> Sent: Tuesday, March 06, 2018 11:57 AM
> To: Prager, Samuel M (334E) <samuel.m.pra...@jpl.nasa.gov>
> Cc: usrp-users@lists.ettus.com
> Subject: Re: [USRP-users] E312 Loopback Path Delay Changes when FPGA image is 
> reloaded
>
> Could you post your flowgraph or UHD program, or the relevant excerpts? Are 
> the two RX channels being loaded simultaneously? Are you using timed commands 
> to start the RX and TX streams?
> Nick
>
> On Tue, Mar 6, 2018 at 11:52 AM Prager, Samuel M (334E) via USRP-users 
> <usrp-users@lists.ettus.com> wrote:
> > quote_type
> > Hello,
> >
> > We are interested in using the E312 as a phase-sensitive radar sounder and 
> > have run into an interesting issue.
> >
> > We are measuring (relative) cable length by estimating linear phase slope 
> > from a 10MHz chirp pulse and are using the following test setup (attached):
> >
> > We have set the appropriate AD9361 registers to keep the VCO/PLL dividers 
> > on so that RXA (data) and RXB (calibration) are phase coherent. We perform 
> > pulse averaging on each channel and match filter with the cal channel pulse 
> > (shorter cable).
> >
> > We have noticed that the phase measurements remain stable within <1 cm 99% 
> > confidence interval for successive trials with multiple re-tunings of the 
> > LO over long periods of time. However, we have found that if the FPGA bit 
> > file is unloaded (put in idle mode) and then reloaded (either through 
> > power-cycle or termination of UHD-based application), the measured phase 
> > slope jumps randomly.
> >
> > We’re really scratching our heads over this behavior… multiple trials on a 
> > given ‘cycle’ remain stable around a mean value, but that value jumps 
> > around from cycle to cycle in a seemingly random way.
> >
> > I have attached plots for two tests - the vertical black dotted lines are 
> > placed to show when the E312 FPGA image was cycled. Each data point is 
> > taken from a separate LO tuning (ie. tune to 400mhz, collect data, tune to 
> > 1ghz, wait, tune to 400mhz, collect data,…)
> >
> > Any ideas about where could possibly be coming from? Is there somewhere in 
> > the E312 initialization that the relative path between RXA and RXB may be 
> > changed non-deterministically?
> >
> > I really appreciate any help!
> >
> > Thank you,
> >
> > Sam
> >
> > _______________________________________________
> > 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