DS1923-F5 [DALLAS]

Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory; 温度/湿度记录器iButton ,具有8KB数据记录存储器
DS1923-F5
型号: DS1923-F5
厂家: DALLAS SEMICONDUCTOR    DALLAS SEMICONDUCTOR
描述:

Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory
温度/湿度记录器iButton ,具有8KB数据记录存储器

存储
文件: 总52页 (文件大小:493K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
DS1923  
Hygrochron Temperature/Humidity Logger  
iButton with 8kB Data Log Memory  
www.maxim-ic.com  
SPECIAL FEATURES  
iButton DESCRIPTION  
Cꢀ Digital Hygrometer Measures Humidity with 8-Bit  
(0.6%RH) or 12-Bit (0.04%RH) Resolution  
Cꢀ Operating Range: -20 to +85°C; 0 to 100%RH  
(see Safe Operating Range)  
The DS1923 temperature/humidity logger iButton is a  
rugged, self-sufficient system that measures  
temperature and/or humidity and records the result in  
a protected memory section. The recording is done at  
a user-defined rate. A total of 8192 8-bit readings or  
4096 16-bit readings taken at equidistant intervals  
ranging from 1s to 273hrs can be stored. In addition to  
this, there are 512 bytes of SRAM for storing  
application-specific information and 64 bytes for  
calibration data. A mission to collect data can be  
programmed to begin immediately, or after a user-  
defined delay or after a temperature alarm. Access to  
the memory and control functions can be password-  
protected. The DS1923 is configured and  
communicates with a host-computing device through  
the serial 1-Wire protocol, which requires only a single  
data lead and a ground return. Every DS1923 is  
factory-lasered with a guaranteed unique 64-bit  
registration number that allows for absolute  
traceability. The durable stainless-steel package is  
highly resistant to environmental hazards such as dirt,  
moisture, and shock. Accessories permit the DS1923  
to be mounted on almost any object, including  
containers, pallets and bags.  
Cꢀ Automatically Wakes Up, Measures Temperature  
and/or Humidity and Stores Values in 8kB of  
Datalog Memory in 8- or 16-Bit Format  
Cꢀ Digital Thermometer Measures Temperature with  
8-Bit (0.5°C) or 11-Bit (0.0625°C) Resolution  
Cꢀ Temperature Accuracy Better than ±0.5°C from  
-10°C to +65°C with Software Correction  
Cꢀ Built-in Humidity Sensor for Simultaneous  
Temperature and Humidity Logging  
Cꢀ Capacitive Polymer Humidity-Sensing Element  
Cꢀ Hydrophobic Filter Protects Sensor Against Dust,  
Dirt, Water, and Contaminants  
Cꢀ Sampling Rate from 1s up to 273hrs  
Cꢀ Programmable Recording Start Delay After  
Elapsed Time or Upon a Temperature Alarm Trip  
Point  
Cꢀ Programmable High and Low Trip Points for  
Temperature and Humidity Alarms  
Cꢀ Quick Access to Alarmed Devices Through  
1-Wire Conditional Search Function  
Cꢀ 512 Bytes of General-Purpose Memory Plus 64  
Bytes of Calibration Memory  
F5 MICROCAN  
Cꢀ Two-Level Password Protection of All Memory  
and Configuration Registers  
5.89  
0.51  
Cꢀ Communicates to Host with a Single Digital Signal  
at Up to 15.4kbps at Standard Speed or Up to  
125kbps in Overdrive Mode Using 1-Wire Protocol  
Cꢀ Individually Calibrated in a NIST-Traceable  
Chamber  
16.25  
17.35  
Cꢀ Calibration Coefficients for Temperature and  
Humidity Factory Programmed into Nonvolatile  
(NV) Memory  
APPLICATIONS  
Cꢀ Temperature and Humidity Logging in Food  
Preparation and Processing  
IO  
GND  
Front Side Brand  
All dimensions are  
Cꢀ Transportation of Temperature- and Humidity-  
Sensitive Goods, Industrial Production  
Cꢀ Warehouse Monitoring  
shown in millimeters.  
Cꢀ Environmental Studies/Monitoring  
A1  
41  
000000FBC52B  
ORDERING INFORMATION  
1-Wire  
HygrochronTM  
PART  
TEMP RANGE  
PACKAGE  
DS1923-F5  
-20°C to +85°C F5 iButton  
Back Side Brand  
1-Wire and iButton are registered trademarks of Dallas Semiconductor.  
Hygrochron is a trademark of Dallas Semiconductor.  
1 of 52  
REV: 110504  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data log Memory  
DS1923 ABSOLUTE MAXIMUM RATINGS  
IO Voltage to GND  
-0.3V, +6V  
IO Sink current  
20mA  
Operating Temperature and Humidity Range  
-20°C to +85°C, 0%RH to 100%RH  
(See Safe Operating Range Chart)  
-40°C to +85°C, 0%RH to 100%RH  
(See Safe Operating Range Chart)  
Storage Temperature and Humidity Range  
This is a stress rating only and functional operation of the device at these or any other conditions above those  
indicated in the operation sections of this specification is not implied. Exposure to absolute maximum rating  
conditions for extended periods of time may affect reliability.  
DS1923 ELECTRICAL CHARACTERISTICS  
(VPUP = 3.0V to 5.25V, TA = -20°C to +85°C)  
PARAMETER  
IO Pin General Data  
1-Wire Pullup  
SYMBOL  
CONDITIONS  
MIN  
TYP  
MAX UNITS  
RPUP  
(Notes 1, 2)  
(Note 3)  
2.2  
k  
Resistance  
Input Capacitance  
Input Load Current  
High-to-Low Switching  
Threshold  
CIO  
IL  
100  
6
800  
10  
pF  
µA  
IO pin at VPUP  
(Notes 4. 5)  
(Notes 1, 6)  
(Notes 4, 7)  
VTL  
VIL  
0.4  
3.2  
0.3  
3.4  
V
V
V
Input Low Voltage  
Low-to-High Switching  
Threshold  
VTH  
0.7  
Switching Hysteresis  
Output Low Voltage  
VHY  
VOL  
(Note 8)  
0.09  
N/A  
0.4  
V
V
At 4mA (Note 9)  
5
2
Standard speed, RPUP = 2.2kꢀ  
Overdrive speed, RPUP = 2.2kꢀ  
Overdrive speed, directly prior to  
reset pulse; RPUP = 2.2kꢀ  
Recovery Time  
(Note 1)  
tREC  
µs  
5
Rising-Edge Hold-off  
Time  
tREH  
(Note 10)  
0.6  
2.0  
µs  
µs  
Standard speed  
65  
8
Timeslot Duration  
(Note 1)  
tSLOT  
Overdrive speed, VPUP > 4.5V  
Overdrive speed (Note 11)  
9.5  
IO Pin, 1-Wire Reset, Presence Detect Cycle  
Standard speed, VPUP > 4.5V  
480  
690  
48  
720  
720  
80  
80  
60  
63.5  
7
Reset Low Time  
(Note 1)  
Standard speed (Note 11)  
Overdrive speed, VPUP > 4.5V  
Overdrive speed (Note 11)  
Standard speed, VPUP > 4.5V  
Standard speed (Note 11)  
Overdrive speed (Note 11)  
Standard speed, VPUP > 4.5V  
Standard speed  
tRSTL  
µs  
70  
15  
Presence-Detect High  
Time  
tPDH  
µs  
µs  
15  
2
1.5  
1.5  
0.15  
60  
5
Presence-Detect Fall  
Time  
tFPD  
8
(Note 12)  
Overdrive speed  
1
Standard speed, VPUP > 4.5V  
Standard speed (Note 11)  
Overdrive speed, VPUP > 4.5V  
(Note 11)  
240  
287  
60  
Presence-Detect Low  
Time  
tPDL  
µs  
µs  
7
24  
Overdrive speed (Note 11)  
Standard speed, VPUP > 4.5V  
Standard speed  
7
65  
71.5  
8
28  
75  
75  
9
Presence-Detect  
Sample Time  
(Note 1)  
tMSP  
Overdrive speed  
2 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
PARAMETER  
SYMBOL  
CONDITIONS  
MIN  
TYP  
MAX UNITS  
IO Pin, 1-Wire Write  
Standard speed  
60  
6
120  
Write-0 Low Time  
(Note 1)  
Overdrive speed, VPUP > 4.5V  
(Note 11)  
tW0L  
µs  
µs  
12  
Overdrive speed (Note 11)  
Standard speed  
Overdrive speed  
7.5  
5
1
12  
15 - ꢁ  
1.95 - ꢁ  
Write-1 Low Time  
(Notes 1, 13)  
tW1L  
IO Pin, 1-Wire Read  
Read Low Time  
(Notes 1, 14)  
5
Standard speed  
Overdrive speed  
Standard speed  
Overdrive speed  
15 - ꢂ  
1.95 - ꢂ  
15  
tRL  
µs  
µs  
1
Read Sample Time  
tRL + ꢂ  
tRL + ꢂ  
tMSR  
(Notes 1, 14)  
1.95  
Real-Time Clock  
min./  
month  
PPM  
Accuracy  
+25°C  
-3  
+3  
Frequency Deviation  
Temperature Converter  
Conversion Time  
-300  
+60  
-20°C to +85°C  
F
8-bit mode (Note 15)  
16-bit mode (11 bits)  
30  
75  
tCONV  
ms  
s
240  
600  
Thermal Response  
Time Constant  
iButton package (Note 16)  
(Notes 15, 17, 18, 19)  
(Notes 15, 17, 18, 19)  
130  
RESP  
Conversion Error  
Without Software  
Correction  
See Temperature  
Accuracy Graphs  
°C  
°C  
ꢃꢅ  
ꢃꢅ  
Conversion Error With  
Software Correction  
See Temperature  
Accuracy Graphs  
Humidity Converter (Note 30)  
Humidity Response  
Slow moving air (Note 20)  
(Note 21)  
30  
s
RH  
Time Constant  
8
12  
12  
bits  
RH Resolution  
0.64  
0
0.04  
0.04  
100  
%RH  
%RH  
RH Range  
(Note 22)  
RH Accuracy and  
Interchangeability  
RH Nonlinearity  
RH Hysteresis  
With software correction  
(Notes 18, 19, 23, 24, 25)  
With software correction (Note 18)  
(Notes 26, 27)  
±5  
%RH  
<1  
0.5  
%RH  
%RH  
RH Repeatability  
Long-Term Stability  
(Note 28)  
±0.5  
<1.0  
At 50%RH (Note 29)  
%RH/y  
Note 1:  
Note 2:  
System requirement.  
Maximum allowable pullup resistance is a function of the number of 1-Wire devices in the system and 1-Wire recovery times. The  
specified value here applies to systems with only one device and with the minimum 1-Wire recovery times. For more heavily  
loaded systems, an active pullup such as that found in the DS2480B may be required.  
Note 3:  
Capacitance on the data pin could be 800pF when VPUP is first applied. If a 2.2kresistor is used to pull up the data line 2.5µs  
after VPUP has been applied, the parasite capacitance does not affect normal communications.  
VTL, VTH are a function of the internal supply voltage.  
Note 4:  
Note 5:  
Note 6:  
Note 7:  
Note 8:  
Note 9:  
Note 10:  
Note 11:  
Note 12:  
Voltage below which, during a falling edge on IO, a logic '0' is detected.  
The voltage on IO needs to be less or equal to VILMAX whenever the master drives the line low.  
Voltage above which, during a rising edge on IO, a logic '1' is detected.  
After VTH is crossed during a rising edge on IO, the voltage on IO has to drop by VHY to be detected as logic '0'.  
The I-V characteristic is linear for voltages less than 1V.  
The earliest recognition of a negative edge is possible at tREH after VTH has been previously reached.  
Highlighted numbers are NOT in compliance with the published iButton standards. See comparison table below.  
Interval during the negative edge on IO at the beginning of a presence detect pulse between the time at which the voltage is 90%  
of VPUP and the time at which the voltage is 10% of VPUP  
.
Note 13:  
Note 14:  
represents the time required for the pullup circuitry to pull the voltage on IO up from VIL to VTH  
.
represents the time required for the pullup circuitry to pull the voltage on IO up from VIL to the input high threshold of the bus  
master.  
Note 15:  
Note 16:  
To conserve battery power, use 8-bit temperature logging whenever possible.  
This number was derived from a test conducted by Cemagref in Antony, France, in July of 2000.  
http://www.cemagref.fr/English/index.htm Test Report No. E42.  
3 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Note 17:  
Note 18:  
Note 19:  
For software corrected accuracy, assume correction using calibration coefficients with calibration equations for error  
compensation.  
Software correction for humidity and temperature is handled automatically using the 1-Wire Viewer Software package available  
at: http://www.ibutton.com.  
WARNING: Not for use as the sole method of measuring or tracking temperature and/or humidity in products and articles that  
could affect the health or safety of persons, plants, animals, or other living organisms, including but not limited to foods,  
beverages, pharmaceuticals, medications, blood and blood products, organs, flammable, and combustible products. User shall  
assure that redundant (or other primary) methods of testing and determining the handling methods, quality, and fitness of the  
articles and products should be implemented. Temperature and/or humidity tracking with this product, where the health or safety  
of the aforementioned persons or things could be adversely affected, is only recommended when supplemental or redundant  
information sources are used. Data logger products are 100% tested and calibrated at time of manufacture by Dallas  
Semiconductor/Maxim to ensure that they meet all data sheet parameters, including temperature accuracy. User shall be  
responsible for proper use and storage of this product. As with any sensor-based product, user shall also be responsible for  
occasionally rechecking the temperature accuracy of the product to ensure it is still operating properly.  
Response time is determined by measuring the 1/e point as the device transitions from 40 to 90%RH or 90 to 40%RH, whichever  
is slower. Test was performed at 5L/min airflow.  
Note 20:  
Note 21:  
Note 22:  
Note 23:  
All DS1923 humidity measurements are 12-bit readings. Missioning determines 8-bit or 16-bit data logging. Battery lifetime is the  
same no matter what RH resolution is logged.  
Reliability studies have shown that the device survives a minimum of 1000 cycles of condensation and drying, but this product is  
not guaranteed for extended use in condensing environments.  
Software corrected accuracy is accomplished using the method detailed in the Software Correction Algorithm for Temperature  
section of this data sheet.  
Note 24:  
Note 25:  
Note 26:  
Every DS1923 Device is measured and calibrated in a controlled, NIST-traceable RH environment.  
Higher accuracy versions may be available. Contact the factory for details.  
If this device is exposed to a high humidity environment (>70%RH), and then exposed to a lower RH environment, the device will  
read high for a period of time. The device will typically read within +0.5%RH at 20%RH, 30 minutes after being exposed to  
continuous 80%RH for 30 minutes.  
Note 27:  
All capacitive RH sensors can change their reading depending upon how long they have spent at high (>70%RH) or low RH  
(<20%RH). This effect is called saturation drift and can be compensated through software, as described in the Software  
Saturation Drift Compensation section of this data sheet.  
Note 28:  
Note 29:  
Individual RH readings always include a noise component (repeatability). To minimize measurement error, average as many  
samples as is reasonable.  
Like all relative humidity sensors, when exposed to contaminants and/or conditions toward the limits of the safe operating range,  
accuracy degradation can result (see Safe Operating Range chart). For maximum long-term stability, the sensor should not be  
exposed or subjected to organic solvents, corrosive agents (strong acids, SO2, H2SO4, CI2 ,HCL, H2S, etc.) and strong bases  
(compounds with PH greater than 7). Dust settling on the filter surface does not affect the sensor performance except to possibly  
decrease the speed of response.  
For more information on the RH sensor’s tolerance to chemicals visit:  
http://content.honeywell.com/sensing/prodinfo/humiditymoisture/technical/c15_144.pdf  
Note 30:  
All humidity specifications are determined at +25°C except where specifically indicated.  
Standard Values  
DS1923 Values  
Standard Speed  
Parameter  
Standard Speed  
Overdrive Speed  
Overdrive Speed  
Name  
tSLOT (incl. tREC  
tRSTL  
Min  
Max  
(undef.)  
(undef.)  
60µs  
Min  
Max  
(undef.)  
80µs  
Min  
65µs1)  
690µs  
15µs  
Max  
(undef.)  
720µs  
63.5µs  
287µs  
120µs  
Min  
Max  
(undef.)  
80µs  
)
61µs  
7µs  
9.5µs  
480µs  
15µs  
60µs  
60µs  
48µs  
2µs  
8µs  
6µs  
70µs  
2µs  
tPDH  
6µs  
7µs  
tPDL  
240µs  
24µs  
60µs  
7µs  
28µs  
tW0L  
120µs  
16µs  
60µs  
7.5µs  
12µs  
1) Intentional change, longer recovery time requirement due to modified 1-Wire front end.  
PHYSICAL SPECIFICATION  
Weight  
Safety  
Size  
See mechanical drawing  
Ca. 5.0 grams  
Meets UL#913 (4th Edit.); Intrinsically Safe Apparatus,  
approval under Entity Concept for use in Class I,  
Division 1, Group A, B, C, and D Locations (application  
pending)  
4 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Safe Operating Range  
100  
80  
60  
40  
20  
0
Safe Operating Zone  
-40  
-20  
0
20  
40  
60  
80  
Temperature (°C)  
DS1923 Temperature Accuracy  
Uncorrected Max Error  
SW Corrected Max Error  
Uncorrected Min Error  
SW Corrected Min Error  
2.0  
1.5  
1.0  
0.5  
0.0  
-0.5  
-1.0  
-20  
-10  
0
10  
20  
30  
40  
50  
60  
70  
80  
Temperature (°C)  
NOTE: The graphs are based on 11-bit data.  
5 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Minimum Lifetime vs. Temperature, Slow Sampling Temperature Only  
Every Minute  
Every 60 Min.  
Every 3 Min.  
No Samples  
Every 10 Min.  
Osc. Off  
10  
9
8
7
6
5
4
3
2
1
0
-20  
-10  
0
10  
20  
30  
40  
50  
60  
70  
80  
DS1923: Temperature (°C)  
Every Minute  
Every 30 Min.  
No Samples  
Every 3 Min.  
Every 60 Min.  
Osc. Off  
Every 10 Min.  
Every 300 Min.  
10  
9
8
7
6
5
4
3
2
1
0
-20  
-10  
0
10  
20  
30  
40  
50  
60  
70  
80  
DS1923: Temperature (°C)  
6 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Minimum Lifetime vs. Temperature, Fast Sampling Temperature Only  
Every Second  
Every 30 Sec.  
Every 3 Sec.  
Every 60 Sec.  
Every 10 Sec.  
350  
300  
250  
200  
150  
100  
50  
0
-20  
-10  
0
10  
20  
30  
40  
50  
60  
70  
80  
DS1923: Temperature (°C)  
Every Second  
Every 30 Sec.  
Every 3 Sec.  
Every 60 Sec.  
Every 10 Sec.  
100  
80  
60  
40  
20  
0
-20  
-10  
0
10  
20  
30  
40  
50  
60  
70  
80  
DS1923: Temperature (°C)  
7 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Minimum Lifetime vs. Temperature, Slow Sampling, Temperature with Humidity  
Every Minute  
Every 60 Min.  
Every 3 Min.  
No Samples  
Every 10 Min.  
Osc. Off  
10  
9
8
7
6
5
4
3
2
1
0
-20  
-10  
0
10  
20  
30  
40  
50  
60  
70  
80  
DS1923: Temperature (°C)  
Minimum Lifetime vs. Temperature, Fast Sampling, Temperature with Humidity  
Every Second  
Every 30 Sec.  
Every 3 Sec.  
Every 60 Sec.  
Every 10 Sec.  
350  
300  
250  
200  
150  
100  
50  
0
-20  
-10  
0
10  
20  
30  
40  
50  
60  
70  
80  
DS1923: Temperature (°C)  
8 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Minimum Product Lifetime vs. Sample Rate (Temperature Only)  
0°C  
40°C  
60°C  
75°C  
85°C  
10  
1
0.1  
0.01  
0.01  
0.1  
1
10  
100  
DS1923: Minutes between Samples  
NOTE: With humidity logging activated, the lifetime is reduced by less than 11% for sample rate of 3 minutes and  
slower and by a maximum of 20% for sample rate of 1 minute and faster.  
0°C  
40°C  
60°C  
75°C  
85°C  
10  
1
0.1  
0.01  
0.001  
0.01  
0.1  
1
10  
100  
DS1923: Minutes between Samples  
NOTE: With humidity logging activated, the lifetime is reduced by a maximum of 4%. The incremental energy  
consumed by humidity logging is independent of the humidity logging resolution.  
9 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
COMMON iButton FEATURES  
Cꢀ Digital Identification and Information by Momentary Contact  
Cꢀ Unique Factory-Lasered 64-Bit Registration Number Assures Error-Free Device Selection and Absolute  
Traceability Because No Two Parts are Alike  
Cꢀ Built-in Multidrop Controller for 1-Wire Net  
Cꢀ Chip-Based Data Carrier Compactly Stores Information  
Cꢀ Data can be Accessed While Affixed to Object  
Cꢀ Button Shape is Self-Aligning with Cup-Shaped Probes  
Cꢀ Durable Stainless-Steel Case Engraved with Registration Number Withstands Harsh Environments  
Cꢀ Easily Affixed with Self-Stick Adhesive Backing, Latched by its Flange, or Locked with a Ring Pressed onto its  
Rim  
Cꢀ Presence Detector Acknowledges when Reader First Applies Voltage  
Cꢀ Meets UL#913 (4th Edit.); Intrinsically Safe Apparatus: Approved Under Entity Concept for use in Class I,  
Division 1, Group A, B, C, and D Locations (Application Pending)  
EXAMPLES OF ACCESSORIES  
DS9096P  
DS9101  
Self-Stick Adhesive Pad  
Multipurpose Clip  
Mounting Lock Ring  
Snap-In Fob  
DS9093RA  
DS9093A  
DS9092  
iButton Probe  
APPLICATION  
The DS1923 is an ideal device to monitor for extended periods of time the temperature and humidity of any object  
it is attached to or shipped with, such as fresh produce, medical drugs and supplies and for use in refrigerators and  
freezers, as well as for logging climatic data during the transport of sensitive objects and critical processes such as  
curing. A 1.27mm diameter hole in the lid of the device allows for air to reach the humidity sensor. The rest of the  
electronics inside the DS1923 is sealed so that it is not exposed to ambient humidity. Software for setup and data  
retrieval through the 1-Wire interface is available for free download from the iButton website (www.ibutton.com).  
This software also includes drivers for the serial and USB port of a PC, and routines to access the general-purpose  
memory for storing application- or equipment-specific data files.  
OVERVIEW  
The block diagram in Figure 1 shows the relationships between the major control and memory sections of the  
DS1923. The device has six main data components: 1) 64-bit lasered ROM, 2) 256-bit scratchpad, 3) 512-byte  
general-purpose SRAM, 4) two 256-bit register pages of timekeeping, control, status, and counter registers and  
passwords, 5) 64 bytes of calibration memory, and 6) 8192 bytes of data-logging memory. Except for the ROM and  
the scratchpad, all other memory is arranged in a single linear address space. The data logging memory, counter  
registers and several other registers are read-only for the user. Both register pages are write-protected while the  
device is programmed for a mission. The password registers, one for a read password and another one for a  
read/write password can only be written to but never read.  
The hierarchical structure of the 1-Wire protocol is shown in Figure 2. The bus master must first provide one of the  
eight ROM function commands: 1) Read ROM, 2) Match ROM, 3) Search ROM, 4) Conditional Search ROM, 5)  
Skip ROM, 6) Overdrive-Skip ROM, 7) Overdrive-Match ROM, or 8) Resume. Upon completion of an Overdrive  
ROM command byte executed at standard speed, the device enters Overdrive mode, where all subsequent  
communication occurs at a higher speed. The protocol required for these ROM function commands is described in  
Figure 11. After a ROM function command is successfully executed, the memory and control functions become  
accessible and the master can provide any one of the eight available commands. The protocol for these memory  
and control function commands is described in Figure 9. All data is read and written least significant bit first.  
10 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Figure 1. DS1923 BLOCK DIAGRAM  
ROM  
64-Bit  
Lasered  
ROM  
Parasite  
Powered  
Circuitry  
1-Wire  
Port  
Function  
Control  
IO  
Memory  
256-Bit  
Scratchpad  
Function  
Control  
3V Lithium  
General-Purpose  
SRAM  
(512 Bytes)  
Internal  
DS1923  
32.768 kHz  
Oscillator  
Register Pages  
(64 Bytes)  
Timekeeping &  
Control Reg. &  
Counters  
Calibration Memory  
(64 Bytes)  
Thermal  
Sense  
ADC1  
Datalog  
Memory  
8K Bytes  
Humidity  
Sensor and  
ADC2  
Control  
Logic  
PARASITE POWER  
The block diagram (Figure 1) shows the parasite-powered circuitry. This circuitry “steals” power whenever the IO  
input is high. IO provides sufficient power as long as the specified timing and voltage requirements are met. The  
advantages of parasite power are two-fold: 1) by parasiting off this input, battery power is conserved, and 2) if the  
battery is exhausted for any reason, the ROM may still be read.  
64-BIT LASERED ROM  
Each DS1923 contains a unique ROM code that is 64 bits long. The first 8 bits are a 1-Wire family code. The next  
48 bits are a unique serial number. The last 8 bits are a CRC of the first 56 bits. See Figure 4 for details. The 1-  
Wire CRC is generated using a polynomial generator consisting of a shift register and XOR gates as shown in  
Figure 3. The polynomial is X8 + X5 + X4 + 1. Additional information about the Dallas 1-Wire Cyclic Redundancy  
Check is available in Dallas Application Note 27.  
The shift register bits are initialized to 0. Then starting with the least significant bit of the family code, one bit at a  
time is shifted in. After the 8th bit of the family code has been entered, then the serial number followed by the  
temperature range code is entered. After the range code has been entered, the shift register contains the CRC  
value. Shifting in the 8 bits of CRC returns the shift register to all 0s.  
11 of 52  
Figure 2. HIERARCDHSI1C92A3:LHSygTroRchUroCn TTeUmRpeEratuFrOe/HRum1id-Wity LiroeggPerRiBOuttTonOwCithO8LkB Data Log Memory  
1-Wire net  
Other  
BUS  
Devices  
Master  
DS1923  
Command  
Level:  
Available  
Data Field  
Affected:  
Commands:  
Read ROM  
64-bit ROM, RC-Flag  
64-bit ROM, RC-Flag  
64-bit ROM, RC-Flag  
64-bit ROM, RC-Flag, Alarm Flags,  
Search Conditions  
Match ROM  
Search ROM  
1-Wire ROM Function  
Conditional Search ROM  
Commands  
Skip ROM  
RC-Flag  
Resume  
RC-Flag  
Overdrive Skip  
Overdrive Match  
RC-Flag, OD-Flag  
64-bit ROM, RC-Flag, OD-Flag  
Write Scratchpad  
256-bit Scratchpad, Flags  
256-bit Scratchpad  
Read Scratchpad  
Copy Scratchpad w/PW  
512 byte Data Memory, Registers,  
Flags, Passwords  
Read Memory w/PW &  
w/CRC  
Memory, Registers, Passwords  
DS1923-specific  
Memory Function  
Commands  
Clear Memory w/PW  
Mission Time Stamp, Mission Samples  
Counter, Start Delay, Alarm  
Flags, Passwords  
Forced Conversion  
Start Mission w/PW  
Memory addresses 020C to 020Fh  
Flags, Timestamp, Memory addresses  
020C to 020Fh (when logging)  
Flags  
Stop Mission w/PW  
Figure 3. 1-Wire CRC GENERATOR  
Polynomial = X8 + X5 + X4 + 1  
1st  
2nd  
3rd  
4th  
5th  
6th  
7th  
8th  
STAGE STAGE  
X1  
STAGE STAGE  
X3  
STAGE  
STAGE STAGE STAGE  
X0  
X2  
X4  
X5  
X6 X7  
INPUT DATA  
X8  
12 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Figure 4. 64-BIT LASERED ROM  
MSB  
LSB  
8-Bit  
CRC Code  
8-Bit Family  
48-Bit Serial Number  
Code (41h)  
LSB MSB LSB  
MSB LSB  
MSB  
MEMORY  
The memory map of the DS1923 is shown in Figure 5. The 512 bytes general-purpose SRAM are located in pages  
0 through 15. The various registers to set up and control the device fill page 16 and 17, called Register Pages 1  
and 2 (details in Figure 6). Pages 18 and 19 provide storage space for calibration data. The "data log" logging  
memory starts at address 1000h (page 128) and extends over 256 pages. The memory pages 20 to 127 are  
reserved for future extensions. The scratchpad is an additional page that acts as a buffer when writing to the  
SRAM memory or the register page. The data memory can be written at any time. The calibration memory holds  
data from the device calibration that can be used to further improve the accuracy of temperature and humidity  
readings. See the Software Correction Algorithm sections for details. The last byte of the calibration memory page  
stores an 8-bit CRC of the preceding 31 bytes. Page 19 is an exact copy of the data in page 18. While the user can  
overwrite the calibration memory, this is not recommended. See the Security by Password section for ways to  
protect the memory. The access type for the register pages is register-specific and depends on whether the device  
is programmed for a mission. Figure 6 shows the details. The data log memory is read-only for the user. It is written  
solely under supervision of the on-chip control logic. Due to the special behavior of the write access logic (write  
scratchpad, copy scratchpad) it is recommended to only write full pages at a time. This also applies to the register  
pages and the calibration memory. See the Address Register and Transfer Status section for details.  
Figure 5. DS1923 MEMORY MAP  
32-Byte Intermediate Storage Scratchpad  
ADDRESS  
0000H to  
32-Byte General-Purpose SRAM (R/W)  
General-Purpose SRAM (R/W)  
Page 0  
001FH  
Pages 1  
to 15  
0020H to  
01FFH  
0200H to  
021FH  
0220H to  
023FH  
0240H to  
025FH  
0260H to  
027FH  
0280H to  
0FFFH  
1000H to  
2FFFH  
32-Byte Register Page 1  
32-Byte Register Page 2  
Page 16  
Page 17  
Calibration Memory Page 1 (R/W)  
Calibration Memory Page 2 (R/W)  
(Reserved For Future Extensions)  
Page 18  
Page 19  
Pages 20 to 127  
Pages 128  
to 383  
Data Log Memory (Read-Only)  
13 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Figure 6. DS1923 REGISTER PAGES MAP  
ADDR  
0200h  
0201h  
b7  
0
b6  
b5  
b4  
b3  
b2  
b1  
b0  
Function  
Access*  
10 Seconds  
10 Minutes  
Single Seconds  
Single Minutes  
0
Real-  
Time  
20h.  
0202h  
0
12/24  
10h.  
Single Hours  
R/W; R  
AM/PM  
Clock  
0203h  
0204h  
0205h  
0206h  
0207h  
0208h  
0209h  
020Ah  
020Bh  
020Ch  
020Dh  
020Eh  
020Fh  
0210h  
0211h  
0212h  
0213h  
0214h  
0215h  
0216h  
0217h  
0218h  
0219h  
021Ah  
0
0
0
10 Date  
Single Date  
Single Months  
Single Years  
Registers  
CENT  
0
10m.  
10 Years  
Low Byte  
Sample  
Rate  
R/W; R  
R/W; R  
0
0
High Byte  
Low Threshold  
High Threshold  
Low Threshold  
High Threshold  
Temp.  
Alarms  
Humidity  
Alarms  
Latest  
R/W; R  
R; R  
Low Byte  
0
0
0
0
0
High Byte  
Temp.  
Low Byte  
High Byte  
Latest  
R; R  
Humidity  
T.Alm.En.  
0
1
0
1
0
1
1
1
0
0
0
1
0
1
ETHA  
EHHA  
EHSS  
EHL  
ETLA  
R/W; R  
R/W; R  
R/W; R  
R/W; R  
R; R  
1
1
0
EHLA H.Alm.En.  
0
0
0
0
EOSC  
ETL  
TLF  
0
RTC En.  
Mis. Cntrl.  
Alm. Stat.  
Gen. Stat.  
Start  
1
SUTA  
RO  
1
HLFS  
HHF  
MEMCLR  
TLFS  
HLF  
0
BOR  
1
1
0
THF  
WFTA  
MIP  
R; R  
Low Byte  
Center Byte  
High Byte  
Delay  
R/W; R  
Counter  
0
0
10 Seconds  
10 Minutes  
Single Seconds  
Single Minutes  
Mission  
Time  
20h.  
021Bh  
021Ch  
0
0
12/24  
10h.  
Single Hours  
R; R  
AM/PM  
0
0
10 Date  
Single Date  
Single Months  
Single Years  
Stamp  
021Dh CENT  
021Eh  
021Fh  
0220h  
0221h  
0222h  
0223h  
0224h  
0225h  
0226h  
0227h  
0228h  
Z
0
10m.  
10 Years  
(No Function; Reads 00h)  
Low Byte  
(N/A)  
Mission  
Sample  
Counter  
Device  
Sample  
Counter  
Flavor  
R; R  
R; R  
Center Byte  
High Byte  
Low Byte  
Center Byte  
High Byte  
Configuration Code  
EPW  
R; R  
R; R  
PW. Cntrl.  
Read  
R/W; R  
First Byte  
Access  
Password  
Full  
Z
W; Z  
W; Z  
R; R  
022Fh  
0230h  
Z
Eighth Byte  
First Byte  
Z
Access  
Password  
0237h  
0238h  
Z
Eighth Byte  
(No Function; All of These Bytes Read 00h)  
(N/A)  
023Fh  
Note: The first entry in column ACCESS TYPE is valid between missions. The second entry shows the applicable  
access type while a mission is in progress.  
14 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
TIMEKEEPING AND CALENDAR  
The real-time clock/alarm and calendar information is accessed by reading/writing the appropriate bytes in the  
register page, address 200h to 205h. For readings to be valid, all RTC registers must be read sequentially starting  
at address 0200h. Some of the RTC bits are set to 0. These bits always read 0 regardless of how they are written.  
The number representation of the real-time clock registers is BCD format (Binary-Coded Decimal).  
Real-Time Clock and RTC Alarm Register Bitmap  
ADDR  
0200h  
0201h  
0202h  
b7  
0
b6  
b5  
b4  
b3  
b2  
b1  
b0  
10 Seconds  
10 Minutes  
Single Seconds  
Single Minutes  
0
20h.  
0
12/24  
10h.  
Single Hours  
AM/PM  
0203h  
0204h  
0205h  
0
0
0
10 Date  
Single Date  
Single Months  
Single Years  
CENT  
0
10m.  
10 Years  
The real-time clock of the DS1923 can run in either 12-hour or 24-hour mode. Bit 6 of the Hours Register (address  
202h) is defined as the 12- or 24-hour mode select bit. When high, the 12-hour mode is selected. In the 12-hour  
mode, bit 5 is the AM/PM bit with logic 1 being PM. In the 24-hour mode, bit 5 is the 20-hour bit (20 to 23 hours).  
The CENT bit, bit 7 of the Months Register, can be written by the user. This bit changes its state when the years  
counter transitions from 99 to 00.  
The calendar logic is designed to automatically compensate for leap years. For every year value that is either 00 or  
a multiple of 4 the device will add a 29th of February. This will work correctly up to (but not including) the year  
2100.  
SAMPLE RATE  
The content of the Sample Rate Register (addresses 0206h, 0207h) specifies the time elapse (in seconds if EHSS  
= 1, or minutes if EHSS = 0) between two temperature/humidity logging events. The sample rate can be any value  
from 1 to 16383, coded as an unsigned 14-bit binary number. If EHSS = 1, the shortest time between logging  
events is 1 second and the longest (sample rate = 3FFFh) is 4.55 hours. If EHSS = 0, the shortest is 1 minute and  
the longest time is 273.05 hours (sample rate = 3FFFh). The EHSS bit is located in the RTC Control Register at  
address 0212h. It is important that the user sets the EHSS bit accordingly while setting the Sample Rate register. A  
sample rate of 0000h is not valid and must be avoided under all circumstances. This causes the device to  
enter into an unrecoverable state.  
Sample Rate Register Bitmap  
ADDR  
0206h  
0207h  
b7  
b6  
b5  
b4  
Sample Rate Low  
Sample Rate High  
b3  
b2  
b1  
b0  
0
0
During a mission, there is only read access to these registers. Bits cells marked "0" always read 0 and cannot be  
written to 1.  
TEMPERATURE CONVERSION  
The DS1923 measures temperatures in the range of -20°C to +85°C. Temperature values are represented as a 8-  
or 16-bit unsigned binary number with a resolution of 0.5°C in the 8-bit mode and 0.0625°C in the 16-bit mode.  
The higher temperature byte TRH is always valid. In the 16-bit mode only the three highest bits of the lower byte  
TRL are valid. The five lower bits all read zero. TRL is undefined if the device is in 8-bit temperature mode. An out-  
of-range temperature reading is indicated as 00h or 0000h when too cold and FFh or FFE0h when too hot.  
15 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Latest Temperature Conversion Result Register Bitmap  
ADDR  
020Ch  
020Dh  
b7  
b6  
T1  
T9  
b5  
T0  
T8  
b4  
b3  
b2  
b1  
0
b0  
0
T2  
0
0
0
TRL  
TRH  
T10  
T7  
T6  
T5  
T4  
T3  
With TRH and TRL representing the decimal equivalent of a temperature reading the temperature value is  
calculated as  
(°C) = TRH/2 - 41 + TRL/512  
(°C) = TRH/2 - 41  
(16-bit mode, TLFS = 1, see address 0213h)  
(8-bit mode, TLFS = 0, see address 0213h)  
This equation is valid for converting temperature readings stored in the data log memory as well as for data read  
from the Latest Temperature Conversion Result Register.  
To specify the temperature alarm thresholds, the equation above needs to be resolved to  
TALM = 2 * (°C) + 82  
Since the temperature alarm threshold is only one byte, the resolution or temperature increment is limited to 0.5°C.  
The TALM value needs to be converted into hexadecimal format before it can be written to one of the temperature  
alarm threshold registers (Low Alarm address 0208h; High Alarm address 0209h). Independent of the  
conversion mode (8- or 16-bit) only the most significant byte of a temperature conversion is used to determine  
whether an alarm is generated.  
Temperature Conversion Examples  
TRH  
TRL  
Mode  
(°C)  
hex  
decimal hex  
decimal  
8-bit  
54h  
84  
23  
84  
23  
1.0  
Z
Z
Z
0
8-bit  
17h  
54h  
17h  
-29.5  
1.000  
Z
16-bit  
16-bit  
00h  
60h  
96  
-29.3125  
Temperature Alarm Threshold Examples  
TALM  
(°C)  
hex  
85h  
3Eh  
decimal  
133  
25.5  
-10.0  
62  
HUMIDITY CONVERSION  
In addition to temperature, the DS1923 can log humidity data in 8-bit or 16-bit format. Humidity values are  
represented as 8- or 16-bit unsigned binary numbers with a resolution of 0.64%RH in the 8-bit mode and 0.04  
%RH in the 16-bit mode.  
The DS1923 reads data from its humidity sensor whenever a Forced Conversion command is executed (see  
Memory/Control Function Commands) or during a mission, if the device is set up to log humidity data. Regardless  
of its setup, the DS1923 always reads 16 bits from the humidity sensor. The result of the latest humidity reading  
is found at address 020Eh (low byte) and 020Fh (high byte). The most significant bit read from the humidity  
sensor will always be found as H11 at address 020Fh. Due to the 12-bit digital output of the humidity sensor, the  
lower 4 bits in 16-bit format are undefined.  
16 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Latest Humidity Conversion Result Register Bitmap  
ADDR  
020Eh  
020Fh  
b7  
b6  
b5  
H1  
H9  
b4  
H0  
H8  
b3  
b2  
b1  
X
b0  
X
H3  
H2  
X
X
HRL  
HRH  
H11  
H10  
H7  
H6  
H5  
H4  
During a mission, if humidity logging is enabled, the HRH byte (H11 to H4) is always recorded. The HRL byte is  
only recorded if the DS1923 is set up for 16-bit humidity logging. The logging mode (8-bit or 16-bit) is selected  
through the HLFS bit at the Mission Control Register, address 0213h.  
With HRH and HRL representing the decimal equivalent of a humidity reading the actual humidity is calculated  
according to the algorithms shown in the table below.  
16-Bit Mode, HLFS = 1  
8-Bit Mode, HLFS = 0  
(N/A)  
IVAL = (HRH * 256 + HRL)/16  
Round IVAL down to the nearest integer; this eli-  
minates the undefined 4 bits of HRL.  
ADVAL = IVAL*5.02/4096  
ADVAL = HRH*5.02/256  
HUMIDITY(%RH) = (ADVAL - 0.958)/0.0307  
The result is a raw humidity reading that needs to be corrected to achieve the specified accuracy. See the Software  
Correction Algorithm for Humidity section for further details.  
To specify the humidity alarm thresholds, the equation needs to be resolved to:  
ADVAL = HUMIDITY(%RH) * 0.0307 + 0.958  
HALM = ADVAL * 256/5.02  
Round HALM to the nearest integer.  
The HALM value needs to be converted into hexadecimal before it can be written to one of the humidity alarm  
threshold registers (Low Alarm address 020Ah; High Alarm address 020B). Independent of the conversion  
mode (8-or 16-bit) only the most significant byte of a humidity conversion is used to determine whether an alarm  
will be generated. The alarm thresholds are applied to the raw humidity readings. Therefore, if software correction  
is used, the effect of the software correction is to be reversed before calculating a humidity alarm threshold.  
Example: let the desired alarm threshold be 60%RH. The 60% threshold may correspond to a raw reading of  
65%RH (i.e., before correction). To set a 60%RH (after correction) threshold, the HALM value then needs to be  
calculated for 65%RH.  
Humidity Conversion Examples  
HRH  
HRL  
Mode  
Humidity(%RH)  
hex  
decimal hex  
decimal  
8-bit  
B5h  
181  
103  
181  
103  
84.41  
34.59  
84.89  
34.70  
Z
Z
Z
12  
48  
8-bit  
67h  
B5h  
67h  
Z
16-bit  
16-bit  
C0h  
30h  
Humidity Alarm Threshold Examples  
HALM  
Humidity(%RH)  
hex  
97h  
58h  
decimal  
151  
65  
25  
88  
These examples do not include the effects of software correction.  
17 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
TEMPERATURE SENSOR ALARM  
The DS1923 has two Temperature Alarm Threshold registers (address 0208h, 0209h) to store values, which  
determine whether a critical temperature has been reached. A temperature alarm is generated if the device  
measures an alarming temperature AND the alarm signaling is enabled. The bits ETLA and ETHA that enable the  
temperature alarm are located in the Temperature Sensor Control Register. The temperature alarm flags TLF and  
THF are found in the Alarm Status Register at address 0214h.  
Temperature Sensor Control Register Bitmap  
ADDR  
b7  
b6  
b5  
b4  
b3  
b2  
0
b1  
b0  
0210h  
0
0
0
0
0
ETHA  
ETLA  
During a mission, there is only read access to this register. Bits 2 to 7 have no function. They always read 0 and  
cannot be written to 1.  
Register Details  
Bit Description  
Bit(s)  
Definition  
This bit controls whether, during a mission, the Temperature Low Alarm  
Flag TLF can be set, if a temperature conversion results in a value equal  
to or lower than the value in the Temperature Low Alarm Threshold  
Register. If ETLA is 1, temperature low alarms are enabled. If ETLA is 0,  
temperature low alarms are not generated.  
ETLA: Enable Tempera-  
ture Low Alarm  
b0  
This bit controls whether, during a mission, the Temperature High Alarm  
Flag THF can be set, if a temperature conversion results in a value  
equal to or higher than the value in the Temperature High Alarm  
Threshold Register. If ETHA is 1, temperature high alarms are enabled.  
If ETHA is 0, temperature high alarms are not generated.  
ETHA: Enable  
b1  
Temperature High Alarm  
HUMIDITY ALARM  
The DS1923 has two Humidity Alarm Threshold registers (address 020Ah, 020Bh) to store values, which  
determine whether humidity readings can generate an alarm. Such an alarm is generated if the humidity data read  
from the sensor qualifies for an alarm AND the alarm signaling is enabled. The bits EHLA and EHHA that enable  
the humidity alarm are located in the Humidity Sensor Control Register. The corresponding alarm flags HLF and  
HHF are found in the Alarm Status Register at address 0214h.  
Humidity Sensor Control Register Bitmap  
ADDR  
b7  
b6  
b5  
b4  
b3  
1
b2  
1
b1  
b0  
0211h  
1
1
1
1
EHHA  
EHLA  
During a mission, there is only read access to this register. Bits 2 to 7 have no function. They always read 1 and  
cannot be written to 0.  
Register Details  
Bit Description  
Bit(s)  
Definition  
This bit controls whether, during a mission, the Humidity Low Alarm Flag  
HLF can be set, if a value from the humidity sensor is equal to or lower  
than the value in the Humidity Low Alarm Threshold Register. If EHLA is  
1, humidity low alarms are enabled. If EHLA is 0, humidity low alarms  
are not generated.  
EHLA: Enable Humidity  
Low Alarm  
b0  
This bit controls whether, during a mission, the Humidity High Alarm  
Flag HHF can be set, if a value from the humidity sensor is equal to or  
higher than the value in the Humidity High Alarm Threshold Register. If  
EHHA is 1, humidity high alarms are enabled. If EHHA is 0, humidity  
high alarms are not generated.  
EHHA: Enable Humidity  
High Alarm  
b1  
18 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
REAL-TIME CLOCK CONTROL  
To minimize the power consumption of a DS1923, the real-time clock oscillator should be turned off when device is  
not in use. The oscillator on/off bit is located in the RTC control register. This register also includes the EHSS bit,  
which determines whether the sample rate is specified in seconds or minutes.  
RTC Control Register Bitmap  
ADDR  
b7  
b6  
b5  
b4  
0
b3  
0
b2  
0
b1  
b0  
0212h  
0
0
0
EHSS  
EOSC  
During a mission, there is only read access to this register. Bits 2 to 7 have no function. They always read 0 and  
cannot be written to 1.  
Register Details  
Bit Description  
Bit(s)  
Definition  
This bit controls the crystal oscillator of the real-time clock. When set to  
logic 1, the oscillator starts operation. When written to logic 0, the  
oscillator stops and the device is in a low-power data retention mode.  
This bit must be 1 for normal operation. A temperature or humidity  
conversion must not be attempted while the RTC oscillator is  
stopped. This causes the device to enter into an unrecoverable state.  
This bit controls the speed of the Sample Rate counter. When set to  
logic 0, the sample rate is specified in minutes. When set to logic 1, the  
sample rate is specified in seconds.  
EOSC: Enable Oscillator  
b0  
EHSS: Enable High Speed  
Sample  
b1  
MISSION CONTROL  
The DS1923 is set up for its operation by writing appropriate data to its special function registers, which are located  
in the two register pages. The settings in the Mission Control Register determine whether temperature and/or  
humidity is logged, which format (8 or 16 bits) is to be used and whether old data can be overwritten by new data,  
once the data log memory is full. An additional control bit can be set to tell the DS1923 to wait with logging data  
until a temperature alarm is encountered.  
Mission Control Register Bitmap  
ADDR  
b7  
b6  
b5  
b4  
b3  
b2  
b1  
b0  
0213h  
1
1
SUTA  
RO  
HLFS  
TLFS  
EHL  
ETL  
During a mission, there is only read access to this register. Bits 6 and 7 have no function. They always read 1 and  
cannot be written to 0.  
Register Details  
Bit Description  
Bit(s)  
Definition  
To set up the device for a temperature-logging mission, this bit must be  
set to logic 1. To successfully start a mission, ETL or EHL must be 1. If  
temperature logging is enabled, the recorded temperature values are  
always stored starting at address 1000h.  
ETL: Enable Temperature  
Logging  
b0  
To set up the DS1923 for a humidity-logging mission, this bit must be  
set to logic 1. If temperature and humidity logging are enabled, the  
recorded humidity values will begin at address 2000h (TLFS = HLFS) or  
1A00h (TLFS = 0; HLFS = 1) or 2400h (TLFS = 1; HLFS = 0). If only  
humidity logging is enabled, the recorded values are stored starting at  
address 1000h. Since humidity data has little scientific value without  
knowing the temperature, typically both, humidity and temperature  
logging are enabled, i. e., ETL and EHL are set to 1.  
EHL: Enable Humidity  
Logging  
b1  
b2  
This bit specifies the format used to store temperature readings in the  
data log memory. If this bit is 0, the data will be stored in 8-bit format. If  
this bit is 1, the 16-bit format will be used (higher resolution). With 16-bit  
format, the most-significant byte is stored at the lower address.  
TLFS: Temperature  
Logging Format Selection  
19 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Bit Description  
Bit(s)  
Definition  
This bit specifies the format used to store humidity readings in the data  
log memory. If this bit is 0, the data will be stored in 8-bit format. If this  
bit is 1, the 16-bit format is used (higher resolution). With 16-bit format,  
the most-significant byte is stored at the lower address.  
HLFS: Humidity Logging  
Format Selection  
b3  
This bit controls whether, during a mission, the data log memory is  
overwritten with new data or whether data logging is stopped once the  
data log memory is full. Setting this bit to 1 enables the rollover and data  
logging continues at the beginning, overwriting previously collected data.  
If this bit is 0, the logging and conversions will stop once the data log  
memory is full. However, the RTC will continue to run and the MIP bit  
will remain set until the Stop Mission command is performed.  
This bit specifies whether a mission begins immediately (includes  
delayed start) or if a temperature alarm will be required to start the  
mission. If this bit is 1, the device will perform a temperature conversion  
at the selected sample rate and begin with data logging only if an  
alarming temperature (high alarm or low alarm) was found. The first  
logged temperature will be when the alarm occurred. However, the  
Mission Sample Counter will not increment. The Start Upon Tempera-  
ture Alarm function is only available if temperature logging is enabled  
(ETL = 1).  
RO: Rollover Control  
b4  
b5  
SUTA: Start Mission upon  
Temperature Alarm  
ALARM STATUS  
The fastest way to determine whether a programmed temperature or humidity threshold was exceeded during a  
mission is through reading the Alarm Status Register. In a networked environment that contains multiple DS1923  
iButtons the devices that encountered an alarm can quickly be identified by means of the Conditional Search  
command (see ROM Function Commands). The humidity and temperature alarm only occurs if enabled (see  
Temperature Sensor Alarm and Humidity Alarm). The BOR alarm is always enabled.  
Alarm Status Register Bitmap  
ADDR  
b7  
b6  
b5  
b4  
1
b3  
b2  
b1  
b0  
0214h  
BOR  
1
1
HHF  
HLF  
THF  
TLF  
There is only read access to this register. Bits 4 to 6 have no function. They always read 1. All five alarm status bits  
are cleared simultaneously when the Clear Memory function is invoked. See Memory and Control Functions for  
details.  
Register Details  
Bit Description  
Bit(s)  
Definition  
If this bit reads 1, there was at least one temperature conversion during  
a mission revealing a temperature equal to or lower than the value in the  
Temperature Low Alarm Register. A forced conversion can affect the  
TLF bit. This bit can also be set with the initial alarm in the SUTA = 1  
mode.  
TLF: Temperature Low  
Alarm Flag  
b0  
If this bit reads 1, there was at least one temperature conversion during  
a mission revealing a temperature equal to or higher than the value in  
the Temperature High Alarm Register. A forced conversion can affect  
the THF bit. This bit can also be set with the initial alarm in the SUTA =  
1 mode.  
THF: Temperature High  
Alarm Flag  
b1  
If this bit reads 1, there was at least one humidity reading during a  
mission revealing a value equal to or lower than the value in the Humi-  
dity Low Alarm Register. A forced conversion can affect the HLF bit.  
If this bit reads 1, there was at least one humidity reading during a  
mission revealing a value equal to or higher than the value in the Humi-  
dity High Alarm Register. A forced conversion can affect the HHF bit.  
If this bit reads 1, the device has performed a power-on reset. This  
indicates that the device has experienced a shock big enough to  
interrupt the internal battery power supply. The device can still appear  
functional, but it has lost its factory calibration. Any data found in the  
data log memory should be disregarded.  
HLF: Humidity Low Alarm  
Flag  
b2  
b3  
HHF: Humidity High Alarm  
Flag  
BOR: Battery On Reset  
Alarm  
b7  
20 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
GENERAL STATUS  
The information in the general status register tells the host computer whether a mission-related command was  
executed successfully. Individual status bits indicate whether the DS1923 is performing a mission, waiting for a  
temperature alarm to trigger the logging of data or whether the data from the latest mission has been cleared.  
General Status Register Bitmap  
ADDR  
b7  
b6  
b5  
b4  
b3  
b2  
0
b1  
b0  
0
MEMCLR  
0215h  
1
1
0
WFTA  
MIP  
There is only read access to this register. Bits 0, 2, 5, 6, and 7 have no function.  
Register Details  
Bit Description  
Bit(s)  
Definition  
If this bit reads 1 the device has been set up for a mission and this  
mission is still in progress. The MIP bit returns from logic 1 to logic 0  
when a mission is ended. See function commands Start Mission and  
Stop Mission.  
MIP: Mission In Progress  
b1  
If this bit reads 1, the Mission Time Stamp, Mission Sample Counter, as  
well as all the alarm flags of the Alarm Status Register have been  
cleared in preparation of a new mission. Executing the Clear Memory  
command clears these memory sections. The MEMCLR bit returns to 0  
as soon as a new mission is started by using the Start Mission  
command. The memory has to be cleared in order for a mission to start.  
If this bit reads 1, the Mission Start upon Temperature Alarm was  
selected and the Start Mission command was successfully executed, but  
the device has not yet experienced the temperature alarm. This bit is  
cleared after a temperature alarm event, but is not affected by the Clear  
Memory command. Once set, WFTA remains set if a mission is stopped  
before a temperature alarm occurs. To clear WFTA manually before  
starting a new mission, set the high temperature alarm (address 0209h)  
to -40°C and perform a forced conversion.  
MEMCLR: Memory  
Cleared  
b3  
b4  
WFTA: Waiting for  
Temperature Alarm  
MISSION START DELAY  
The content of the Mission Start Delay Counter tells how many minutes have to expire from the time a mission was  
started until the first measurement of the mission will take place (SUTA = 0) or until the device will start testing the  
temperature for a temperature alarm (SUTA = 1). The Mission Start Delay is stored as an unsigned 24-bit integer  
number. The maximum delay is 16777215 minutes, equivalent to 11650 days or roughly 31 years. If the start delay  
is non-zero and the SUTA bit is set to 1, first the delay has to expire before the device starts testing for temperature  
alarms to begin logging data.  
Mission Start Delay Counter  
ADDR  
0216h  
0217h  
0218h  
b7  
b6  
b5  
b4  
b3  
b2  
b1  
b0  
Delay Low Byte  
Delay Center Byte  
Delay High Byte  
During a mission, there is only read access to these registers.  
For a typical mission, the Mission Start Delay is 0. If a mission is too long for a single DS1923 to store all readings  
at the selected sample rate, one can use several devices and set the Mission Start Delay for the second device to  
start recording as soon as the memory of the first device is full, and so on. The RO bit in the Mission Control  
Register (address 0213h) must be set to 0 to prevent overwriting of collected data once the data log memory is full.  
21 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
MISSION TIME STAMP  
The Mission Time Stamp indicates the date and time of the first temperature and/or humidity sample of the  
mission. There is only read access to the Mission Time Stamp Register.  
Mission Time Stamp Registers Bitmap  
ADDR  
0219h  
021Ah  
021Bh  
b7  
b6  
b5  
b4  
b3  
b2  
b1  
b0  
0
10 Seconds  
Single Seconds  
Single Minutes  
Single Hours  
0
10 Minutes  
20h.  
0
12/24  
10h.  
10m.  
AM/PM  
021Ch  
0
0
0
10 Date  
Single Date  
021Dh CENT  
0
Single Months  
021Eh  
10 Years  
Single Years  
MISSION PROGRESS INDICATOR  
Depending on settings in the Mission Control Register (address 0213h) the DS1923 logs temperature and/or  
humidity in 8-bit or 16-bit format. The description of the ETL and EHL bit explains where the device stores data in  
its data log memory. The Mission Sample Counter together with the starting address and the logging format (8 or  
16 bits) provides the information to identify valid blocks of data that have been gathered during the current (MIP =  
1) or latest mission (MIP = 0). See section Data log Memory Usage for an illustration. Note that when SUTA = 1,  
the Mission Sample Counter does not increment when the first sample is logged.  
Mission Sample Counter Register Map  
ADDR  
0220h  
0221h  
0222h  
b7  
b6  
b5  
b4  
b3  
b2  
b1  
b0  
Low Byte  
Center Byte  
High Byte  
There is only read access to this register. Note that when both the internal temperature and humidity logging are  
enabled, the two log readings are counted as one event in the Mission Sample Counter and Device Sample  
Counter.  
The number read from the Mission Sample Counter indicates how often the DS1923 woke up during a mission to  
measure temperature and/or humidity. The number format is 24-bit unsigned integer. The Mission Sample Counter  
is reset through the Clear Memory command.  
OTHER INDICATORS  
The Device Sample Counter is similar to the Mission Sample Counter. During a mission this counter increments  
whenever the DS1923 wakes up to measure and log data and when the device is testing for a temperature alarm in  
SUTA mode. Between missions the counter increments whenever the Forced Conversion command is executed.  
This way the Device Sample Counter functions like a gas gauge for the battery that powers the iButton.  
Device Sample Counter Register Map  
ADDR  
0223h  
0224h  
0225h  
b7  
b6  
b5  
b4  
b3  
b2  
b1  
b0  
Low Byte  
Center Byte  
High Byte  
There is only read access to this register.  
The Device Sample Counter is reset to zero when the iButton is assembled. The counter increments a couple of  
times during final test. The number format is 24-bit unsigned integer. The maximum number that can be  
represented in this format is 16777215.  
The Device Configuration Byte is used to allow the master to distinguish between the DS2422 chip, and the  
DS1923, DS1922L, and DS1922T iButtons. The table below shows the codes assigned to the various devices.  
22 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Device Configuration Byte  
ADDR  
0226h  
0226h  
0226h  
0226h  
b7  
b6  
b5  
b4  
b3  
0
b2  
0
b1  
0
b0  
0
0
0
0
0
DS2422  
DS1923  
DS1922L  
DS1922T  
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
There is only read access to this register.  
SECURITY BY PASSWORD  
The DS1923 is designed to use two passwords that control read access and full access. Reading from or writing to  
the scratchpad as well as the forced conversion command does not require a password. The password needs to  
be transmitted right after the command code of the memory or control function. If password checking is enabled the  
password transmitted is compared to the passwords stored in the device. The data pattern stored in the Password  
Control register determines whether password checking is enabled.  
Password Control Register  
ADDR  
b7  
b6  
b5  
b4  
b3  
b2  
b1  
b0  
0227h  
EPW  
During a mission, there is only read access to this register.  
To enable password checking, the EPW bits need to form a binary pattern of 10101010 (AAh). The default pattern  
of EPW is different from AAh. If the EPW pattern is different from AAh, any pattern will be accepted, as long as it  
has a length of exactly 64 bits. Once enabled, changing the passwords and disabling password checking requires  
the knowledge of the current full-access password.  
Before enabling password checking, passwords for read-only access as well as for full access (read/write/control)  
need to be written to the password registers. Setting up a password or enabling/disabling the password checking is  
done in the same way as writing data to a memory location, only the address is different. Since they are located in  
the same memory page, both passwords can be redefined at the same time.  
Read Access Password Register  
ADDR  
0228h  
0229h  
Z
b7  
b6  
b5  
b4  
b3  
b2  
b1  
b0  
RP0  
RP8  
Z
RP7  
RP15  
RP6  
RP14  
RP5  
RP13  
RP4  
RP12  
Z
RP3  
RP11  
RP2  
RP10  
RP1  
RP9  
022Eh  
022Fh  
RP55  
RP63  
RP54  
RP62  
RP53  
RP61  
RP52  
RP60  
RP51  
RP59  
RP50  
RP58  
RP49  
RP57  
RP48  
RP56  
There is only write access to this register. Attempting to read the password will report all zeros. The password  
cannot be changed while a mission is in progress.  
The Read Access Password needs to be transmitted exactly in the sequence RP0, RP1… RP62, RP63. This  
password only applies to the function “Read Memory with CRC”. The DS1923 delivers the requested data only if  
the password transmitted by the master was correct or if password checking is not enabled.  
Full-Access Password Register  
ADDR  
0230h  
0231h  
Z
b7  
b6  
b5  
b4  
b3  
b2  
b1  
b0  
FP0  
FP8  
Z
FP7  
FP15  
FP6  
FP14  
FP5  
FP13  
FP4  
FP12  
Z
FP3  
FP11  
FP2  
FP10  
FP1  
FP9  
0236h  
0237h  
FP55  
FP63  
FP54  
FP62  
FP53  
FP61  
FP52  
FP60  
FP51  
FP59  
FP50  
FP58  
FP49  
FP57  
FP48  
FP56  
There is only write access to this register. Attempting to read the password will report all zeros. The password  
cannot be changed while a mission is in progress.  
23 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
The Full Access Password needs to be transmitted exactly in the sequence FP0, FP1… FP62, FP63. It affects the  
functions “Read Memory with CRC”, “Copy Scratchpad”, “Clear Memory”, “Start Mission”, and “Stop Mission”. The  
DS1923 executes the command only if the password transmitted by the master was correct or if password  
checking is not enabled  
Due to the special behavior of the write access logic, the Password Control Register and both passwords must be  
written at the same time. When setting up new passwords, always verify (read back) the scratchpad before sending  
the copy scratchpad command. After a new password is successfully copied from the scratchpad to its memory  
location, erase the scratchpad by filling it with new data (write scratchpad command). Otherwise a copy of the  
passwords will remain in the scratchpad for public read access.  
DATA LOG MEMORY USAGE  
Once setup for a mission, the DS1923 logs the temperature measurements and/or humidity at equidistant time  
points entry after entry in its data log memory. The data log memory is able to store 8192 entries in 8-bit format or  
4096 entries in 16-bit format (Figure 7A). If temperature as well as humidity is logged, both in the same format, the  
memory is split into two equal sections that can store 4096 8-bit entries or 2048 16-bit entries (Figure 7B). If the  
device is set up to log data in different formats, e. g., temperature in 8-bit and humidity in 16-bit format, the memory  
is split into blocks of different size, accommodating 2560 entries for either data source (Figure 7C). In this case, the  
upper 256 bytes are not used. In 16-bit format, the higher 8 bits of an entry are stored at the lower address.  
Knowing the starting time point (Mission Time Stamp) and the interval between temperature measurements one  
can reconstruct the time and date of each measurement.  
There are two alternatives to the way the DS1923 behaves after the data log memory is filled with data. The user  
can program the device to either stop any further recording (disable “rollover”) or overwrite the previously recorded  
data (enable “rollover”), one entry at a time, starting again at the beginning of the respective memory section. The  
contents of the Mission Sample Counter in conjunction with the sample rate and the Mission Time Stamp then  
allows reconstructing the time points of all values stored in the data log memory. This gives the exact history over  
time for the most recent measurements taken. Earlier measurements cannot be reconstructed.  
Figure 7A. ONE CHANNEL LOGGING  
ETL = 1; EHL = 0 or  
ETL = 0; EHL = 1  
TLFS = HLFS = 0  
ETL = 1; EHL = 0 or  
ETL = 0; EHL = 1  
TLFS = HLFS = 1  
1000h  
1000h  
With 16-bit format,  
the most-significant  
byte is stored at the  
lower address.  
8192  
8-bit entries  
Temperature  
or  
4096  
16-bit entries  
Temperature  
or  
Humidity data  
Humidity data  
2FFFh  
2FFFh  
24 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Figure 7B. TWO CHANNEL LOGGING, EQUAL RESOLUTION  
ETL = EHL = 1  
ETL = EHL = 1  
TLFS = HLFS = 0  
TLFS = HLFS = 1  
1000h  
1000h  
Temperature  
4096  
Temperature  
2048  
8-bit entries  
16-bit entries  
With 16-bit format,  
the most-significant  
byte is stored at the  
lower address.  
1FFFh  
2000h  
1FFFh  
2000h  
Humidity Data  
4096  
Humidity Data  
2048  
8-bit entries  
16-bit entries  
2FFFh  
2FFFh  
Figure 7C. TWO CHANNEL LOGGING, DIFFERENT RESOLUTION  
ETL = EHL = 1  
ETL = EHL = 1  
TLFS = 0; HLFS = 1  
TLFS = 1; HLFS = 0  
1000h  
1000h  
Temperature  
2560  
8-bit entries  
Temperature  
2560  
19FFh  
1A00h  
With 16-bit format,  
the most-significant  
byte is stored at the  
lower address.  
16-bit entries  
Humidity Data  
2560  
23FFh  
2400h  
Humidity Data  
2560  
16-bit entries  
8-bit entries  
2DFFh  
2E00h  
2FFFh  
2DFFh  
2E00h  
2FFFh  
(not used)  
(not used)  
MISSIONING  
The typical task of the DS1923 iButton is recording temperature and/or humidity. Before the device can perform  
this function, it needs to be set up properly. This procedure is called missioning.  
First of all, DS1923 needs to have its real-time clock set to valid time and date. This reference time may be the  
local time, or, when used inside of a mobile unit, UTC (also called GMT, Greenwich Mean Time) or any other time  
standard that was agreed upon. The real-time clock oscillator must be running (EOSC = 1). The memory assigned  
to store the Mission Time Stamp, Mission Sample Counter, and Alarm Flags must be cleared using the Memory  
Clear command. To enable the device for a mission, at least one of the enable logging bits (ETL, EHL) must be set  
to 1. These are general settings that have to be made in any case, regardless of the type of object to be monitored  
and the duration of the mission.  
If alarm signaling is desired, the temperature alarm and/or humidity alarm low and high thresholds must be defined.  
How to convert a temperature value into the binary code to be written to the threshold registers is described under  
“Temperature Conversion” earlier in this document. Determining the thresholds for the humidity alarm is described  
in section “Humidity Conversion”. In addition, the temperature and/or humidity alarm must be enabled for the low-  
25 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
and/or high-threshold. This will make the device respond to a Conditional Search command (see ROM Function  
Commands), provided that an alarming condition has been encountered.  
The setting of the RO bit (rollover enable) and sample rate depends on the duration of the mission and the  
monitoring requirements. If the most recently logged data is important, the rollover should be enabled (RO = 1).  
Otherwise one should estimate the duration of the mission in minutes and divide the number by 8192 (single  
channel 8-bit format) or 4096 (single channel 16-bit format, two channels 8-bit format) or 2048 (two channels 16-bit  
format) or 2560 (two channels, one 8-bit and one 16-bit format) to calculate the value of the sample rate (number of  
minutes between conversions). If the estimated duration of a mission is 10 days (= 14400 minutes), for example,  
then the 8192-byte capacity of the data log memory would be sufficient to store a new 8-bit value every 1.8 minutes  
(110 seconds). If the data log memory of the DS1923 is not large enough to store all readings, one can use several  
devices and set the Mission Start Delay to values that make the second device start logging as soon as the  
memory of the first device is full, and so on. The RO-bit needs to be set to 0 to disable rollover that would  
otherwise overwrite the logged data.  
After the RO bit and the Mission Start Delay are set, the sample rate needs to be written to the Sample Rate  
Register. The sample rate may be any value from 1 to 16383, coded as an unsigned 14-bit binary number. A  
sample rate of all zeros is not valid and must be avoided under all circumstances. This causes the device to  
enter into an unrecoverable state. The fastest sample rate is one sample per second (EHSS = 1, Sample Rate =  
0001h) and the slowest is one sample every 273.05 hours (EHSS = 0, Sample Rate = 3FFFh). To get one sample  
every 6 minutes, for example, the sample rate value needs to be set to 6 (EHSS = 0) or 360 decimal (equivalent to  
0168h at EHSS = 1).  
If there is a risk of unauthorized access to the DS1923 or manipulation of data, one should define passwords for  
read access and full access. Before the passwords become effective, their use needs to be enabled. See Security  
by Password for more details.  
The last step to begin a mission is to issue the Start Mission command. As soon as it has received this command,  
the DS1923 sets the MIP flag and clear the MEMCLR flag. With the immediate/delayed start mode (SUTA = 0),  
after as many minutes as specified by the Mission Start Delay are over, the device wakes up, copies the current  
date and time to the mission time stamp register, and logs the first entry of the mission. This increments both the  
Mission Sample Counter and Device Sample Counter. All subsequent log entries are made as specified by the  
value in the Sample Rate Register and the EHSS bit.  
If the Start Upon Temperature Alarm mode is chosen (SUTA = 1) and temperature logging is enabled (ETL = 1) the  
DS1923 first waist until the start delay is over. Then the device wakes up in intervals as specified by the sample  
rate and EHSS bit and measure the temperature. This increments the Device Sample Counter only. The first  
sample of the mission is logged when the temperature alarm occurred. However, the Mission Sample Counter will  
not increment. One sample period later the Mission Time Stamp is set. From then on, both the Mission Sample  
Counter and Device Sample Counter increment at the same time. All subsequent log entries will be made as  
specified by the value in the Sample Rate Register and the EHSS bit.  
The general-purpose memory operates independently of the other memory sections and is not write-protected  
during a mission. All memory of the DS1923 can be read at any time, e. g., to watch the progress of a mission.  
Attempts to read the passwords will read 00h bytes instead of the data that is stored in the password registers.  
ADDRESS REGISTERS AND TRANSFER STATUS  
Because of the serial data transfer, the DS1923 employs three address registers, called TA1, TA2, and E/S (Figure  
8). Registers TA1 and TA2 must be loaded with the target address to which the data will be written or from which  
data will be sent to the master upon a Read command. Register E/S acts like a byte counter and transfer status  
register. It is used to verify data integrity with Write commands. Therefore, the master only has read access to this  
register. The lower 5 bits of the E/S Register indicate the address of the last byte that has been written to the  
scratchpad. This address is called Ending Offset. The DS1923 requires that the Ending Offset is always 1Fh for  
a Copy Scratchpad to function. Bit 5 of the E/S Register, called PF or “partial byte flag,” is set if the number of  
data bits sent by the master is not an integer multiple of 8. Bit 6 is always a 0. Note that the lowest 5 bits of the  
target address also determine the address within the scratchpad, where intermediate storage of data begins. This  
address is called byte offset. If the target address for a Write command is 13Ch, for example, then the scratchpad  
stores incoming data beginning at the byte offset 1Ch and is full after only 4 bytes. The corresponding ending offset  
26 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
in this example is 1Fh. For best economy of speed and efficiency, the target address for writing should point to the  
beginning of a page, i.e., the byte offset is 0. Thus the full 32-byte capacity of the scratchpad is available, resulting  
also in the ending offset of 1Fh. The ending offset together with the Partial and Overflow Flag is mainly a means to  
support the master checking the data integrity after a Write command. The highest valued bit of the E/S Register,  
called AA or Authorization Accepted, indicates that a valid copy command for the scratchpad has been received  
and executed. Writing data to the scratchpad clears this flag.  
Figure 8. ADDRESS REGISTERS  
Bit #  
7
6
5
4
3
2
1
0
Target Address (TA1)  
T7  
T6  
T5  
T4  
T3  
T2  
T1  
T0  
Target Address (TA2)  
T15  
AA  
T14  
0
T13  
PF  
T12  
E4  
T11  
E3  
T10  
E2  
T9  
E1  
T8  
E0  
Ending Address with  
Data Status (E/S)  
(Read Only)  
WRITING WITH VERIFICATION  
To write data to the DS1923, the scratchpad has to be used as intermediate storage. First the master issues the  
Write Scratchpad command to specify the desired target address, followed by the data to be written to the  
scratchpad. In the next step, the master sends the Read Scratchpad command to read the scratchpad and to verify  
data integrity. As preamble to the scratchpad data, the DS1923 sends the requested target address TA1 and TA2  
and the contents of the E/S Register. If the PF flag is set, data did not arrive correctly in the scratchpad. The  
master does not need to continue reading; it can start a new trial to write data to the scratchpad. Similarly, a set AA  
flag indicates that the Write command was not recognized by the device. If everything went correctly, both flags are  
cleared and the ending offset indicates the address of the last byte written to the scratchpad. Now the master can  
continue verifying every data bit. After the master has verified the data, it has to send the Copy Scratchpad  
command. This command must be followed exactly by the data of the three address registers TA1, TA2, and E/S  
as the master has read them verifying the scratchpad. As soon as the DS1923 has received these bytes, it copies  
the data to the requested location beginning at the target address.  
MEMORY- AND CONTROL-FUNCTION COMMANDS  
The “Memory/Control Function Flow Chart” (Figure 9) describes the protocols necessary for accessing the memory  
and the special function registers of the DS1923. An example on how to use these and other functions to set up the  
DS1923 for a mission is included at the end of this document, preceding the Electrical Characteristics section. The  
communication between master and DS1923 takes place either at regular speed (default, OD = 0) or at Overdrive  
Speed (OD = 1). If not explicitly set into the Overdrive Mode the DS1923 assumes regular speed. Internal memory  
access during a mission has priority over external access through the 1-Wire interface. This affects several of the  
commands described below. See Memory Access Conflicts for details and remedies.  
Write Scratchpad Command [0Fh]  
After issuing the Write Scratchpad command, the master must first provide the 2-byte target address, followed by  
the data to be written to the scratchpad. The data will be written to the scratchpad starting at the byte offset  
(T4:T0). The master has to send as many bytes as are needed to reach the Ending Offset of 1Fh. If a data byte is  
incomplete, its content is ignored and the partial byte flag PF is set.  
When executing the Write Scratchpad command the CRC generator inside the DS1923 (see Figure 15) calculates  
a CRC of the entire data stream, starting at the command code and ending at the last data byte sent by the master.  
27 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
This CRC is generated using the CRC16 polynomial by first clearing the CRC generator and then shifting in the  
command code (0Fh) of the Write Scratchpad command, the Target Addresses TA1 and TA2 as supplied by the  
master and all the data bytes. If the ending offset is 11111b, the master may send 16 read time slots and will  
receive the inverted CRC16 generated by the DS1923.  
Note that both register pages are write-protected during a mission. Although the Write Scratchpad command will  
work normally at any time, the subsequent copy scratchpad to a register page will fail during a mission.  
Read Scratchpad Command [AAh]  
This command is used to verify scratchpad data and target address. After issuing the Read Scratchpad command,  
the master begins reading. The first 2 bytes will be the target address. The next byte will be the ending offset/data  
status byte (E/S) followed by the scratchpad data beginning at the byte offset (T4:T0), as shown in Figure 8. The  
master may continue reading data until the end of the scratchpad after which it will receive an inverted CRC16 of  
the command code, Target Addresses TA1 and TA2, the E/S byte, and the scratchpad data starting at the target  
address. After the CRC is read, the bus master will read logical 1s from the DS1923 until a reset pulse is issued.  
Copy Scratchpad with Password [99h]  
This command is used to copy data from the scratchpad to the writable memory sections. After issuing the Copy  
Scratchpad command, the master must provide a 3-byte authorization pattern, which can be obtained by reading  
the scratchpad for verification. This pattern must exactly match the data contained in the three address registers  
(TA1, TA2, E/S, in that order). Next the master must transmit the 64-bit full-access password. If passwords are  
enabled and the transmitted password is different from the stored full-access password, the Copy Scratchpad with  
Password command will fail. Then the device stops communicating and waits for a reset pulse. If the password  
was correct or if passwords were not enabled, the device tests the 3-byte authorization code. If the authorization  
code pattern matches, the AA (Authorization Accepted) flag is set and the copy begins. A pattern of alternating 1s  
and 0s are transmitted after the data has been copied until the master issues a reset pulse. While the copy is in  
progress any attempt to reset the part is ignored. Copy typically takes 2µs per byte.  
The data to be copied is determined by the three address registers. The scratchpad data from the beginning offset  
through the ending offset will be copied, starting at the target address. The AA flag remains at logic 1 until it is  
cleared by the next Write Scratchpad command. With suitable password, the copy scratchpad always functions for  
the 16 pages of data memory and the 2 pages of calibration memory. While a mission is in progress, write attempts  
to the register pages will not be successful. The AA bit (Authorization Accepted) remaining at 0 will indicate this.  
Read Memory with Password and CRC [69h]  
The Read Memory with CRC command is the general function to read from the device. This command generates  
and transmits a 16-bit CRC following the last data byte of a memory page.  
After having sent the command code of the Read Memory with CRC command, the bus master sends a 2-byte  
address that indicates a starting byte location. Next the master must transmit one of the 64-bit passwords. If  
passwords are enabled and the transmitted password does not match one of the stored passwords, the Read  
Memory with Password and CRC command fails. The device will stop communicating and will wait for a reset  
pulse. If the password was correct or if passwords were not enabled, the master reads data from the DS1923  
beginning from the starting address and continuing until the end of a 32-byte page is reached. At that point the bus  
master sends 16 additional read data time slots and receive the inverted 16-bit CRC. With subsequent read-data  
time slots the master will receive data starting at the beginning of the next memory page followed again by the  
CRC for that page. This sequence continues until the bus master resets the device. When trying to read the  
passwords or memory areas that are marked as "reserved", the DS1923 transmits 00h or FFh bytes, respectively.  
The CRC at the end of a 32-byte memory page is based on the data as it was transmitted.  
With the initial pass through the Read Memory with CRC flow, the 16-bit CRC value is the result of shifting the  
command byte into the cleared CRC generator followed by the 2 address bytes and the contents of the data  
memory. Subsequent passes through the Read Memory with CRC flow will generate a 16-bit CRC that is the result  
of clearing the CRC generator and then shifting in the contents of the data memory page. After the 16-bit CRC of  
the last page is read, the bus master receives logical 1s from the DS1923 until a reset pulse is issued. The Read  
Memory with CRC command sequence can be ended at any point by issuing a reset pulse.  
28 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Figure 9-1. MEMORY/CONTROL FUNCTION FLOW CHART  
From ROM Functions  
Master TX Memory or  
Control Fkt. Command  
Flow Chart (Figure 11)  
0FH  
Write  
AAH  
Read  
N
N
Scratchpad  
Scratchpad  
Y
Y
Master TX  
Master RX  
TA1 (T7:T0)  
TA1 (T7:T0)  
Master TX  
Master RX  
TA2 (T15:T8)  
TA2 (T15:T8)  
DS1923 sets Scratch-  
pad Offset = (T4:T0)  
and Clears (PF, AA)  
Master RX Ending  
Offset with Data  
Status (E/S)  
DS1923 sets Scratch-  
pad Offset = (T4:T0)  
Master TX Data Byte  
to Scratchpad Offset  
DS1923 sets (E4:E0)  
= Scratchpad Offset  
Master RX Data Byte  
from Scratchpad Offset  
Y
Y
Master  
Master  
TX Reset?  
TX Reset?  
DS1923 Incre-  
ments Scratch-  
pad Offset  
DS1923 Incre-  
ments Scratch-  
pad Offset  
N
N
Scratch-  
pad Offset =  
11111b?  
Scratch-  
pad Offset =  
11111b?  
N
Y
N
Y
Partial  
Y
Y
Byte Written?  
Master RX CRC16 of  
Master  
Command, Address Data,  
PF = 1  
E/S Byte, and Data Starting  
at the Target Address  
N
TX Reset?  
N
Master RX CRC16 of  
Command, Address Data  
Y
Master  
TX Reset?  
Y
N
Master  
TX Reset?  
Master RX "1"s  
N
Master RX "1"s  
To ROM Functions  
Flow Chart (Figure 11)  
29 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Figure 9-2. MEMORY/CONTROL FUNCTION FLOW CHART  
99H  
N
Copy Scrpd.  
[w/PW]  
Y
Master TX  
TA1 (T7:T0), TA2 (T15:T8)  
Authorization  
Code  
Master TX  
E/S Byte  
Master TX  
64-Bits [Password]  
N
N
Password  
Accepted?  
Y
Authorization  
Code Match?  
Y
AA = 1  
DS1923 Copies Scratchpad  
Data to Memory  
Master  
Master  
RX "1"s  
RX "1"s  
Copying  
Finished  
N
N
Master  
TX Reset?  
Y
DS1923 TX "0"  
Y
Y
Master  
TX Reset?  
N
DS1923 TX "1"  
Master  
TX Reset?  
N
Y
30 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Figure 9-3. MEMORY/CONTROL FUNCTION FLOW CHART  
69H  
N
Read Mem.  
[w/PW]&CRC  
Y
Master TX  
TA1 (T7:T0), TA2 (T15:T8)  
Master TX  
64-Bits [Password]  
Decision made  
by DS1923  
N
Password  
Accepted?  
Y
DS1923 sets Memory  
Address = (T15:T0)  
Decision made  
by Master  
Master RX Data Byte  
from Memory Address  
DS1923 Incre-  
ments Address  
Counter  
Y
Master  
TX Reset?  
N
N
End of Page?  
Y
Master RX CRC16 of  
Command, Address, Data  
(1st Pass); CRC16 of Data  
(Subsequent Passes)  
N
Master TX  
Reset  
CRC OK?  
Y
N
End of  
Memory?  
Y
Master RX "1"s  
Master TX  
Reset?  
N
Y
31 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Figure 9-4. MEMORY/CONTROL FUNCTION FLOW CHART  
96H  
55H  
N
N
Y
Clear Mem.  
[w/PW]  
Forced  
Conversion?  
Y
Y
Master TX  
Master TX  
64-Bits [Password]  
FFh dummy byte  
Master TX  
FFh dummy byte  
Mission in  
Progress?  
N
N
Password  
Accepted?  
DS1923 Performs a  
Temp. Conversion  
Y
DS1923 copies Result  
to Address 020C/Dh  
Y
Mission in  
Progress?  
DS1923 Performs a  
Humidity Conversion  
N
DS1923 clears Mission  
Time Stamp, Mission  
Samples Counter,  
Alarm Flags  
DS1923 copies Result  
to Address 020E/Fh  
N
Master  
DS1923 sets  
MEMCLR = 1  
TX Reset?  
Y
N
Master  
TX Reset?  
Y
32 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Figure 9-5. MEMORY/CONTROL FUNCTION FLOW CHART  
CCH  
Start Mission  
[w/PW]  
33H  
N
N
Stop Mission  
[w/PW]  
Mission Start  
Y
Y
Delay Process  
Master TX  
Master TX  
64-Bits [Password]  
64-Bits [Password]  
Y
Start Delay  
Master TX  
Master TX  
Counter = 0?  
FFh dummy byte  
FFh dummy byte  
N
DS1923 Waits for 1 Minute  
N
N
Password  
Accepted?  
Password  
Accepted?  
DS1923 decrements  
Start Delay Counter  
Y
Y
Y
N
Mission in  
Progress?  
N
Mission in  
Progress?  
SUTA = 1?  
Y
Y
N
DS1923 Sets WFTA=1  
DS1923 sets  
MIP = 0  
N
MEMCLR  
= 1?  
DS1923 Waits One  
Sample Period  
WFTA = 0  
Y
Y
DS1923 sets  
MIP = 1  
MIP = 0?  
N
Master  
N
MEMCLR = 0  
TX Reset?  
DS1923 Performs 8-bit  
Temp. Conversion  
DS1923 Initiates  
Mission Start Delay  
Process  
Y
N
Temp.  
Alarm?  
Y
The Mission  
DS1923 sets WFTA=0  
and logs first sample  
Sample  
Counter will  
not increment.  
DS1923 Waits One  
Sample Period  
DS1923 copies RTC  
Data to Mission Time  
Stamp Register  
If SUTA = 1,  
this is the 2nd  
sample.  
N
DS1923 Starts Logging  
Taking 1st Sample  
Master  
TX Reset?  
End Of Process  
Y
33 of 52  
Clear Memory withDPSa19s2s3:wHoygrrdoch[r9o6nhTe]mperature/Humidity Logger iButton with 8kB Data Log Memory  
The Clear Memory with Password command is used to prepare the device for another mission. This command is  
only executed if no mission is in progress. After the command code the master must transmit the 64-bit full-access  
password followed by a FFh dummy byte. If passwords are enabled and the transmitted password is different from  
the stored full-access password or a mission is in progress, the Clear Memory with Password command will fail.  
The device will stop communicating and will wait for a reset pulse. If the password was correct or if passwords  
were not enabled, the device will clear the Mission Time Stamp, Mission Sample Counter, and all alarm flags of the  
Alarm Status Register. After these cells are cleared, the MEMCLR bit of the General Status Register reads 1 to  
indicate the successful execution of the Clear Memory with Password command. Clearing of the data log memory  
is not necessary because the Mission Sample Counter indicates how many entries in the data log memory are  
valid.  
Forced Conversion [55h]  
The Forced Conversion command can be used to measure the temperature and humidity without starting a  
mission. After the command code the master has to send one FFh byte to get the conversion started. The  
conversion result is found as 16-bit value in the Latest Temperature Conversion Result and Latest Humidity  
Conversion Result registers. This command is only executed if no mission is in progress (MIP = 0). It cannot be  
interrupted and takes maximum 666ms to complete. During this time memory access through the 1-Wire interface  
is blocked. The device behaves the same way as during a mission when the sampling interferes with a  
memory/control function command. See Memory Access Conflicts for details. A forced conversion must not be  
attempted while the RTC oscillator is stopped. This causes the device to enter into an unrecoverable state.  
Start Mission with Password [CCh]  
The DS1923 uses a control function command to start a mission. A new mission can only be started if the previous  
mission has been ended and the memory has been cleared. After the command code, the master must transmit  
the 64-bit full-access password followed by a FFh dummy byte. If passwords are enabled and the transmitted  
password is different from the stored full-access password or a mission is in progress, the Start Mission with  
Password command will fail. The device stops communicating and waits for a reset pulse. If the password was  
correct or if passwords were not enabled, the device starts a mission. If SUTA = 0, the sampling begins as soon as  
the mission start delay is over. If SUTA = 1, the first sample is written to the data log memory at the time the  
temperature alarm occurred. However, the Mission Sample Counter does not increment. One sample period later,  
the Mission Time Stamp will be set and the regular sampling and logging begins. While the device is waiting for a  
temperature alarm to occur, the WFTA flag in the general status register will read 1. During a mission there is only  
read access to the Register Pages.  
Stop Mission with Password [33h]  
The DS1923 uses a control function command to stop a mission. Only a mission that is in progress can be  
stopped. After the command code, the master must transmit the 64-bit full-access password followed by a FFh  
dummy byte. If passwords are enabled and the transmitted password is different from the stored full-access  
password or a mission is not in progress, the Stop Mission with Password command will fail. The device stops  
communicating and waits for a reset pulse. If the password was correct or if passwords were not enabled, the  
device clears the MIP bit in the General Status Register and restore write access to the Register Pages. The  
WFTA bit is not cleared. See the description of the General Status Register for a method to clear the WFTA bit.  
MEMORY ACCESS CONFLICTS  
While a mission is in progress or while the device is waiting for a temperature alarm to start a mission, periodically  
a temperature and/or humidity sample is taken and logged. This "internal activity" has priority over 1-Wire  
communication. As a consequence, device-specific commands (excluding ROM function commands and 1-Wire  
reset) will not perform properly when internal and "external" activities interfere with each other. Not affected are the  
commands Start Mission, Forced Conversion, and Clear Memory because they are not applicable while a mission  
is in progress or while the device is waiting for a temperature alarm. The table below explains how the remaining  
five commands are affected by internal activity, how to detect this interference and how to work around it.  
34 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Command  
Indication of Interference  
Remedy  
Wait 0.5 seconds, 1-Wire reset, address the device,  
repeat Write Scratchpad with the same data, and  
check the validity of the CRC16 at the end of the  
command flow. Alternatively, use Read Scratchpad to  
verify data integrity.  
The CRC16 at the end of the  
command flow reads FFFFh.  
Write Scratchpad  
The data read changes to FFh  
bytes or all bytes received are  
FFh, including the CRC at the  
end of the command flow.  
The device behaves as if  
Wait 0.5 seconds, 1-Wire reset, address the device,  
repeat Read Scratchpad, and check the validity of the  
CRC16 at the end of the command flow.  
Read Scratchpad  
Copy Scratchpad  
Wait 0.5 seconds, 1-Wire reset, address the device,  
authorization code or password issue Read Scratchpad and check the AA-bit of the  
was not valid or as if the copy  
function would not end.  
E/S byte. If the AA-bit is set, Copy Scratchpad was  
successful.  
The data read changes to all  
FFh bytes or all bytes received Wait 0.5 seconds, 1-Wire reset, address the device,  
Read Memory with  
CRC  
are FFh, including the CRC at  
the end of the command flow,  
despite a valid password.  
repeat Read Memory with CRC, and check the validity  
of the CRC16 at the end of the memory page.  
Wait 0.5 seconds, 1-Wire reset, address the device,  
and repeat Stop Mission. Perform a 1-Wire reset,  
address the device, read the general Status register at  
address 215h and check the MIP-bit. If the MIP-bit is 0,  
Stop Mission was successful.  
The general Status register at  
address 215h reads FFh or the  
MIP bit is 1 while bits 0, 2, and  
5 are 0.  
Stop Mission  
The interference is more likely to be seen with a high sample rate (1 sample every second) and with high-resolution  
logging, which can last up to 666ms when both temperature and humidity are recorded. With lower sample rates  
interference may hardly be visible at all. In any case, when writing driver software, it is important to know about the  
possibility of interference and to take measures to work around it.  
1-WIRE BUS SYSTEM  
The 1-Wire bus is a system, which has a single bus master and one or more slaves. In all instances the DS1923 is  
a slave device. The bus master is typically a microcontroller. The discussion of this bus system is broken down into  
three topics: hardware configuration, transaction sequence, and 1-Wire signaling (signal types and timing). The  
1-Wire protocol defines bus transactions in terms of the bus state during specific time slots that are initiated on the  
falling edge of sync pulses from the bus master. For a more detailed protocol description, refer to Chapter 4 of the  
Book of DS19xx iButton Standards.  
HARDWARE CONFIGURATION  
The 1-Wire bus has only a single line by definition; it is important that each device on the bus be able to drive it at  
the appropriate time. To facilitate this, each device attached to the 1-Wire bus must have open drain or tri-state  
outputs. The 1-Wire port of the DS1923 is open-drain with an internal circuit equivalent to that shown in Figure 10.  
A multidrop bus consists of a 1-Wire bus with multiple slaves attached. At standard speed the 1-Wire bus has a  
maximum data rate of 16.3kbps. The speed can be boosted to 142kbps by activating the Overdrive mode. The  
DS1923 is not guaranteed to be fully compliant to the iButton Standard. Its maximum data rate in standard speed  
mode is 15.4kbps and 125kbps in Overdrive. The value of the pullup resistor primarily depends on the network size  
and load conditions. The DS1923 requires a pullup resistor of maximum 2.2kat any speed.  
The idle state for the 1-Wire bus is high. If for any reason a transaction needs to be suspended, the bus MUST be  
left in the idle state if the transaction is to resume. If this does not occur and the bus is left low for more than 16µs  
(Overdrive speed) or more than 120µs (standard speed), one or more devices on the bus may be reset. Note that  
the DS19233 does not quite meet the full 16µs maximum low time of the normal 1-Wire bus Overdrive timing. With  
the DS1923 the bus must be left low for no longer than 12µs at Overdrive to ensure that no DS1923 on the 1-Wire  
bus performs a reset. The DS1923 communicates properly when used in conjunction with a DS2480B or DS2490  
1-Wire driver and adapters that are based on these driver chips.  
35 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Figure 10. HARDWARE CONFIGURATION  
VPUP  
BUS MASTER  
DS1923 1-Wire PORT  
RPUP  
RX  
TX  
DATA  
RX  
TX  
5 µA  
Typ.  
RX = RECEIVE  
TX = TRANSMIT  
100  
Open Drain  
Port Pin  
MOSFET  
TRANSACTION SEQUENCE  
The protocol for accessing the DS1923 through the 1-Wire port is as follows:  
Cꢀ Initialization  
Cꢀ ROM Function Command  
Cꢀ Memory/Control Function Command  
Cꢀ Transaction/Data  
INITIALIZATION  
All transactions on the 1-Wire bus begin with an initialization sequence. The initialization sequence consists of a  
reset pulse transmitted by the bus master followed by presence pulse(s) transmitted by the slave(s). The presence  
pulse lets the bus master know that the DS1923 is on the bus and is ready to operate. For more details, see the  
1-Wire Signaling section.  
1-Wire ROM FUNCTION COMMANDS  
Once the bus master has detected a presence, it can issue one of the eight ROM function commands that the  
DS1923 supports. All ROM function commands are 8 bits long. A list of these commands follows (refer to flowchart  
in Figure 11).  
Read ROM [33h]  
This command allows the bus master to read the DS1923’s 8-bit family code, unique 48-bit serial number, and 8-bit  
CRC. This command can only be used if there is a single slave on the bus. If more than one slave is present on the  
bus, a data collision occurs when all slaves try to transmit at the same time (open-drain produces a wired-AND  
result). The resultant family code and 48-bit serial number results in a mismatch of the CRC.  
Match ROM [55h]  
The Match ROM command, followed by a 64-bit ROM sequence, allows the bus master to address a specific  
DS1923 on a multidrop bus. Only the DS1923 that exactly matches the 64-bit ROM sequence responds to the  
following memory function command. All other slaves will wait for a reset pulse. This command can be used with a  
single or multiple devices on the bus.  
Search ROM [F0h]  
When a system is initially brought up, the bus master might not know the number of devices on the 1-Wire bus or  
their registration numbers. By taking advantage of the wired-AND property of the bus, the master can use a  
process of elimination to identify the registration numbers of all slave devices. For each bit of the registration  
number, starting with the least significant bit, the bus master issues a triplet of time slots. On the first slot, each  
slave device participating in the search outputs the true value of its registration number bit. On the second slot,  
each slave device participating in the search outputs the complemented value of its registration number bit. On the  
third slot, the master writes the true value of the bit to be selected. All slave devices that do not match the bit  
written by the master stop participating in the search. If both of the read bits are zero, the master knows that slave  
36 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
devices exist with both states of the bit. By choosing which state to write, the bus master branches in the romcode  
tree. After one complete pass, the bus master knows the registration number of a single device. Additional passes  
identify the registration numbers of the remaining devices. Refer to App Note 187: 1-Wire Search Algorithm for a  
detailed discussion, including an example.  
Conditional Search [ECh]  
The Conditional Search ROM command operates similarly to the Search ROM command except that only those  
devices, which fulfill certain conditions, participate in the search. This function provides an efficient means for the  
bus master to identify devices on a multidrop system that have to signal an important event. After each pass of the  
conditional search that successfully determined the 64-bit ROM code for a specific device on the multidrop bus,  
that particular device can be individually accessed as if a Match ROM had been issued, since all other devices  
have dropped out of the search process and will be waiting for a reset pulse.  
The DS1923 responds to the conditional search if one of the five alarm flags of the Alarm Status Register (address  
0214h) reads 1. The humidity and temperature alarm only occurs if enabled (see Temperature Sensor Alarm and  
Humidity Alarm). The BOR alarm is always enabled. The first alarm that occurs makes the device respond to the  
Conditional Search command.  
Skip ROM [CCh]  
This command can save time in a single-drop bus system by allowing the bus master to access the memory  
functions without providing the 64-bit ROM code. If more than one slave is present on the bus and, for example, a  
Read command is issued following the Skip ROM command, data collision occurs on the bus as multiple slaves  
transmit simultaneously (open-drain pulldowns produce a wired-AND result).  
Resume Command [A5h]  
The DS1923 needs to be accessed several times before a mission starts. In a multidrop environment this means  
that the 64-bit ROM code after a Match ROM command has to be repeated for every access. To maximize the data  
throughput in a multidrop environment, the Resume function was implemented. This function checks the status of  
the RC bit and, if it is set, directly transfers control to the Memory/Control functions, similar to a Skip ROM  
command. The only way to set the RC bit is through successfully executing the Match ROM, Search ROM or  
Overdrive Match ROM command. Once the RC bit is set, the device can repeatedly be accessed through the  
Resume Command function. Accessing another device on the bus will clear the RC bit, preventing two or more  
devices from simultaneously responding to the Resume Command function.  
Overdrive Skip ROM [3Ch]  
On a single-drop bus this command can save time by allowing the bus master to access the memory/control func-  
tions without providing the 64-bit ROM code. Unlike the normal Skip ROM command, the Overdrive Skip ROM sets  
the DS1923 in the Overdrive mode (OD = 1). All communication following this command has to occur at Overdrive  
speed until a reset pulse of minimum 690µs duration resets all devices on the bus to standard speed (OD = 0).  
When issued on a multidrop bus this command will set all Overdrive-supporting devices into Overdrive mode. To  
subsequently address a specific Overdrive-supporting device, a reset pulse at Overdrive speed has to be issued  
followed by a Match ROM or Search ROM command sequence. This speeds up the time for the search process. If  
more than one slave supporting Overdrive is present on the bus and the Overdrive Skip ROM command is followed  
by a Read command, data collision occurs on the bus as multiple slaves transmit simultaneously (open-drain  
pulldowns will produce a wired-AND result).  
Overdrive Match ROM [69h]  
The Overdrive Match ROM command followed by a 64-bit ROM sequence transmitted at Overdrive Speed allows  
the bus master to address a specific DS1923 on a multidrop bus and to simultaneously set it in Overdrive mode.  
Only the DS1923 that exactly matches the 64-bit ROM sequence will respond to the subsequent memory/control  
function command. Slaves already in Overdrive mode from a previous Overdrive Skip or successful Overdrive  
Match command remains in Overdrive mode. All overdrive-capable slaves return to standard speed at the next  
Reset Pulse of minimum 690µs duration. The Overdrive Match ROM command can be used with a single or  
multiple devices on the bus.  
37 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Figure 11-1. ROM FUNCTIONS FLOW CHART  
Bus Master TX  
From Figure 11, 2nd Part  
Reset Pulse  
From Memory Functions  
Flow Chart (Figure 9)  
OD  
N
OD = 0  
Reset Pulse?  
Y
Bus Master TX ROM  
DS1923 TX  
Function Command  
Presence Pulse  
To Figure 11  
2
nd Part  
33h  
55h  
F0h  
ECh  
N
N
N
Read ROM  
Command?  
Match ROM  
Command?  
Search ROM  
Command?  
Cond. Search  
Command?  
N
Y
Y
Y
Y
RC = 0  
RC = 0  
RC = 0  
RC = 0  
N
Condition Met?  
Y
DS1923 TX Bit 0  
DS1923 TX Bit 0  
Master TX Bit 0  
DS1923 TX Bit 0  
DS1923 TX Bit 0  
Master TX Bit 0  
DS1923 TX  
Family Code  
(1 Byte)  
Master TX Bit 0  
N
N
N
N
N
N
Bit 0  
Bit 0  
Bit 0  
Match?  
Match?  
Match?  
Y
Y
Y
DS1923 TX Bit 1  
DS1923 TX Bit 1  
Master TX Bit 1  
DS1923 TX Bit 1  
DS1923 TX Bit 1  
Master TX Bit 1  
DS1923 TX  
Serial Number  
(6 Bytes)  
Master TX Bit 1  
Bit 1  
Bit 1  
Bit 1  
Match?  
Match?  
Match?  
Y
Y
Y
DS1923 TX Bit 63  
DS1923 TX Bit 63  
Master TX Bit 63  
DS1923 TX Bit 63  
DS1923 TX Bit 63  
Master TX Bit 63  
DS1923 TX  
CRC Byte  
Master TX Bit 63  
N
N
N
Bit 63  
Bit 63  
Bit 63  
Match?  
Match?  
Match?  
Y
Y
Y
To Figure 11  
RC = 1  
RC = 1  
RC = 1  
2
nd Part  
From Figure 11  
2
nd Part  
To Memory Functions  
Flow Chart (Figure 9)  
38 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Figure 11-2. ROM FUNCTIONS FLOW CHART  
To Figure 11, 1st Part  
From Figure 11  
1st Part  
CCh  
A5h  
3Ch  
69h  
Overdrive Match  
ROM?  
N
N
N
N
Skip ROM  
Command?  
Resume  
Overdrive  
Skip ROM?  
Command?  
Y
Y
Y
Y
RC = 0  
RC = 0 ; OD = 1  
RC = 0 ; OD = 1  
N
RC = 1 ?  
Y
Master TX Bit 0  
Y
N
Master  
Bit 0  
TX Reset ?  
Match?  
Y
N
Master TX Bit 1  
N
N
Y
Master  
Bit 1  
TX Reset ?  
Match?  
Y
N
Master TX Bit 63  
Bit 63  
Match?  
Y
From Figure 11  
1st Part  
RC = 1  
To Figure 11  
1st Part  
39 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
1-WIRE SIGNALING  
The DS1923 requires strict protocols to ensure data integrity. The protocol consists of four types of signaling on  
one line: Reset Sequence with Reset Pulse and Presence Pulse, Write-Zero, Write-One and Read-Data. Except for  
the presence pulse the bus master initiates all these signals. The DS1923 can communicate at two different  
speeds, standard speed and Overdrive Speed. If not explicitly set into the Overdrive mode, the DS1923  
communicates at standard speed. While in Overdrive Mode the fast timing applies to all waveforms.  
To get from idle to active, the voltage on the 1-Wire line needs to fall from VPUP below the threshold VTL. To get  
from active to idle, the voltage needs to rise from VILMAX past the threshold VTH. The time it takes for the voltage to  
make this rise is seen in Figure 12 as '' and its duration depends on the pullup resistor (RPUP) used and the  
capacitance of the 1-Wire network attached. The voltage VILMAX is relevant for the DS1923 when determining a  
logical level, not triggering any events.  
The initialization sequence required to begin any communication with the DS1923 is shown in Figure 12. A Reset  
Pulse followed by a Presence Pulse indicates the DS1923 is ready to receive data, given the correct ROM and  
memory function command. If the bus master uses slew-rate control on the falling edge, it must pull down the line  
for tRSTL + tF to compensate for the edge. A tRSTL duration of 690µs or longer will exit the Overdrive Mode returning  
the device to standard speed. If the DS1923 is in Overdrive Mode and tRSTL is no longer than 80µs the devices  
remain in Overdrive Mode.  
Figure 12. INITIALIZATION PROCEDURE “RESET AND PRESENCE PULSES”  
MASTER TX “RESET PULSE” MASTER RX “PRESENCE PULSE”  
tMSP  
VPUP  
VIHMASTER  
VTH  
VTL  
VILMAX  
0V  
tF  
tRSTL  
tPDL  
tRSTH  
tPDH  
MASTER  
tREC  
RESISTOR  
DS1923  
After the bus master has released the line it goes into receive mode (RX). Now the 1-Wire bus is pulled to VPUP  
through the pullup resistor or, in case of a DS2480B driver, by active circuitry. When the threshold VTH is crossed,  
the DS1923 waits for tPDH and then transmits a Presence Pulse by pulling the line low for tPDL. To detect a presence  
pulse, the master must test the logical state of the 1-Wire line at tMSP  
.
The tRSTH window must be at least the sum of tPDHMAX, tPDLMAX, and tRECMIN. Immediately after tRSTH is expired, the  
DS1923 is ready for data communication. In a mixed population network tRSTH should be extended to minimum  
480µs at standard speed and 48µs at Overdrive speed to accommodate other 1-Wire devices.  
Read/Write Time Slots  
Data communication with the DS1923 takes place in time slots, which carry a single bit each. Write time slots  
transport data from bus master to slave. Read time slots transfer data from slave to master. The definitions of the  
write and read time slots are illustrated in Figure 13.  
All communication begins with the master pulling the data line low. As the voltage on the 1-Wire line falls below the  
threshold VTL, the DS1923 starts its internal timing generator that determines when the data line is sampled during  
a write time slot and how long data will be valid during a read-time slot.  
40 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Master-to-Slave  
For a write-one time slot, the voltage on the data line must have crossed the VTH threshold before the write-one  
low time tW1LMAX is expired. For a write-zero time slot, the voltage on the data line must stay below the VTH  
threshold until the write-zero low time tW0LMIN is expired. The voltage on the data line should not exceed VILMAX  
during the entire tW0L or tW1L window. After the VTH threshold has been crossed, the DS1923 needs a recovery time  
tREC before it is ready for the next time slot.  
Figure 13. READ/WRITE TIMING DIAGRAM  
Write-One Time Slot  
tW1L  
VPUP  
VIHMASTER  
VTH  
VTL  
VILMAX  
0V  
tF  
tSLOT  
RESISTOR  
MASTER  
Write-Zero Time Slot  
tW0L  
VPUP  
VIHMASTER  
VTH  
VTL  
VILMAX  
0V  
tREC  
tF  
tSLOT  
RESISTOR  
MASTER  
Read-Data Time Slot  
tMSR  
tRL  
VPUP  
VIHMASTER  
VTH  
Master  
Sampling  
Window  
VTL  
VILMAX  
0V  
tF  
tREC  
DS1923  
tSLOT  
RESISTOR  
MASTER  
41 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Slave-to-Master  
A read-data time slot begins like a write-one time slot. The voltage on the data line must remain below VTL until the  
read-low time tRL is expired. During the tRL window, when responding with a 0, the DS1923 starts pulling the data  
line low; its internal timing generator determines when this pulldown ends and the voltage starts rising again. When  
responding with a 1, the DS1923 does not hold the data line low at all, and the voltage starts rising as soon as tRL  
is over.  
The sum of tRL + (rise rime) on one side and the internal timing generator of the DS1923 on the other side define  
the master sampling window (tMSRMIN to tMSRMAX) in which the master must perform a read from the data line. For  
most reliable communication, tRL should be as short as permissible and the master should read close to but no later  
than tMSRMAX. After reading from the data line, the master must wait until tSLOT is expired. This guarantees sufficient  
recovery time tREC for the DS1923 to get ready for the next time slot.  
Improved Network Behavior  
In a 1-Wire environment line termination is possible only during transients controlled by the bus master (1-Wire  
driver). 1-Wire networks, therefore are susceptible to noise of various origins. Depending on the physical size and  
topology of the network, reflections from end points and branch points can add up or cancel each other to some  
extent. Such reflections are visible as glitches or ringing on the 1-Wire communication line. Noise coupled onto the  
1-Wire line from external sources can also result in signal glitching. A glitch during the rising edge of a time slot can  
cause a slave device to lose synchronization with the master and, as a consequence, result in a search ROM  
command coming to a dead end or cause a device-specific function command to abort. For better performance in  
network applications, the DS1923 uses a new 1-Wire front end, which makes it less sensitive to noise and also  
reduces the magnitude of noise injected by the slave device itself.  
The 1-Wire front end of the DS1923 differs from traditional slave devices in four characteristics.  
1) The falling edge of the presence pulse has a controlled slew rate. This provides a better match to the line  
impedance than a digitally switched transistor, converting the high-frequency ringing known from traditional  
devices into a smoother low-bandwidth transition. The slew-rate control is specified by the parameter tFPD  
,
which has different values for standard and Overdrive speed.  
2) There is additional low-pass filtering in the circuit that detects the falling edge at the beginning of a time slot.  
This reduces the sensitivity to high-frequency noise. This additional filtering does not apply at Overdrive speed.  
3) There is a hysteresis at the low-to-high switching threshold VTH. If a negative glitch crosses VTH but does not go  
below VTH - VHY, it will not be recognized (Figure 14, Case A). The hysteresis is effective at any 1-Wire speed.  
4) There is a time window specified by the rising edge hold-off time tREH during which glitches are ignored, even if  
they extend below VTH - VHY threshold (Figure 14, Case B, tGL < tREH). Deep-voltage droops or glitches that  
appear late after crossing the VTH threshold and extend beyond the tREH window cannot be filtered out and are  
taken as beginning of a new time slot (Figure 14, Case C, tGL O tREH).  
Only devices that have the parameters tFPD, VHY, and tREH specified in their electrical characteristics use the  
improved 1-Wire front end.  
Figure 14. NOISE SUPPRESSION SCHEME  
tREH  
tREH  
VPUP  
VTH  
VHY  
Case A  
Case B  
Case C  
tGL  
0V  
tGL  
42 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
CRC GENERATION  
With the DS1923 there are two different types of CRCs (Cyclic Redundancy Checks). One CRC is an 8-bit type  
and is stored in the most significant byte of the 64-bit ROM. The bus master can compute a CRC value from the  
first 56 bits of the 64-bit ROM and compare it to the value stored within the DS1923 to determine if the ROM data  
has been received error-free. The equivalent polynomial function of this CRC is: X8 + X5 + X4 + 1. This 8-bit CRC is  
received in the true (noninverted) form. It is computed at the factory and lasered into the ROM.  
The other CRC is a 16-bit type, generated according to the standardized CRC16-polynomial function x16 + x15 + x2  
+ 1. This CRC is used for error detection when reading register pages or the data log memory using the Read  
Memory with CRC command and for fast verification of a data transfer when writing to or reading from the  
scratchpad. In contrast to the 8-bit CRC, the 16-bit CRC is always communicated in the inverted form. A CRC  
generator inside the DS1923 (Figure 15) calculates a new 16-bit CRC as shown in the command flow chart of  
Figure 9. The bus master compares the CRC value read from the device to the one it calculates from the data and  
decides whether to continue with an operation or to reread the portion of the data with the CRC error. With the  
initial pass through the Read Memory with CRC flow chart, the 16-bit CRC value is the result of shifting the  
command byte into the cleared CRC generator, followed by the 2 address bytes and the data bytes. The password  
is excluded from the CRC calculation. Subsequent passes through the Read Memory with CRC flow chart generate  
a 16-bit CRC that is the result of clearing the CRC generator and then shifting in the data bytes.  
With the Write Scratchpad command the CRC is generated by first clearing the CRC generator and then shifting in  
the command code, the Target Addresses, TA1 and TA2, and all the data bytes. The DS1923 transmits this CRC  
only if the data bytes written to the scratchpad include scratchpad ending offset 11111b. The data can start at any  
location within the scratchpad.  
With the Read Scratchpad command the CRC is generated by first clearing the CRC generator and then shifting in  
the command code, the Target Addresses, TA1 and TA2, the E/S byte, and the scratchpad data starting at the  
target address. The DS1923 transmits this CRC only if the reading continues through the end of the scratchpad,  
regardless of the actual ending offset. For more information on generating CRC values see the Dallas Application  
Note 27.  
Figure 15. CRC-16 HARDWARE DESCRIPTION AND POLYNOMIAL  
Polynomial = X16 + X15 + X2 + 1  
1st  
2nd  
3rd  
4th  
5th  
6th  
7th  
8th  
STAGE STAGE  
X1  
STAGE STAGE STAGE STAGE STAGE STAGE  
X0  
X2  
X3  
X4  
X5  
X6  
X7  
9th  
10th  
11th  
12th  
13th  
14th  
15th  
16th  
STAGE STAGE STAGE STAGE STAGE STAGE STAGE  
STAGE  
X8  
X9  
X10  
X11  
X12  
X13  
X14  
X15  
X16  
CRC  
OUTPUT  
INPUT DATA  
43 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Command-Specific 1-Wire Communication Protocol—Legend  
Symbol  
Description  
RST  
PD  
1-Wire Reset Pulse generated by master  
1-Wire Presence Pulse generated by slave  
Command and data to satisfy the ROM function protocol  
Command "Write Scratchpad"  
Select  
WS  
RS  
CPS  
RMC  
CM  
FC  
SM  
STP  
TA  
Command "Read Scratchpad"  
Command "Copy Scratchpad with Password"  
Command "Read Memory with Password & CRC"  
Command "Clear Memory with Password "  
Command "Forced Conversion"  
Command "Start Mission with Password"  
Command "Stop Mission with Password"  
Target Address TA1, TA2  
Target Address TA1, TA2 with E/S byte  
Transfer of as many data bytes as are needed to reach the scratchpad offset 1Fh  
Transfer of as many data bytes as are needed to reach the end of a memory page  
Transfer of as many data bytes as are needed to reach the end of the data log memory  
Transfer of 8 bytes that either represent a valid password or acceptable dummy data  
Transfer of 32 bytes  
Transfer of an undetermined amount of data  
Transmission of one byte FFh  
Transfer of an inverted CRC16  
Indefinite loop where the master reads FF bytes  
Indefinite loop where the master reads AA bytes  
TA-E/S  
<data to EOS>  
<data to EOP>  
<data to EOM>  
<PW/dummy>  
<32 bytes>  
<data>  
FFh  
CRC16\  
FF loop  
AA loop  
Command-Specific 1-Wire Communication Protocol—Color Codes  
Master to slave  
Slave to master  
Write Scratchpad, Reaching the End of the Scratchpad (Cannot Fail)  
RST  
PD  
Select  
WS  
TA  
<data to EOS> CRC16\  
FF loop  
Read Scratchpad (Cannot Fail)  
RST  
PD  
Select  
RS  
TA-E/S  
<data to EOS> CRC16\  
FF loop  
Copy Scratchpad with Password (Success)  
RST  
PD  
Select  
CPS  
TA-E/S  
<PW/dummy>  
AA loop  
44 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Copy Scratchpad with Password (Fail TA-E/S or Password)  
RST  
PD  
Select  
CPS  
TA-E/S  
<PW/dummy>  
FF loop  
Read Memory with Password and CRC (Success)  
RST  
PD  
Select  
RMC  
TA  
<PW/dummy>  
<data to EOP> CRC16\  
<32 bytes> CRC16\  
FF loop  
Loop  
Read Memory with Password and CRC (Fail Password or Address)  
RST  
PD  
Select  
RMC  
TA  
<PW/dummy>  
FF loop  
Clear Memory with Password  
RST  
PD  
Select  
CM  
<PW/dummy>  
FFh  
FF loop  
To verify success, read the General Status Register at address 0215h. If MEMCLR is 1, the command was  
executed successfully.  
Forced Conversion  
RST  
PD  
Select  
FC  
FFh  
FF loop  
To read the result and to verify success, read the addresses 020Ch to 020Fh (results) and the Device Sample  
Counter at address 0223h to 0225h. If the count has incremented, the command was executed successfully.  
Start Mission with Password  
RST  
PD  
Select  
SM  
<PW/dummy>  
FFh  
FF loop  
To verify success, read the General Status Register at address 0215h. If MIP is 1 and MEMCLR is 0, the command  
was executed successfully.  
Stop Mission with Password  
RST  
PD  
Select  
STP  
<PW/dummy>  
FFh  
FF loop  
To verify success, read the General Status Register at address 0215h. If MIP is 0, the command was executed  
successfully.  
45 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
MISSION EXAMPLE: PREPARE AND START A NEW MISSION  
Assumption: The previous mission has been ended by using the Stop Mission command. Passwords are not  
enabled. The device is a DS1923.  
Starting a mission requires three steps:  
Step 1: clear the data of the previous mission  
Step 2: write the setup data to register page 1  
Step 3: start the mission  
STEP 1  
Clear the previous mission.  
With only a single device connected to the bus master, the communication of step 1 looks like this:  
MASTER MODE  
DATA (LSB FIRST)  
(Reset)  
COMMENTS  
TX  
RX  
TX  
TX  
TX  
TX  
TX  
RX  
Reset pulse  
(Presence)  
CCh  
96h  
<8 FFh bytes>  
FFh  
(Reset)  
(Presence)  
Presence pulse  
Issue “skip ROM” command  
Issue “clear memory” command  
Send dummy password  
Send dummy byte  
Reset pulse  
Presence pulse  
STEP 2  
During the setup, the device needs to learn the following information:  
Cꢀ Time and Date  
Cꢀ Sample Rate  
Cꢀ Alarm Thresholds  
Cꢀ Alarm Controls (Response to Conditional Search)  
Cꢀ General Mission Parameters (e.g., Channels to Log and Logging Format, Rollover, Start Mode)  
Cꢀ Mission Start Delay  
The following data will setup the DS1923 for a mission that logs temperature and humidity using 8-bit format for  
both. Such a mission could last up to 28 days until the 8192-byte data log memory is full.  
ADDRESS  
0200h  
0201h  
0202h  
0203h  
0204h  
0205h  
0206h  
0207h  
0208h  
0209h  
020Ah  
020Bh  
020Ch  
020Dh  
020Eh  
020Fh  
DATA  
00h  
30h  
15h  
15h  
05h  
04h  
0Ah  
00h  
66h  
7Ah  
6Fh  
9Eh  
FFh  
FFh  
FFh  
FFh  
EXAMPLE VALUES  
FUNCTION  
15:30:00 hours  
Time  
Date  
15th of May in 2004  
Every 10 minutes (EHSS = 0)  
Sample rate  
10°C low  
Temperature alarm  
Threshold  
Humidity alarm threshold,  
No software correction used  
20°C high  
40%RH low  
70%RH high  
(don’t care)  
Clock through  
Read-only registers  
46 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
ADDRESS  
0210h  
DATA  
03h  
FFh  
EXAMPLE VALUES  
FUNCTION  
Temperature Alarm Control  
Humidity Alarm Control  
Enable high and low alarm  
0211h  
Enable high and low alarm  
0212h  
01h  
On (enabled), EHSS = 0 (low sample rate)  
RTC oscillator control, sample rate  
selection  
0213h  
0214h  
0215h  
0216h  
0217h  
0218h  
C3h  
FFh  
FFh  
5Ah  
00h  
00h  
Normal start; no rollover; 8-bit logging  
(don’t care)  
General mission control  
Clock through  
Read-only registers  
90 minutes  
Mission start delay  
With only a single device connected to the bus master, the communication of step 2 looks like this:  
MASTER MODE  
DATA (LSB FIRST)  
(Reset)  
(Presence)  
CCh  
COMMENTS  
TX  
RX  
TX  
TX  
TX  
TX  
TX  
TX  
TX  
RX  
TX  
TX  
RX  
RX  
RX  
RX  
TX  
RX  
TX  
TX  
TX  
TX  
TX  
TX  
TX  
RX  
Reset pulse  
Presence pulse  
Issue “skip ROM” command  
Issue “write scratchpad” command  
TA1, beginning offset=00h  
TA2, address=0200h  
Write 25 bytes of data to scratchpad  
Write through the end of the scratchpad  
Reset pulse  
0Fh  
00h  
02h  
<25 data bytes>  
<7 FFh bytes>  
(Reset)  
(Presence)  
CCh  
Presence pulse  
Issue “skip ROM” command  
Issue “read scratchpad” command  
Read TA1, beginning offset=00h  
Read TA2, address=0200h  
Read E/S, ending offset=1Fh, flags=0h  
Read scratchpad data and verify  
Reset pulse  
AAh  
00h  
02h  
1Fh  
<32 data bytes>  
(Reset)  
(Presence)  
CCh  
Presence pulse  
Issue “skip ROM” command  
Issue “copy scratchpad” command  
TA1  
99h  
00h  
TA2  
E/S  
(AUTHORIZATION CODE)  
02h  
1Fh  
<8 FFh bytes>  
(Reset)  
(Presence)  
Send dummy password  
Reset pulse  
Presence pulse  
47 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
STEP 3  
Start the new mission.  
With only a single device connected to the bus master, the communication of step 3 looks like this:  
MASTER MODE  
DATA (LSB FIRST)  
(Reset)  
COMMENTS  
TX  
RX  
TX  
TX  
TX  
TX  
TX  
RX  
Reset pulse  
(Presence)  
CCh  
CCh  
<8 FFh bytes>  
FFh  
(Reset)  
(Presence)  
Presence pulse  
Issue “skip ROM” command  
Issue “start mission” command  
Send dummy password  
Send dummy byte  
Reset pulse  
Presence pulse  
If step 3 was successful, the MIP bit in the General Status Register will be 1, the MEMCLR bit will be 0 and the  
mission start delay will count down.  
SOFTWARE CORRECTION ALGORITHM FOR TEMPERATURE  
The accuracy of high-resolution temperature conversion results (forced conversion as well as temperature logs)  
can be improved through a correction algorithm. The data needed for this software correction is stored in the  
calibration memory (memory page 18). It consists of reference temperature (Tr) and conversion result (Tc) for two  
different temperatures, as shown below. See section Temperature Conversion for the binary number format.  
ADDRESS  
0240h  
0241h  
0242h  
0243h  
0244h  
0245h  
0246h  
0247h  
DESIGNATOR  
Tr2H  
DESCRIPTION  
Cold reference temperature, high-byte  
Tr2L  
Cold reference temperature, low-byte  
Tc2H  
Conversion result at cold reference temperature, high-byte  
Conversion result at cold reference temperature, low-byte  
Hot reference temperature, high-byte  
Tc2L  
Tr3H  
Tr3L  
Hot reference temperature, low-byte  
Tc3H  
Conversion result at hot reference temperature, high-byte  
Conversion result at hot reference temperature, low-byte  
Tc3L  
The software correction algorithm requires two additional values, which are not stored in the device. For the  
DS1923 these values are Tr1 = 60°C and Offset = 41.  
The correction algorithm consists of two steps, preparation and execution. The preparation step first converts  
temperature data from binary to decimal °C format. Next three coefficients A, B, and C are computed. In the  
execution step the temperature reading as delivered by the DS1923 is first converted from the low/high-byte format  
(TcL, TcH) to °C (Tc) and then corrected to Tcorr. Once step 1 is performed, the three coefficients can be used  
repeatedly to correct any temperature reading and temperature log of the same device.  
Step 1. Preparation  
Tr1 = 60  
Offset = 41  
Tr2 = Tr2H/2 + Tr2L/512 - Offset  
Tr3 = Tr3H/2 + Tr3L/512 - Offset  
Tc2 = Tc2H/2 + Tc2L/512 - Offset  
Tc3 = Tc3H/2 + Tc3L/512 - Offset  
Err2 = Tc2 - Tr2  
(convert from binary to °C)  
(convert from binary to °C)  
(convert from binary to °C)  
(convert from binary to °C)  
Err3 = Tc3 - Tr3  
Err1 = Err2  
B = (Tr22 - Tr12) * (Err3 - Err1)/[(Tr22 - Tr12) * (Tr3 - Tr1) + (Tr32 - Tr12) * (Tr1 - Tr2)]  
A = B * (Tr1 – Tr2) / (Tr22 - Tr12)  
C = Err1 - A * Tr12 - B * Tr1  
48 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Step 2. Execution  
Tc = TcH/2 + TcL/512 - Offset  
(convert from binary to °C)  
(the actual correction)  
Tcorr = Tc - (A * Tc2 + B * Tc + C)  
Numerical Correction Example  
Converted Data from Calibration Memory  
Tr2 = -10.1297°C  
Error Values  
Err2 = 0.0672°C  
Err3 = -0.1483°C  
Err1 = Err2  
Tr3 = 24.6483°C  
Tc2 = -10.0625°C  
Tc3 = 24.5°C  
Resulting Correction Coefficients  
B = -0.008741  
Application of Correction Coefficients to Sample Reading  
Tc = 22.500000°C  
A = 0.000175/°C  
Tcorr = 22.647275°C  
C = -0.039332°C  
NOTE: The software correction requires floating point arithmetic (24-bit or better). Suitable math libraries for  
microcontrollers are found on various websites and are included in cross-compilers.  
SOFTWARE CORRECTION ALGORITHM FOR HUMIDITY  
The accuracy of humidity conversion results (forced conversion as well as logged data) can be improved through a  
correction algorithm. The data needed for this software correction is stored in the calibration memory (memory  
page 18). It consists of reference humidity (Hr) and conversion result (Hc) for three different humidity levels, as  
shown below. The data is taken at 25°C.  
Address  
0248h  
0249h  
024Ah  
024Bh  
024Ch  
024Dh  
024Eh  
024Fh  
0250h  
0251h  
0252h  
0253h  
Designator  
Hr1H  
Hr1L  
Description  
Low reference humidity, high-byte  
Low reference humidity, low-byte  
Hc1H  
Hc1L  
Hr2H  
Hr2L  
Conversion result at low reference humidity, high-byte  
Conversion result at low reference humidity, low-byte  
Medium reference humidity, high-byte  
Medium reference humidity, low-byte  
Hc2H  
Hc2L  
Hr3H  
Hr3L  
Conversion result at medium reference humidity, high-byte  
Conversion result at medium reference humidity, low-byte  
High reference humidity, high-byte  
High reference humidity, low-byte  
Hc3H  
Hc3L  
Conversion result at high reference humidity, high-byte  
Conversion result at high reference humidity, low-byte  
The correction algorithm consists of two steps: preparation and execution. The preparation step first converts  
humidity data from binary to decimal %RH format. Next three coefficients A, B, and C are computed. In the  
execution step the humidity reading as delivered by the DS1923 (raw data) is first converted from the low/high-byte  
format (HcL, HcH) to %RH (Hc) and then corrected to Hcorr. Once step 1 is performed, the three coefficients can  
be used repeatedly to correct any humidity reading and humidity log of the same device.  
49 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Step 1. Preparation  
For the humidity data in the calibration memory, the lower four bits of each low byte are set to 0. This simplifies the  
conversion from the binary data format to raw %RH values to a one-line equation.  
Hr1 = ((Hr1H * 256 + Hr1L) * 5.02/65536 - 0.958)/0.0307  
Hr2 = ((Hr2H * 256 + Hr2L) * 5.02/65536 - 0.958)/0.0307  
Hr3 = ((Hr3H * 256 + Hr3L) * 5.02/65536 - 0.958)/0.0307  
Hc1 = ((Hc1H * 256 + Hc1L) * 5.02/65536 - 0.958)/0.0307  
Hc2 = ((Hc2H * 256 + Hc2L) * 5.02/65536 - 0.958)/0.0307  
Hc3 = ((Hc3H * 256 + Hc3L) * 5.02/65536 - 0.958)/0.0307  
(convert from binary to %RH)  
Err1 = Hc1 - Hr1  
Err2 = Hc2 - Hr2  
Err3 = Hc3 - Hr3  
B =  
[(Hr22 - Hr12) * (Err3 - Err1) + Hr3²*(Err1 - Err2) + Hr1² * (Err2 - Err1)]/[(Hr22 - Hr12) * (Hr3 - Hr1) + (Hr32 -  
Hr12) * (Hr1 - Hr2)]  
A =  
C =  
[Err2 - Err1 + B * (Hr1 - Hr2)] / (Hr22 - Hr12)  
Err1 - A * Hr12 - B * Hr1  
Step 2. Execution  
Hc = ((HcH * 256 + HcL) * 5.02/65536 - 0.958)/0.0307  
Hcorr = Hc - (A * Hc2 + B * Hc + C)  
(convert from binary to %RH)  
(the actual correction)  
Numerical Correction Example  
Converted Data from Calibration Memory  
Hr1 = 20%RH  
Error Values  
Hr2 = 60%RH  
Err1 = -2.35%RH  
Err2 = -3.59%RH  
Err3 = -0.43%RH  
Hr3 = 90%RH  
Hc1 = 17.65%RH  
Hc2 = 56.41%RH  
Hc3 = 89.57%RH  
Resulting Correction Coefficients  
B = -0.186810  
Application of Correction Coefficients to Sample Reading  
Hc = 8.9%RH  
A = 0.001948/%RH  
Hcorr = 9.8%RH  
C = 0.607143%RH  
NOTE: The software correction requires floating point arithmetic (24-bit or better). Suitable math libraries for  
microcontrollers are found on various websites and are included in cross-compilers.  
50 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
RH TEMPERATURE COMPENSATION  
The data for the software correction of humidity is taken at 25°C. Since the temperature characteristics of the  
humidity sensor are known, humidity readings taken at other temperatures can be corrected, provided the  
temperature at the time of the humidity conversion is also known. Therefore, to obtain the most accurate humidity  
results, both temperature and humidity should be logged.  
Temperature compensation uses the following equation:  
HTcorr = (Hcorr * K + *(T-25°C) - *(T-25°C)²)/(K + *(T-25°C)- *(T-25°C)²)  
Hcorr is the humidity reading with the software correction algorithm for humidity already applied, as explained in  
the previous section. The function and values of the other parameters are explained in the table below.  
Name  
Function  
Value  
T
K
Temperature at the time of humidity conversion  
Humidity sensor conversion constant  
Linear compensation, enumerator  
(in °C)  
0.0307  
0.0035/°C  
0.000043/°C²  
Quadratic compensation, enumerator  
>15°C: 0.00001/°C  
Linear compensation, denominator  
?15°C: -0.00005/°C  
Quadratic compensation, denominator  
0.000002/°C²  
Numerical Temperature Compensation Example  
Sample Input Data  
Application of Correction Coefficients to Sample Reading  
= 0.00001/°C  
T = 70°C  
Hcorr = 24.445%RH  
HTcorr = (24.445 * 0.0307 + 0.0035 * 45 - 0.000043 * 45²)/ (0.0307  
+ 0.00001 * 45 - 0.000002 * 45²)  
HTcorr = 30.291 %  
SOFTWARE SATURATION DRIFT COMPENSATION  
Capacitive humidity sensors read higher humidity values than the actual humidity level when they are exposed to a  
high-humidity environment for an extended time period. The DS1923’s humidity sensor produces readings that are  
higher than the actual humidity when exposed to humidity levels of about 70%RH and higher. This shift continues  
to increase while the device remains at 70%RH and above. This effect is called saturation drift, or sometimes  
referred to as hyteresis. This drift is reversible. Readings return to their regular level when the DS1923 is removed  
from a high-humidity environment.  
It is possible to compensate for most of the error introduced by the saturation drift by post-processing temperature  
and humidity logs using the equation below, which is based on laboratory tests and curve-fitting techniques.  
N
0.0156 * ARHk * 2.54-0.3502*k  
HScorr = HTcorr - ꢀ  
1 + (Tk - 25) / 100  
k = 1  
ARHk  
Tk  
The average software corrected and temperature compensated humidity reading of the kth hour that the  
device is continuously exposed to 70%RH or higher.  
The average software corrected temperature reading of the kth hour that the device is continuously  
exposed to 70%RH or higher.  
N
The number of hours that the device is continuously exposed to 70%RH or higher.  
HTcorr The humidity reading at the end of the Nth hour with the software correction algorithm for humidity and  
temperature compensation already applied. See previous sections for details.  
The numbers in the equation are derived from curve fitting. They apply to a time scale in hours.  
51 of 52  
DS1923: Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory  
Numerical Saturation Drift Compensation Example  
Sample Input Data (N = 8)  
Application of Correction Algorithm  
k (hour)  
Tk (°C)  
25.1  
25.0  
24.9  
25.0  
25.1  
25.1  
25.0  
24.9  
ARHk (%RH)  
Partial Corrections (individual addends)  
1
2
3
4
5
6
7
8
91.1  
92.5  
92.9  
93.1  
93.2  
93.3  
93.6  
93.7  
1.024321  
0.751140  
0.544824  
0.393535  
0.283950  
0.205086  
0.148591  
0.107428  
HTcorr = 93.70207 %RH  
Sum of partial corrections:  
3.458875  
HScorr  
HScorr  
=
=
=
HTcorr - Sum of partial corrections  
93.70207 %RH - 3.458875%RH  
90.24319%RH  
The data in this example was taken from devices that were exposed for several hours to 90%RH at 25°C in a test  
chamber. The drift per hour decreases the longer the device is exposed to high humidity. The correction algorithm  
compensates for the drift reasonably well. Since the error introduced by the saturation is relatively small, for some  
applications compensation may not be necessary.  
52 of 52  

相关型号:

DS1923-F5#

Analog Circuit, 1 Func, PACKAGE-2
MAXIM

DS1923_1

Hygrochron Temperature/Humidity Logger iButton with 8kB Data Log Memory
DALLAS

DS1923_11

Hygrochron Temperature/Humidity Logger
MAXIM

DS19310

Color TV Owners Manual Manuel dinstructions du teleouleur Color TV Manual Del Propietario
SANYO

DS1961S

1kb Protected EEPROM iButton With SHA-1 Engine
DALLAS

DS1961S-F3

1kb Protected EEPROM iButton With SHA-1 Engine
DALLAS

DS1961S-F3

EEPROM, 1KX1, Serial, CMOS, MEDB2, MICROCAN-2
MAXIM

DS1961S-F3#

EEPROM, 1KX1, Serial, CMOS, MEDB2, MICROCAN-2
MAXIM

DS1961S-F3+

EEPROM, 1KX1, Serial, CMOS, MEDB2, MICROCAN-2
MAXIM

DS1961S-F5

1kb Protected EEPROM iButton With SHA-1 Engine
DALLAS

DS1961S-F5#

EEPROM, 1KX1, Serial, CMOS, MEDB2, ROHS COMPLIANT, MICROCAN-2
MAXIM

DS1961S-F5+

EEPROM, 1KX1, Serial, CMOS, MEDB2, MICROCAN-2
MAXIM