
2.5.5.21NoMatch(NOMATCH)Flag
2.6EMACControlModule
Arbiter and
bus switches
CPU
DMA Controllers
8K byte
descriptor
memory
Configuration
registers
Interrupt
control and
pacing logic
EMAC interrupts
MDIO interrupts
Configuration bus
Transmit and Receive
4 interrupts
to ARM
2.6.1InternalMemory
2.6.2BusArbiter
Architecture
ThisflagissetbytheEMACintheSOPbufferdescriptor,ifthereceivedpacketdidnotpassanyofthe
EMAC’saddressmatchcriteriaandwasnotdiscardedbecausetheRXCAFENbitwassetinthe
RXMBPENABLE.AlthoughthepacketisavalidEthernetdatapacket,itwasonlyreceivedbecausethe
EMACisinpromiscuousmode.
ThebasicfunctionsoftheEMACcontrolmodule(Figure9)aretointerfacetheEMACandMDIOmodules
totherestofthesystem,andtoprovideforalocalmemoryspacetoholdEMACpacketbufferdescriptors.
Localmemoryisusedtohelpavoidcontentiontodevicememoryspaces.Otherfunctionsincludethebus
arbiter,andinterruptcontrolandpacinglogiccontrol.
Figure9.EMACControlModuleBlockDiagram
TheEMACcontrolmoduleincludes8Kbytesofinternalmemory.Theinternalmemoryblockisessential
forallowingtheEMACtooperatemoreindependentlyoftheCPU.Italsopreventsmemoryunderflow
conditionswhentheEMACissuesreadorwriterequeststodescriptormemory.(Memoryaccessesto
readorwritetheactualEthernetpacketdataareprotectedbytheEMAC'sinternalFIFOs).
Adescriptorisa16-bytememorystructurethatholdsinformationaboutasingleEthernetpacketbuffer,
whichmaycontainafullorpartialEthernetpacket.Thuswiththe8Kmemoryblockprovidedfordescriptor
storage,theEMACmodulecansendandreceiveduptoacombined512packetsbeforeitneedstobe
servicedbyapplicationordriversoftware.
TheEMACcontrolmodulebusarbiteroperatestransparentlytotherestofthesystem.Itisused:
•ToarbitratebetweentheCPUandEMACbusesforaccesstointernaldescriptormemory.
•ToarbitratebetweeninternalEMACbusesforaccesstosystemmemory.
SPRUEQ6–December2007EthernetMediaAccessController(EMAC)/ManagementDataInput/Output(MDIO)31
SubmitDocumentationFeedback