Keywords: digital pot, digipot, temperature compensation, epot, DS1847, DS1848, laser driver, VCSEL driver, digital potentiometers
Related Parts |

APPLICATION NOTE 181

Abstract: Abstract: Both the DS1847 and DS1848 feature two 256-position digital resistors and lookup tables (LUT) to automatically adjust the resistance over a temperature range of -40°C to 95°C. The DS1848 also features 128 bytes of user EEPROM for nonvolatile (NV) storage of other data. Up to eight chips can be accessed through a single 2-wire interface, which is used to communicate with the chips. Both parts are currently in production and available for purchase.This application note explains the Temperature Coefficient (TC) of the DS1847, and in particular, why the 85OPPM/°C uncompensated TC does not apply to systems using the temperature lookup function. It also examines the accuracy of the LUT programming equation. This document is not intended to be a tutorial on how to use the DS1847 or DS1848, so please review the device datasheets before proceeding.

Both the DS1847 and DS1848 feature two 256-position digital resistors and lookup tables (LUT) to automatically adjust the resistance over a temperature range of -40°C to +95°C. The DS1848 also features 128 bytes of user EEPROM for nonvolatile (NV) storage of other data. Up to eight chips can be accessed through a single 2-wire interface, which is used to communicate with the chips. Both parts are currently in production and available for purchase.

This application note explains the Temperature Coefficient (TC) of the DS1847 and, in particular, why the 850PPM/°C uncompensated TC does not apply to systems using the temperature lookup function. It also examines the accuracy of the LUT programming equation. This document is not intended to be a tutorial on how to use the DS1847 or DS1848, so please review the device datasheets before proceeding.

- ΔR is the change in resistance as a function of temperature
- ΔT is the change in temperature expected or designed for
- TC is the temperature coefficient expressed with the units PPM/°C (see the TC vs. Resistance chart on the last page of the datasheet to obtain this value)
- R
_{UNCOMP}is the measured resistance of the part at a single (uncompensated) position before the temperature change occurs.

However, this is not the best description of TC for the DS1847. The TC is actually a function of the resistance itself. The chart on the last page of the datasheet plots the typical TC vs. resistance function. Notice that at low positions (low resistance), the TC is higher than at higher positions.

This TC function may initially cause concern, but here is a typical example to show the numbers associated with the TC vs. Resistance chart and Equation 1. The two conditions that will be looked at are a minimum resistance value and a maximum resistance value. In the case of a minimum resistance, about 500Ω for a DS1847-10, the temperature coefficient listed on the chart is 1450PPM. The resistance change caused by a 10°C temperature change can be calculated to be 7.3Ω. For the same temperature change, a 10kΩ resistor (680PPM/°C) will see a resistance change of 68Ω. The reason the higher resistance value has a greater change with temperature in spite of the lower TC is that the uncompensated resistance increased 20 fold, while the TC was reduced by approximately a factor of 2. Also realize that percentage change of the 10kΩ resistor ([68Ω*100%]/[10kΩ*10°C]) was lower 0.068%/°C versus the 0.145%/°C for the 500Ω resistor. This means that when the DS1847 is used to make small resistors it will have a lower temperature coefficient in terms of Ω/°C, and larger resistors have a lower temperature coefficient in terms of %/°C.

In the case of the 10kΩ resistor, the +68Ω resistance increase which occurred over a 10°C temperature change corresponds to a rate of +6.8Ω/°C. Thus, to stay at the 10kΩ target value the resistor's position should be decremented one position (~37Ω) every +5.6°C. Ideally, this would keep the resulting resistance within 1LSB of the target value. The 500Ω resistor works similarly, but it only requires compensation every 52°C because it has a lower temperature coefficient in terms of Ω/°C.

If the parts were ideal in the sense that every part has a minimum resistance of 500Ω and a maximum resistance of 10kΩ, the position could be calculated and compensated accurately using the method described above. Unfortunately, the process variation during the production of DS1847s and DS1848s adds another variable to complicate this even further. The maximum resistance of the DS1847/48 can change by as much as 20% from the nominal value of 10kΩ, and the TC is subject to some change over process as well. This makes it difficult to calculate the resistor position a system will require, because it is possible the process variation could cause the resistance corresponding to the ideal position to be off the targeted value by up to 20%.

To solve the problems associated with the process variation, six parameters are stored in each resistor's LUT to characterize them according to the equation provided in the

A spreadsheet is available on the Dallas Semiconductor ftp site that calculates the resistance of the part as a function of the

Follow these instructions in order to use the spreadsheet:

- Read the unsigned binary numbers (u, v_) from the part for each resistor and convert them to decimal.
- Place the decimal numbers in the corresponding blue boxes in the spreadsheet.
- Place the correct alpha numbers for the type of part being used in the blue alpha box for each resistor.
- Type the desire resistance values for resistor 0 and 1 in the corresponding blue boxes.
- Press the calculate button.

Below is a chart showing an ideal temperature performance of the DS1847 when it is programmed to maintain a fixed resistor value over temperature. This chart is a theoretical performance, and it neglects that the DS1847 can only change its position every two degrees. This chart is provided to show how a DS1847 should compensate itself over temperature.

Resistor 1's LUT was programmed with values corresponding to a nominal resistance value of 490Ω over temperature. Resistance data was then gathered over temperature, and the theoretical values from the calculations were plotted against the measured (actual) values

The results of the experiment indicate the equation very accurately calculates the value of the resistance for low-position settings. The accuracy in this particular case was always within ~2Ω of the expected value. Also note that even with compensation the resistance changes over temperature. It can only be compensated to within ½LSB best case, and thus the designer must allow for the some quantization error when designing the system.

Resistor 0's LUT was loaded with values corresponding to approximately the maximum resistance that can be maintained over temperature. The maximum resistance for this part was approximately 9820Ω. The experiment was repeated, and the results were again plotted. This time an additional function was added that shows how the uncompensated room temperature resistance (a theoretical value, no lab data was acquired) would fair over temperature as well.

The results of this experiment show the full-scale resistance accuracy of the equation is approximately 2LSB from -40°C to room temperature (+25°C), and it is approximately 1LSB from room temperature to +100°C. A line fitted to the measured data shows that the resistor compensated itself fairly well over the entire range, with an effective TC of -85PPM/°C. When compared with the estimated +725PPM/°C of the uncompensated resistor, the benefit of the self-compensating DS1847 is obvious.