DS1844
5 of 14
SLAVE ADDRESS
A command/control byte is the 1st byte received following the START condition from the master device.
The command/control byte consists of a 4-bit control code. For the DS1844, this is set as 0101 binary for
read/write operations. The next 3 bits of the command/ control byte are the device select bits or slave
address (A2, A1, A0). They are used by the master device to select which of eight devices is to be
accessed. When reading or writing the DS1844, the device-select bits must match the device-select pins
(A2, A1, A0). The last bit of the command/control byte (R/W) defines the operation to be performed.
When set to a 1 a read operation is selected, and when set to a 0 a write operation is selected. Figure 5
shows the command/control byte structure for the DS1844.
Following the START condition, the DS1844 monitors the SDA bus checking the device type identifier
being transmitted. Upon receiving the 0101 control code, the appropriate device address bits, and the
read/write bit, the slave device outputs an acknowledge signal on the SDA line.
COMMAND AND PROTOCOL
The command and protocol structure of the DS1844 allows the user to read or write the potentiometer(s).
Additionally, the 2-wire command/protocol structure of the DS1844 will support eight different devices
and a maximum of 32 channels that can be uniquely controlled. The command structures for the device
are presented in Figures 6 and 7. Potentiometer data values and control and command values are always
transmitted most significant bit (MSB) first. During communications, the receiving unit always generates
the acknowledgement.
Reading the DS1844
As shown in Figure 6, the DS1844 provides one read command operation. This operation allows the user
to read all potentiometers. Specifically, the R/W bit of the command/control byte is set equal to a 1 for a
read operation. Communication to read the DS1844 begins with a START condition which is issued by
the master device. The command/control byte from the master device will follow the START condition.
Once the command/control byte has been received by the DS1844, the part will respond with an
ACKNOWLEDGE. The read/write bit of the command/control byte, as stated, should be set equal to 1
for reading the DS1844.
When the master has received the ACKNOWLEDGE from the DS1844, the master can then begin to
receive potentiometer wiper data. The value of the potentiometer-0 wiper position will be the first
returned from the DS1844, followed by potentiometer-1 and so forth. Once the 8 bits of the
potentiometer-0 wiper position have been transmitted, the master will need to issue an
ACKNOWLEDGE, unless it is the only byte to be read, in which case the master issues a NOT
ACKNOWLEDGE. If desired the master may stop the communication transfer at this point by issuing the
STOP condition. However, if the value of the remaining potentiometers is needed, transfer can continue
by clocking the 8 bits of the potentiometer-1 value, followed by an ACKNOWLEDGE, and so forth.
Final communication transfer is terminated by issuing the STOP command. Again, the flow of the read
operation is presented in Figure 6.
Writing the DS1844
A data flow diagram for writing the DS1844 is shown in Figure 7. The DS1844 has one write command
that is used to change the position(s) of the wiper. The 2-wire serial interface write structure is similar to
that of the 5-wire serial write. However, there are differences.
All the write operations begin with a START condition. Following the START condition, the master
device will issue the command/control byte. The read/write bit of the command/control byte will be set to