270
Transmitting Multiprocessor Serial Data:
See figures 12.5 and 12.6.
Receiving Multiprocessor Serial Data:
Follow the procedure in figure 12.10 for receiving
multiprocessor serial data.
Start receiving
Set MPIE bit to 1 in SCR
FER
∨
ORER = 1
FER +
ORER = 1
Finished
receiving
Clear RE to 0 in SCR
End
Error handling
FER = 1
Discriminate and
process error, and
clear flags
Return
Break
Clear RE bit to
0 in SCR
End
1
2
3
4
No
Yes
Yes
No
Yes
No
No
Yes
No
Yes
5
1.
SCI initialization: the receive data function of the RxD pin is
selected automatically.
2.
ID receive cycle: Set the MPIE bit in the serial control register
(SCR) to 1.
3.
SCI status check and ID check: read the serial status register
(SSR), check that RDRF is set to 1, then read receive data
from the receive data register (RDR) and compare with the
processor’s own ID. Transition of the RDRF bit from 0 to
1 can be reported by an RXI interrupt. If the ID does not match
the receive data, set MPIE to 1 again and clear RDRF to 0.
If the ID matches the receive data, clear RDRF to 0.
4.
SCI status check and data receiving: read SSR, check that
RDRF is set to 1, then read data from the receive data register
(RDR) and write 0 in the RDRF bit. Transition of the RDRF bit
from 0 to 1 can be reported by an RXI interrupt.
5.
Receive error handling and break detection: if a receive error
occurs, read the ORER and FER bits in SSR to identify the error.
After executing the necessary error handling, clear both ORER
and FER to 0. Receiving cannot resume while ORER or FER
remains set to 1. When a framing error occurs, the RxD pin
can be read to detect the break state.
Yes
No
Yes
No
Initialize
Start error handling
Read RDRF bit in SSR
RDRF = 1
Read ORER and FER
bits in SSR
Own ID
No
Yes
Read RDRF bit in SSR
RDRF = 1
Read ORER and FER
bits in SSR
Read receive data from RDR
Read receive data from RDR
Figure 12.10 Sample Flowchart for Receiving Multiprocessor Serial Data