SM2:
Enable the
automatic address recognition
feature in mode 2 and 3. If
SM2=1, RI
will not be set unless
the received 9th data bit is 1, indicating an address, and the received byte is a Given or Broadcast
address. In mode1, if SM2=1 then RI will not be set unless a valid stop Bit was received, and the
received byte is a Given or Broadcast address.
REN:
Enable the serial port reception.
1:=
enable
0:=
disable
TB8:
The 9th data bit, which will be transmitted in Mode 2 and Mode 3.
RB8:
In mode 2 and 3, the received 9th data bit will go into this bit.
TI:
Transmit interrupt flag. After a transmit has been finished, the hardware will set this bit.
RI:
Receive interrupt flag. After reception has been finished, the hardware will set this bit.
SFR:
SBUF
(Serial
port Buffer register):
Bit-7
Bit-6
Bit-5
Bit-4
Bit-3
Bit-2
Bit-1
Bit-0
(data to be transmitted or received data)
Automatic Address Recognition
There is an extra feature makes the device convenient to act as a master, which communicates
to multiple slaves simultaneously. It is really
Automatic Address Recognition.
There are two SFR
SADDR
and
SADEN
implemented in the device. The user can read or write
both of them. Finally, the hardware will make use of these two SFR to “generate” a “compared
byte”. The formula specifies as following.
Bit[
i
] of
Compared Byte =
(SADEN[
i
] == 1
)?
SADDR[
i
]
:
x
For example:
Set
SADDR
= 11000000b
Set
SADEN
= 11111101b
The achieved “Compared Byte” will be “110000x0”
For another example:
Set
SADDR
= 11100000b
Set
SADEN
= 11111010b
The achieved “Compared Byte” will be “11100x0x”
(x means don’t care)
After the generic “Compared Byte” has been worked out, the MPC89x58A will make use of this
byte to determine how to set the bit
RI
in SFR
SCON.
Normally, an UART will set bit
RI
whenever it has done a byte reception; but for the UART in the
MPC89x58A, if the bit
SM2
is set, it will set
RI
according to the following formula.
RI
=
(SM2 ==
1)
&& (SBUF ==
Compared Byte)
&& (RB8 ==
1)
MEGAWIN
MPC89x58A Data Sheet
25