p87lpc778-01 NXP Semiconductors, p87lpc778-01 Datasheet - Page 58

no-image

p87lpc778-01

Manufacturer Part Number
p87lpc778-01
Description
P87lpc778 Cmos Single-chip 8-bit 80c51 Microcontroller With 128-byte Data Ram, 8 Kb Otp
Manufacturer
NXP Semiconductors
Datasheet
Philips Semiconductors
Table 54:
9397 750 12378
Product data
Example 1
Slave 0
Slave 0/1/2 examples
SADDR = 1100 0000
SADEN = 1111 1001
Given = 1100 0XX0
Using the Automatic Address Recognition feature allows a master to selectively
communicate with one or more slaves by invoking the Given slave address or
addresses. All of the slaves may be contacted by using the Broadcast address. Two
special Function Registers are used to define the slave’s address, SADDR, and the
address mask, SADEN. SADEN is used to define which bits in the SADDR are to be
used and which bits are ‘don’t care’. The SADEN mask can be logically ANDed with
the SADDR to create the ‘Given’ address which the master will use for addressing
each of the slaves. Use of the Given address allows multiple slaves to be recognized
while excluding others. The following examples will help to show the versatility of this
scheme:
Table 53:
In the above example SADDR is the same and the SADEN data is used to
differentiate between the two slaves. Slave 0 requires a ‘0’ in bit 0 and it ignores bit 1.
Slave 1 requires a ‘0’ in bit 1 and bit 0 is ignored. A unique address for Slave 0 would
be 1100 0010 since slave 1 requires a ‘0’ in bit 1. A unique address for slave 1 would
be 1100 0001 since a ‘1’ in bit 0 will exclude slave 0. Both slaves can be selected at
the same time by an address which has bit 0 = 0 (for slave 0) and bit 1 = 0 (for
slave 1). Thus, both could be addressed with 1100 0000.
In a more complex system the following could be used to select slaves 1 and 2 while
excluding slave 0:
In the above example the differentiation among the 3 slaves is in the lower 3 address
bits. Slave 0 requires that bit 0 = 0 and it can be uniquely addressed by 1110 0110.
Slave 1 requires that bit 1 = 0 and it can be uniquely addressed by 1110 and 0101.
Slave 2 requires that bit 2 = 0 and its unique address is 1110 0011. To select Slaves 0
and 1 and exclude Slave 2 use address 1110 0100, since it is necessary to make bit
2 = 1 to exclude slave 2. The Broadcast Address for each slave is created by taking
the logical OR of SADDR and SADEN. Zeros in this result are treated as don’t-cares.
In most cases, interpreting the don’t-cares as ones, the broadcast address will be FF
hexadecimal. Upon reset SADDR and SADEN are loaded with 0s. This produces a
given address of all ‘don’t cares’ as well as a Broadcast address of all ‘don’t cares’.
This effectively disables the Automatic Addressing mode and allows the
microcontroller to use standard UART drivers which do not make use of this feature.
Example 1
Slave 0
Example 2
Slave 1
Slave 0/1 examples
SADDR = 1100 0000
SADEN = 1111 1101
Rev. 01 — 31 March 2004
Given = 1100 00X0
SADDR = 1110 0000
SADEN = 1111 1010
Given = 1110 0X0X
Example 2
Slave 1
CMOS single-chip 8-bit microcontroller
Example 3
Slave 2
© Koninklijke Philips Electronics N.V. 2004. All rights reserved.
P87LPC778
SADDR = 1110 0000
SADEN = 1111 1100
SADDR = 1100 0000
SADEN = 1111 1110
Given = 1110 00XX
Given = 1100 000X
58 of 79

Related parts for p87lpc778-01