Atmel SAM4S Xplained Pro Starter and Evaluation Kit ATSAM4S-XPRO ATSAM4S-XPRO 데이터 시트
제품 코드
ATSAM4S-XPRO
SAM4S Series [DATASHEET]
Atmel-11100G-ATARM-SAM4S-Datasheet_27-May-14
428
selects the default master type (no default, last access master, fixed default master) whereas the 4-bit
FIXED_DEFMSTR field selects a fixed default master, provided that DEFMSTR_TYPE is set to fixed default
master. Refer to
25.5
Arbitration
The Bus Matrix provides an arbitration technique that reduces latency when conflicting cases occur; for example,
when two or more masters try to access the same slave at the same time. One arbiter per AHB slave is provided to
arbitrate each slave differently.
The Bus Matrix provides the user with two arbitration types for each slave:
The Bus Matrix provides the user with two arbitration types for each slave:
1. Round-robin arbitration (default)
2. Fixed priority arbitration
The field ARBT of MATRIX_SCFG is used to select the type of arbitration.
Each algorithm may be complemented by selecting a default master configuration for each slave.
In case of re-arbitration, specific conditions apply. See
Each algorithm may be complemented by selecting a default master configuration for each slave.
In case of re-arbitration, specific conditions apply. See
.
25.5.1 Arbitration Rules
Each arbiter has the ability to arbitrate between requests of two or more masters. To avoid burst breaking and to
provide the maximum throughput for slave interfaces, arbitration should take place during the following cycles:
1. Idle cycles: When a slave is not connected to any master or is connected to a master which is not currently
accessing it.
2. Single cycles: When a slave is performing a single access.
3. End of burst cycles: When the current cycle is the last cycle of a burst transfer. For a defined burst length,
3. End of burst cycles: When the current cycle is the last cycle of a burst transfer. For a defined burst length,
predicted end of burst matches the size of the transfer but is managed differently for undefined burst length.
4. Slot cycle limit: When the slot cycle counter has reached the limit indicating that the current master access is
too long and must be broken. See
25.5.1.1 Undefined Length Burst Arbitration
In order to prevent slave handling during undefined length bursts (INCR), the Bus Matrix provides specific logic to
re-arbitrate before the end of the INCR transfer.
A predicted end of burst is used for defined length burst transfer, which is selected between the following:
A predicted end of burst is used for defined length burst transfer, which is selected between the following:
1. Infinite: No predicted end of burst is generated and therefore INCR burst transfer will never be broken.
2. Four-beat bursts: Predicted end of burst is generated at the end of each four beat boundary inside INCR
transfer.
3. Eight-beat bursts: Predicted end of burst is generated at the end of each eight beat boundary inside INCR
transfer.
4. Sixteen-beat bursts: Predicted end of burst is generated at the end of each sixteen beat boundary inside
INCR transfer.
This selection can be done through the field ULBT of the Master Configuration Registers (MATRIX_MCFG).
25.5.1.2 Slot Cycle Limit Arbitration
The Bus Matrix contains specific logic to break accesses that are too long, such as very long bursts on a very slow
slave (e.g. an external low-speed memory). At the beginning of the burst access, a counter is loaded with the value
previously written in the SLOT_CYCLE field of the related MATRIX_SCFG and decreased at each clock cycle.
When the counter reaches zero, the arbiter has the ability to re-arbitrate at the end of the current byte, half-word or
word transfer.