180
ATmega64A [DATASHEET]
8160D–AVR–02/2013
21.9.1
Using MPCM
For an MCU to act as a Master MCU, it can use a 9-bit character frame format (UCSZn = 7). The ninth bit (TXB8n)
must be set when an address frame (TXB8n = 1) or cleared when a data frame (TXBn = 0) is being transmitted.
The Slave MCUs must in this case be set to use a 9-bit character frame format.
The following procedure should be used to exchange data in Multi-processor Communication mode:
1.
All Slave MCUs are in Multi-processor Communication mode (MPCMn in UCSRnA is set).
2.
The Master MCU sends an address frame, and all slaves receive and read this frame. In the Slave MCUs,
the RXCn flag in UCSRnA will be set as normal.
3.
Each Slave MCU reads the UDRn Register and determines if it has been selected. If so, it clears the
MPCMn bit in UCSRnA, otherwise it waits for the next address byte and keeps the MPCMn setting.
4.
The addressed MCU will receive all data frames until a new address frame is received. The other Slave
MCUs, which still have the MPCMn bit set, will ignore the data frames.
5.
When the last data frame is received by the addressed MCU, the addressed MCU sets the MPCMn bit and
waits for a new address frame from Master. The process then repeats from 2.
Using any of the 5-bit to 8-bit character frame formats is possible, but impractical since the Receiver must change
between using n and n+1 character frame formats. This makes full duplex operation difficult since the Transmitter
and Receiver uses the same character size setting. If 5- to 8-bit character frames are used, the Transmitter must
be set to use two stop bit (USBSn = 1) since the first stop bit is used for indicating the frame type.
Do not use Read-Modify-Write instructions (SBI and CBI) to set or clear the MPCM bit. The MPCMn bit shares the
same I/O location as the TXCn flag and this might accidentally be cleared when using SBI or CBI instructions.
21.10 Examples of Baud Rate Setting
For standard crystal and resonator frequencies, the most commonly used baud rates for asynchronous operation
ues which yield an actual baud rate differing less than 0.5% from the target baud rate, are bold in the table. Higher
error ratings are acceptable, but the receiver will have less noise resistance when the error ratings are high, espe-
using the following equation:
Error[%]
BaudRate
Closest Match
BaudRate
--------------------------------------------------------
1
–
100%
=
Table 21-4.
Examples of UBRR Settings for Commonly Used Oscillator Frequencies
Baud
Rate
(bps)
f
osc = 1.0000 MHz
f
osc = 1.8432 MHz
f
osc = 2.0000 MHz
U2X = 0
U2X = 1
U2X = 0
U2X = 1
U2X = 0
U2X = 1
UBRRn
Error
UBRRn
Errorn
UBRRn
Error
UBRRn
Error
UBRRn
Error
UBRRn
Error
2400
25
0.2%
51
0.2%
47
0.0%
95
0.0%
51
0.2%
103
0.2%
4800
12
0.2%
25
0.2%
23
0.0%
47
0.0%
25
0.2%
51
0.2%
9600
6
-7.0%
12
0.2%
11
0.0%
23
0.0%
12
0.2%
25
0.2%
14.4k
3
8.5%
8
-3.5%
7
0.0%
15
0.0%
8
-3.5%
16
2.1%
19.2k
2
8.5%
6
-7.0%
5
0.0%
11
0.0%
6
-7.0%
12
0.2%
28.8k
1
8.5%
3
8.5%
3
0.0%
7
0.0%
3
8.5%
8
-3.5%
38.4k
1
-18.6%
2
8.5%
2
0.0%
5
0.0%
2
8.5%
6
-7.0%
57.6k
0
8.5%
1
8.5%
1
0.0%
3
0.0%
1
8.5%
3
8.5%
76.8k
–
1
-18.6%
1
-25.0%
2
0.0%
1
-18.6%
2
8.5%