DS3900K# Maxim Integrated Products, DS3900K# Datasheet - Page 8

no-image

DS3900K#

Manufacturer Part Number
DS3900K#
Description
Power Management Modules & Development Tools 2-WIRE BUS INTERFACE NTERFACE EV KIT ROHS
Manufacturer
Maxim Integrated Products
Datasheet

Specifications of DS3900K#

Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Serial Communications Module
For Evaluation Kits
8.
9.
Because the Packet Read command assumes that the
memory address should be sent out with a dummy
write cycle before a restart with the read device
address, it may not work with some devices. In cases
where it is not appropriated, use the individual 2-wire
commands.
The only 2-wire command that is in Table 1 and not list-
ed in either example of the 2-wire section is toggle SCL
nine times. This is used to reset the 2-wire bus in the
event that there is a communications breakdown while
the slave is holding SDA low.
When a slave holds SDA low, a stop command cannot
be issued since it requires SDA to transition from low-
to-high while the clock is high. For the transition from
low-to-high to happen, both the slave and the master
have to release their SDA pulldown transistors. To reset
the bus, send out the command to toggle SCL nine
times followed by a stop command. This clocks the 2-
wire bus nine times, so if a read operation was dis-
turbed, the slave is clocked until it is expecting
acknowledgement from the master. At the time it is
Table 5. Example of Reading from a DS1803
8
SEQ #
_____________________________________________________________________
1
2
3
4
5
Send a 2-wire Stop command.
If the transmission occurred without errors detect-
ed, return the command acknowledgement (0x91),
else return the error code (0xFA).
1ST BYTE SENT
0xA0
0xA1
0xA2
0xA2
0xA3
SEND START COMMAND, READ 0x23 FROM POT 0 AND 0x34 FROM POT 1, SEND STOP COMMAND
Resetting the 2-Wire Bus
2ND BYTE SENT
Read with nack
Read with ack
Place holder
Place holder
0x00
0x51
Data
0x01
0x00
0x00
1ST BYTE RETURNED
Command ack
Command ack
Command ack
0xB0
0xB1
0xB3
0x23
Data
0x34
Data
expecting acknowledgement, it releases the bus, and
is clocked at least once more, providing a NAck condi-
tion. Once the nine clock cycles are sent, the slave
should no longer be controlling SDA signal. This allows
the DS3900 to issue a stop command. When the stop
command occurs, all slaves on the 2-wire bus should
respond to their addresses.
The pulse commands enable or disable the pulse func-
tion, and set the pulse rate to either fast (7.37Hz) or slow
(0.92Hz). If P3 was last used as an input, P3 must be
written to either a 1 or a 0 to make it appear as an out-
put for the pin to toggle. If left as an input, the register
controlling P3 will toggle, but the pin will not because
the driver is not enabled. On power-up P3 is set to an
output, and the pulse will begin at the slow rate.
Reading and writing individual DS3900 pins is done by
using the bit I/O commands 0xE# and 0xF# respective-
ly, where # (Table 2) represents an individual pin on the
DS3900. For example, the command 0xE2, places the
P2 output driver in a high-impedance state and reads
the pin as an input.
Writing to a pin sets it to the desired state and leaves it
there until it is written to the opposite state or a read
command issued. When a read is performed, the driver
Using the DS3900’s General-Purpose Bit I/O Signals
Command ack
Command ack
2ND BYTE
None
None
None
0xB2
0xB2
2-wire start
Send 0x51 over
2-wire bus
(send read DS1803 addr)
Read with nack
1st return byte 0x23
(data from pot 0)
2nd return byte 0xB2
(command ack)
Read with nack
1st return byte 0x34
(data from pot 1)
2nd return byte 0xB2
(command ack)
2-wire stop
The Pulse Commands
DESCRIPTION

Related parts for DS3900K#