P87LPC768 NXP Semiconductors, P87LPC768 Datasheet - Page 24

no-image

P87LPC768

Manufacturer Part Number
P87LPC768
Description
The P87LPC768 is a 20-pin single-chip microcontroller designed forlow pin count applications demanding high-integration, low costsolutions over a wide range of performance requirements
Manufacturer
NXP Semiconductors
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
P87LPC768BD
Manufacturer:
MAXIM
Quantity:
310
Part Number:
P87LPC768BDЈ¬512
Manufacturer:
NXP
Quantity:
418
Part Number:
P87LPC768FD
Manufacturer:
PHILIPS/飞利浦
Quantity:
20 000
Part Number:
P87LPC768FDЈ¬512
Manufacturer:
NXP
Quantity:
1 482
Part Number:
P87LPC768FN
Manufacturer:
TI
Quantity:
3 087
Philips Semiconductors
ARL
STR
STP
MASTER
Writing I2CON
Typically, for each bit in an I
ATN = 1. Based on DRDY, ARL, STR, and STP, and on the current
bit position in the message, it may then write I2CON with one or
more of the following bits, or it may read or write the I2DAT register.
CXA
2002 Mar 12
Low power, low price, low pin count (20 pin) microcontroller
with 4 kB OTP 8-bit A/D, Pulse Width Modulator
“Arbitration Loss” is 1 when transmit Active was set, but
this device lost arbitration to another transmitter.
Transmit Active is cleared when ARL is 1. There are
four separate cases in which ARL is set.
1. If the program sent a 1 or repeated start, but another
device sent a 0, or a stop, so that SDA is 0 at the rising
edge of SCL. (If the other device sent a stop, the setting
of ARL will be followed shortly by STP being set.)
2. If the program sent a 1, but another device sent a
repeated start, and it drove SDA low before SCL
could be driven low. (This type of ARL is always
accompanied by STR = 1.)
3. In master mode, if the program sent a repeated start,
but another device sent a 1, and it drove SCL low
before this device could drive SDA low.
4. In master mode, if the program sent stop, but it could
not be sent because another device sent a 0.
“STaRt” is set to a 1 when an I
detected at a non-idle slave or at a master. (STR is not
set when an idle slave becomes active due to a start
bit; the slave has nothing useful to do until the rising
edge of SCL sets DRDY.)
“SToP” is set to 1 when an I
detected at a non-idle slave or at a master. (STP is not
set for a stop condition at an idle slave.)
“MASTER” is 1 if this device is currently a master on
the I
bus is not busy (i.e., if a start bit hasn’t been
received since reset or a “Timer I” time-out, or if a stop
has been received since the last start). MASTER is
cleared when ARL is set, or after the software writes
MASTRQ = 0 and then XSTP = 1.
Writing a 1 to “Clear Xmit Active” clears the Transmit
Active state. (Reading the I2DAT register also does this.)
2
C. MASTER is set when MASTRQ is 1 and the
2
C message, a service routine waits for
2
C stop condition is
2
C start condition is
22
CSTP
Regarding Transmit Active
Transmit Active is set by writing the I2DAT register, or by writing
I2CON with XSTR = 1 or XSTP = 1. The I
the SDA line low when Transmit Active is set, and the ARL bit will
only be set to 1 when Transmit Active is set. Transmit Active is
cleared by reading the I2DAT register, or by writing I2CON with CXA
= 1. Transmit Active is automatically cleared when ARL is 1.
IDLE
CDR
CARL
CSTR
XSTR
XSTP
Writing 1 to “IDLE” causes a slave’s I
ignore the I
MASTRQ is 1, then a stop condition will cause this
device to become a master).
Writing a 1 to “Clear Data Ready” clears DRDY.
(Reading or writing the I2DAT register also does this.)
Writing a 1 to “Clear Arbitration Loss” clears the ARL bit.
Writing a 1 to “Clear STaRt” clears the STR bit.
Writing a 1 to “Clear SToP” clears the STP bit. Note that
if one or more of DRDY, ARL, STR, or STP is 1, the low
time of SCL is stretched until the service routine
responds by clearing them.
Writing 1s to “Xmit repeated STaRt” and CDR tells the
I
should only be at a master. Note that XSTR need not
and should not be used to send an “initial”
(non-repeated) start; it is sent automatically by the I
hardware. Writing XSTR = 1 includes the effect of
writing I2DAT with XDAT = 1; it sets Transmit Active
and releases SDA to high during the SCL low time.
After SCL goes high, the I
suitable minimum time and then drives SDA low to
make the start condition.
Writing 1s to “Xmit SToP” and CDR tells the I
hardware to send a stop condition. This should only be
done at a master. If there are no more messages to
initiate, the service routine should clear the MASTRQ
bit in I2CFG to 0 before writing XSTP with 1. Writing
XSTP = 1 includes the effect of writing I2DAT with
XDAT = 0; it sets Transmit Active and drives SDA low
during the SCL low time. After SCL goes high, the I
hardware waits for the suitable minimum time and then
releases SDA to high to make the stop condition.
2
C hardware to send a repeated start condition. This
2
C until the next start condition (but if
2
C hardware waits for the
2
C interface will only drive
P87LPC768
2
C hardware to
Preliminary data
2
C
2
2
C
C

Related parts for P87LPC768