abstract: the purpose of this application note is to show how the ds1847/48 digital resistor calibration constants can be regenerated. this application note assumes that the reader is familiar with the programming the lookup table section of the ds1847 or ds1848 data sheets. this application note will describe the measurements required, as well as show the calculations needed to regenerate the calibration constants. last of all, this application note will show an example spreadsheet calculator (a link to it can be found at the end of this application note) that can be used to perform the calculations once several measurements are input.
introductionthe ds1847/48 resistor calibration constants are calculated and programmed into eeprom at the factory during two test steps that are performed at different temperatures (25°c and 95°c). these calibration constants are unique and vary from device to device as well as lot to lot. unfortunately, at the time the ds1847/48 was designed, the use of calibration constants was not considered and therefore additional write protected or read-only memory for the constants was not included. so when the decision was made to include them, the only location for them to be stored (at least for the ds1847) was in the lookup tables (luts). the obvious problem here is that when the user fills the luts, the factory programmed calibration constants are overwritten. fortunately for the ds1848, a copy of the calibration constants (although not write protected) is also stored in the user eeprom (table 0). if using the ds1848, it may be worthwhile to check if the calibration constants are still intact in the user eeprom before reading further.
the purpose of this application note is to show how the ds1847/48 calibration constants can be regenerated. this application note assumes that the reader is familiar with the programming the lookup table section of the ds1847 or ds1848 data sheets. this application note will describe the measurements required, as well as show the calculations needed to regenerate the calibration constants. last of all, this application note will show an example spreadsheet calculator (a link to it can be found at the end of this application note) that can be used to perform the calculations once several measurements are input.
conventionthe conventions used to represent the calibration constants in this document are as follows:
upper case calibration constants (u, v, w, x, y, and z) are the integer values read from the part and may be displayed in decimal or hexadecimal. these need to be multiplied by their corresponding lsb weights to convert them into their real values, which can then be used in calculations.
lower case calibration constants are real numbers. before real numbers can be written into the ds1847/48, they must be converted into integer values by dividing the real number by its lsb weight.
measurementsin order to regenerate the calibration constants, the minimum (position 00h) and maximum (position ffh) resistance of each resistor need to be measured at room temp (25°c) as well as at hot (85°c to 95°c) using the temperature read from the ds1847/48.
while it is possible for these measurements to be made in-circuit, there are several concerns to address. first of all, a 2-wire master is required to put the ds1847/48 into manual mode to first set the resistors to position 00h, then to position ffh (or manual mode can be avoided by programming the luts to position 00h followed by ffh). it is important that if in-circuit programming, to make sure that setting the resistors to these extremes do not damage any portion of the circuit. the 2-wire master is also required to read what temperature the ds1847/48 says it is when the resistor measurements are made. last, and probably the most difficult when making the measurements in-circuit, the minimum and maximum resistance of both resistors need to be measured without the application circuit loading the measurements, giving inaccurate readings. once these concerns are addressed and the measurements are made, nomenclature for the measured values follow below.
measure (for each resistor):
rminc1, rmaxc1, and read the temperature from the part, c1 (preferably at 25°c), and
rminc2, rmaxc2, and read the temperature from the part, c2 (preferably 85-95°c). where
rminc1 is the position 0 (min) resistance of the resistor at c1 degrees c,
rmaxc1 is the position ffh (max) resistance of the resistor at c1 degrees c,
rminc2 is the position 0 (min) resistance of the resistor at c2 degrees c,
rmaxc2 is the position ffh (max) resistance of the resistor at c2 degrees c,
c1 is the temperature read from the part (~25°c) in degrees c,
c2 is the temperature read from the part (~85-95°c) in degrees c.
calculationsseveral constants (not to be confused with calibration constants) which are used in the calculations are shown in table 1. they are a function of the dash version of the device as well as the resistor being measured. constants w and z are actually the real values of two of the six calibration constants, leaving the remaining 4 (per resistor) to be calculated.
table 1. values of constants to be used in the calculations
-050 version
-010 version
constants
r0 (50kω)
r1 (10kω)
r0 (10kω)
r1 (10kω)
α
3.78964
19.74866
8.4117
8.4117
w
1.265e-6
7.875e-6
7.345e-6
7.814e-6
z
5.808e-7
7.5e-7
506.7e-9
523.5e-9
using the constants in table 1 along with the values from the measurements, equations 1 through 8 yield the remainder of the real values of the calibration constants y, x, v, and u. these equations must be worked in the order provided since the values calculated initially are used in the subsequent equations. the real values can then be converted into their integer equivalents by dividing by their lsb weights, yielding y, x, v, u, w, and z.
calculate:
equation 1
equation 2
equation 3
equation 4
equation 5
equation 6
equation 7
equation 8
convert real values into hexadecimal integers:
y = y / 10-7 = (dec)(hex) for resistor r0
y = y / 10-7 = (dec)(hex) for resistor r1
x = x / 2-8 = (dec)(hex) for resistor r0
x = x / 2-8 = (dec)(hex) for resistor r1
v = v / 10-6 = (dec)(hex) for resistor r0
v = v / 10-6 = (dec)(hex) for resistor r1
u = u / 10-8 = (dec)(hex) for resistor r0
u = u / 10-8 = (dec)(hex) for resistor r1
w = w / 10-9 = 1.265e-6 / 10-9 = 1265(dec) = 04f1(hex) for resistor r0
w = w / 10-9 = 7.875e-6 / 10-9 = 7875(dec) = 1ec3(hex) for resistor r1
z = z / 10-10 = 5.808e-7 / 10-10 = 5808(dec) = 16b0(hex) for resistor r0
z = z / 10-10 = 7.5e-7 / 10-10 = 7500(dec) = 1d4c(hex) for resistor r1
write to ds1847/48:
once u, v, w, x, y, and z are calculated for each resistor (in hex), the values can be written into the corresponding locations of the corresponding luts in the location that the original factory calibration constants were originally (stated in the data sheet). resistor 0 calibration constants are stored in table 1 and resistor 1 constants are stored in table 2. for the ds1848, back-ups of both sets of calibration constants are stored in table 0. otherwise, one may wish to keep the calibration constants in real form so they can be used in the customer's calculations to program the entire luts.
spreadsheet calculatorthe accompanying spreadsheet calculator greatly simplifies calculation of the calibration constants (see figure 1). simply fill in the table with the measurements, and the calibration constants are instantly calculated, outputting both the real and integer values. just be sure that the correct constants (α , w, and z) are used depending on the dash version. the hex values can then be written into the device so that it looks like it just came from the factory. or, the real values can be used in additional calculations to implement the transfer function and reprogram the luts.
figure 1. example ds1847/48 calibration constant calculator.
conclusionthis application note describes the measurements and calculations required to regenerate the ds1847/48 calibration constants for the rare occasion that the ds1847/48 needs to be put back into its factory programmed state. once the measurements are made, the accompanying example spreadsheet can be used to calculate the calibration constants in both real and integer formats so that the ds1847/48 can be reprogrammed to resemble a virgin part, or the real values can be kept in the spreadsheet and incorporated into the customer's calculations to generate their luts.
questions/comments/suggestions concerning this application note can be sent t
mixedsignal.apps@dalsemi.com
link to the spreadsheet used in this example:
http://files.dalsemi.com/system_extension/an233/ds1847 calibration constant calculator.xls
FTTR助力提升智慧家庭网络体验
华为Nova青春版、红米Note4X、魅蓝Note5谁更值得入手,作为千元机,谁性价比最高!
食品二氧化硫检测仪的应用及功能
基于MLP网络的VR一体机全身Avatar动捕方案
Redmi Note 10系列将于3月初在印度推出
再生的DS1847/DS1848电阻校准常数-Regener
Martin公司与美国海军合作增强V-BAT无人机的自主着陆能力
功率因数改善和轻负载时的高效率兼顾
Volocopter推出大型多轴无人飞行器,可承重440磅重物
新华三虚拟化平台CAS领跑SPECvirt性能测试榜单
5G的商用将会如何影响工业机器人产业
如何让光学动捕成为大众首选
聊一聊门函数/脉冲函数的时频特性
如何区分机器人、协作机器人和移动机器人?
飞针测试和测试架有什么区别?各自的优势是什么
飞兆半导体发布新款在线仿真工具
理解这些数据类型有助于对数据集进行恰当的探索性数据分析
行业 | 蓝汛不惧CDN技术更迭,借5G之力开创蓝汛新格局
实现了模拟通道同步采样的数据采集系统
牌子那么多选择什么牌子的光纤线好呢