iButton Overview (iButton Standards CH.2) - kr1spyK/DS1991SecureViewer GitHub Wiki

Chapter 2: Product Overview

I. Common Features

A. Mechanics

The iButton MicroCan is 16.3 mm in diameter. There are two standard thicknesses: 3.1 mm and 5.9 mm. Devices that are powered by the master via the data line (parasite–powered) are available in both package types. All other devices are available in the 5.9 mm MicroCan only. Figure 2–1 shows the mechanical outlines of both versions. Since the lid of either MicroCan is the same,both can use the same probe. The flange at the bottom of the MicroCan allows for flexible mounting. Further details of iButton mechanics are found in Chapter 3.

B. Electrical Behavior

Other features common to all iButtons are the serial 1–Wire protocol, presence detect, and communication in discrete time slots. These electrical details are discussed in Chapter 4.

C. ROM Registration Number

A laser–programmed ROM–section, containing a 6–byte device–unique serial number, a one–byte family code, and a CRC verification byte, is also common to all iButtons. Details about the CRC are found in Chapter 5.
C.1. Family Code
The family code is a type–specific value that references the device’s functionality and capacity. The lower seven bits of the family code indicate the device type; the most significant bit of the family code is used to flag custom-er–specific versions. Thus 128 different standard devices can be coded.
C.2. Serial Number
The 48–bit (6–byte) serial number can represent any decimal number up to 2.81*10^14. If 1000 billion (1.0 *10^12) devices of the same family code were produced per year, this number range would be sufficient for 281 years. In addition there are 128 family codes available.If the most significant bit of the family code is set, the device’s functionality is still the same as that of the standard device, but the serial number follows special rules.

II. Devices

A. MicroCans

A.2. DS1991 MultiKey iButton
Like the DS1990A, the DS1991 incorporates a serial number with family code and CRC. To this it adds a 64–byte nonvolatile scratchpad RAM, and three independent password–secured nonvolatile RAM areas of 48 bytes each, called subkeys. For every secured RAM area there is also a public identification field of eight bytes. Figure 2–3 illustrates the internal organization of the device.The DS1991 is designed as a high security electronic key that allows access to different applications with only one device. In fact, each of the three keys can be regarded as a protected application file. The ID field contains the file name, and the secured RAM houses the access code. Thus several persons can use the same access code although they carry different samples of the DS1991. The DS1991 is tamper–proof. If the wrong password is used to read data, the device will output random numbers. If a new password is programmed, all data in the subkey data field is automatically erased. Although direct write access is possible, the scratchpad should be used as intermediate storage to verify data before it is copied to its final place. This ensures that garbled data is not accepted, even if the contact should break during communication. Depending on the application,the scratchpad alternatively can be used as unprotected, general–purpose read/write memory.

DATA STRUCTURE DS1991 Figure 2-3

ROM

high address MSB--------------LSB low address
CRC byte 6 byte serial number family code [02]

pages (secured: 0,1,2; scratchpad on page 3)

high address low address
48 byte secure RAM 8 byte password 8 byte ID field
48 byte secure RAM 8 byte password 8 byte ID field
48 byte secure RAM 8 byte password 8 byte ID field
-------------64 byte unprotected scratchpad-------

iButton DEVICES Table 2-1

Device Type Family Code Memory Bits Protected Bits RTC Interval Cycle
DS1990A 01 --- --- --- --- ---
DS1991 02 512, NVRAM 3 * 384 --- --- ---
DS1992 08 1K, NVRAM --- --- --- ---
DS1993 06 4K, NVRAM --- --- --- ---
DS1994 04 4K, NVRAM --- yes yes yes
DS1995 0A 16K, NVRAM --- --- --- ---
DS1996 0C 64K, NVRAM --- --- --- ---
DS1982 09 1K, EPROM --- --- --- ---
DS1985 0B 16K, EPROM --- --- --- ---
DS1986 0F 64K, EPROM --- --- --- ---
DS1920 10 16, EEPROM TEMPERATURE iButton