My firmware work continues on my LM399 implementation. Notable changes include:
- "Dual"/"1.6 bit"/"three-level" PWM that I mentioned a while ago
- Corrected readback of TMP411 temperature sensor
- Optimized ring buffer
- Rewritten I2C library, on the path to support external EEPROM
Jitter continues to be an issue. The period of the 100us cycle has a P-P jitter of about 450ns. This seems to be caused by the Timer_D oscillator, itself. Fortunately, it seems to be random and does eventually average itself out.
I've also started thinking about what criteria to use for design optimization. My current plan is to focus on two measurements: voltage across temperature and the short-term standard deviation of DMM measurements. The tempco will be measured by a 6.5 digit meter, from about 15 C to 40 C, with the reference placed in an oven (while the DMM is outside the oven). The short-term DMM noise measurement will analyze 50 or 100 NPLC DMM samples (10V range, auto-zero on). I will try to minimize the standard deviation of these.
For the "noise" measurement, I'm getting standard deviations of about 5 uV on a 34401A with 50 samples with NPLC=100 (60Hz). Is this good or bad? I'm not sure. I'm guessing this is close to the noise floor of the instrument, so I may need to start using a second 10V reference, and measuring (10Vref vs MSP399PWM) differentially in order to get the DMM into a lower range.
Are there other measurements I should make?
Another idea I had was if it's a good idea to use the LM399 without its heater. The die temperature could be measured by looking at the diode forward-bias voltage between the heater and the reference circuit, and programming a correction table into the PWM generator. The advantage is a greatly reduced power consumption. Disadvantage is probably quite awful temperature coefficient. One bad thing would be that the two reference circuits voltages would no longer be equal. Why not just use a 2DW232? Because the Zener reference amplifier in the LM399 provides a lower Zener resistance, making the pull-up resistor less critical.