REKLAMA

AN247_DS18x20_EEPROM_Corruption_Issue.zip

DS18B20: Błędy pomiaru temperatury przy zasilaniu pasożytniczym, brak high pullup

Problem dotyczy możliwości utraty zawartości EEPROM dla układów DS18B20, DS18S20, DS1822 (Rev. B7): 1. Występuje bardzo rzadko i w specyficznych warunkach. 2. Nie można dokładnie określić partii towaru narażonej na błąd. 3. Utrata zawartości EEPROM-u powoduje stratę kalibracji i wartości rejestrów TH i TL 4. Utrata zawartości może nastąpić tylko w trakcie narastania zasilania. 5. Można programowo ograniczyć błąd utraty kalibracji do maks. +/-2 stopni. 6. Można całkowicie wyeliminować potencjalny błąd poprzez zapamiętanie kalibracji w pamięci zewn. Z informacji podanych przez firmę Maxim wynika, że problem dotyczy niewielkiej statystycznie ilości układów. W trosce o dobro naszych klientów przekazujemy jednak szczegółową informację jak zmodyfikować oprogramowanie, aby całkowicie lub częsciowo wyeliminować potencjalne zagrożenie. W przypadku konieczności uzyskania dodatkowych wyja nień technicznych prosimy o kontakt z naszą firmą. Dodatkowe objaśnienia - jak rozpoznać wersję układu, tzw. Rev. B7 (na przykładzie układu DS18S20): ---------- | DALLAS | -> producent | DS1820 | -> typ układu (DS18S20 kodowany jest skrótowo jako DS1820) | 0347B7 | -> partia towaru: rrttvv (rr - rok, tt - tydzień, vv -wersja (Revision)) | 526AA | -> kod fabryki


Pobierz plik - link do postu
  • AN247_DS18x20_EEPROM_Corruption_Issue.zip
    • AN247 DS18x20 EEPROM Corruption Issue.pdf


AN247_DS18x20_EEPROM_Corruption_Issue.zip > AN247 DS18x20 EEPROM Corruption Issue.pdf

AN247
DS18x20 EEPROM Corruption Issue
www.maxim-ic.com
Introduction
A shift in device parameters of DS1820B B7 die (used in DS18B20, DS1820S, and DS1822 products) has caused several
recent lots to experience EEPROM data corruption failures during power up. Although occurrence is rare, this failure can
happen to any device during any power up. Dallas Semiconductor recommends running the software patch detailed in this
document after each power up to restore the internal trim values of the DS1820B B7.
Failure Description
EEPROM can corrupt each time the DS1820B B7 goes through a power up sequence in either normal or parasite power
operation modes. This failure occurs randomly but is dependent upon fabrication lot variation and the signal noise and rise
time of the VDD/DQ pin. Overall the failure rate during each power up should be considered very small. Repeated power
cycling to a device will increase its chance of failure.
Corruption can occur in any EEPROM location inside the device. This could cause the loss of user data stored in the TH and
TL registers as well as corruption of internal trim registers causing inaccuracy of temperature readings. There is no set value
that these registers will change to. A failure can be expected to effectively randomize the TH and TL values and can induce
temperature measurement errors of up to ±60 Degrees Celsius. Once internal temperature measurement trim values are lost
they cannot be recovered however the device can be blanket trimmed to regain most of its original accuracy.
Recommended Software Patches
Dallas Semiconductor recommends using the two software patches listed here. Which one to use will depend on the
application. The Blanket Trim patch is for use in systems where the internal trim values have already been lost or in systems
where the internal trim values cannot be maintained outside of the device. The Recover Trim procedure reads out the trim
values of the DS1820B B7 on the initial power up, verifies they are still good, and then writes them back into the device on
each subsequent power up. The application must have sufficient external non-volatile store for this procedure to work properly.
Both procedures must be run directly after the device is powered up. TH, TL, and the configuration register are also updated
during the procedure as they could have been corrupted as well. Afterwards the application can proceed as normal.

Blanket Trim
After each device power-up, issue the following command sequence to store an average trim value and then update TH, TL,
and the configuration register to their desired values. The procedure will place an average trim value into the DS1820B B7.
Temperature reading accuracy will be no worse than ±2°C afterwards.
// Write Desired Scratchpad Values
Reset / Presence Detect
0xCC Skip ROM (or 0x55 Match ROM if required)
0x4E
Write desired TH byte
Write desired TL byte
Write desired Configuration byte
// Write Blanket Trim Values
Reset / Presence Detect
0xCC Skip ROM (or 0x55 Match ROM if required)
0x68
Read 1 byte
// Dummy read, ignore data
Reset / Presence Detect
0xCC Skip ROM (or 0x55 Match ROM if required)
0x95
0x9D

1 of 3

041404

Reset / Presence Detect
0xCC Skip ROM (or 0x55 Match ROM if required)
0x63
0xBB
Reset / Presence Detect
0xCC Skip ROM (or 0x55 Match ROM if required)
0x94
//Copy new scratchpad values to EEPROM
Reset / Presence Detect
0xCC Skip ROM (or 0x55 Match ROM if required)
0x48
// Power on Reset the Device through Software
Reset / Presence Detect
0xCC Skip ROM (or 0x55 Match ROM if required)
0x64

Recover Trim
At the very first device power up, read the internal trim values and store them in a non-volatile memory location outside the
DS1820B B7. On each additional power up rewrite the trim values back into the device along with the desired TH, TL, and
configuration values.
Initial Power Up
// Read factory programmed trim values
Reset / Presence Detect
0xCC Skip ROM (or 0x55 Match ROM if required)
0x93
Read 1 byte and store as TRIM1
Reset / Presence Detect
0xCC Skip ROM (or 0x55 Match ROM if required)
0x68
Read 1 byte and store as TRIM2

There is a small possibility the trim values were corrupted on the very first power up. If TRIM1 is not equal to XXXXX101b
or XXXXX011b and TRIM2 is not equal to 10111011b assume the trim values are already corrupted and use the Blanket Trim
procedure above otherwise use the procedure below.
Each Additional Power Up
// Write Desired Scratchpad Values
Reset / Presence Detect
0xCC Skip ROM (or 0x55 Match ROM if required)
0x4E
Write desired TH byte
Write desired TL byte
Write desired Configuration byte
// Write factory trim values back into the device
Reset / Presence Detect
0xCC Skip ROM (or 0x55 Match ROM if required)
0x68
Read 1 byte
// Dummy read, ignore data
Reset / Presence Detect
0xCC Skip ROM (or 0x55 Match ROM if required)
0x95
Write TRIM1
Reset / Presence Detect
0xCC Skip ROM (or 0x55 Match ROM if required)
0x63
Write TRIM2

2 of 3

Reset / Presence Detect
0xCC Skip ROM (or 0x55 Match ROM if required)
0x94
//Copy New Scratchpad Values to EEPROM
Reset / Presence Detect
0xCC Skip ROM (or 0x55 Match ROM if required)
0x48
// Power on Reset the Device through Software
Reset / Presence Detect
0xCC Skip ROM (or 0x55 Match ROM if required)
0x64

Summary
The DS1820B B7 die can corrupt its EEPROM during either parasite or normal power up. The failure rate is very low,
however failures occur randomly at each power up and cannot be effectively screened. For this reason Dallas Semiconductor
recommends using the software patch listed above to prevent loss of the internal trim values which maintain temperature
reading accuracy. If the device’s trim values have already been lost a blanket trim value can be inserted to maintain an
accuracy of at least ±2°C. This affects all recent lots of DS18B20, DS18S20, and DS1822 products.

3 of 3