
DS1616
22 of 29
General Communications Format
Communication with the DS1616 in both synchronous and asynchronous modes is accomplished by first
writing a command to the device.  The command is then followed by the parameters and/or data required
by the command.  The command set for the DS1616 can be seen in Table 3.  Reads and writes to the
DS1616 differ in that writes are performed one byte at a time while reads are performed in page long (up
to 32-byte) bursts.  Writing 1 byte at a time simply means that a write command has to be issued before
each byte of data that is written.  For example, writing to the user NV RAM requires that the Write User
NV RAM command be written followed by the address to be written and then the actual data byte.
Writing a second data byte would require the same procedure with a new address specified.  Reads,
however, are accomplished in bursts.  For example, if an end user wants to read data from a specific page
he would first issue the Read Page command, followed by the address to begin reading.  After the
DS1616 receives the command and starting address, it will immediately transmit the data that resides at
the given address location.  However, rather than stop with that single byte of data, the DS1616 will
continue transmitting the next byte of data and will continue transmitting data until the page boundary is
reached.  A page read can begin at any address, but will always end at the page boundary.  Thus, a page
read can range from 1 to 32 bytes.  It should be noted that a read can be terminated at any time when
communicating in synchronous mode by pulling 
RST
  to ground.  However, in asynchronous mode, the
DS1616 will not stop transmitting data until the page boundary is reached.
Cyclical Redundancy Check (CRC)
When communicating in the asynchronous mode, a 16-bit CRC is transmitted by the DS1616 following
the transmission of all data.  When communicating in synchronous mode, no CRC is transmitted.
The 16-bit CRC (Cyclical Redundancy Check) is used to insure the accuracy of the data that is read from
the DS1616.  The CRC is generated according to the standardized CRC16-polynomial function X16 +
X15 + X2 + 1.  Figure 4 illustrates the function of the generator.  The CRC is generated by clearing the
CRC generator and then shifting in data from the register set being read.  A 16-bit CRC is transmitted  by
the DS1616 after the last register of any page of memory is read.  In other words, a CRC is generated at
the end boundary of every page that is read.  The CRC is transmitted starting with bit 15 and ending with
bit 0.
CRC HARDWARE DESCRIPTION AND POLYNOMIAL 
Figure 4
BIT0
BIT1
BIT2
BIT3
BIT4
BIT5
BIT6
BIT7
BIT8
BIT9
XOR
XOR
XOR
BIT10
BIT11
BIT12
BIT13
BIT14
BIT15
CRC
OUTPUT
INPUT
DATA
X
0
X
1
X
8
X
9
X
11
X
12
X
10
X
13
X
14
X
15
X
2
X
3
X
4
X
5
X
6
X
7
Polynomial = X
16
 + X
15
 + X
2
 + 1
X
16