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”
(x means don’t care)
For another example:
Set SADDR = 11100000b
Set SADEN = 11111010b
The achieved “Compared Byte” will be “11100x0x”
Ö
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