
DS1982
062598 5/21
1024–BIT EPROM
The memory map in Figure 5 shows the 1024–bit
EPROM section of the DS1982 which is configured as
four pages of 32 bytes each. The 8–bit scratchpad is an
additional register that acts as a buffer when program-
ming the memory. Data is first written to the scratchpad
and then verified by reading an 8–bit CRC from the
DS1982 that confirms proper receipt of the data. If the
buffer contents are correct, a programming voltage
should be applied and the byte of data will be written into
the selected address in memory. This process insures
data integrity when programming the memory. The
details for reading and programming the 1024–bit
EPROM portion of the DS1982 are given in the Memory
Function Commands section.
EPROM STATUS BYTES
In addition to the 1024 bits of data memory the DS1982
provides 64 bits of Status Memory accessible with sep-
arate commands.
The EPROM Status Bytes can be read or programmed
to indicate various conditions to the software interrogat-
ing the DS1982. The first byte of the EPROM Status
Memory contains the Write Protect Page bits which
inhibit programming of the corresponding page in the
1024–bit main memory area if the appropriate write
protection bit is programmed. Once a bit has been pro-
grammed in the Write Protect Page byte, the entire 32
byte page that corresponds to that bit can no longer be
altered but may still be read.
The next four bytes of the EPROM Status Memory con-
tain the Page Address Redirection Bytes which indicate
if one or more of the pages of data in the 1024–bit
EPROM section have been invalidated and redirected
to the page address contained in the appropriate
redirection byte. The hardware of the DS1982 makes no
decisions based on the contents of the Page Address
Redirection Bytes. These additional bytes of Status
EPROM allow for the redirection of an entire page to
another page address, indicating that the data in the
original page is no longer considered relevant or valid.
With EPROM technology, bits within a page can be
changed from a logical 1 to a logical 0 by programming,
but cannot be changed back. Therefore, it is not pos-
sible to simply rewrite a page if the data requires chang-
ing or updating, but with space permitting, an entire
page of data can be redirected to another page within
the DS1982 by writing the one’s complement of the new
page address into the Page Address Redirection Byte
that corresponds to the original (replaced) page.
This architecture allows the user’s software to make a
“data patch” to the EPROM by indicating that a particu-
lar page or pages should be replaced with those indi-
cated in the Page Address Redirection Bytes.
If a Page Address Redirection Byte has a FFH value, the
data in the main memory that corresponds to that page
is valid. If a Page Address Redirection Byte has some
other hex value, the data in the page corresponding to
that redirection byte is invalid, and the valid data can
now be found at the one’s complement of the page
address indicated by the hex value stored in the
associated Page Address Redirection Byte. A value of
FDH in the redirection byte for page 1, for example,
would indicate that the updated data is now in page 2.
The details for reading and programming the EPROM
status memories portion of the DS1982 is given in the
Memory Function Commands section.
MEMORY FUNCTION COMMANDS
The “Memory Function Flow Chart” (Figure 6) describes
the protocols necessary for accessing the various data
fields within the DS1982. The Memory Function Control
section, 8–bit scratchpad, and the Program Voltage
Detect circuit combine to interpret the commands
issued by the bus master and create the correct control
signals within the device. A three–byte protocol is
issued by the bus master. It is comprised of a command
byte to determine the type of operation and two address
bytes to determine the specific starting byte location
within a data field. The command byte indicates if the
device is to be read or written. Writing data involves not
only issuing the correct command sequence but also
providing a 12 volt programming voltage at the appropri-
ate times. To execute a write sequence, a byte of data is
first loaded into the scratchpad and then programmed
into the selected address. Write sequences always
occur a byte at a time. To execute a read sequence, the
starting address is issued by the bus master and data is
read from the part beginning at that initial location and
continuing to the end of the selected data field or until a
reset sequence is issued. All bits transferred to the
DS1982 and received back by the bus master are sent
least significant bit first.