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

borghese and 1 Guest are viewing this topic.

Online pigrew

  • Frequent Contributor
  • **
  • Posts: 535
  • Country: us
Re: LM399 based 10 V reference
« Reply #975 on: April 06, 2019, 09:49:48 pm »
What is the -3dB of your 2pole SK filter?

It's built from 10 uF polyfilm and generic 0805 2.2k resistors, yielding a fc of 7.2 Hz. I do have a slight RC filter beforehand (R4,C4 = 100,10u).

Also note that the switch's outputs have 150k series resistance (so 75k in parallel). Another line of experimentation would be reducing their values.

See the attached schematic.

EDIT: Pleases note that I screwed up the pin numbers of the LM399 and the analog switch.... Will be fixed in the next board.

EDIT: Also that I used MCP6V51 op-amps...
« Last Edit: April 07, 2019, 01:18:13 am by pigrew »
 

Online imo

  • Super Contributor
  • ***
  • Posts: 2564
  • Country: 00
Re: LM399 based 10 V reference
« Reply #976 on: April 06, 2019, 10:17:21 pm »
Is the value of R7 ok?
 

Online pigrew

  • Frequent Contributor
  • **
  • Posts: 535
  • Country: us
Re: LM399 based 10 V reference
« Reply #977 on: April 06, 2019, 10:27:23 pm »
Is the value of R7 ok?

My idea (not sure if good or bad) is to balance the current output by the U7 op-amp such that the op-amp has near-zero current output. In a traditional push-pull stage, this could create crossover distortion, but I don't think that applies to chopper op-amps?

The LM399 draws ~1 mA. VDDA is set to 15V by the regulator, feedback sets Vx to 10V. R7 would be 5V @ 1 mA: hence 5 kOhm.
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 7046
  • Country: de
Re: LM399 based 10 V reference
« Reply #978 on: April 07, 2019, 07:03:46 pm »
Using Vx to supply the current to the LM399 will only work if the output is a an approximately constant level. If the voltage is adjusted to other levels, it may be better to use a different source (e.g. 15 V supply or maybe another OP for an approximately 9 V).
 
The following users thanked this post: pigrew, serg-el

Online pigrew

  • Frequent Contributor
  • **
  • Posts: 535
  • Country: us
Re: LM399 based 10 V reference
« Reply #979 on: April 07, 2019, 11:44:42 pm »
Using Vx to supply the current to the LM399 will only work if the output is a an approximately constant level. If the voltage is adjusted to other levels, it may be better to use a different source (e.g. 15 V supply or maybe another OP for an approximately 9 V).

Good point. This design is very much optimized for +10V (plus or minus a volt or so). The circuit's output is limited by 7V (LM399 Vref), the analog switches (+16V max), and the op amp's output headroom, so perhaps 7 to 14 V). The 15V supply should be good enough to use to bias the LM399.

Speaking of which.... I'm currently biasing the heater with the 15V supply, which seems a bit wasteful of power. How sensitive is the Zener voltage to the heater voltage? Should I bias the heater with the board's input voltage?

I don't see using it outside of between 9.5 and 10.5 V.  I'm not even sure how linear it would be (due to the analog switches).



I'm starting to redo the digital board based on the C2000. Are there any features that I should add? (Is there any interest from others in building one if it works out? I'd be happy to share the layout files.)

Schematics are attached. I'm planning to order boards tomorrow, maybe a second set of analog boards (with a few bugs fixed. I'm currently contemplating adding guard tracks around the high impedance nodes, and if I want a solid copper GND plane on the back.)
« Last Edit: April 08, 2019, 02:57:06 am by pigrew »
 

Online Andreas

  • Super Contributor
  • ***
  • Posts: 2500
  • Country: de
Re: LM399 based 10 V reference
« Reply #980 on: April 08, 2019, 05:08:48 am »

Speaking of which.... I'm currently biasing the heater with the 15V supply, which seems a bit wasteful of power. How sensitive is the Zener voltage to the heater voltage? Should I bias the heater with the board's input voltage?

Hello,

Questions like this are usually already answered earlier in this thread:

e.g. here:
https://www.eevblog.com/forum/metrology/lm399-based-10-v-reference/msg441913/?topicseen#msg441913

and here:
https://www.eevblog.com/forum/metrology/lm399-based-10-v-reference/msg443181/?topicseen#msg443181

with best regards

Andreas
 

Online imo

  • Super Contributor
  • ***
  • Posts: 2564
  • Country: 00
Re: LM399 based 10 V reference
« Reply #981 on: April 08, 2019, 08:01:33 am »
FYI - there is not such thing like a zener diode wired to the "zener" pins of the LM399 package. The two terminals are wired internally as below (from DS).

@Andreas: as we have PMed re LM399 model - I've run through all your great measurements and graphs in this thread in order to assemble some data. Despite the fact you frequently do interpolate the data in your graphs (ie linear) you do not display the "equation" which could be used in modelling, a pity..  :)
« Last Edit: April 08, 2019, 08:12:35 am by imo »
 

Offline WillTurner

  • Contributor
  • Posts: 9
  • Country: au
Re: LM399 based 10 V reference
« Reply #982 on: April 16, 2019, 04:49:23 am »
May we briefly return to the bootstrap non-inverting operational amplifier circuit of fmaimon in the first post of this thread?



Consider the simplified op amp 7V -> 10V stage :

The transfer function is :

Since the transfer function has both a pole and zero which are very close together, I conclude that the circuit doesn't operate as a low pass filter as intended, and that the capacitor in the feedback leg is redundant. The pdf below (https://www.eevblog.com/forum/metrology/lm399-based-10-v-reference/?action=dlattach;attach=706806 ) further develops this analysis. I appreciate the intention of rolling off noise above, say 10Hz, however I don't believe that it is possible in the non-inverting op amp circuit without incorporating resistance (perhaps a simple RC filter) between the zener and the positive input.

I would appreciate someone more knowledgeable corroborating my thoughts.
« Last Edit: April 16, 2019, 05:03:42 am by WillTurner »
 
The following users thanked this post: Hermann W

Online imo

  • Super Contributor
  • ***
  • Posts: 2564
  • Country: 00
Re: LM399 based 10 V reference
« Reply #983 on: April 16, 2019, 06:03:45 am »
FYI
UPDATE - OPA177 and R values as in above schematics.
« Last Edit: April 16, 2019, 06:42:36 am by imo »
 

Offline WillTurner

  • Contributor
  • Posts: 9
  • Country: au
Re: LM399 based 10 V reference
« Reply #984 on: April 16, 2019, 06:21:13 am »
So your simulation uses a split (+15V/-5V) supply (op amp not grounded), with a 1k load, and you roll off only 3dB, and then your response flattens out (0dB)? Not the 20dB per decade that you would want from a LPF? Doesn't that support the case I made?
 

Online imo

  • Super Contributor
  • ***
  • Posts: 2564
  • Country: 00
Re: LM399 based 10 V reference
« Reply #985 on: April 16, 2019, 06:32:08 am »
I updated above with the OPA177 schematics you have mentioned in your post..
« Last Edit: April 16, 2019, 06:34:29 am by imo »
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 7046
  • Country: de
Re: LM399 based 10 V reference
« Reply #986 on: April 16, 2019, 06:58:03 am »
The filtering action only applies to the added voltage from the amplifiers gain. In the PWM version this is mainly filtering the PWM part.  Filtering of the reference noise itself is only done by the extra filter stage at the output and possibly by some filtering between the LM399 and the 1 st. OP. AS the input to the OP is high impedance, one could add some RC filtering (e.g. 1 K +  100 nF) here with little extra effort.  However this would be more something for a non PWM version.
 

Online imo

  • Super Contributor
  • ***
  • Posts: 2564
  • Country: 00
Re: LM399 based 10 V reference
« Reply #987 on: April 16, 2019, 07:03:27 am »
For example
 

Offline WillTurner

  • Contributor
  • Posts: 9
  • Country: au
Re: LM399 based 10 V reference
« Reply #988 on: April 16, 2019, 07:10:31 am »
@imo : please look carefully at your first and second simulations. I believe that they both show you are achieving -3dB gain. I suggest you try a single pole RC filter, and look at the difference  :) . Your third circuit is a completely different kettle of fish.

@kleinstein : Sorry, I haven't been following the recent PWM design. To be clear, I have gone back to the first post of the thread, and am considering the most basic LM399 circuit with a 7V -> 10V gain stage. Probably not that good without very good low TC matched resistors. Nevertheless, my conjecture is that the feedback capacitor in that circuit doesn't do much.

@everyone : I realize that what I have posted may look like heresy. Please think carefully before jumping in  :-[.

Edits:
  1. Corrected 3dB to -3dB.
  2. Clarified "precise resistors" to "good low TC matched resistors"
« Last Edit: April 16, 2019, 07:15:58 am by WillTurner »
 

Online imo

  • Super Contributor
  • ***
  • Posts: 2564
  • Country: 00
Re: LM399 based 10 V reference
« Reply #989 on: April 16, 2019, 11:58:54 am »
I've been messing with an "LM399" LTspice model for a while, trying to simulate the behavior of a real LM399.
So far I've added TCs, dependency on Iz, and white and pink noises.
The params are "derived" from various sources in this thread.
Not useful for metrology purposes, imho, but rather a tool for optimizing the circuits around the 399.
The white and especially the pink noise p-p values are my rough estimates, such I get nice pictures :)
Long term drifts and heater power effects not included so far.
Would be great to have some more real data on the pink noise from field.
« Last Edit: April 16, 2019, 12:39:49 pm by imo »
 

Online Andreas

  • Super Contributor
  • ***
  • Posts: 2500
  • Country: de
Re: LM399 based 10 V reference
« Reply #990 on: April 16, 2019, 07:40:50 pm »
Would be great to have some more real data on the pink noise from field.

Hello,

there are relative large differences in 1/f noise for the LM399 from sample to sample.
Good devices have around 2-4 uVpp @7V
others i have measured > 6uVpp @ 7V

So if you need low noise you have to sort out the bad ones.

with best regards

Andreas
 

Offline Magnificent Bastard

  • Regular Contributor
  • *
  • Posts: 124
  • Country: aq
Re: LM399 based 10 V reference
« Reply #991 on: April 16, 2019, 08:59:42 pm »
Would be great to have some more real data on the pink noise from field.

Hello,

there are relative large differences in 1/f noise for the LM399 from sample to sample.
Good devices have around 2-4 uVpp @7V
others i have measured > 6uVpp @ 7V

So if you need low noise you have to sort out the bad ones.

with best regards

Andreas

Hi Andreas,

Have you noticed anything special about the devices with low 1/f noise  (Such as lower TempCo, or lower time drift, etc.) ?

-MB
 

Offline branadic

  • Super Contributor
  • ***
  • Posts: 1539
  • Country: de
Re: LM399 based 10 V reference
« Reply #992 on: April 16, 2019, 09:13:16 pm »
Quote
Hi Andreas,

Have you noticed anything special about the devices with low 1/f noise  (Such as lower TempCo, or lower time drift, etc.) ?

-MB

I'm not Andreas, but can share a table measuring on 16x LMx99. Maybe you can see something obvious?

-branadic-
Metrology Meeting 2020 on 06.06.2020
 
The following users thanked this post: Andreas, splin

Offline IconicPCB

  • Super Contributor
  • ***
  • Posts: 1335
  • Country: au
Re: LM399 based 10 V reference
« Reply #993 on: April 16, 2019, 10:54:07 pm »
At first blush it seems devices which show a change in voltage between heated and unheated greater than a few milivolts  should be carefully scrutinised.
 

Online imo

  • Super Contributor
  • ***
  • Posts: 2564
  • Country: 00
Re: LM399 based 10 V reference
« Reply #994 on: April 17, 2019, 08:07:52 am »
For example the white and the 1/f model.
Scale on right in 1uV/div.
100Hz 1/f corner.
The amplitude of the FFT spectra seems to be in "V_rms".
« Last Edit: April 17, 2019, 05:31:15 pm by imo »
 

Online imo

  • Super Contributor
  • ***
  • Posts: 2564
  • Country: 00
Re: LM399 based 10 V reference
« Reply #995 on: April 17, 2019, 09:54:13 am »
And the model v2 source, for people who want to play with it :)
 
The following users thanked this post: Andreas

Online pigrew

  • Frequent Contributor
  • **
  • Posts: 535
  • Country: us
Re: LM399 based 10 V reference
« Reply #996 on: April 28, 2019, 04:03:18 pm »
In the last week or two, I've tried out the C2000 HRPWM, and while it is slightly better that previous attempts, its strategy for generating the high resolution isn't consistent enough that I want to use it for this project.

The C2000 adds a variable delay element (using a string of inverters) on each PWM output. Thankfully, the C2000 has an extra register to configure delay allowing ~23bit resolution, unlike the STM32F334 and MSP430 which reuse the compare bits, limiting the PWM counter to 16-bit. The datasheet specifies the delay very loosely, but my board has a step size (MEP) of about 150 ps. A MEP count of up to 255 can be added to a falling or a rising edge. Incrementing my dual PWM board by one MEP on one channel increased the scaled output voltage by 0.7 uV. (0.07-ppm resolution). Because the MEP delay changes with temperature, one much continually run a calibration routine (using a separate delay loop) to keep track of the scaling factor. With a 60 MHz clock, I have about 140 MEPs per timer tick. The TI provided calibration routine outputs a bunch of noise (on the order of 5 MEP p-p). At this point I should have given up, but instead I learned C2000 assembly and rewrote the routine to add averaging.

The averaging code helps, but there is still a non-linearity at the high-end of the MEP count. I'm realizing that inverter-based delays have relatively bad jitter performance. Another wisdom I've learned in to run the PLL as fast as possible in order to reduce their output jitter. The C2000 with a 60 MHz sysclk using a 20 MHz XTAL, outputting 1 kHz, creates a jitter of about sigma=330ps. (I've realized that I can make fairly accurate jitter measurements with a TDS784D oscilloscope in histogram mode using a delayed timebase. Great!)

So, what next?

I want about 25 bits of resolution, a 1 kHz PWM frequency, and a delta-sigma loop running at 10 Hz or faster. This implies I want a >167 MHz timer clock (10 Hz * 2^(25-1)). The STM32G01 can nearly achieve that, but I'm predicting its jitter performance isn't so great.

I'm concluding that a FPGA may be the proper solution. The hard-IP PWM/counters I've seen do not have the speed or resolution I want. Restricting my search to non-BGA packages also wipes out much of the competition. The popular ICE40 specifies bad jitter and isn't that fast (I've not tried it). The Lattice MachXO2 seems suitable. Using a "DDR" output, I expect it to be able to achieve an up to 750 MHz equivalent timer clock (twice the internal frequency due to DDR) with the timer logic running at (f/4 = ~90 MHz) (which it can according to static timing analysis). With a slower model in the same line (LCMXO2-7000HE-6 dev board) and an external 80 MHz oscillator, a 500 MHz equivalent timer used to generate a 1 kHz PWM had a jitter of sigma=28 ps, and I suspect this is approaching the noise floor of the oscilloscope (which samples at 4 GSa/s).

I had hopes to use a QFN32 FPGA package, but it doesn't seem to support high-speed DDR outputs, so it looks like I have to use a 100-pin TQFP. I only need about ten pins, what do I do with the other 80?
 
The following users thanked this post: Andreas, imo

Online imo

  • Super Contributor
  • ***
  • Posts: 2564
  • Country: 00
Re: LM399 based 10 V reference
« Reply #997 on: April 29, 2019, 07:33:35 am »
Quote
I only need about ten pins, what do I do with the other 80?
With the LM399 and the PWM calibrator on your board, you may add 2 opamps (A creating -10V, B integrator), 1 comparator and 3 ADG switches (-10V, 10V, integr cap discharge) and create a 6.5+ digits ADC with all the FPGA's LUTs and IOs available :)
A complete multislope 6.5d ADC (sending ADC results via serial) fits in ~400LUTs, afaik.
« Last Edit: April 29, 2019, 07:50:44 am by imo »
 

Offline guenthert

  • Frequent Contributor
  • **
  • Posts: 342
  • Country: us
Re: LM399 based 10 V reference
« Reply #998 on: April 30, 2019, 04:04:00 pm »
[..]
I want about 25 bits of resolution, a 1 kHz PWM frequency, and a delta-sigma loop running at 10 Hz or faster. This implies I want a >167 MHz timer clock (10 Hz * 2^(25-1)). The STM32G01 can nearly achieve that, but I'm predicting its jitter performance isn't so great.

I'm concluding that a FPGA may be the proper solution. The hard-IP PWM/counters I've seen do not have the speed or resolution I want. Restricting my search to non-BGA packages also wipes out much of the competition. The popular ICE40 specifies bad jitter and isn't that fast (I've not tried it). The Lattice MachXO2 seems suitable. Using a "DDR" output, I expect it to be able to achieve an up to 750 MHz equivalent timer clock (twice the internal frequency due to DDR) with the timer logic running at (f/4 = ~90 MHz) (which it can according to static timing analysis). With a slower model in the same line (LCMXO2-7000HE-6 dev board) and an external 80 MHz oscillator, a 500 MHz equivalent timer used to generate a 1 kHz PWM had a jitter of sigma=28 ps, and I suspect this is approaching the noise floor of the oscilloscope (which samples at 4 GSa/s).
[..]
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.  ;)
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 7046
  • Country: de
Re: LM399 based 10 V reference
« Reply #999 on: April 30, 2019, 04:20:57 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.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf