Send USRP-users mailing list submissions to
        usrp-users@lists.ettus.com

To subscribe or unsubscribe via the World Wide Web, visit
        http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
or, via email, send a message with subject or body 'help' to
        usrp-users-requ...@lists.ettus.com

You can reach the person managing the list at
        usrp-users-ow...@lists.ettus.com

When replying, please edit your Subject line so it is more specific
than "Re: Contents of USRP-users digest..."


Today's Topics:

   1. Windows UHD C++ API (Krzysztof Cwalina)
   2. Configuring the USRP X310 for Labview (Kalen Williams)
   3. Re: Use of external reference clock to sync the internal
      clock of X310 USRPs (Isen I-Chun Chao)
   4. Re: Zeros are not zero? (Jim Hunziker)
   5. Re: Use of external reference clock to sync the   internal
      clock of X310 USRPs (Ian Buckley)
   6. Re: USRP B210 GPS Time w/Master Clock Rate (Ben Hilburn)
   7. Re: Windows UHD C++ API (Ben Hilburn)
   8. Re: UHD 003.008.000 N210R4: SPI CLOCK not changeable      anymore
      (Ben Hilburn)
   9. Re: x300 on Windows 7 and 10GbE: getting ?S? and ?U? from UHD
      (Ben Hilburn)
  10. Re: Use of external reference clock to sync the internal
      clock of X310 USRPs (Isen I-Chun Chao)
  11. Re: Use of external reference clock to sync the   internal
      clock of X310 USRPs (Ian Buckley)
  12. X310 vs N210 with LFRX digital gain problems (Louis Brown)
  13. Re: B200 UHD 3.8.0: UHD Error: recv packet        demuxer unexpected
      sid... (Ralph A. Schmid, dk5ras)
  14. Re: Windows UHD C++ API (Krzysztof Cwalina)
  15. Re: Windows UHD C++ API (Nir Eden)
  16. Re: Windows UHD C++ API (Krzysztof Cwalina)
  17. Re: B200 UHD 3.8.0: UHD Error: recv packet demuxer unexpected
      sid... (Andy Walls)


----------------------------------------------------------------------

Message: 1
Date: Fri, 07 Nov 2014 14:49:50 +0100
From: Krzysztof Cwalina <kkcwal...@gmail.com>
To: usrp-users@lists.ettus.com
Subject: [USRP-users] Windows UHD C++ API
Message-ID: <545ccdfe.3040...@gmail.com>
Content-Type: text/plain; charset=utf-8; format=flowed

Hello,

in my project I just write the C++ DLL Library and import it into C# 
project. The problem is - there are some problems with the UHD. My platform:

Windows 7 x64,
Visual Studio 2013 Pro

when I run project sometimes on the line: uhd::usrp::multi_usrp::sptr 
usrp = uhd::usrp::multi_usrp::make(args); there is exception like:

A first chance exception of type 
'System.Runtime.InteropServices.SEHException' occurred in USRPTest.exe
Additional information: External component has thrown an exception.

Sometimes it is - sometimes is not (depends on how many times I compile 
the same code. Next problem is when I want to use two methods:

usrp->set_clock_source("internal"); or uhd::stream_args_t 
stream_args("fc32");

Same error show up. I tried everything, I've searched almost all topics 
about this subject - but I didn't found the solution. Can anyone help me?

Thanks.



------------------------------

Message: 2
Date: Fri, 7 Nov 2014 14:37:28 -0600
From: Kalen Williams <wenlak93.m...@gmail.com>
To: usrp-users@lists.ettus.com
Subject: [USRP-users] Configuring the USRP X310 for Labview
Message-ID:
        <CAPTvN3k0Ly=bExFfBiCOawnB-WOi_+S_A04YeKPH3Zc4m+y=s...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

I'm a know nothing undergraduate student trying to set up this board to run
simple signal generation and capture in Labview. I can't get the image to
agree with the Labview driver. When I try to run labview code using the
NI-USRP library it gives me:

Error-1074118627 occurred at niUSRP Open Tx Session.vi
Possible reason(s):
A runtime or configuration error occurred.
Code: 1440
Details: RuntimeError: Expected FPGA compatibility number 0x6, but got
0x7.0:
The FPGA build is not compatible with the host code build.
As an Administrator, please run:

"C:\Program Files (x86)\UHD\lib\uhd\utils\uhd_images_downloader.py" I'm
using the usrp_x310_fpga_HGS.lvbitx image.



What do I need to do?


C:\Program Files (x86)\UHD\bin>uhd_usrp_probe.exe
Win32; Microsoft Visual C++ version 10.0; Boost_105400;
UHD_003.007.002-90-unsta
ble

-- X300 initialization sequence...
-- Determining maximum frame size... 1472 bytes.
-- Setup basic communication...
-- Loading values from EEPROM...
-- Setup RF frontend clocking...
-- Radio 1x clock:200
-- Detecting internal GPSDO.... No GPSDO found
-- Initialize Radio control...

UHD Warning:
    The MTU (1472) is larger than the FastSendDatagramThreshold (1024)!
    This will negatively affect the transmit performance.
    See the transport application notes for more detail.
-- Creating WSA UDP transport for 192.168.10.2:49153
-- Performing register loopback test... pass
-- Sync DAC's.
-- Creating WSA UDP transport for 192.168.10.2:49153
-- Performing register loopback test... pass
-- Sync DAC's.
-- Initializing clock and PPS references...
-- References initialized to internal sources
  _____________________________________________________
 /
|       Device: X-Series Device
|     _____________________________________________________
|    /
|   |       Mboard: X310
|   |   revision: 6
|   |   product: 30410
|   |   mac-addr0: 00:80:2f:0a:f9:8b
|   |   mac-addr1: 00:80:2f:0a:f9:8c
|   |   gateway: 192.168.10.1
|   |   ip-addr0: 192.168.10.2
|   |   subnet0: 255.255.255.0
|   |   ip-addr1: 192.168.20.2
|   |   subnet1: 255.255.255.0
|   |   ip-addr2: 192.168.30.2
|   |   subnet2: 255.255.255.0
|   |   ip-addr3: 192.168.40.2
|   |   subnet3: 255.255.255.0
|   |   serial: F589F2
|   |   FW Version: 3.0
|   |   FPGA Version: 7.0
|   |
|   |   Time sources: internal, external, gpsdo
|   |   Clock sources: internal, external, gpsdo
|   |   Sensors: ref_locked
|   |     _____________________________________________________
|   |    /
|   |   |       RX DSP: 0
|   |   |   Freq range: -100.000 to 100.000 Mhz
|   |     _____________________________________________________
|   |    /
|   |   |       RX DSP: 1
|   |   |   Freq range: -100.000 to 100.000 Mhz
|   |     _____________________________________________________
|   |    /
|   |   |       RX Dboard: A
|   |   |   ID: SBX-120 (0x0083)
|   |   |   Serial: F5633A
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       RX Frontend: 0
|   |   |   |   Name: SBX-120 RX
|   |   |   |   Antennas: TX/RX, RX2, CAL
|   |   |   |   Sensors: lo_locked
|   |   |   |   Freq range: 400.000 to 4400.000 Mhz
|   |   |   |   Gain range PGA0: 0.0 to 31.5 step 0.5 dB
|   |   |   |   Connection Type: IQ
|   |   |   |   Uses LO offset: No
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       RX Codec: A
|   |   |   |   Name: ads62p48
|   |   |   |   Gain range digital: 0.0 to 6.0 step 0.5 dB
|   |     _____________________________________________________
|   |    /
|   |   |       RX Dboard: B
|   |   |   ID: SBX-120 (0x0083)
|   |   |   Serial: F56338
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       RX Frontend: 0
|   |   |   |   Name: SBX-120 RX
|   |   |   |   Antennas: TX/RX, RX2, CAL
|   |   |   |   Sensors: lo_locked
|   |   |   |   Freq range: 400.000 to 4400.000 Mhz
|   |   |   |   Gain range PGA0: 0.0 to 31.5 step 0.5 dB
|   |   |   |   Connection Type: IQ
|   |   |   |   Uses LO offset: No
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       RX Codec: B
|   |   |   |   Name: ads62p48
|   |   |   |   Gain range digital: 0.0 to 6.0 step 0.5 dB
|   |     _____________________________________________________
|   |    /
|   |   |       TX DSP: 0
|   |   |   Freq range: -100.000 to 100.000 Mhz
|   |     _____________________________________________________
|   |    /
|   |   |       TX DSP: 1
|   |   |   Freq range: -100.000 to 100.000 Mhz
|   |     _____________________________________________________
|   |    /
|   |   |       TX Dboard: A
|   |   |   ID: SBX-120 (0x0082)
|   |   |   Serial: F5633A
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       TX Frontend: 0
|   |   |   |   Name: SBX-120 TX
|   |   |   |   Antennas: TX/RX, CAL
|   |   |   |   Sensors: lo_locked
|   |   |   |   Freq range: 400.000 to 4400.000 Mhz
|   |   |   |   Gain range PGA0: 0.0 to 31.5 step 0.5 dB
|   |   |   |   Connection Type: QI
|   |   |   |   Uses LO offset: No
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       TX Codec: A
|   |   |   |   Name: ad9146
|   |   |   |   Gain Elements: None
|   |     _____________________________________________________
|   |    /
|   |   |       TX Dboard: B
|   |   |   ID: SBX-120 (0x0082)
|   |   |   Serial: F56338
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       TX Frontend: 0
|   |   |   |   Name: SBX-120 TX
|   |   |   |   Antennas: TX/RX, CAL
|   |   |   |   Sensors: lo_locked
|   |   |   |   Freq range: 400.000 to 4400.000 Mhz
|   |   |   |   Gain range PGA0: 0.0 to 31.5 step 0.5 dB
|   |   |   |   Connection Type: QI
|   |   |   |   Uses LO offset: No
|   |   |     _____________________________________________________
|   |   |    /
|   |   |   |       TX Codec: B
|   |   |   |   Name: ad9146
|   |   |   |   Gain Elements: None
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20141107/c7602f6d/attachment-0001.html>

------------------------------

Message: 3
Date: Fri, 7 Nov 2014 16:51:27 -0500
From: Isen I-Chun Chao <chao...@gmail.com>
To: Marcus M?ller <marcus.muel...@ettus.com>
Cc: "usrp-users@lists.ettus.com" <usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] Use of external reference clock to sync the
        internal clock of X310 USRPs
Message-ID:
        <caeg73krzioip_sg4fycapt5thoqo_jzhhou0k6h+q3u7iut...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

Hi Marcus,
I took a look at the the X3x0 schematic (
http://files.ettus.com/schematics/x300/x3xx.pdf).
1a) According to the page 1 and page 11 of X3x0 schematic, it looks like
that there is a 96MHz main oscillator as a master clock and it will
redistributed to DAC/ADC. Then what is the "200MHz default master clock"
you mentioned previously?

1b). In the page 1 and pgae 12 of the X3x0 schematic, there is three are
internal 10MHz TCXO, external 10MHz interface and the GPSDO interface so I
can understand how set_clock_source() works for selecting one of them.
However, I don't understand the role that the 96MHz main oscillator and the
internal 10MHz TCXO play, respectively. What are they responsible for,
respectively, in X310 architecture?

2). Just to make sure we are in the same page, by talking about "there
are  multiple
clock domains in X310" in your previously email, did you mean the output of
"clock gen" block in the X3x0 schematic?

3) According to your answer for the question about set_time_source(): "Setting
the time source -- ie. saying that the internal time of the X310 should
come from the GPSDO or somewhere else." and the page one of the X3x0
schematic, there must be time registers design in the FPGA and the content
of the time registers are something like second and nanosecond, counting
based on one of the output of "Clock Gen" connecting to FPGA. Do I
understand it correctly? If so, what is the time source this clock signal
based on? the internal 10MHz TCXO or the 96MHz main oscillator?

4) Regarding the previous question of using set_clock_source() and
set_time_source(), I was asking if these two method is one-time use. Like
people write a Linux drivers to access a hardware device attached on
computer and set up a register to enable some feature of the hardware
device as a configuration process. This only needs to be done in the
initialization phase of loading a driver program or running a driver
program. So If I turn the X310 on and plug the reference clock, I only need
to call set_clock_source("external")/set_time_source("external") one time
and the X3x0 will be configured as working on external reference until I
turned the X310 off.

I am using uhd 3.7.3. I will install the newest one and give it a try to
see if I still have lo_locked failed warning. And for your interest
question, I don't have the measure result regarding to the clock stability
using T-connector with me. But based on our previous related experimental
work, one-stage of our T-connector will be just fine. And the precision we
do care is not the frequency output, which is used for verifying if the
internal clock follows external clock. We actually care about the precision
of a generated time-stamp in the FPGA.



*Best Regards,Isen I-Chun Chao*

On Fri, Nov 7, 2014 at 5:39 AM, Marcus M?ller <marcus.muel...@ettus.com>
wrote:

> Hello Isen,
> On 06.11.2014 23:08, Isen I-Chun Chao wrote:
> > Hi Marcus,
> > In our application, the quality of clock is extremely affect our
> interest.
> > So clearly understanding of what clock source is related to our
> application
> > is important. That is why we are using atomic clock as the external
> > reference.
> As this is interesting to me: What are your accuracy needs?
> Have you measured phase noise with a highspeed oscilloscope when using
> your t-connector with 50Ohm termination on the measurement end, and a
> running X310 plugged in to the other end of the t-piece? You really have
> to make sure the signal quality is excellent if you want to be better
> than the internal oscillator, and thus should ensure your external
> cabling doesn't eliminate the gain in clock stability you get by using
> an atomic clock by introducing phase noise.
>
> > Besides, the USRP Tx and Rx will be respectively coordinating with other
> > devices. It is expected to be separated.
> Ah, so you need two USRPs to simulate your comm system.
> > That is why two USRPs are used. I
> > agree with you. I don't think Daisy-chain is appropriate in the our use
> > case.
> >
> > Following are extended questions:
> > 1a). By talking about internal clock, does it mean the 200MHz clock?
> Um, there are dozens of internal clocks in the X310; I don't know which
> statement you are referring to. Most probably, when we're talking about
> "internal clock source", we mean the 10MHz reference clock.
> >
> > 1b). According to the manual  there are "set_clock_source()",
> > "set_clock_source_out()", "set_time_source()", "set_time_source_out()".
> And
> > I wonder if I set_clock_source_out() and set_time_source_out() are only
> > used for enabling/disabling Ref and PPS output respectively.
>
> http://files.ettus.com/manual/classuhd_1_1usrp_1_1multi__usrp.html#a60445c1a52e4763b6ebbbfce2db96569
> yes.
> > If so, what is
> > the Ref output based on? The 200MHz clock?
> I'm assuming you're referring to the 200MHz default master clock rate,
> which it cannot be based on, as that clock is adjustable and the Ref Out
> must be 10MHz.
>
> Compare page 11 of the X300 schematic:
> http://files.ettus.com/schematics/x300/x3xx.pdf
> The ref clock output gets generated directly by the central clock
> generation, stabilization and distribution IC, the LMK04816, which means
> it's derived inside that chip from the reference clock with the help of
> stabilization and further oscillators. I must admit that I still haven't
> gotten around to understanding the workings of the LMK in fullness; it's
> a complex piece of hardware, and for you, as a user, it basically "does
> what it should".
> >
> > 1c). Is the PPS output based on a register maintaining count ticks from
> > 200MHz clock, or based on what mechanism?
> Depends on whether you use an actual PPS as input (in which case that
> one is used) or not (in which case ticks are counted in the FPGA).
> > 1d). What is the concrete use case of set_time_source() in USRP X310?
> Setting the time source -- ie. saying that the internal time of the X310
> should come from the GPSDO or somewhere else.
> > If I
> > have an external PPS reference connected to X310 and I use this method,
> > does that mean the PPS signal (including the PPS output) throughout whole
> > X310 will BE the external PPS reference?
> yes.
> >
> > 2). Is the method, set_clock_source() (so are et_clock_source_out(),
> > set_time_source(), set_time_source_out()), needed to use only one time
> > (call it for configuring USRP, and USRP will stay using external clock
> > until it is powered off)?
> I don't understand, sorry. Every USRP can only have one device time.
> >
> > 3). If I run applications in GRC on USRP without connecting an external
> > clock (and I did not use set_clock_source() either), I always got warning
> > message "WARN: Sensor 'lo_locked' failed to lock within timeout on
> channel 0";
> > however, if I connect the atomic clock as an external clock, there is no
> > such warning message. Looks like there is something activated after
> > plugging eternal clock. If so, what is that? something like the PLL
> locking
> > mechanism?
> Yes, that is the information that the USRP couldn't gain a stabilized
> clock, which is a bad thing as is.
> However, there is no way to detect whether a cable is connected to the
> ref in port, which means that either the external clock source is
> selected in the UHD source/sinks options, or you have a problem with the
> clock locking mechanism.
> Are you using a recent version of UHD?
>
> Greetings,
> Marcus
>
> >
> >
> >
> >
> >
> >
> > *Best Regards,Isen I-Chun Chao*
> >
> > On Tue, Nov 4, 2014 at 4:22 PM, Marcus M?ller <marcus.muel...@ettus.com>
> > wrote:
> >
> >> Hi Isen,
> >> On 04.11.2014 21:37, Isen I-Chun Chao wrote:
> >>> Hi Marcus Leech and Marcus Muller,
> >>> Thanks for the answers. But I am a little bit confused.
> >>>
> >>> Once I connect the atomic and X310, hardware (X310 USRPs) should
> operate
> >>> based on external clock (atomic clock)
> >> no, you must explicitely select the external clock source.
> >>>  due to the daisy-chain(?).
> >> Daisy-chaining is the option to connect the reference output of one USRP
> >> to the reference input of the next; inherently, it doesn't relate to
> >> your use case.
> >>> This is
> >>> regardless of application use.
> >> Depends on what your application wants to do. Most application will not
> >> care where the reference comes from -- but you'll still need to set the
> >> reference source.
> >>> And I should have synchronized signal from
> >>> REF outputs of two USRPs, right?
> >>>
> >>> If applications did not set up the use of external clock by using
> >>> set_clock_source(), the application is going to use the default clock
> on
> >>> X310 USRPs. (?)
> >> yes.
> >>> What clock the FPGA is based on? because the FPGA code will be modified
> >>> working on our application.
> >> The FPGA design has multiple clock domains. The most important clock
> >> domain is driven at the master clock rate, which is 200MHz by default,
> >> but can take more values (see UHD manual).
> >>> BTW, the two X310 USRPs are Tx and Rx.
> >> Each X310 has two completely independent TX and RX chains. Unless you
> >> need to have them in two different places, I'm afraid I don't understand
> >> why you need two X310.
> >>> I am not using them as MIMO. The
> >>> reason I want to make sure their clock can synchronized to an atomic
> >> clock
> >>> is that I would like to draw timestamps on both Tx and Rx based on the
> >>> clock on USRPs. I use T-connectors to distribute atomic signals to two
> >> X310
> >>> USRP.
> >> T-Connectors might or might not work -- distributing a 10MHz clock is a
> >> bit of a tricky task, since reflections might mess up your phase
> >> quality. Also, you split energy (let's say by half) between the two
> >> USRPs! Make sure you're still able to reliably drive the clock inputs.
> >> Usually, this is a case where you would need a proper clock distributor,
> >> or a forwarding solution (such as daisy-chaining). For PPS synchronity,
> >> you really should make sure you know what you're doing on the signal
> >> distribution. I can see that daisy chaining will not be a good solution
> >> here, unless you calibrate (which you could easily do).
> >>
> >> Best regards,
> >> Marcus
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> *Best Regards,Isen I-Chun Chao*
> >>>
> >>> On Tue, Nov 4, 2014 at 3:11 PM, Marcus M?ller <
> >> usrp-users@lists.ettus.com>
> >>> wrote:
> >>>
> >>>>  Hi Isen,
> >>>>
> >>>> yes, you're understanding correctly, but you'll have to select the
> >>>> external reference explicitely using the set_clock_source method.
> >>>> Also, your atomic clock has to have the possibility to drive two
> >>>> receivers; distributing clock signals correctly isn't inherently
> >> trivial.
> >>>> For this reason, the X3x0s have the ability to "daisy-chain" the
> >> reference
> >>>> and PPS signals.
> >>>>
> >>>> Greetings,
> >>>> Marcus
> >>>>
> >>>>
> >>>> On 04.11.2014 20:48, Isen I-Chun Chao via USRP-users wrote:
> >>>>
> >>>> Hi,
> >>>> If I have a atomic clock with me and would like to two X310 USRP
> >>>> synchronize to this atomic clock.
> >>>> I just connect the PPS output and the 10MHz Ref output on atomic clock
> >> to
> >>>> the input of two USRP. As long as the 'REF' leds on the front panel of
> >> X310
> >>>> USRPs are turned on, the internal clock of X310 USRPs are locked. No
> >>>> further settings are required.
> >>>>
> >>>> Am I understanding it right?
> >>>> Thanks.
> >>>>
> >>>>
> >>>>
> >>>> *Best Regards,Isen I-Chun Chao*
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> _______________________________________________
> >>>> USRP-users mailing listUSRP-users@lists.ettus.comhttp://
> >> 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
> >>>>
> >>>>
> >>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20141107/c881ec52/attachment-0001.html>

------------------------------

Message: 4
Date: Fri, 7 Nov 2014 17:31:27 -0500
From: Jim Hunziker <jhunzi...@bcisensors.com>
To: Ian Buckley <i...@ionconcepts.com>
Cc: usrp-users <usrp-users@lists.ettus.com>,    Timothy Maese
        <tma...@bcisensors.com>
Subject: Re: [USRP-users] Zeros are not zero?
Message-ID:
        <cagh06jvprqyr5pjsgspf7l4opstxgebq+_wpprtd_wm5eee...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

I'm only reading this for the first time today, and I'm still thinking
through some of what you said. One thing you misinterpreted, though, was
the number of samples I'm sending. I'm not sending sixteen samples of
zeros. I'm sending a pulse of 4000 samples of zeros sixteen times. The
groups of sixteen are what you see as groups of sixteen spikes in the
zoomed out plot. Each pulse of 4000 zeros starts 2 ms after the previous
one. (The sampling rate is 25 MHz.) The zoomed out plot I sent may have
been misleading because the X axis has units of hundreds of samples.

In my actual application, I'm trying to send 2000 signal samples with 1000
zero samples before it and 1000 zero samples after it. I was hoping that
would be enough to clear the transient effects.

So my application is trying to toggle TX every 2 milliseconds or so.

I'm starting to think that my problem is the same as the DC calibration
problem that my colleague is working with Michael West on. I believe he's
working on an FPGA load that will help with the application of calibration
files.

Thank you for your help.

-- 
Jim Hunziker
BCI Systems and Software Engineering
jhunzi...@bcisensors.com

On Tue, Nov 4, 2014 at 2:12 PM, Ian Buckley <i...@ionconcepts.com> wrote:

> Jim,
> I just wanted to add a little more to perhaps give you a better visual
> about how this is working as a system.
>
> If I understand you correctly you are generating a transmit burst of 16
> samples each with complex value 0 and attaching a time spec to the start of
> that burst?you create six of these bursts in short (time) proximity.
>
> When that time spec matches the clock inside the X300 a state machine
> inside X300 will shift to an active transmit state and start pushing those
> samples into the input of the transmit DSP?depending how the DSP is
> configured (interpolation rate) there will then be a delay on the order of
> tens (possibly low hundreds) of clock cycles (@200MHz - 5nS per tick)
> before that data hits the DAC. Meanwhile that transition in the state
> machine also causes control signals to propagate to the daughter card radio
> to change the configuration for TX?applying gain settings and enabling the
> power amp, possibly also turning on a power supply regulator (all daughter
> board design dependant). As you can imagine it takes some time, a handful
> of digital clock cycles then some analog time for those control signals to
> take effect and for those components to come into a new stable state. 16
> sample times (interpolation rate sets this time) later that state machine
> goes idle and those control signals transition again turning off the power
> amp etc. It's quite conceivable that none of your zero's have even hit the
> DAC by then (though the starting state of the DSP pipeline would be
> initialized to zero samples).
>
> I think it would be interesting for you to create a much longer
> transmission pulse on the order of thousands of samples (of zero) to
> establish a baseline of what the TX looks like in a steady state once all
> this transient behavior is discarded, what you should see is the residual
> DC offset in your system plus whatever noise sources exist in the analog
> circuits.
>
> I guess what I'm driving at is that if you need to build an application
> that toggles the TX on and off every tens or hundreds of nS then your going
> to have to think in detail about the underlying implementation of the H/W
> more closely. If I was building some type of pulsed application (UWB/RADAR
> etc) then I'd likely stream continuously and just return to the digital
> silence state between pulses.
>
> Things that might help you:
>
> Calibrate your daughter card to minimize DC offset (See app notes if you
> need to know how)
> Interpolation rate 1x will have the minimal system latency for samples as
> all FIR filters are bypassed?(still 10's of cycles delay) ?.but you'll have
> to deal with the serious challenge of feeding a 200MSps stream from the
> host.
>
> -Ian
>
> p.s. I'm curious to see a plot zoomed into to one 16 sample burst?to my
> eye's it doesn't look like I expected from my understanding of the various
> factors.
>
> On Nov 4, 2014, at 7:49 AM, Marcus D. Leech via USRP-users <
> usrp-users@lists.ettus.com> wrote:
>
> You might try ramping the TX gain down as you're ramping-down your
> baseband signal.
>
> At the end of the day, you're dealing with analog electronics and "zero"
> is only really notional zero.  There'll be a tiny bit of voltage coming out
> of the DAC even at a binary setting of 0.  There'll be a tiny amount of
> bias on the mixer, even when there's only effectively "ground" going into
> the IF port.
>
>
>
>
> On 2014-11-04 10:21, Jim Hunziker via USRP-users wrote:
>
>   I have a program that sends pulses out at 5.6 GHz. It does this by
> using the time_spec in the metadata to schedule these pulses.
>
> When I make these pulses have nothing but zeros in them, the transmitter
> is still emitting at a higher power than when nothing is scheduled. How can
> I get my zeros to be as low as the quiet state? I want this because, when
> zero-padding the sides of my desired pulse, I keep getting a big jump above
> the noise floor where the zeros are sent.
>
> Attached are zoomed out and zoomed in plots of the magnitude of the
> received signal when sending pulsed zeros. (The pulses are sent in groups
> of 16, and the plot shows 6 of these groups.)
>
> Thanks.
>
> --
> Jim Hunziker
> BCI Systems and Software Engineering
> jhunzi...@bcisensors.com
>
> _______________________________________________
> USRP-users mailing 
> listUSRP-users@lists.ettus.comhttp://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
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20141107/69192280/attachment-0001.html>

------------------------------

Message: 5
Date: Fri, 7 Nov 2014 14:34:36 -0800
From: Ian Buckley <i...@ionconcepts.com>
To: Isen I-Chun Chao <chao...@gmail.com>
Cc: "usrp-users@lists.ettus.com" <usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] Use of external reference clock to sync the
        internal clock of X310 USRPs
Message-ID: <3fd94ab5-5dcf-462b-88c0-5efe4725a...@ionconcepts.com>
Content-Type: text/plain; charset="iso-8859-1"

Isen,

On Nov 7, 2014, at 1:51 PM, Isen I-Chun Chao via USRP-users 
<usrp-users@lists.ettus.com> wrote:

> Hi Marcus,
> I took a look at the the X3x0 schematic 
> (http://files.ettus.com/schematics/x300/x3xx.pdf).
> 1a) According to the page 1 and page 11 of X3x0 schematic, it looks like that 
> there is a 96MHz main oscillator as a master clock and it will redistributed 
> to DAC/ADC. Then what is the "200MHz default master clock" you mentioned 
> previously?
> 
The 96MHz oscillator drives the TI PLL chip(LMK04816) which is used to 
synthesis a variety of clocks, including the so called "master_clock". The 
default frequency of the master_clock is 200MHz but we also provide support for 
a tested configurations of 120MHz and 184.32MHz. The TI chip actually contains 
two PLL's and is very powerful, but complicated to program. The master clock is 
provided directly to ADC's and DAC's as well as the FPGA. Other reference 
clocks to synthesize RF LO's are provided to the Radio daughter cards.

> 1b). In the page 1 and pgae 12 of the X3x0 schematic, there is three are 
> internal 10MHz TCXO, external 10MHz interface and the GPSDO interface so I 
> can understand how set_clock_source() works for selecting one of them. 
> However, I don't understand the role that the 96MHz main oscillator and the 
> internal 10MHz TCXO play, respectively. What are they responsible for, 
> respectively, in X310 architecture?  

The 96MHz oscillator is a VCXO, it is disciplined using a 10MHz reference 
clock. When there is no external source of a 10MHz ref clock then the on board 
10MHz TCXO is used instead.
> 
> 2). Just to make sure we are in the same page, by talking about "there are  
> multiple clock domains in X310" in your previously email, did you mean the 
> output of "clock gen" block in the X3x0 schematic?

There a great number of discrete clocks of different frequency and phase used 
within the FPGA..
> 
> 3) According to your answer for the question about set_time_source(): 
> "Setting the time source -- ie. saying that the internal time of the X310 
> should come from the GPSDO or somewhere else." and the page one of the X3x0 
> schematic, there must be time registers design in the FPGA and the content of 
> the time registers are something like second and nanosecond, counting based 
> on one of the output of "Clock Gen" connecting to FPGA. Do I understand it 
> correctly? If so, what is the time source this clock signal based on? the 
> internal 10MHz TCXO or the 96MHz main oscillator?

The internal reference clock maintained in the FPGA is in quanta of the 
master_clock. By default therefore it's incrementing every 5nS.

> 
> 4) Regarding the previous question of using set_clock_source() and 
> set_time_source(), I was asking if these two method is one-time use. Like 
> people write a Linux drivers to access a hardware device attached on computer 
> and set up a register to enable some feature of the hardware device as a 
> configuration process. This only needs to be done in the initialization phase 
> of loading a driver program or running a driver program. So If I turn the 
> X310 on and plug the reference clock, I only need to call 
> set_clock_source("external")/set_time_source("external") one time and the 
> X3x0 will be configured as working on external reference until I turned the 
> X310 off.
> 
> I am using uhd 3.7.3. I will install the newest one and give it a try to see 
> if I still have lo_locked failed warning. And for your interest question, I 
> don't have the measure result regarding to the clock stability using 
> T-connector with me. But based on our previous related experimental work, 
> one-stage of our T-connector will be just fine. And the precision we do care 
> is not the frequency output, which is used for verifying if the internal 
> clock follows external clock. We actually care about the precision of a 
> generated time-stamp in the FPGA.  
> 
> 
> Best Regards,
> Isen I-Chun Chao
> 
> On Fri, Nov 7, 2014 at 5:39 AM, Marcus M?ller <marcus.muel...@ettus.com> 
> wrote:
> Hello Isen,
> On 06.11.2014 23:08, Isen I-Chun Chao wrote:
> > Hi Marcus,
> > In our application, the quality of clock is extremely affect our interest.
> > So clearly understanding of what clock source is related to our application
> > is important. That is why we are using atomic clock as the external
> > reference.
> As this is interesting to me: What are your accuracy needs?
> Have you measured phase noise with a highspeed oscilloscope when using
> your t-connector with 50Ohm termination on the measurement end, and a
> running X310 plugged in to the other end of the t-piece? You really have
> to make sure the signal quality is excellent if you want to be better
> than the internal oscillator, and thus should ensure your external
> cabling doesn't eliminate the gain in clock stability you get by using
> an atomic clock by introducing phase noise.
> 
> > Besides, the USRP Tx and Rx will be respectively coordinating with other
> > devices. It is expected to be separated.
> Ah, so you need two USRPs to simulate your comm system.
> > That is why two USRPs are used. I
> > agree with you. I don't think Daisy-chain is appropriate in the our use
> > case.
> >
> > Following are extended questions:
> > 1a). By talking about internal clock, does it mean the 200MHz clock?
> Um, there are dozens of internal clocks in the X310; I don't know which
> statement you are referring to. Most probably, when we're talking about
> "internal clock source", we mean the 10MHz reference clock.
> >
> > 1b). According to the manual  there are "set_clock_source()",
> > "set_clock_source_out()", "set_time_source()", "set_time_source_out()". And
> > I wonder if I set_clock_source_out() and set_time_source_out() are only
> > used for enabling/disabling Ref and PPS output respectively.
> http://files.ettus.com/manual/classuhd_1_1usrp_1_1multi__usrp.html#a60445c1a52e4763b6ebbbfce2db96569
> yes.
> > If so, what is
> > the Ref output based on? The 200MHz clock?
> I'm assuming you're referring to the 200MHz default master clock rate,
> which it cannot be based on, as that clock is adjustable and the Ref Out
> must be 10MHz.
> 
> Compare page 11 of the X300 schematic:
> http://files.ettus.com/schematics/x300/x3xx.pdf
> The ref clock output gets generated directly by the central clock
> generation, stabilization and distribution IC, the LMK04816, which means
> it's derived inside that chip from the reference clock with the help of
> stabilization and further oscillators. I must admit that I still haven't
> gotten around to understanding the workings of the LMK in fullness; it's
> a complex piece of hardware, and for you, as a user, it basically "does
> what it should".
> >
> > 1c). Is the PPS output based on a register maintaining count ticks from
> > 200MHz clock, or based on what mechanism?
> Depends on whether you use an actual PPS as input (in which case that
> one is used) or not (in which case ticks are counted in the FPGA).
> > 1d). What is the concrete use case of set_time_source() in USRP X310?
> Setting the time source -- ie. saying that the internal time of the X310
> should come from the GPSDO or somewhere else.
> > If I
> > have an external PPS reference connected to X310 and I use this method,
> > does that mean the PPS signal (including the PPS output) throughout whole
> > X310 will BE the external PPS reference?
> yes.
> >
> > 2). Is the method, set_clock_source() (so are et_clock_source_out(),
> > set_time_source(), set_time_source_out()), needed to use only one time
> > (call it for configuring USRP, and USRP will stay using external clock
> > until it is powered off)?
> I don't understand, sorry. Every USRP can only have one device time.
> >
> > 3). If I run applications in GRC on USRP without connecting an external
> > clock (and I did not use set_clock_source() either), I always got warning
> > message "WARN: Sensor 'lo_locked' failed to lock within timeout on channel 
> > 0";
> > however, if I connect the atomic clock as an external clock, there is no
> > such warning message. Looks like there is something activated after
> > plugging eternal clock. If so, what is that? something like the PLL locking
> > mechanism?
> Yes, that is the information that the USRP couldn't gain a stabilized
> clock, which is a bad thing as is.
> However, there is no way to detect whether a cable is connected to the
> ref in port, which means that either the external clock source is
> selected in the UHD source/sinks options, or you have a problem with the
> clock locking mechanism.
> Are you using a recent version of UHD?
> 
> Greetings,
> Marcus
> 
> >
> >
> >
> >
> >
> >
> > *Best Regards,Isen I-Chun Chao*
> >
> > On Tue, Nov 4, 2014 at 4:22 PM, Marcus M?ller <marcus.muel...@ettus.com>
> > wrote:
> >
> >> Hi Isen,
> >> On 04.11.2014 21:37, Isen I-Chun Chao wrote:
> >>> Hi Marcus Leech and Marcus Muller,
> >>> Thanks for the answers. But I am a little bit confused.
> >>>
> >>> Once I connect the atomic and X310, hardware (X310 USRPs) should operate
> >>> based on external clock (atomic clock)
> >> no, you must explicitely select the external clock source.
> >>>  due to the daisy-chain(?).
> >> Daisy-chaining is the option to connect the reference output of one USRP
> >> to the reference input of the next; inherently, it doesn't relate to
> >> your use case.
> >>> This is
> >>> regardless of application use.
> >> Depends on what your application wants to do. Most application will not
> >> care where the reference comes from -- but you'll still need to set the
> >> reference source.
> >>> And I should have synchronized signal from
> >>> REF outputs of two USRPs, right?
> >>>
> >>> If applications did not set up the use of external clock by using
> >>> set_clock_source(), the application is going to use the default clock on
> >>> X310 USRPs. (?)
> >> yes.
> >>> What clock the FPGA is based on? because the FPGA code will be modified
> >>> working on our application.
> >> The FPGA design has multiple clock domains. The most important clock
> >> domain is driven at the master clock rate, which is 200MHz by default,
> >> but can take more values (see UHD manual).
> >>> BTW, the two X310 USRPs are Tx and Rx.
> >> Each X310 has two completely independent TX and RX chains. Unless you
> >> need to have them in two different places, I'm afraid I don't understand
> >> why you need two X310.
> >>> I am not using them as MIMO. The
> >>> reason I want to make sure their clock can synchronized to an atomic
> >> clock
> >>> is that I would like to draw timestamps on both Tx and Rx based on the
> >>> clock on USRPs. I use T-connectors to distribute atomic signals to two
> >> X310
> >>> USRP.
> >> T-Connectors might or might not work -- distributing a 10MHz clock is a
> >> bit of a tricky task, since reflections might mess up your phase
> >> quality. Also, you split energy (let's say by half) between the two
> >> USRPs! Make sure you're still able to reliably drive the clock inputs.
> >> Usually, this is a case where you would need a proper clock distributor,
> >> or a forwarding solution (such as daisy-chaining). For PPS synchronity,
> >> you really should make sure you know what you're doing on the signal
> >> distribution. I can see that daisy chaining will not be a good solution
> >> here, unless you calibrate (which you could easily do).
> >>
> >> Best regards,
> >> Marcus
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> *Best Regards,Isen I-Chun Chao*
> >>>
> >>> On Tue, Nov 4, 2014 at 3:11 PM, Marcus M?ller <
> >> usrp-users@lists.ettus.com>
> >>> wrote:
> >>>
> >>>>  Hi Isen,
> >>>>
> >>>> yes, you're understanding correctly, but you'll have to select the
> >>>> external reference explicitely using the set_clock_source method.
> >>>> Also, your atomic clock has to have the possibility to drive two
> >>>> receivers; distributing clock signals correctly isn't inherently
> >> trivial.
> >>>> For this reason, the X3x0s have the ability to "daisy-chain" the
> >> reference
> >>>> and PPS signals.
> >>>>
> >>>> Greetings,
> >>>> Marcus
> >>>>
> >>>>
> >>>> On 04.11.2014 20:48, Isen I-Chun Chao via USRP-users wrote:
> >>>>
> >>>> Hi,
> >>>> If I have a atomic clock with me and would like to two X310 USRP
> >>>> synchronize to this atomic clock.
> >>>> I just connect the PPS output and the 10MHz Ref output on atomic clock
> >> to
> >>>> the input of two USRP. As long as the 'REF' leds on the front panel of
> >> X310
> >>>> USRPs are turned on, the internal clock of X310 USRPs are locked. No
> >>>> further settings are required.
> >>>>
> >>>> Am I understanding it right?
> >>>> Thanks.
> >>>>
> >>>>
> >>>>
> >>>> *Best Regards,Isen I-Chun Chao*
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> _______________________________________________
> >>>> USRP-users mailing listUSRP-users@lists.ettus.comhttp://
> >> 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
> >>>>
> >>>>
> >>
> 
> 
> _______________________________________________
> USRP-users mailing list
> USRP-users@lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20141107/840f3a76/attachment-0001.html>

------------------------------

Message: 6
Date: Fri, 7 Nov 2014 17:00:43 -0800
From: Ben Hilburn <ben.hilb...@ettus.com>
To: "Knee, Peter A" <pak...@sandia.gov>
Cc: "usrp-users@lists.ettus.com" <usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] USRP B210 GPS Time w/Master Clock Rate
Message-ID:
        <CAOEVZkJ0QLfn4=Axuf7J510gTjzS5gN=_mpqafbp6h7w0cz...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

Hi Peter -

Can you elaborate a bit on this:


>  However, as soon as I change the master clock rate, the USRP time
> changes, with the amount of change inversely proportional to the amount of
> change in the master clock rate.
>

How are you changing the master clock rate, and what state is your
application in when this occurs?

Thanks!

Cheers,
Ben
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20141107/57d30d2f/attachment-0001.html>

------------------------------

Message: 7
Date: Fri, 7 Nov 2014 17:02:39 -0800
From: Ben Hilburn <ben.hilb...@ettus.com>
To: Krzysztof Cwalina <kkcwal...@gmail.com>
Cc: "usrp-users@lists.ettus.com" <usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] Windows UHD C++ API
Message-ID:
        <CAOEVZkLov8AEpjJc8_1Z=oK=3tksec3elpkivwsevzybtwm...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

Hi Krzysztof -

I'm a bit confused, I think. Can you explain what you mean by importing the
UHD DLL into a C# project? I'm not familiar with C#, but is that expected
to work?

We certainly haven't tested anything like that, here. Or am I
misunderstanding your question?

Cheers,
Ben

On Fri, Nov 7, 2014 at 5:49 AM, Krzysztof Cwalina via USRP-users <
usrp-users@lists.ettus.com> wrote:

> Hello,
>
> in my project I just write the C++ DLL Library and import it into C#
> project. The problem is - there are some problems with the UHD. My platform:
>
> Windows 7 x64,
> Visual Studio 2013 Pro
>
> when I run project sometimes on the line: uhd::usrp::multi_usrp::sptr usrp
> = uhd::usrp::multi_usrp::make(args); there is exception like:
>
> A first chance exception of type 'System.Runtime.InteropServices.SEHException'
> occurred in USRPTest.exe
> Additional information: External component has thrown an exception.
>
> Sometimes it is - sometimes is not (depends on how many times I compile
> the same code. Next problem is when I want to use two methods:
>
> usrp->set_clock_source("internal"); or uhd::stream_args_t
> stream_args("fc32");
>
> Same error show up. I tried everything, I've searched almost all topics
> about this subject - but I didn't found the solution. Can anyone help me?
>
> Thanks.
>
> _______________________________________________
> USRP-users mailing list
> USRP-users@lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20141107/c3040bd5/attachment-0001.html>

------------------------------

Message: 8
Date: Fri, 7 Nov 2014 17:03:56 -0800
From: Ben Hilburn <ben.hilb...@ettus.com>
To: etter.c...@bluewin.ch
Cc: "usrp-users@lists.ettus.com" <usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] UHD 003.008.000 N210R4: SPI CLOCK not
        changeable      anymore
Message-ID:
        <caoevzklj9me0jmwqtuglcmroakemt5e0qdpv0ymxtsod12c...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

Hi Peter -

Moving from UHD-3.4.3 to UHD-3.8.0 is pretty big change, but honestly there
hasn't been much in the way of N-Series development since the UHD-3.5
series.

Can you give UHD-3.5.5 a shot and let us know how it goes?

Cheers,
Ben

On Wed, Nov 5, 2014 at 12:48 PM, etter.crel--- via USRP-users <
usrp-users@lists.ettus.com> wrote:

> Hello
> We are using the N210R4 to communicate with external hardware via the rx
> and tx daughterboard spi interface.
> With UHD 003.004.003 we can change the spi clock when modifying the
> firmware file "spi.c" .
> We change the default value from spi_regs->div=1 to 249, which results in
> the desired spi clock frequency of
> 100kHz.
> When migrating to UHD 003.008.000 changing the spi clock seems not to be
> possible anymore. Modifying the
> value spi_core->divider=10 to any other value will not change the spi
> clock frequency, it remains at 10MHz.
>
> Changing the baud rate of the rs232 interface after migrating is still
> possible, indicating that the tool chain is OK.
>
> Thanks for any help.
>
> Hans-Peter
>
> _______________________________________________
> USRP-users mailing list
> USRP-users@lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20141107/0e98b859/attachment-0001.html>

------------------------------

Message: 9
Date: Fri, 7 Nov 2014 17:07:20 -0800
From: Ben Hilburn <ben.hilb...@ettus.com>
To: Serge Malo <serge.m...@averna.com>
Cc: "usrp-users@lists.ettus.com" <usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] x300 on Windows 7 and 10GbE: getting ?S? and
        ?U? from UHD
Message-ID:
        <CAOEVZkJYQzZYoxeQB=seq_60s5munyhrcydk+mwy5csb0z9...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

Hi Serge -

Hm, very strange. A few things:

   - Are you able to run Linux on that box (perhaps with the Ettus LiveUSB
   image?) and try talking to your X300 on that hardware under the Linux OS?
   - Have you tried UHD-3.8.0?
   - What 10GigE card are you using?

Cheers,
Ben

On Thu, Oct 30, 2014 at 3:38 AM, Serge Malo via USRP-users <
usrp-users@lists.ettus.com> wrote:

>
> * Hi all,   We are trying to use the x300 with the 10GbE port 1. We use it
> with a Dell Workstation Rack 7910 which hosts an intel X520-DA2 10GbE card,
> running Windows 7 x64 from a SSD. We are using UHD 3.7.2 and UHD 3.7.3.
> We have been able to read 100Msps from the x300 without problem
> (benchmark_rate test) However, we can?t send 1Msps to the x300 without
> getting errors from UHD. We get both ?S? and ?U? errors: Sequence error on
> Tx and buffer under-runs.   Has anyone been successful sending samples to
> the x300 on Windows 7 with 10GbE? If so, did you have to change any
> parameters/registry key? Which UHD version are you using? We have set the
> registry key ?FastSendDatagramThreshold? to 9000.   We also have issues
> with the x300 fpga image in UHD 3.7.3. With this image, the ethernet
> connection is unstable, we can?t really connect to the x300. So, we had to
> perform our tests with the image from UHD 3.7.2. We tried both uhd.dll from
> UHD 3.7.2 and 3.7.3, both shown the ?S? problem.   Best regards, Serge Malo
> *
>
>
> _______________________________________________
> USRP-users mailing list
> USRP-users@lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20141107/c587ea97/attachment-0001.html>

------------------------------

Message: 10
Date: Fri, 7 Nov 2014 22:31:06 -0500
From: Isen I-Chun Chao <chao...@gmail.com>
To: Ian Buckley <i...@ionconcepts.com>
Cc: "usrp-users@lists.ettus.com" <usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] Use of external reference clock to sync the
        internal clock of X310 USRPs
Message-ID:
        <caeg73kqzeodg7tzsss0cvdz32s-rjmpxfvuegtez6xsvsma...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

Hi Ian,
Thanks for the explanation. It is much more clear to me about the clock
arch in X310 now.

So I think the arch maybe based on Fig. 2 (0-delay dual PLL) of the
LMK04816 manual (http://www.ti.com/lit/ds/symlink/lmk04816.pdf) and this
chip takes CLKin1 as a reference clock. The CLKin1 in this case is
connected to a multiplexer (SY89547LMGTR), which is responsible for
selecting external ref, internal ref or GPSDO. And that is why user have to
use set_clock_source() to set up/select the one of them as the source.

And I tried to find out the signal master_clock in verilog code (X300
series). But I did no find it. Is is actually called 'master_clock' in
verilog code?

Has a time register based on master_clock (5ns resolution) been implemented
in fpga-src of current version (3.8.0) UHD?
Or people have to implement it by themselves? I was told that the time
maintained so far in the FPGA in X3x0 is not as precise as 5ns?




*Best Regards,Isen I-Chun Chao*

On Fri, Nov 7, 2014 at 5:34 PM, Ian Buckley <i...@ionconcepts.com> wrote:

> Isen,
>
> On Nov 7, 2014, at 1:51 PM, Isen I-Chun Chao via USRP-users <
> usrp-users@lists.ettus.com> wrote:
>
> Hi Marcus,
> I took a look at the the X3x0 schematic (
> http://files.ettus.com/schematics/x300/x3xx.pdf).
> 1a) According to the page 1 and page 11 of X3x0 schematic, it looks like
> that there is a 96MHz main oscillator as a master clock and it will
> redistributed to DAC/ADC. Then what is the "200MHz default master clock"
> you mentioned previously?
>
> The 96MHz oscillator drives the TI PLL chip(LMK04816) which is used to
> synthesis a variety of clocks, including the so called "master_clock". The
> default frequency of the master_clock is 200MHz but we also provide support
> for a tested configurations of 120MHz and 184.32MHz. The TI chip actually
> contains two PLL's and is very powerful, but complicated to program. The
> master clock is provided directly to ADC's and DAC's as well as the FPGA.
> Other reference clocks to synthesize RF LO's are provided to the Radio
> daughter cards.
>
> 1b). In the page 1 and pgae 12 of the X3x0 schematic, there is three are
> internal 10MHz TCXO, external 10MHz interface and the GPSDO interface so I
> can understand how set_clock_source() works for selecting one of them.
> However, I don't understand the role that the 96MHz main oscillator and the
> internal 10MHz TCXO play, respectively. What are they responsible for,
> respectively, in X310 architecture?
>
>
> The 96MHz oscillator is a VCXO, it is disciplined using a 10MHz reference
> clock. When there is no external source of a 10MHz ref clock then the on
> board 10MHz TCXO is used instead.
>
>
> 2). Just to make sure we are in the same page, by talking about "there are  
> multiple
> clock domains in X310" in your previously email, did you mean the output
> of "clock gen" block in the X3x0 schematic?
>
>
> There a great number of discrete clocks of different frequency and phase
> used within the FPGA..
>
>
> 3) According to your answer for the question about set_time_source(): "Setting
> the time source -- ie. saying that the internal time of the X310 should
> come from the GPSDO or somewhere else." and the page one of the X3x0
> schematic, there must be time registers design in the FPGA and the content
> of the time registers are something like second and nanosecond, counting
> based on one of the output of "Clock Gen" connecting to FPGA. Do I
> understand it correctly? If so, what is the time source this clock signal
> based on? the internal 10MHz TCXO or the 96MHz main oscillator?
>
>
> The internal reference clock maintained in the FPGA is in quanta of the
> master_clock. By default therefore it's incrementing every 5nS.
>
>
> 4) Regarding the previous question of using set_clock_source() and
> set_time_source(), I was asking if these two method is one-time use. Like
> people write a Linux drivers to access a hardware device attached on
> computer and set up a register to enable some feature of the hardware
> device as a configuration process. This only needs to be done in the
> initialization phase of loading a driver program or running a driver
> program. So If I turn the X310 on and plug the reference clock, I only need
> to call set_clock_source("external")/set_time_source("external") one time
> and the X3x0 will be configured as working on external reference until I
> turned the X310 off.
>
> I am using uhd 3.7.3. I will install the newest one and give it a try to
> see if I still have lo_locked failed warning. And for your interest
> question, I don't have the measure result regarding to the clock stability
> using T-connector with me. But based on our previous related experimental
> work, one-stage of our T-connector will be just fine. And the precision we
> do care is not the frequency output, which is used for verifying if the
> internal clock follows external clock. We actually care about the precision
> of a generated time-stamp in the FPGA.
>
>
>
> *Best Regards,Isen I-Chun Chao*
>
> On Fri, Nov 7, 2014 at 5:39 AM, Marcus M?ller <marcus.muel...@ettus.com>
> wrote:
>
>> Hello Isen,
>> On 06.11.2014 23:08, Isen I-Chun Chao wrote:
>> > Hi Marcus,
>> > In our application, the quality of clock is extremely affect our
>> interest.
>> > So clearly understanding of what clock source is related to our
>> application
>> > is important. That is why we are using atomic clock as the external
>> > reference.
>> As this is interesting to me: What are your accuracy needs?
>> Have you measured phase noise with a highspeed oscilloscope when using
>> your t-connector with 50Ohm termination on the measurement end, and a
>> running X310 plugged in to the other end of the t-piece? You really have
>> to make sure the signal quality is excellent if you want to be better
>> than the internal oscillator, and thus should ensure your external
>> cabling doesn't eliminate the gain in clock stability you get by using
>> an atomic clock by introducing phase noise.
>>
>> > Besides, the USRP Tx and Rx will be respectively coordinating with other
>> > devices. It is expected to be separated.
>> Ah, so you need two USRPs to simulate your comm system.
>> > That is why two USRPs are used. I
>> > agree with you. I don't think Daisy-chain is appropriate in the our use
>> > case.
>> >
>> > Following are extended questions:
>> > 1a). By talking about internal clock, does it mean the 200MHz clock?
>> Um, there are dozens of internal clocks in the X310; I don't know which
>> statement you are referring to. Most probably, when we're talking about
>> "internal clock source", we mean the 10MHz reference clock.
>> >
>> > 1b). According to the manual  there are "set_clock_source()",
>> > "set_clock_source_out()", "set_time_source()", "set_time_source_out()".
>> And
>> > I wonder if I set_clock_source_out() and set_time_source_out() are only
>> > used for enabling/disabling Ref and PPS output respectively.
>>
>> http://files.ettus.com/manual/classuhd_1_1usrp_1_1multi__usrp.html#a60445c1a52e4763b6ebbbfce2db96569
>> yes.
>> > If so, what is
>> > the Ref output based on? The 200MHz clock?
>> I'm assuming you're referring to the 200MHz default master clock rate,
>> which it cannot be based on, as that clock is adjustable and the Ref Out
>> must be 10MHz.
>>
>> Compare page 11 of the X300 schematic:
>> http://files.ettus.com/schematics/x300/x3xx.pdf
>> The ref clock output gets generated directly by the central clock
>> generation, stabilization and distribution IC, the LMK04816, which means
>> it's derived inside that chip from the reference clock with the help of
>> stabilization and further oscillators. I must admit that I still haven't
>> gotten around to understanding the workings of the LMK in fullness; it's
>> a complex piece of hardware, and for you, as a user, it basically "does
>> what it should".
>> >
>> > 1c). Is the PPS output based on a register maintaining count ticks from
>> > 200MHz clock, or based on what mechanism?
>> Depends on whether you use an actual PPS as input (in which case that
>> one is used) or not (in which case ticks are counted in the FPGA).
>> > 1d). What is the concrete use case of set_time_source() in USRP X310?
>> Setting the time source -- ie. saying that the internal time of the X310
>> should come from the GPSDO or somewhere else.
>> > If I
>> > have an external PPS reference connected to X310 and I use this method,
>> > does that mean the PPS signal (including the PPS output) throughout
>> whole
>> > X310 will BE the external PPS reference?
>> yes.
>> >
>> > 2). Is the method, set_clock_source() (so are et_clock_source_out(),
>> > set_time_source(), set_time_source_out()), needed to use only one time
>> > (call it for configuring USRP, and USRP will stay using external clock
>> > until it is powered off)?
>> I don't understand, sorry. Every USRP can only have one device time.
>> >
>> > 3). If I run applications in GRC on USRP without connecting an external
>> > clock (and I did not use set_clock_source() either), I always got
>> warning
>> > message "WARN: Sensor 'lo_locked' failed to lock within timeout on
>> channel 0";
>> > however, if I connect the atomic clock as an external clock, there is no
>> > such warning message. Looks like there is something activated after
>> > plugging eternal clock. If so, what is that? something like the PLL
>> locking
>> > mechanism?
>> Yes, that is the information that the USRP couldn't gain a stabilized
>> clock, which is a bad thing as is.
>> However, there is no way to detect whether a cable is connected to the
>> ref in port, which means that either the external clock source is
>> selected in the UHD source/sinks options, or you have a problem with the
>> clock locking mechanism.
>> Are you using a recent version of UHD?
>>
>> Greetings,
>> Marcus
>>
>> >
>> >
>> >
>> >
>> >
>> >
>> > *Best Regards,Isen I-Chun Chao*
>> >
>> > On Tue, Nov 4, 2014 at 4:22 PM, Marcus M?ller <marcus.muel...@ettus.com
>> >
>> > wrote:
>> >
>> >> Hi Isen,
>> >> On 04.11.2014 21:37, Isen I-Chun Chao wrote:
>> >>> Hi Marcus Leech and Marcus Muller,
>> >>> Thanks for the answers. But I am a little bit confused.
>> >>>
>> >>> Once I connect the atomic and X310, hardware (X310 USRPs) should
>> operate
>> >>> based on external clock (atomic clock)
>> >> no, you must explicitely select the external clock source.
>> >>>  due to the daisy-chain(?).
>> >> Daisy-chaining is the option to connect the reference output of one
>> USRP
>> >> to the reference input of the next; inherently, it doesn't relate to
>> >> your use case.
>> >>> This is
>> >>> regardless of application use.
>> >> Depends on what your application wants to do. Most application will not
>> >> care where the reference comes from -- but you'll still need to set the
>> >> reference source.
>> >>> And I should have synchronized signal from
>> >>> REF outputs of two USRPs, right?
>> >>>
>> >>> If applications did not set up the use of external clock by using
>> >>> set_clock_source(), the application is going to use the default clock
>> on
>> >>> X310 USRPs. (?)
>> >> yes.
>> >>> What clock the FPGA is based on? because the FPGA code will be
>> modified
>> >>> working on our application.
>> >> The FPGA design has multiple clock domains. The most important clock
>> >> domain is driven at the master clock rate, which is 200MHz by default,
>> >> but can take more values (see UHD manual).
>> >>> BTW, the two X310 USRPs are Tx and Rx.
>> >> Each X310 has two completely independent TX and RX chains. Unless you
>> >> need to have them in two different places, I'm afraid I don't
>> understand
>> >> why you need two X310.
>> >>> I am not using them as MIMO. The
>> >>> reason I want to make sure their clock can synchronized to an atomic
>> >> clock
>> >>> is that I would like to draw timestamps on both Tx and Rx based on the
>> >>> clock on USRPs. I use T-connectors to distribute atomic signals to two
>> >> X310
>> >>> USRP.
>> >> T-Connectors might or might not work -- distributing a 10MHz clock is a
>> >> bit of a tricky task, since reflections might mess up your phase
>> >> quality. Also, you split energy (let's say by half) between the two
>> >> USRPs! Make sure you're still able to reliably drive the clock inputs.
>> >> Usually, this is a case where you would need a proper clock
>> distributor,
>> >> or a forwarding solution (such as daisy-chaining). For PPS synchronity,
>> >> you really should make sure you know what you're doing on the signal
>> >> distribution. I can see that daisy chaining will not be a good solution
>> >> here, unless you calibrate (which you could easily do).
>> >>
>> >> Best regards,
>> >> Marcus
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> *Best Regards,Isen I-Chun Chao*
>> >>>
>> >>> On Tue, Nov 4, 2014 at 3:11 PM, Marcus M?ller <
>> >> usrp-users@lists.ettus.com>
>> >>> wrote:
>> >>>
>> >>>>  Hi Isen,
>> >>>>
>> >>>> yes, you're understanding correctly, but you'll have to select the
>> >>>> external reference explicitely using the set_clock_source method.
>> >>>> Also, your atomic clock has to have the possibility to drive two
>> >>>> receivers; distributing clock signals correctly isn't inherently
>> >> trivial.
>> >>>> For this reason, the X3x0s have the ability to "daisy-chain" the
>> >> reference
>> >>>> and PPS signals.
>> >>>>
>> >>>> Greetings,
>> >>>> Marcus
>> >>>>
>> >>>>
>> >>>> On 04.11.2014 20:48, Isen I-Chun Chao via USRP-users wrote:
>> >>>>
>> >>>> Hi,
>> >>>> If I have a atomic clock with me and would like to two X310 USRP
>> >>>> synchronize to this atomic clock.
>> >>>> I just connect the PPS output and the 10MHz Ref output on atomic
>> clock
>> >> to
>> >>>> the input of two USRP. As long as the 'REF' leds on the front panel
>> of
>> >> X310
>> >>>> USRPs are turned on, the internal clock of X310 USRPs are locked. No
>> >>>> further settings are required.
>> >>>>
>> >>>> Am I understanding it right?
>> >>>> Thanks.
>> >>>>
>> >>>>
>> >>>>
>> >>>> *Best Regards,Isen I-Chun Chao*
>> >>>>
>> >>>>
>> >>>>
>> >>>>
>> >>>> _______________________________________________
>> >>>> USRP-users mailing listUSRP-users@lists.ettus.comhttp://
>> >> 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
>> >>>>
>> >>>>
>> >>
>>
>>
> _______________________________________________
> USRP-users mailing list
> USRP-users@lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20141107/8b747f1f/attachment-0001.html>

------------------------------

Message: 11
Date: Fri, 7 Nov 2014 20:24:07 -0800
From: Ian Buckley <i...@ionconcepts.com>
To: Isen I-Chun Chao <chao...@gmail.com>
Cc: "usrp-users@lists.ettus.com" <usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] Use of external reference clock to sync the
        internal clock of X310 USRPs
Message-ID: <8b3b25f2-0a46-4511-a14d-f72287fe6...@ionconcepts.com>
Content-Type: text/plain; charset="windows-1252"

Isen,

On Nov 7, 2014, at 7:31 PM, Isen I-Chun Chao <chao...@gmail.com> wrote:

> Hi Ian,
> Thanks for the explanation. It is much more clear to me about the clock arch 
> in X310 now. 
> 
> So I think the arch maybe based on Fig. 2 (0-delay dual PLL) of the LMK04816 
> manual (http://www.ti.com/lit/ds/symlink/lmk04816.pdf) and this chip takes 
> CLKin1 as a reference clock. The CLKin1 in this case is connected to a 
> multiplexer (SY89547LMGTR), which is responsible for selecting external ref, 
> internal ref or GPSDO. And that is why user have to use set_clock_source() to 
> set up/select the one of them as the source.
Yes, though it should default to the internal 10MHz TCXO if no arguments are 
supplied and no GPSDO is installed.

> 
> And I tried to find out the signal master_clock in verilog code (X300 
> series). But I did no find it. Is is actually called 'master_clock' in 
> verilog code?
master_clk_rate is the keyword used in UHD command invocation for all the new 
USRP models and it corresponds to the sample rate of the ADC/DAC. We have 
standardized on this term, since most users only write S/W and have no 
visibility into the FPGA design.
In the X310 Verilog follow the signal "radio_clk" from X300.v down through the 
hierarchy?the name will change to just "clk" in some sub-modules?.this is the 
200MHz clock.

> 
> Has a time register based on master_clock (5ns resolution) been implemented 
> in fpga-src of current version (3.8.0) UHD?
> Or people have to implement it by themselves? I was told that the time 
> maintained so far in the FPGA in X3x0 is not as precise as ins?

Yes, there is a 64bit 200MHz counter in each instance of the radio in X300. All 
time specs for X310 are accurate in the H/W to 5nS when using a 200MHz 
master_clock_rate. We use the term vita_time also to refer to the same clocks 
sometimes.

> 
> 
> 
-Ian

> Best Regards,
> Isen I-Chun Chao
> 
> On Fri, Nov 7, 2014 at 5:34 PM, Ian Buckley <i...@ionconcepts.com> wrote:
> Isen,
> 
> On Nov 7, 2014, at 1:51 PM, Isen I-Chun Chao via USRP-users 
> <usrp-users@lists.ettus.com> wrote:
> 
>> Hi Marcus,
>> I took a look at the the X3x0 schematic 
>> (http://files.ettus.com/schematics/x300/x3xx.pdf).
>> 1a) According to the page 1 and page 11 of X3x0 schematic, it looks like 
>> that there is a 96MHz main oscillator as a master clock and it will 
>> redistributed to DAC/ADC. Then what is the "200MHz default master clock" you 
>> mentioned previously?
>> 
> 
> The 96MHz oscillator drives the TI PLL chip(LMK04816) which is used to 
> synthesis a variety of clocks, including the so called "master_clock". The 
> default frequency of the master_clock is 200MHz but we also provide support 
> for a tested configurations of 120MHz and 184.32MHz. The TI chip actually 
> contains two PLL's and is very powerful, but complicated to program. The 
> master clock is provided directly to ADC's and DAC's as well as the FPGA. 
> Other reference clocks to synthesize RF LO's are provided to the Radio 
> daughter cards.
> 
>> 1b). In the page 1 and pgae 12 of the X3x0 schematic, there is three are 
>> internal 10MHz TCXO, external 10MHz interface and the GPSDO interface so I 
>> can understand how set_clock_source() works for selecting one of them. 
>> However, I don't understand the role that the 96MHz main oscillator and the 
>> internal 10MHz TCXO play, respectively. What are they responsible for, 
>> respectively, in X310 architecture?  
> 
> The 96MHz oscillator is a VCXO, it is disciplined using a 10MHz reference 
> clock. When there is no external source of a 10MHz ref clock then the on 
> board 10MHz TCXO is used instead.
>> 
>> 2). Just to make sure we are in the same page, by talking about "there are  
>> multiple clock domains in X310" in your previously email, did you mean the 
>> output of "clock gen" block in the X3x0 schematic?
> 
> There a great number of discrete clocks of different frequency and phase used 
> within the FPGA..
>> 
>> 3) According to your answer for the question about set_time_source(): 
>> "Setting the time source -- ie. saying that the internal time of the X310 
>> should come from the GPSDO or somewhere else." and the page one of the X3x0 
>> schematic, there must be time registers design in the FPGA and the content 
>> of the time registers are something like second and nanosecond, counting 
>> based on one of the output of "Clock Gen" connecting to FPGA. Do I 
>> understand it correctly? If so, what is the time source this clock signal 
>> based on? the internal 10MHz TCXO or the 96MHz main oscillator?
> 
> The internal reference clock maintained in the FPGA is in quanta of the 
> master_clock. By default therefore it's incrementing every 5nS.
> 
>> 
>> 4) Regarding the previous question of using set_clock_source() and 
>> set_time_source(), I was asking if these two method is one-time use. Like 
>> people write a Linux drivers to access a hardware device attached on 
>> computer and set up a register to enable some feature of the hardware device 
>> as a configuration process. This only needs to be done in the initialization 
>> phase of loading a driver program or running a driver program. So If I turn 
>> the X310 on and plug the reference clock, I only need to call 
>> set_clock_source("external")/set_time_source("external") one time and the 
>> X3x0 will be configured as working on external reference until I turned the 
>> X310 off.
>> 
>> I am using uhd 3.7.3. I will install the newest one and give it a try to see 
>> if I still have lo_locked failed warning. And for your interest question, I 
>> don't have the measure result regarding to the clock stability using 
>> T-connector with me. But based on our previous related experimental work, 
>> one-stage of our T-connector will be just fine. And the precision we do care 
>> is not the frequency output, which is used for verifying if the internal 
>> clock follows external clock. We actually care about the precision of a 
>> generated time-stamp in the FPGA.  
>> 
>> 
>> Best Regards,
>> Isen I-Chun Chao
>> 
>> On Fri, Nov 7, 2014 at 5:39 AM, Marcus M?ller <marcus.muel...@ettus.com> 
>> wrote:
>> Hello Isen,
>> On 06.11.2014 23:08, Isen I-Chun Chao wrote:
>> > Hi Marcus,
>> > In our application, the quality of clock is extremely affect our interest.
>> > So clearly understanding of what clock source is related to our application
>> > is important. That is why we are using atomic clock as the external
>> > reference.
>> As this is interesting to me: What are your accuracy needs?
>> Have you measured phase noise with a highspeed oscilloscope when using
>> your t-connector with 50Ohm termination on the measurement end, and a
>> running X310 plugged in to the other end of the t-piece? You really have
>> to make sure the signal quality is excellent if you want to be better
>> than the internal oscillator, and thus should ensure your external
>> cabling doesn't eliminate the gain in clock stability you get by using
>> an atomic clock by introducing phase noise.
>> 
>> > Besides, the USRP Tx and Rx will be respectively coordinating with other
>> > devices. It is expected to be separated.
>> Ah, so you need two USRPs to simulate your comm system.
>> > That is why two USRPs are used. I
>> > agree with you. I don't think Daisy-chain is appropriate in the our use
>> > case.
>> >
>> > Following are extended questions:
>> > 1a). By talking about internal clock, does it mean the 200MHz clock?
>> Um, there are dozens of internal clocks in the X310; I don't know which
>> statement you are referring to. Most probably, when we're talking about
>> "internal clock source", we mean the 10MHz reference clock.
>> >
>> > 1b). According to the manual  there are "set_clock_source()",
>> > "set_clock_source_out()", "set_time_source()", "set_time_source_out()". And
>> > I wonder if I set_clock_source_out() and set_time_source_out() are only
>> > used for enabling/disabling Ref and PPS output respectively.
>> http://files.ettus.com/manual/classuhd_1_1usrp_1_1multi__usrp.html#a60445c1a52e4763b6ebbbfce2db96569
>> yes.
>> > If so, what is
>> > the Ref output based on? The 200MHz clock?
>> I'm assuming you're referring to the 200MHz default master clock rate,
>> which it cannot be based on, as that clock is adjustable and the Ref Out
>> must be 10MHz.
>> 
>> Compare page 11 of the X300 schematic:
>> http://files.ettus.com/schematics/x300/x3xx.pdf
>> The ref clock output gets generated directly by the central clock
>> generation, stabilization and distribution IC, the LMK04816, which means
>> it's derived inside that chip from the reference clock with the help of
>> stabilization and further oscillators. I must admit that I still haven't
>> gotten around to understanding the workings of the LMK in fullness; it's
>> a complex piece of hardware, and for you, as a user, it basically "does
>> what it should".
>> >
>> > 1c). Is the PPS output based on a register maintaining count ticks from
>> > 200MHz clock, or based on what mechanism?
>> Depends on whether you use an actual PPS as input (in which case that
>> one is used) or not (in which case ticks are counted in the FPGA).
>> > 1d). What is the concrete use case of set_time_source() in USRP X310?
>> Setting the time source -- ie. saying that the internal time of the X310
>> should come from the GPSDO or somewhere else.
>> > If I
>> > have an external PPS reference connected to X310 and I use this method,
>> > does that mean the PPS signal (including the PPS output) throughout whole
>> > X310 will BE the external PPS reference?
>> yes.
>> >
>> > 2). Is the method, set_clock_source() (so are et_clock_source_out(),
>> > set_time_source(), set_time_source_out()), needed to use only one time
>> > (call it for configuring USRP, and USRP will stay using external clock
>> > until it is powered off)?
>> I don't understand, sorry. Every USRP can only have one device time.
>> >
>> > 3). If I run applications in GRC on USRP without connecting an external
>> > clock (and I did not use set_clock_source() either), I always got warning
>> > message "WARN: Sensor 'lo_locked' failed to lock within timeout on channel 
>> > 0";
>> > however, if I connect the atomic clock as an external clock, there is no
>> > such warning message. Looks like there is something activated after
>> > plugging eternal clock. If so, what is that? something like the PLL locking
>> > mechanism?
>> Yes, that is the information that the USRP couldn't gain a stabilized
>> clock, which is a bad thing as is.
>> However, there is no way to detect whether a cable is connected to the
>> ref in port, which means that either the external clock source is
>> selected in the UHD source/sinks options, or you have a problem with the
>> clock locking mechanism.
>> Are you using a recent version of UHD?
>> 
>> Greetings,
>> Marcus
>> 
>> >
>> >
>> >
>> >
>> >
>> >
>> > *Best Regards,Isen I-Chun Chao*
>> >
>> > On Tue, Nov 4, 2014 at 4:22 PM, Marcus M?ller <marcus.muel...@ettus.com>
>> > wrote:
>> >
>> >> Hi Isen,
>> >> On 04.11.2014 21:37, Isen I-Chun Chao wrote:
>> >>> Hi Marcus Leech and Marcus Muller,
>> >>> Thanks for the answers. But I am a little bit confused.
>> >>>
>> >>> Once I connect the atomic and X310, hardware (X310 USRPs) should operate
>> >>> based on external clock (atomic clock)
>> >> no, you must explicitely select the external clock source.
>> >>>  due to the daisy-chain(?).
>> >> Daisy-chaining is the option to connect the reference output of one USRP
>> >> to the reference input of the next; inherently, it doesn't relate to
>> >> your use case.
>> >>> This is
>> >>> regardless of application use.
>> >> Depends on what your application wants to do. Most application will not
>> >> care where the reference comes from -- but you'll still need to set the
>> >> reference source.
>> >>> And I should have synchronized signal from
>> >>> REF outputs of two USRPs, right?
>> >>>
>> >>> If applications did not set up the use of external clock by using
>> >>> set_clock_source(), the application is going to use the default clock on
>> >>> X310 USRPs. (?)
>> >> yes.
>> >>> What clock the FPGA is based on? because the FPGA code will be modified
>> >>> working on our application.
>> >> The FPGA design has multiple clock domains. The most important clock
>> >> domain is driven at the master clock rate, which is 200MHz by default,
>> >> but can take more values (see UHD manual).
>> >>> BTW, the two X310 USRPs are Tx and Rx.
>> >> Each X310 has two completely independent TX and RX chains. Unless you
>> >> need to have them in two different places, I'm afraid I don't understand
>> >> why you need two X310.
>> >>> I am not using them as MIMO. The
>> >>> reason I want to make sure their clock can synchronized to an atomic
>> >> clock
>> >>> is that I would like to draw timestamps on both Tx and Rx based on the
>> >>> clock on USRPs. I use T-connectors to distribute atomic signals to two
>> >> X310
>> >>> USRP.
>> >> T-Connectors might or might not work -- distributing a 10MHz clock is a
>> >> bit of a tricky task, since reflections might mess up your phase
>> >> quality. Also, you split energy (let's say by half) between the two
>> >> USRPs! Make sure you're still able to reliably drive the clock inputs.
>> >> Usually, this is a case where you would need a proper clock distributor,
>> >> or a forwarding solution (such as daisy-chaining). For PPS synchronity,
>> >> you really should make sure you know what you're doing on the signal
>> >> distribution. I can see that daisy chaining will not be a good solution
>> >> here, unless you calibrate (which you could easily do).
>> >>
>> >> Best regards,
>> >> Marcus
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> *Best Regards,Isen I-Chun Chao*
>> >>>
>> >>> On Tue, Nov 4, 2014 at 3:11 PM, Marcus M?ller <
>> >> usrp-users@lists.ettus.com>
>> >>> wrote:
>> >>>
>> >>>>  Hi Isen,
>> >>>>
>> >>>> yes, you're understanding correctly, but you'll have to select the
>> >>>> external reference explicitely using the set_clock_source method.
>> >>>> Also, your atomic clock has to have the possibility to drive two
>> >>>> receivers; distributing clock signals correctly isn't inherently
>> >> trivial.
>> >>>> For this reason, the X3x0s have the ability to "daisy-chain" the
>> >> reference
>> >>>> and PPS signals.
>> >>>>
>> >>>> Greetings,
>> >>>> Marcus
>> >>>>
>> >>>>
>> >>>> On 04.11.2014 20:48, Isen I-Chun Chao via USRP-users wrote:
>> >>>>
>> >>>> Hi,
>> >>>> If I have a atomic clock with me and would like to two X310 USRP
>> >>>> synchronize to this atomic clock.
>> >>>> I just connect the PPS output and the 10MHz Ref output on atomic clock
>> >> to
>> >>>> the input of two USRP. As long as the 'REF' leds on the front panel of
>> >> X310
>> >>>> USRPs are turned on, the internal clock of X310 USRPs are locked. No
>> >>>> further settings are required.
>> >>>>
>> >>>> Am I understanding it right?
>> >>>> Thanks.
>> >>>>
>> >>>>
>> >>>>
>> >>>> *Best Regards,Isen I-Chun Chao*
>> >>>>
>> >>>>
>> >>>>
>> >>>>
>> >>>> _______________________________________________
>> >>>> USRP-users mailing listUSRP-users@lists.ettus.comhttp://
>> >> 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
>> >>>>
>> >>>>
>> >>
>> 
>> 
>> _______________________________________________
>> USRP-users mailing list
>> USRP-users@lists.ettus.com
>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20141107/d9dc8835/attachment-0001.html>

------------------------------

Message: 12
Date: Sat, 08 Nov 2014 05:22:08 +0000 (GMT)
From: Louis Brown <rfeng...@me.com>
To: usrp-users@lists.ettus.com
Subject: [USRP-users] X310 vs N210 with LFRX digital gain problems
Message-ID: <d3b1cb10-fe62-4f13-94b1-41eb69ed2...@me.com>
Content-Type: text/plain; charset="utf-8"; Format="flowed"

I have both an X310 and N210, each with an LFRX, being fed via a splitter with 
the same 1.60 MHz and 1.61 MHz tones at -60 dBm each.  Each 250 ksps UHD source 
is then fed to a frequency sink; X310 (blue) vs N210 (red).  Each source shares 
the same tune and gain settings.  UHD_003.008.000-9-g426ad0be

At 0.0 dB gain things look fine:
https://dl.dropboxusercontent.com/u/49570443/x310_vs_n210_LFRX_0dB.png

At 1.0 dB gain the X310 (blue) has severe distortion:
https://dl.dropboxusercontent.com/u/49570443/x310_vs_n210_LFRX_1dB.png

It returns to normal at 1.5 dB gain, but then goes haywire again as the gain 
varies to 6 dB.

As a side note, at low frequencies there is a strange "thumping" in the X310 
spectrum, sort as if there were some kind of AGC action happening at 1 Hz rate. 
 A picture really can't capture it, but the X310 spectrum (blue) moves up and 
down several dB (note this is connected to an active loop antenna):
https://dl.dropboxusercontent.com/u/49570443/x310_vs_n210_LFRX_thumping.png

All goes away when terminated with 50 Ohms.  I assume there is no sort of 
digital AGC happening in the X310?  I need to swap these LFRX cards, and the 
spur environment is totally different inside the X310 vs the N210, but this all 
came about since the X310 seems to have poorer intermods for my HF reception, 
given the same active loop antenna, even with sharp AM band-stop filtering.

Anyway, something wrong in the digital gain though.?

Thanks,
Lou


-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20141108/c7311f75/attachment-0001.html>

------------------------------

Message: 13
Date: Sat, 8 Nov 2014 10:03:36 +0100
From: "Ralph A. Schmid, dk5ras" <ra...@schmid.xxx>
To: "'Andy Walls'" <a...@silverblocksystems.net>,
        <usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] B200 UHD 3.8.0: UHD Error: recv packet
        demuxer unexpected sid...
Message-ID: <004201cffb32$e1aad6c0$a5008440$@schmid.xxx>
Content-Type: text/plain; charset="utf-8"

Hi,

When using Debian wheezy the system was as unstable as with Kubuntu, but an 
upgrade with wheezy backports also updated the libusb stuff, and this may have 
improved things, at least now gqrx can receive at 32MS for minutes until it 
crashes with such a message:

thread[thread-per-block[0]: <block gr uhd usrp source (48)>]: EnvironmentError: 
IOError: Radio ctrl (0) packet parse error - AssertionError: 
packet_info.packet_count == (seq_to_ack & 0xfff)
  in uint64_t radio_ctrl_core_3000_impl::wait_for_ack(bool)
  at /home/openbts/uhd/host/lib/usrp/cores/radio_ctrl_core_3000.cpp:258

So maybe really some libusb weirdness?! 

Ralph.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: 
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20141108/30e34806/attachment-0001.sig>

------------------------------

Message: 14
Date: Sat, 08 Nov 2014 10:55:31 +0100
From: Krzysztof Cwalina <kkcwal...@gmail.com>
To: Ben Hilburn <ben.hilb...@ettus.com>
Cc: "usrp-users@lists.ettus.com" <usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] Windows UHD C++ API
Message-ID: <545de893.2030...@gmail.com>
Content-Type: text/plain; charset="utf-8"; Format="flowed"

Hello Ben,

Thank You for reply. Yes I do not explain my problem enough. Dont focus 
on C# - C++ connection and DLL. I just want to write a little library 
which uses UHD driver to connect with the device (N2920 and N2921).

I just copy my code from DLL and build a simple C++ project which uses 
the UHD driver. The problem is that in Linux this code works very 
welland anything is ok. But suddenly on Windows I've got an error in the 
places where I need to pass parameters as a string like methods:
usrp->set_clock_source("internal");
uhd::stream_args_t stream_args("fc32");

The other like:
usrp->set_rx_rate(rate);
usrp->get_rx_rate();

Works well under the Windows. I'm a bit confused why is it happening and 
why I get error there. Only the methods where string is a parameter 
seems to not working for me. I tried almost everything.

W dniu 2014-11-08 o 02:02, Ben Hilburn pisze:
> Hi Krzysztof -
>
> I'm a bit confused, I think. Can you explain what you mean by 
> importing the UHD DLL into a C# project? I'm not familiar with C#, but 
> is that expected to work?
>
> We certainly haven't tested anything like that, here. Or am I 
> misunderstanding your question?
>
> Cheers,
> Ben
>
> On Fri, Nov 7, 2014 at 5:49 AM, Krzysztof Cwalina via USRP-users 
> <usrp-users@lists.ettus.com <mailto:usrp-users@lists.ettus.com>> wrote:
>
>     Hello,
>
>     in my project I just write the C++ DLL Library and import it into
>     C# project. The problem is - there are some problems with the UHD.
>     My platform:
>
>     Windows 7 x64,
>     Visual Studio 2013 Pro
>
>     when I run project sometimes on the line:
>     uhd::usrp::multi_usrp::sptr usrp =
>     uhd::usrp::multi_usrp::make(args); there is exception like:
>
>     A first chance exception of type
>     'System.Runtime.InteropServices.SEHException' occurred in USRPTest.exe
>     Additional information: External component has thrown an exception.
>
>     Sometimes it is - sometimes is not (depends on how many times I
>     compile the same code. Next problem is when I want to use two methods:
>
>     usrp->set_clock_source("internal"); or uhd::stream_args_t
>     stream_args("fc32");
>
>     Same error show up. I tried everything, I've searched almost all
>     topics about this subject - but I didn't found the solution. Can
>     anyone help me?
>
>     Thanks.
>
>     _______________________________________________
>     USRP-users mailing list
>     USRP-users@lists.ettus.com <mailto:USRP-users@lists.ettus.com>
>     http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20141108/0febb596/attachment-0001.html>

------------------------------

Message: 15
Date: Sat, 8 Nov 2014 12:50:27 +0200
From: Nir Eden <nir.e...@gmail.com>
To: Krzysztof Cwalina <kkcwal...@gmail.com>
Cc: "usrp-users@lists.ettus.com" <usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] Windows UHD C++ API
Message-ID:
        <CAP4_4=f7tfrsinqybdt2b+modsfnqbapxnr_pxjobgmdkcm...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

Hi,

I'm not sure that I'm fully understand your setup. You are trying to call
 UHD in windows from c++/cli program? if so you need to marshal string. Try
this:

std::string MarshalString(String ^ s)
{
using namespace Runtime::InteropServices;
const char* chars = (const
char*)(Marshal::StringToHGlobalAnsi(s)).ToPointer();
std::string os = chars;
Marshal::FreeHGlobal(IntPtr((void*)chars));
return os;
}

and than:
usrp->set_clock_source(MarshalString("internal");

-- Nir, 4Z7DEF

On Sat, Nov 8, 2014 at 11:55 AM, Krzysztof Cwalina via USRP-users <
usrp-users@lists.ettus.com> wrote:

>  Hello Ben,
>
> Thank You for reply. Yes I do not explain my problem enough. Dont focus on
> C# - C++ connection and DLL. I just want to write a little library which
> uses UHD driver to connect with the device (N2920 and N2921).
>
> I just copy my code from DLL and build a simple C++ project which uses the
> UHD driver. The problem is that in Linux this code works very welland
> anything is ok. But suddenly on Windows I've got an error in the places
> where I need to pass parameters as a string like methods:
> usrp->set_clock_source("internal");
> uhd::stream_args_t stream_args("fc32");
>
> The other like:
> usrp->set_rx_rate(rate);
> usrp->get_rx_rate();
>
> Works well under the Windows. I'm a bit confused why is it happening and
> why I get error there. Only the methods where string is a parameter seems
> to not working for me. I tried almost everything.
>
> W dniu 2014-11-08 o 02:02, Ben Hilburn pisze:
>
> Hi Krzysztof -
>
>  I'm a bit confused, I think. Can you explain what you mean by importing
> the UHD DLL into a C# project? I'm not familiar with C#, but is that
> expected to work?
>
>  We certainly haven't tested anything like that, here. Or am I
> misunderstanding your question?
>
>  Cheers,
> Ben
>
> On Fri, Nov 7, 2014 at 5:49 AM, Krzysztof Cwalina via USRP-users <
> usrp-users@lists.ettus.com> wrote:
>
>> Hello,
>>
>> in my project I just write the C++ DLL Library and import it into C#
>> project. The problem is - there are some problems with the UHD. My platform:
>>
>> Windows 7 x64,
>> Visual Studio 2013 Pro
>>
>> when I run project sometimes on the line: uhd::usrp::multi_usrp::sptr
>> usrp = uhd::usrp::multi_usrp::make(args); there is exception like:
>>
>> A first chance exception of type
>> 'System.Runtime.InteropServices.SEHException' occurred in USRPTest.exe
>> Additional information: External component has thrown an exception.
>>
>> Sometimes it is - sometimes is not (depends on how many times I compile
>> the same code. Next problem is when I want to use two methods:
>>
>> usrp->set_clock_source("internal"); or uhd::stream_args_t
>> stream_args("fc32");
>>
>> Same error show up. I tried everything, I've searched almost all topics
>> about this subject - but I didn't found the solution. Can anyone help me?
>>
>> Thanks.
>>
>> _______________________________________________
>> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20141108/95f1b5a0/attachment-0001.html>

------------------------------

Message: 16
Date: Sat, 08 Nov 2014 11:52:23 +0100
From: Krzysztof Cwalina <kkcwal...@gmail.com>
To: Nir Eden <nir.e...@gmail.com>
Cc: "usrp-users@lists.ettus.com" <usrp-users@lists.ettus.com>
Subject: Re: [USRP-users] Windows UHD C++ API
Message-ID: <545df5e7.7080...@gmail.com>
Content-Type: text/plain; charset="utf-8"; Format="flowed"

Hello,
thank You very much for Your reply - I try this tommorow when I got 
access to device. I will reply if it helps.

Best regards,
Krzysztof Cwalina

W dniu 2014-11-08 o 11:50, Nir Eden pisze:
> Hi,
>
> I'm not sure that I'm fully understand your setup. You are trying to 
> call  UHD in windows from c++/cli program? if so you need to marshal 
> string. Try this:
>
> std::string MarshalString(String ^ s)
> {
> using namespace Runtime::InteropServices;
> const char* chars = (const 
> char*)(Marshal::StringToHGlobalAnsi(s)).ToPointer();
> std::string os = chars;
> Marshal::FreeHGlobal(IntPtr((void*)chars));
> return os;
> }
>
> and than:
> usrp->set_clock_source(MarshalString("internal");
>
> -- Nir, 4Z7DEF
>
> On Sat, Nov 8, 2014 at 11:55 AM, Krzysztof Cwalina via USRP-users 
> <usrp-users@lists.ettus.com <mailto:usrp-users@lists.ettus.com>> wrote:
>
>     Hello Ben,
>
>     Thank You for reply. Yes I do not explain my problem enough. Dont
>     focus on C# - C++ connection and DLL. I just want to write a
>     little library which uses UHD driver to connect with the device
>     (N2920 and N2921).
>
>     I just copy my code from DLL and build a simple C++ project which
>     uses the UHD driver. The problem is that in Linux this code works
>     very welland anything is ok. But suddenly on Windows I've got an
>     error in the places where I need to pass parameters as a string
>     like methods:
>     usrp->set_clock_source("internal");
>     uhd::stream_args_t stream_args("fc32");
>
>     The other like:
>     usrp->set_rx_rate(rate);
>     usrp->get_rx_rate();
>
>     Works well under the Windows. I'm a bit confused why is it
>     happening and why I get error there. Only the methods where string
>     is a parameter seems to not working for me. I tried almost everything.
>
>     W dniu 2014-11-08 o 02:02, Ben Hilburn pisze:
>>     Hi Krzysztof -
>>
>>     I'm a bit confused, I think. Can you explain what you mean by
>>     importing the UHD DLL into a C# project? I'm not familiar with
>>     C#, but is that expected to work?
>>
>>     We certainly haven't tested anything like that, here. Or am I
>>     misunderstanding your question?
>>
>>     Cheers,
>>     Ben
>>
>>     On Fri, Nov 7, 2014 at 5:49 AM, Krzysztof Cwalina via USRP-users
>>     <usrp-users@lists.ettus.com <mailto:usrp-users@lists.ettus.com>>
>>     wrote:
>>
>>         Hello,
>>
>>         in my project I just write the C++ DLL Library and import it
>>         into C# project. The problem is - there are some problems
>>         with the UHD. My platform:
>>
>>         Windows 7 x64,
>>         Visual Studio 2013 Pro
>>
>>         when I run project sometimes on the line:
>>         uhd::usrp::multi_usrp::sptr usrp =
>>         uhd::usrp::multi_usrp::make(args); there is exception like:
>>
>>         A first chance exception of type
>>         'System.Runtime.InteropServices.SEHException' occurred in
>>         USRPTest.exe
>>         Additional information: External component has thrown an
>>         exception.
>>
>>         Sometimes it is - sometimes is not (depends on how many times
>>         I compile the same code. Next problem is when I want to use
>>         two methods:
>>
>>         usrp->set_clock_source("internal"); or uhd::stream_args_t
>>         stream_args("fc32");
>>
>>         Same error show up. I tried everything, I've searched almost
>>         all topics about this subject - but I didn't found the
>>         solution. Can anyone help me?
>>
>>         Thanks.
>>
>>         _______________________________________________
>>         USRP-users mailing list
>>         USRP-users@lists.ettus.com <mailto: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 <mailto:USRP-users@lists.ettus.com>
>     http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20141108/6042b2be/attachment-0001.html>

------------------------------

Message: 17
Date: Sat, 08 Nov 2014 11:09:31 -0500
From: Andy Walls <a...@silverblocksystems.net>
To: Martin Braun <martin.br...@ettus.com>
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] B200 UHD 3.8.0: UHD Error: recv packet
        demuxer unexpected sid...
Message-ID: <1415462971.2819.12.camel@localhost>
Content-Type: text/plain; charset="UTF-8"

On Thu, 2014-11-06 at 10:12 +0100, Martin Braun via USRP-users wrote:
> On 11/01/2014 09:49 PM, Andy Walls via USRP-users wrote:
> > I've got a shiny new USRP B200 with the AC power adapter, factory
> > provided USB 3 cable, and no GPSDO install.  I just used PyBOMBS to
> > build UHD 003.008.000 from git using the release tag.
> 
> A bit late here, but since 3.8.0 we have a debug image for the B200 in
> the images package. If you write that to the device (--args fw=<path to
> images>/usrp_b200_fw_debug.hex and run tools/b200/b2x0_side_channel.py,
> you will get bunch of diagnostics.
> 
> Note you need PyUSB 1.0 for this to work.
> 
> Cheers,
> M

Thanks.  I just ran through a test with this.

$ uhd_usrp_probe --args="fw=<prefix>/share/uhd/images/usrp_b200_fw_debug.hex" > 
c1.output 2>&1
(In another terminal: )
$ <src_prefix>/src/uhd/tools/b200/b2x0_side_channel.py > c2sc.output 2>&1
(In original terminal: )
$ uhd_fft -A TX/RX -s 2000000 -f 315000000 > c2.output 2>&1

The debug output looks good; until things fall apart, upon which it
essentially informs one that communications are broken badly.  The
counters are all trash at that point (bad magic), and when they do get
good magic back, they have obviously been cleared.

For the curious, below is the edited output of the side channel utility,
showing the highlights.  Note that the growth of
"usb_error_count_update" by 49-52 counts every cycle appears to me to be
normal from my reading of the firmware source.

Regards,
Andy

Finding 2500:0020...
Opened 2500:0020
Operating at USB 3
Max buffer size: 4096

[00001 00001] 00000001 0001 USB_EVENT_VBUS_VALID
[00002 00001] 00000006 0002 CyU3PUsbSetTxSwing 45
[00003 00001] 00000006 0003 Compat:  7.0
[00004 00001] 00000006 0004 FX3 SDK: 1.2.3 (build 125)
[00005 00001] 00000007 0005 USB_EVENT_CONNECT
[00006 00001] 00000075 0006 USB_EVENT_RESET
[00007 00001] 000000EF 0007 USB_EVENT_SETCONF (#1)
[00008 00001] 000000EF 0008 b200_fw_start
[00009 00001] 000000EF 0009 LPMDisable OK
[00010 00001] 000000EF 0010 [DMA] to host: 64512, from host: 64512, depth: 1, 
burst size: 16
[00011 00001] 000004CF 0011 b200_spi_init
[00012 00001] 000004CF 0012 Begin FPGA
[00013 00001] 00000501 0013 Wait FPGA
[00014 00001] 00000501 0014 Configuring FPGA
[00015 00001] 00002A8B 0015 FPGA done
[00016 00001] 00002A8B 0016 b200_gpif_init
[00017 00001] 00002A8D 0017 Running

[00018 00002] 00004E27 0018 Keep-alive

[00001]
magic: 268582913
        XFER_CPLT: 00000        SEND_CPLT: 00000        RECV_CPLT: 00000        
PROD_EVENT: 00000       CONS_EVENT: 00000       ABORTED: 00000  ERROR: 00000    
PROD_SUSP: 00000        CONS_SUSP: 00000        BUFFER_MARKER: 00000    
BUFFER_EOP: 00000       BUFFER_ERROR: 00000     BUFFER_OCCUPIED: 00000  
last_count: 00000       last_size: 00000        last_sid: 00000 bad_sid_count: 
00000
        XFER_CPLT: 00000        SEND_CPLT: 00000        RECV_CPLT: 00000        
PROD_EVENT: 00000       CONS_EVENT: 00000       ABORTED: 00000  ERROR: 00000    
PROD_SUSP: 00000        CONS_SUSP: 00000        BUFFER_MARKER: 00000    
BUFFER_EOP: 00000       BUFFER_ERROR: 00000     BUFFER_OCCUPIED: 00000  
last_count: 00000       last_size: 00000        last_sid: 00000 bad_sid_count: 
00000
log_overrun_count: 00000        usb_error_update_count: 00237
        phy_error_count: 01658  link_error_count: 00000 PHY_LOCK_EV: 00000      
TRAINING_ERROR_EV: 00000        RX_ERROR_CRC32_EV: 00000        
RX_ERROR_CRC16_EV: 00000        RX_ERROR_CRC5_EV: 00000 PHY_ERROR_DISPARITY_EV: 
00000   PHY_ERROR_EB_UND_EV: 00001      PHY_ERROR_EB_OVR_EV: 00000      
PHY_ERROR_DECODE_EV: 00001
usb_ep_underrun_count: 00000    heap_size: 00000        resume_count: 00000

[***lots of messages hand edited out]

[00028 00012] 00035B67 0028 Keep-alive

[00039]
magic: 268582913
        XFER_CPLT: 00000        SEND_CPLT: 00000        RECV_CPLT: 00000        
PROD_EVENT: 00000       CONS_EVENT: 00000       ABORTED: 00000  ERROR: 00000    
PROD_SUSP: 00000        CONS_SUSP: 00000        BUFFER_MARKER: 00000    
BUFFER_EOP: 00000       BUFFER_ERROR: 00000     BUFFER_OCCUPIED: 00000  
last_count: 00000       last_size: 00000        last_sid: 00000 bad_sid_count: 
00000
        XFER_CPLT: 00000        SEND_CPLT: 00000        RECV_CPLT: 00000        
PROD_EVENT: 00000       CONS_EVENT: 00000       ABORTED: 00000  ERROR: 00000    
PROD_SUSP: 00000        CONS_SUSP: 00000        BUFFER_MARKER: 00000    
BUFFER_EOP: 00000       BUFFER_ERROR: 00000     BUFFER_OCCUPIED: 00000  
last_count: 00000       last_size: 00000        last_sid: 00000 bad_sid_count: 
00000
log_overrun_count: 00000        usb_error_update_count: 02200
        phy_error_count: 01658  link_error_count: 00000 PHY_LOCK_EV: 00000      
TRAINING_ERROR_EV: 00000        RX_ERROR_CRC32_EV: 00000        
RX_ERROR_CRC16_EV: 00000        RX_ERROR_CRC5_EV: 00000 PHY_ERROR_DISPARITY_EV: 
00000   PHY_ERROR_EB_UND_EV: 00001      PHY_ERROR_EB_OVR_EV: 00000      
PHY_ERROR_DECODE_EV: 00001
usb_ep_underrun_count: 00000    heap_size: 00000        resume_count: 00000

[00040]
magic: 268582913
        XFER_CPLT: 00000        SEND_CPLT: 00000        RECV_CPLT: 00000        
PROD_EVENT: 00000       CONS_EVENT: 00000       ABORTED: 00000  ERROR: 00000    
PROD_SUSP: 00000        CONS_SUSP: 00000        BUFFER_MARKER: 00000    
BUFFER_EOP: 00000       BUFFER_ERROR: 00000     BUFFER_OCCUPIED: 00000  
last_count: 00000       last_size: 00000        last_sid: 00000 bad_sid_count: 
00000
        XFER_CPLT: 00000        SEND_CPLT: 00000        RECV_CPLT: 00000        
PROD_EVENT: 00000       CONS_EVENT: 00000       ABORTED: 00000  ERROR: 00000    
PROD_SUSP: 00000        CONS_SUSP: 00000        BUFFER_MARKER: 00000    
BUFFER_EOP: 00000       BUFFER_ERROR: 00000     BUFFER_OCCUPIED: 00000  
last_count: 00000       last_size: 00000        last_sid: 00000 bad_sid_count: 
00000
log_overrun_count: 00000        usb_error_update_count: 02252
        phy_error_count: 01658  link_error_count: 00000 PHY_LOCK_EV: 00000      
TRAINING_ERROR_EV: 00000        RX_ERROR_CRC32_EV: 00000        
RX_ERROR_CRC16_EV: 00000        RX_ERROR_CRC5_EV: 00000 PHY_ERROR_DISPARITY_EV: 
00000   PHY_ERROR_EB_UND_EV: 00001      PHY_ERROR_EB_OVR_EV: 00000      
PHY_ERROR_DECODE_EV: 00001
usb_ep_underrun_count: 00000    heap_size: 00000        resume_count: 00000

[00041]
magic: 268582913
        XFER_CPLT: 00000        SEND_CPLT: 00000        RECV_CPLT: 00000        
PROD_EVENT: 00000       CONS_EVENT: 00000       ABORTED: 00000  ERROR: 00000    
PROD_SUSP: 00000        CONS_SUSP: 00000        BUFFER_MARKER: 00000    
BUFFER_EOP: 00000       BUFFER_ERROR: 00000     BUFFER_OCCUPIED: 00000  
last_count: 00000       last_size: 00000        last_sid: 00000 bad_sid_count: 
00000
        XFER_CPLT: 00000        SEND_CPLT: 00000        RECV_CPLT: 00000        
PROD_EVENT: 00000       CONS_EVENT: 00000       ABORTED: 00000  ERROR: 00000    
PROD_SUSP: 00000        CONS_SUSP: 00000        BUFFER_MARKER: 00000    
BUFFER_EOP: 00000       BUFFER_ERROR: 00000     BUFFER_OCCUPIED: 00000  
last_count: 00000       last_size: 00000        last_sid: 00000 bad_sid_count: 
00000
log_overrun_count: 00000        usb_error_update_count: 02304
        phy_error_count: 01658  link_error_count: 00000 PHY_LOCK_EV: 00000      
TRAINING_ERROR_EV: 00000        RX_ERROR_CRC32_EV: 00000        
RX_ERROR_CRC16_EV: 00000        RX_ERROR_CRC5_EV: 00000 PHY_ERROR_DISPARITY_EV: 
00000   PHY_ERROR_EB_UND_EV: 00001      PHY_ERROR_EB_OVR_EV: 00000      
PHY_ERROR_DECODE_EV: 00001
usb_ep_underrun_count: 00000    heap_size: 00000        resume_count: 00000

0x23 (B200_VREQ_GET_LOG): [Errno 5] Input/output error
0x26 (B200_VREQ_GET_USB_EVENT_LOG): [Errno 5] Input/output error
0x23 (B200_VREQ_GET_LOG): [Errno 5] Input/output error
0x26 (B200_VREQ_GET_USB_EVENT_LOG): [Errno 5] Input/output error
0x23 (B200_VREQ_GET_LOG): [Errno 5] Input/output error
0x26 (B200_VREQ_GET_USB_EVENT_LOG): [Errno 5] Input/output error
0x23 (B200_VREQ_GET_LOG): [Errno 5] Input/output error
0x26 (B200_VREQ_GET_USB_EVENT_LOG): [Errno 5] Input/output error
0x23 (B200_VREQ_GET_LOG): [Errno 5] Input/output error
0x26 (B200_VREQ_GET_USB_EVENT_LOG): [Errno 5] Input/output error
0x23 (B200_VREQ_GET_LOG): [Errno 5] Input/output error
[00823] CYU3P_USB_LOG_USBSS_DISCONNECT: Indicates that the USB 3.0 link has 
been disabled.

[00824] CYU3P_USB_LOG_LTSSM_CHG+34:     LTSSM: (unknown)

[00042]
magic: 370414870
        XFER_CPLT: 353768724    SEND_CPLT: 00001        RECV_CPLT: 1443422375   
PROD_EVENT: 00001       CONS_EVENT: 1443422376  ABORTED: 852012 ERROR: 720865   
PROD_SUSP: -1245164     CONS_SUSP: 4259860      BUFFER_MARKER: -393222  
BUFFER_EOP: 4522001     BUFFER_ERROR: -917439   BUFFER_OCCUPIED: 00000  
last_count: 00000       last_size: 00000        last_sid: 00000 bad_sid_count: 
00000
        XFER_CPLT: 00000        SEND_CPLT: 00000        RECV_CPLT: 00000        
PROD_EVENT: 00000       CONS_EVENT: 2490348     ABORTED: -5373966       ERROR: 
-1572816 PROD_SUSP: 1638444      CONS_SUSP: 4849658      BUFFER_MARKER: 4849704 
 BUFFER_EOP: 196588      BUFFER_ERROR: 721042    BUFFER_OCCUPIED: 2948680       
 last_count: 00000       last_size: 00000        last_sid: 00000 bad_sid_count: 
00000
log_overrun_count: 00000        usb_error_update_count: 02357
        phy_error_count: 01658  link_error_count: 00000 PHY_LOCK_EV: 00000      
TRAINING_ERROR_EV: 00000        RX_ERROR_CRC32_EV: 00000        
RX_ERROR_CRC16_EV: 00000        RX_ERROR_CRC5_EV: 00000 PHY_ERROR_DISPARITY_EV: 
00000   PHY_ERROR_EB_UND_EV: 00001      PHY_ERROR_EB_OVR_EV: 31720126   
PHY_ERROR_DECODE_EV: 00001
usb_ep_underrun_count: 00000    heap_size: 00000        resume_count: 00000

[00826] CYU3P_USB_LOG_VBUS_OFF: Indicates VBus turned off.
[00826] CYU3P_USB_LOG_USB2_SUSP:        Indicates that a USB 2.0 suspend 
condition has been detected.
[00826] CYU3P_USB_LOG_VBUS_ON:  Indicates VBus turned on.
[00826] CYU3P_USB_LOG_USBSS_DISCONNECT: Indicates that the USB 3.0 link has 
been disabled.

[00029 00013]  [***unprintable control codes hand edited out]

[00836] CYU3P_USB_LOG_USB2_RESET:       Indicates that a USB 2.0 bus reset has 
been detected.

[00043]
magic: 353768724
        XFER_CPLT: 370414870    SEND_CPLT: 1699422265   RECV_CPLT: 842018848    
PROD_EVENT: 1702259052  CONS_EVENT: 1630367845  ABORTED: 1279350367     ERROR: 
1398079488       PROD_SUSP: 00000        CONS_SUSP: 00000        BUFFER_MARKER: 
00000    BUFFER_EOP: 00000       BUFFER_ERROR: 00000     BUFFER_OCCUPIED: 00000 
 last_count: 00000       last_size: 00000        last_sid: 00000 bad_sid_count: 
00000
        XFER_CPLT: 00000        SEND_CPLT: 00000        RECV_CPLT: 00000        
PROD_EVENT: 00000       CONS_EVENT: 00000       ABORTED: 00000  ERROR: 00000    
PROD_SUSP: 2162786      CONS_SUSP: 6553642      BUFFER_MARKER: 2031674  
BUFFER_EOP: -5505019    BUFFER_ERROR: 14090272  BUFFER_OCCUPIED: -49414082      
last_count: -21102609   last_size: 9109647      last_sid: -2293731      
bad_sid_count: 6029275
log_overrun_count: -6422525     usb_error_update_count: 8585214
        phy_error_count: 4653068        link_error_count: 3539039       
PHY_LOCK_EV: -2752462   TRAINING_ERROR_EV: 2359335      RX_ERROR_CRC32_EV: 
3997619      RX_ERROR_CRC16_EV: -982958      RX_ERROR_CRC5_EV: -4128729      
PHY_ERROR_DISPARITY_EV: -3801130        PHY_ERROR_EB_UND_EV: 6029384    
PHY_ERROR_EB_OVR_EV: 6422570    PHY_ERROR_DECODE_EV: -1966163
usb_ep_underrun_count: -262098  heap_size: -983015      resume_count: 52428494

[00839] CYU3P_USB_LOG_VBUS_OFF: Indicates VBus turned off.
[00839] CYU3P_USB_LOG_USB2_SUSP:        Indicates that a USB 2.0 suspend 
condition has been detected.
[00839] CYU3P_USB_LOG_VBUS_ON:  Indicates VBus turned on.
[00839] CYU3P_USB_LOG_USBSS_DISCONNECT: Indicates that the USB 3.0 link has 
been disabled.

[***8 repeats of the above 4 lines hand edited out]

[00848] CYU3P_USB_LOG_VBUS_OFF: Indicates VBus turned off.
[00848] CYU3P_USB_LOG_USB2_SUSP:        Indicates that a USB 2.0 suspend 
condition has been detected.
[00848] CYU3P_USB_LOG_VBUS_ON:  Indicates VBus turned on.
[00848] CYU3P_USB_LOG_USBSS_DISCONNECT: Indicates that the USB 3.0 link has 
been disabled.

[00044]
magic: 268582913
        XFER_CPLT: 00000        SEND_CPLT: 00000        RECV_CPLT: 00000        
PROD_EVENT: 00000       CONS_EVENT: 00000       ABORTED: 00000  ERROR: 00000    
PROD_SUSP: 00000        CONS_SUSP: 00000        BUFFER_MARKER: 00000    
BUFFER_EOP: 00000       BUFFER_ERROR: 00000     BUFFER_OCCUPIED: 00000  
last_count: 00000       last_size: 00000        last_sid: 00000 bad_sid_count: 
00000
        XFER_CPLT: 00000        SEND_CPLT: 00000        RECV_CPLT: 00000        
PROD_EVENT: 00000       CONS_EVENT: 00000       ABORTED: 00000  ERROR: 00000    
PROD_SUSP: 00000        CONS_SUSP: 00000        BUFFER_MARKER: 00000    
BUFFER_EOP: 00000       BUFFER_ERROR: 00000     BUFFER_OCCUPIED: 00000  
last_count: 00000       last_size: 00000        last_sid: 00000 bad_sid_count: 
00000
log_overrun_count: 00000        usb_error_update_count: 00000
        phy_error_count: 00000  link_error_count: 00000 PHY_LOCK_EV: 00000      
TRAINING_ERROR_EV: 00000        RX_ERROR_CRC32_EV: 00000        
RX_ERROR_CRC16_EV: 00000        RX_ERROR_CRC5_EV: 00000 PHY_ERROR_DISPARITY_EV: 
00000   PHY_ERROR_EB_UND_EV: 00000      PHY_ERROR_EB_OVR_EV: 00000      
PHY_ERROR_DECODE_EV: 00000
usb_ep_underrun_count: 00000    heap_size: 00000        resume_count: 00000

[***remainder hand edited out]






------------------------------

Subject: Digest Footer

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


------------------------------

End of USRP-users Digest, Vol 51, Issue 8
*****************************************

Reply via email to