Author Topic: LM399 based 10 V reference  (Read 316265 times)

0 Members and 1 Guest are viewing this topic.

Offline pigrew

  • Frequent Contributor
  • **
  • Posts: 515
  • Country: us
Re: LM399 based 10 V reference
« Reply #1000 on: April 30, 2019, 07:09:30 pm »

I don't think there is any need to get 25 bits with 1 kHz speed. The LM399 has a much higher noise. So there would be much more noise from the LM399 than any SD modulation amplitude from using "only" some 20 Bit true PWM and than SD modulation on top.

Hmm, Maybe I need to rethink things. Looking at the LM399 datasheet again, it shows ~10 uV (~1.5ppm) of p-p <1Hz noise (Low Frequency Noise Voltage). Looking at the other plot, "Zener Noise Voltage (stabilized)", shows all the noise. I also need to figure out what I'm trying to achieve (My thought has been a 10 V transfer-standard with long-ish term stability, but not necessarily low noise.).

I was intending to get the resolution down to be similar to what I see as the S.D. of voltmeter readings when measuring my source (about 0.5 uV of 10V), so 0.05 ppm, even though this is wasted due to the accuracy of the reference.....

Do you have any suggestions? Is there something you'd like to see done with the LM399?

Connecting a few LM399 in parallel would reduce the noise, but burn a lot of power.

Disciplining a lower-noise source (like LTC6655) with a LM399 (Stack two LTC6655-5 to get 10V, use a 8 to 12 bit DAC to tweak the output to be 10V, divide down to ~7.1V with PWM and compare to the LM399 to use as a feedback loop to control the DAC, using a micro for temperature compensation?)? I guess this is just another name for auto-cal. The disciplining can be disabled, and the PWM divider can be used as a fairly linear high-resolution calibrator output.

25bits at 1kHz will be a bit of a challenge, but if you could ease the requirements a bit, Parallax' Propeller might be an alternative.  That MCU has a quite odd and by now fairly old design, requires support chips (external I2C connected EEPROM), draws quite a bit of power and has other drawbacks.  It does however allow for arbitrary length PWM via bit banging (since it has eight 'cogs' -- think of them as cores -- and no interrupts, bit banging can be done jitter-free easily).   It's routinely clocked up to 100MHz, some reported success with slightly higher clock rates.  Sadly, despite its age, the MCU is notoriously under-specified.  It derives its clock from an external crystal via an internal PLL circuit.  It's unclear to me how much jitter that introduces (on small time scales -- within a second, I measured the error to be less than 2 parts in 80e6 using a 10MHz reference signal from a GPSDO).

FPGA seems to be the more promising choice, the Propeller might just be easier to program.

I meant to try this for a long time now.  You could beat me to it.  ;)

The Propeller looks interesting, but probably can't do what I want because of its "only" 80 MHz clock speed (without using an external serializer IC). I'm also worried the low-ish PLL frequency of 128 MHz implies significant clock jitter. Another similar (but more modern?) design are the processors by XMOS. They quite likely could do the wizardry I'm trying to get, with "tile" clock frequencies of 500 MHz on their lower-end hardware (XS1-L6A-64-TQ48-C5).

I already have a proof-of-concept PWM generator running on a FPGA dev board, so my plan is to further explore it.

So, the question is if I should finish up this 10V LM399-based source. I'm leaning towards yes, just to see how good of a PWM generator I can make. But, I won't make a dedicated PCB this time. I'll just use the machXO2 breakout board, as-is, with a small external MCU to do temperature readings, and package it in a box to avoid drafts. I need to get my design into an oven soon for doing tempco checks.
 

Offline branadic

  • Super Contributor
  • ***
  • Posts: 1486
  • Country: de
Re: LM399 based 10 V reference
« Reply #1001 on: April 30, 2019, 07:40:48 pm »
Even though RMS noise (10Hz - 10kHz) is specified to be typ. 7µV and max. 50µV for LM399 it does make sense to use higher DAC resolution, as you can average values to get more of an idea of the real value, as long as you don't have a jumper (popcorn noise). On the other hand you find specimen with low noise, but you have to select them (same is true for drift...).
Don't trust a single picture on noise given in the datasheet, measure the device you have at hand to get a picture of what you are dealing with.

As far as I remember noone found a low noise LTC6655 by now. The datasheet values given are misleading as the LNA used to specify noise on them doesn't match the defacto standard bandwidth?
However, the approach of building a disciplined ADC or DAC by using a low noise reference combined with a reference of good long-term stability is nice but not new. But it puts you in the rabbit hole to find a very low noise reference.

-branadic-
Fluke 8050A | Prema 5000 | Prema 5017 SC | Advantest R6581D | GenRad 1434-G | Datron 4000A | Tek 2465A | VNWA2.x with TCXO upgrade and access to: Keysight 3458A, Keithley 2002, Prema 5017 SC, 34401A, 34410A, Keithley 2182A, HDO6054, Keysight 53230A and other goodies at work
 

Offline imo

  • Super Contributor
  • ***
  • Posts: 1940
  • Country: 00
Re: LM399 based 10 V reference
« Reply #1002 on: April 30, 2019, 08:26:23 pm »
I think you have gained pretty good momentum in the "High Resolution PWM Divider" direction (the name for a new topic?).
The actual zener (399 or LTZ, etc) is a different topic, imho. And not extremely important in the situation where you have been spending a lot of effort with the PWM divider.
Forget the 399 for a while and do create a 25bit 10kHz PWM divider  :-+
 

Offline Andreas

  • Super Contributor
  • ***
  • Posts: 2411
  • Country: de
Re: LM399 based 10 V reference
« Reply #1003 on: April 30, 2019, 10:23:48 pm »
Looking at the LM399 datasheet again, it shows ~10 uV (~1.5ppm) of p-p <1Hz noise (Low Frequency Noise Voltage).

Many LM399 have around 4 uVpp 0.1 - 10 Hz noise @ 7V so ~ 0.6 ppm (like most integrated buried zener references).
But there is also some stray from sample to sample (My LM399#2 has around 9 uVpp) so I would select for noise.
If you have large integration times then the DMM will already filter some of that noise.

As far as I remember noone found a low noise LTC6655 by now. The datasheet values given are misleading as the LNA used to specify noise on them doesn't match the defacto standard bandwidth?
The too small bandwidth of AN124 is one reason. The other sad truth is that the LTC6655 noise is very dependant on the input power supply voltage.
To get minimal noise you have to reduce the input voltage. At 5.7V for the 5V version I measured factor 1.3 lower than at 10.2V. But with 2uVpp average @ 5V still more than the promised 0.25ppm p_p.

with best regards

Andreas
 

Offline pigrew

  • Frequent Contributor
  • **
  • Posts: 515
  • Country: us
Re: LM399 based 10 V reference
« Reply #1004 on: May 08, 2019, 02:55:40 pm »
Over the last few days, I've driven my LM399 board by a PWM generated by a MachXO2 FPGA (FPGA code is posted on GitHub.) I estimate a TC of ~0.25 ppm/C based on about 70 hours left in a room without air conditioning. In addition, I've seen about a ppm shift in the output voltage, along with RTN-like events with a magnitude of 1 ppm.

Note the setup is far from optimal. I placed the circuit in a cardboard box with no electrical shielding, used long cables, etc, but it is able to demonstrate the FPGA-based PWM. I'm able to control a 1 kHz PWM with 19-bit control, and 8 bits of D-S modulation, with a PWM resolution of 2ns (250 MHz clock with IO using DDR outputs).

Another small investigation I made was a comparison of various 25MHz and 50 MHz 3.3V surfacemount XO. Using a 4 GSa/s oscilloscope, I could not draw any conclusions about which had lower jitter. Over 1 millisecond, I saw about 40 ps p-p of jitter. The FPGA's PLL did add some jitter, boosting my measurements up to about 80ps p-p period jitter when generating a 1 kHz PWM. The PLL's VCO was running at 480 to 500 MHz, divided by 2 to clock the DDR IO cells at ~250 MHz (higher FPGA speed grades can go slightly faster).

The ASFL1-25.000MHz-EC-T XO used ~2mA of current while the ASV-50.000MHZ-LR-T uses 4 mA. Some of the other models used higher currents.

Where is the RTN coming from? My guess is the reference, but I'm not sure. I have not done any measurements of Vref. The plot showing RTN is a residual plot, after subtracting out the estimated output voltage based on a linear model of time and temperature.
 
The following users thanked this post: imo, eplpwr

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 6330
  • Country: de
Re: LM399 based 10 V reference
« Reply #1005 on: May 08, 2019, 03:02:02 pm »
The jumps in the residual curves could very well be popcorn noise from the reference.

Using a FPGA just for the PWM looks like a lot of effort and power consumption.
For the drift / TC  I would expect the switches to be a possible source. Some units may behave better than others, as the R_on ratio could be a factor.
 

Offline imo

  • Super Contributor
  • ***
  • Posts: 1940
  • Country: 00
Re: LM399 based 10 V reference
« Reply #1006 on: May 09, 2019, 10:06:33 am »
Where is the RTN coming from? My guess is the reference, but I'm not sure. I have not done any measurements of Vref. The plot showing RTN is a residual plot, after subtracting out the estimated output voltage based on a linear model of time and temperature.
You may try with a "reference" made of a battery cells, like 4x1.5V or 2x3.6V.
The batteries have pretty low noise usually.
 

Offline Andreas

  • Super Contributor
  • ***
  • Posts: 2411
  • Country: de
Re: LM399 based 10 V reference
« Reply #1007 on: May 09, 2019, 07:05:30 pm »
The batteries have pretty low noise usually.

... as long as you keep the temperature constant.

with best regards

Andreas
 

Offline pigrew

  • Frequent Contributor
  • **
  • Posts: 515
  • Country: us
Re: LM399 based 10 V reference
« Reply #1008 on: May 10, 2019, 01:09:36 am »
Using a FPGA just for the PWM looks like a lot of effort and power consumption.
For the drift / TC  I would expect the switches to be a possible source. Some units may behave better than others, as the R_on ratio could be a factor.

Yeah, it's a bit of effort, but I've always been curious about the Lattice parts.

The power consumption isn't that bad. The 7000HE uses about 28 mA at 1.2 V, plus about 5 mA at 3.3 V for the XO+IO. The dev board itself is reading 100 mA total, but I think a lot of that is the FTDI chip and the other accessories on it. Most of the microcontrollers I looked at use about the same, so this really isn't that bad (assuming the use of a switching regulator to drop down from the input voltage). Given everything being powered by 3.3V, this is about 115 mW compared to the ~350 of the LM399 heater. Not insignificant, but not a dealbreaker. Most of the FPGA's power is burnt by the PLL. With additional programming, a low-power mode could be created where the PLL is disabled and the circuit is clocked by the internal RC oscillator. Maybe I should go to the other thread to implement a multi-slope converter with the 7000HE? I wonder if the PLL's jitter is low enough to get a bunch of digits...

Since I can't use an oven at the moment, my plan is to do ratio measurements of the output voltage vs the reference voltage for a few days using a Solartron 7081 in its 8-digit mode (3072 NPLC, ~=51 seconds) to check how stable the circuit is (apart from the reference).
 

Offline pigrew

  • Frequent Contributor
  • **
  • Posts: 515
  • Country: us
Re: LM399 based 10 V reference (Ratio of PWM generated output to LM399 ref)
« Reply #1009 on: May 13, 2019, 04:40:09 pm »
Over the last few days, I performed a ratio measurement of my reference using a Solartron 7081 in ratio mode (and 50 second acquisition periods). For each measurement, the DMM acquires the input voltage and then the reference voltage (on a separate reference input). My 7081 is fairly noisy as is the LM399, but a few days of logging should provide enough data to average things out.

I calculated the ratio in PPM units as as (ratio - ratio[0])/ratio[0]*(10^6)). Since I'm making ratio-mode measurements, the measured ratio should be quite insensitive to the DMM's temperature (which also changed during the logging). Next time, I'll use an external relay to switch inputs instead of the DMM ratio mode, so that I'll be able to log both voltages instead of just the ratio.

Based on a linear fit, the ratio varies by 0.018 ppm/(C-°). I conclude that most of the thermal drift I have is due to the LM399 reference itself and not the PWM divider circuit. After the addition of temperature calibration, I expect the circuit I constructed will have a short-term (on the order of a day) accuracy of <1ppm, with a TC of <0.1 ppm/C. No, I didn't do any math, and I have not yet implemented temperature corrections, but this is my feeling based on the logged data so far.

The step-changes in the temperature are where I was convinced to turn on the house's furnace.... it shouldn't be this cold in May.


EDIT: Another small note is that I looked at the MachXO3 vs MachXO2. The power consumption was estimated as being very similar, but the MachXO3 does have smaller BGA packages which have the high-speed pins. Of all the FPGAs I've looked at, the MachXO2 seems best.
« Last Edit: May 13, 2019, 08:33:40 pm by pigrew »
 
The following users thanked this post: Andreas, imo, Magnificent Bastard

Online guenthert

  • Frequent Contributor
  • **
  • Posts: 300
  • Country: us
Re: LM399 based 10 V reference
« Reply #1010 on: June 23, 2019, 10:42:26 pm »
[..]
The Propeller looks interesting, but probably can't do what I want because of its "only" 80 MHz clock speed (without using an external serializer IC). I'm also worried the low-ish PLL frequency of 128 MHz implies significant clock jitter. [..]
I was wondering about that.  I don't think max. clock jitter is specified for the P8X32A.  Don't really know how to measure it, but recently got a new hammer (LeCroy Wave Ace 2032 which allows fairly fine resolution timing measurements using ETS) ...

Here I attached passive probes to the output pins 2 and 3 of a propeller on a PiHat board (6MHz crystal -- 96MHz clock frequency.  Unfortunately on this board it's difficult to access the external clock), which I toggle as fast as possible w/o using the counters (16 cycles).  Resolution here is 40ps (25 GS/s), variation in impulse width (including uncertainty in trigger point) peak-to-peak seems to be 160ps, i.e. about 2% of the width.  That sounds terrible at first, but over several cycles it averages out to the stability of the crystal (can't measure that with the oscilloscope).  Now it could be that all early cycles in such a meta-cycle are short and all late ones are long, then that would wreak havoc on a PWM scheme ...
« Last Edit: June 24, 2019, 05:42:16 am by guenthert »
 
The following users thanked this post: eplpwr

Offline Andreas

  • Super Contributor
  • ***
  • Posts: 2411
  • Country: de
Re: LM399 based 10 V reference
« Reply #1011 on: June 24, 2019, 05:11:50 am »
Hello,

I simply used the statistics on the pwm output frequency.
(I had to do it on the inverted PWM signal because the rising edge was the one with modulation).

see here:
https://www.eevblog.com/forum/metrology/lm399-based-10-v-reference/msg2138395/#msg2138395

the x-tal frequencies had a standard deviation of about 5*10e6 lower than the PWM frequency.
the R/C frequency was around 10e3 lower in standard deviation than the PWM frequency.
The R/C frequency was unusable with some 80-90uVpp noise on the 10V output.

with best regards

Andreas
 
The following users thanked this post: eplpwr

Online guenthert

  • Frequent Contributor
  • **
  • Posts: 300
  • Country: us
Re: LM399 based 10 V reference
« Reply #1012 on: June 24, 2019, 06:04:21 am »
Thanks, I need to ponder this a bit.

Further, the 160ps pk-pk variation in the width of the pulse need to be taken with a grain of salt, as the Wave Ace 2032 spefices:
Trigger and Interpolator Jitter: 0.4ns pk-pk
 

Offline Andreas

  • Super Contributor
  • ***
  • Posts: 2411
  • Country: de
Re: LM399 based 10 V reference
« Reply #1013 on: June 24, 2019, 07:53:23 pm »
Hello,

the spec of my scope is: Sample jitter 3ps (rms), typical

But how to compare to a "trigger jitter"?

perhaps it is better to sample a long sequence and do the statistics over the samples.

with best regards

Andreas
 

Offline David Hess

  • Super Contributor
  • ***
  • Posts: 9946
  • Country: us
  • DavidH
Re: LM399 based 10 V reference
« Reply #1014 on: June 24, 2019, 08:45:48 pm »
Measure the trigger jitter with a crystal oscillator.
 
The following users thanked this post: Andreas

Offline pigrew

  • Frequent Contributor
  • **
  • Posts: 515
  • Country: us
Re: LM399 based 10 V reference
« Reply #1015 on: June 24, 2019, 09:34:47 pm »
Thanks, I need to ponder this a bit.

Further, the 160ps pk-pk variation in the width of the pulse need to be taken with a grain of salt, as the Wave Ace 2032 specifices:
Trigger and Interpolator Jitter: 0.4ns pk-pk

Be careful with equivalent-time sampling, as each period has a different jitter and it'll be combining them all together. That's fine for looking at histograms, but not for interpolating periods from the acquired data. I've been disabling ET sampling. In single-shot mode, I've been interpolating between acquired point in order to determine the timing of the rise, to a resolution better than the sample rate, though this relies on a fast rise time of the input signal (since the oscilloscope's amplitude usually has significant noise). I use a P6243 1 GHz active FET probe for this.

In your case, a period of 166ps, and I think that you were looking at the single-period jitter? You have enough memory to acquire an entire period of the clock, so can sample at 2 GSa/s (500ps resolution). If you calculate the period based on the rise-to-rise of what's on the screen, the trigger jitter won't matter. On the other hand, it will matter if you enable ET sampling since it'll mess up the interpolation.

How the manufacturer likely measures trigger jitter is by acquiring a very fast edge, and comparing the t=0 mark on the screen with where the interpolated acquired data actually passes the trigger voltage. Do this enough times and you'll find the pk-pk and the RMS jitter.

In my measurement, I often was looking at signals with periods of about 1 ms. I used a delayed trigger mode (setting the delay to the signal period), and plotted a histogram of the acquired data around the trigger voltage on the screen. This measurement is very much influenced by the trigger jitter. If I knew the trigger jitter, I could have subtracted it out, but didn't.  The Tek TDS784D has a datasheet specified jitter of 7ps (unsure of if it is RMS or pk-pk). Its max sampling rate is 4 GSa/s.

I've been distracted by work recently, but also looking into building something like the TAPR TICC in order to better characterize the jitter. I breadboarded a TDC7200, but was getting about 80 ps RMS jitter  (twice the datasheet value of about 45ps RMS). I then got sidetracked by looking at FPGA-based TDC which made me run into some bugs in the Lattice MachXO2 compiler... The MachXO2 should be able to be at least as accurate as the TDC7200, probably much better, with the use of an external PLL.
 
The following users thanked this post: Andreas, eplpwr

Offline David Hess

  • Super Contributor
  • ***
  • Posts: 9946
  • Country: us
  • DavidH
Re: LM399 based 10 V reference
« Reply #1016 on: June 25, 2019, 01:57:35 am »
I agree that normal ETS mode will not work properly but that is not how ETS is used for jitter measurements.  Instead it is combined with persistence and then the horizontal mean, standard deviation, and peak-to-peak values at the second trigger point are calculated.  Combining ETS with persistence may or may not be the same thing as combining real time sampling and persistence depending on the DSO.

I think newer DSOs can make these measurements using their statistics and segmented memory capability but I would verify any method used to be sure it is producing correct results.
 

Online guenthert

  • Frequent Contributor
  • **
  • Posts: 300
  • Country: us
Re: LM399 based 10 V reference
« Reply #1017 on: June 29, 2019, 05:44:04 pm »
Well, I like to understand this better.  I'm afraid in my scope 'persistence' is just a display feature, aiding visual inspection, but of course, one could export a series of waveforms to a PC and do the calculations there.  Need to read up on the subject. 

  Clearly the stated 0.4ns jitter must be a maximum value across all time scales (they considered relevant).  If it would apply to short time scales, ETS couldn't work at 20ps resolution.  Wished the manufacturer would publish more elaborate specifications.

  In any case, if the observed jitter indeed stems from the MCU (or at least a good share of it) and a better clock were available, then one could use an external shift register, I suppose.  I dimly recall that such has already been suggested.
 

Offline David Hess

  • Super Contributor
  • ***
  • Posts: 9946
  • Country: us
  • DavidH
Re: LM399 based 10 V reference
« Reply #1018 on: June 29, 2019, 07:28:37 pm »
If ETS is supported, then the timing resolution can be calculated by just taking the reciprocal of the specified ETS sampling rate.  Whether the DSO achieves that without added noise is another matter.
 

Offline imo

  • Super Contributor
  • ***
  • Posts: 1940
  • Country: 00
Re: LM399 based 10 V reference
« Reply #1019 on: August 19, 2019, 05:31:55 pm »
If you connect the 34401A to a computer anyhow, I would use 10NPLC with 10 samples  instead of 100NPLC. The 34401A can't do more than 10NPLC and the math doesn't work correct if the meter does the averaging. And you don't loose resolution above 10V.

I also see far below 1ppm pp with my 34401As

Could you elaborate on the 34401A math problem with 100NPLC averaging, plz?  ???

PS: found a post https://www.eevblog.com/forum/metrology/real-integration-time-of-hp-34401a/msg1197640/#msg1197640
perhaps you are referencing to..
« Last Edit: August 20, 2019, 10:13:58 am by imo »
 

Offline imo

  • Super Contributor
  • ***
  • Posts: 1940
  • Country: 00
Re: LM399 based 10 V reference
« Reply #1020 on: August 28, 2019, 05:43:35 pm »
Burn-in of LM399 - do I need to wire the zener reference part as well?
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 6330
  • Country: de
Re: LM399 based 10 V reference
« Reply #1021 on: August 28, 2019, 06:14:40 pm »
It helps to also have the Zener part working during burn in. This way one can observe the initial drift phase and get an idea how fast it gets slower.  Powering the zener part is not that difficult: the current should be reasonable constant, but is not that critical. So it can be a normal OP (like LM358, 741, OP07 is already fancy) and 3 reasonable stable (e.g. 100 ppm/k, maybe 25 ppm/K) resistors.
 
The following users thanked this post: imo

Offline Andreas

  • Super Contributor
  • ***
  • Posts: 2411
  • Country: de
Re: LM399 based 10 V reference
« Reply #1022 on: August 28, 2019, 07:16:48 pm »
Burn-in of LM399 - do I need to wire the zener reference part as well?
Hello,

I would do that to monitor the ageing from time to time.

In my LM399 ageing box I use 6K8 (1% metal film) to a 14V stabilized supply for the zener.
(ok in the 2nd row when the 6K8 ran out I used 10K || 22K)

with best regards

Andreas
 
The following users thanked this post: SvanGool, imo

Offline imo

  • Super Contributor
  • ***
  • Posts: 1940
  • Country: 00
Re: LM399 based 10 V reference
« Reply #1023 on: August 28, 2019, 08:10:02 pm »
The aging of wine.. Does the aging help with the popcorn too?
 

Offline Andreas

  • Super Contributor
  • ***
  • Posts: 2411
  • Country: de
Re: LM399 based 10 V reference
« Reply #1024 on: August 28, 2019, 08:27:53 pm »
Does the aging help with the popcorn too?

Popcorn = impurities of the silicon.

Does the silicon get cleaner during ageing?
So I fear: no.

With best regards

Andreas
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf