MPC8544COMEDEV Freescale Semiconductor, MPC8544COMEDEV Datasheet - Page 903

no-image

MPC8544COMEDEV

Manufacturer Part Number
MPC8544COMEDEV
Description
KIT DEV EXPRESS MPC8544COM
Manufacturer
Freescale Semiconductor
Type
MPUr
Datasheets

Specifications of MPC8544COMEDEV

Contents
Board
For Use With/related Products
MPC8544
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Once the user has determined the worst case scenario for their application, they program the required free
BD threshold into the eTSEC (via RQPRM[PBTHR]). Since different BD rings may have different sizes
and expected packet arrival rates, a separate threshold is provided for each active ring. It is recommended
that a threshold of at least three BDs is the practical minimum for gigabit ethernet links.
For the Rx descriptor controller to determine the number of free BDs remaining in the ring, it needs to
know the following:
For each active ring, the current BD pointer (RBPTRn) is maintained by the eTSEC. Software will know
both the size of the Rx ring and the location of the last freed BD. By providing the eTSEC with those values
(via RQPRM[LEN] and RFBPTR respectively) the eTSEC will always know how many receive buffers
are available to be consumed by incoming data.
The number of guaranteed free BDs in the ring is then determined by:
When RFBPTRn < RBPTRn
When RFBPTRn > RBPTRn
When RBPTRn = RFBPTRn the number of free BDs in the ring is either one (since RFBPTRn points to a
free BD) or equal to the ring length. Since the BD pointed to by RBPTRn may be either in use or about to
be used, it is not considered in the free BD count. To resolve the case where the two pointers collide, the
following logic applies:
If RBASEn was updated and thus initializes both RBPTRn and RFBPTRn, the ring is deemed empty.
If RFBPTRn is updated by a software write and matches RBPTRn, the ring is deemed empty.
If HW updates RBPTRn and the result matches RFBPTRn, the ring is deemed to have one BD remaining.
Upon writing this BD back to memory (indicating the buffer is occupied) the ring is deemed to be full.
Important. There is a possibility that if software is severely backlogged in updating RFBPTRn, the
hardware could wrap around the ring entirely, consume exactly the remaining number of BDs and not halt
with a BSY error. If software then increments RFBPTRn to the next address (thereby equalling RBPTRn),
the hardware will assume the ring is now empty (when in fact there is only a single BD freed up). This will
result in the hardware failing to maintain back pressure on the far end. Upon software incrementing
RFBPTRn a subsequent time, the wrap condition will be successfully detected and hardware will
recognize a nearly full ring (rather than a nearly empty one). Since software can increment RFBPTRn by
any amount, it is not possible for hardware to determine in this case whether the user has cleared the entire
Freescale Semiconductor
1. The location of the current BD being used by hardware
2. The location of the last BD that was released (freed) by software
3. The length of the Rx BD ring.
The eTSEC receives a burst of short frames with minimum inter-frame-gap (96bit times for
ethernet)
MPC8544E PowerQUICC III Integrated Host Processor Family Reference Manual, Rev. 1
FreeBDs
FreeBDs
=
RQPRMn LEN
=
RFBPTRn RBPTRn
[
] RBPTRn
+
RFBPTRn
Enhanced Three-Speed Ethernet Controllers
15-171

Related parts for MPC8544COMEDEV