English
Language : 

UM_S3C2501X Datasheet, PDF (329/465 Pages) Samsung semiconductor – 32-BIT RISC MICROPROCESSOR
ETHERNET CONTROLLER
S3C2501X
The back-off state machine
The back-off state machine implements the back-off and retry algorithm of the 802.3 CSMA/CD. When a
collision is detected, the main transmission state machine starts the back-off state machine′s counters and waits
for the back-off time (including zero) to elapse. This time is a multiple of 512 bit times that elapse before the
frame that caused the collision is re-transmitted.
Each time there is a collision (for one single frame), the back-off state machine increments an internal retry
attempt counter. An 11-bit pseudo random number generator outputs a random number by selecting a subset of
the value of the generator at any time. The subset is incremented by one bit for each subsequent attempt. This
implementation is represented by the following equation:
0 =< random integer(r) < 2K
K = min (n, back-off limit (= 10))
'r' is the number of slot times the MAC must wait in case of a collision, and 'n' is the number of retry attempts.
For example, after the first collision, 'n' is 1 and 'r' is a random number between 0 and 1. The pseudo random
generator in this case is one-bit wide and gives a random number of either 0 or 1. After the second attempt, 'r' is
a random number between 0 and 3. Therefore, the state machine looks at the two least-significant bits of the
random generator (n = 2), which gives a value between 0 and 3.
Assemble MAC frame
Yes
Carrier sense==ON?
Wait for interframe gap
(96-bit time), start Tx
with preamble + SFD
Yes
Collision detected?
Done. Complete Tx
Wait for back-off time:
(=slot time x r),
k = minimum (n, back-off limit (=10))
0<=n <Max_attempt (=16)
0<= random integer (r) <= 2k
Continue
transmission
Preamble and SFD
transmitted?
Yes
Stop transmission,
send 32-bit jam,
++ Attemp_count
Attempt_count>=
Max_attempt?
Yes
Report attempt limit
exceeded error
Figure 7-6. CSMA/CD Transmit Operation
; To upper level layer
7-40