www.ti.com
SRIOFunctionalDescription
Inaddition,multiplemessagescanbeinterleavedatthereceiveportduetoorderingwithinaconnected
switch’soutputqueue.Thiscanoccurwhenusingasingleormultiplepriorities.TheRXCPPIblockcan
handlesimultaneousinterleavedmulti-segmentmessages.Thisimpliesthatstateinformation(write
pointersandsourceID)ismaintainedoneachsimultaneousmessagetoproperlystorethesegmentsin
memory.Thenumberofsimultaneoustransactionssupporteddirectlyimpactsthenumberofstatestobe
stored,andthesizeofthebufferdescriptormemoryoutsidetheperipheral.Withthisinmind,the
peripheral’ssupportedbufferdescriptorSRAMisparameterizable.Aminimumsizeof1.25Kbytesis
recommended,whichwillallowupto64bufferdescriptorstobestoredatanygiventimeforonecore.
Thesebufferdescriptorscanbeconfiguredtosupportanycombinationofsingleandmulti-segment
messages.Forexample,iftheapplicationonlyhandlessingle-segmentmessages,all64bufferscanbe
allottedtothatqueue.NotethatagivenRXqueuecancontainpacketsofallprioritieswhichhavebeen
directedfromanyofthereceiveports.
ACPUmaywishtostopreceivingmessagesandreclaimbuffersbelongingtoaspecificqueue.Thisis
calledqueueteardown.TheCPUinitiatesaRXqueueteardownbywritingtotheRXQueueTeardown
commandregister(AddressOffset0740h).
TeardownofanRXqueuecausesthefollowingactions:
•IfteardownisissuedbysoftwareduringthetimewhentheRXstatemachineisidle,thenthestate
machinewillimmediatelystarttheteardownprocedure:
–Ifthequeuetobetorndownisin-message(waitingforoneormoresegments),thenthequeuewill
betorndownandreportedwiththecurrentbufferdescriptor(teardownbitset,ownershipbit
cleared,CC=100b).Allotherfieldsofthebufferdescriptorareinvalid.Theperipheralcompletes
theteardownprocedurebyclearingtheHDPregister,settingtheCPregistertoFFFFFFFCh,and
issuinganinterruptforthegivenqueue.Theteardowncommandregisterbitisautomatically
clearedbytheperipheral.
–Ifthequeueisnotin-message,andactive(nextdescriptoravailable),thenthenextdescriptorwill
befetchedandupdatedtoreportteardown(teardownbitset,ownershipbitcleared,CC=100b).All
otherfieldsofthebufferdescriptorareinvalid.Theperipheralcompletestheteardownprocedureby
clearingtheHDPregister,settingtheCPregistertoFFFFFFFCh,andissuinganinterruptforthe
givenqueue.Theteardowncommandregisterbitisautomaticallyclearedbytheperipheral.
–Ifthequeueisnotin-message,butinactive(nextdescriptorunavailable),thennoadditionalbuffer
descriptorwillbewritten.TheHDPregisterandtheCPregisterremainunchanged.Aninterruptis
notissued.Theteardowncommandregisterbitisautomaticallyclearedbytheperipheral.
•IfteardownisissuedbysoftwareduringthetimewhentheRXUstatemachineisbusy,theteardown
procedurewillbepostponeduntilthestatemachineisidle.
AftertheteardownprocessiscompleteandtheinterruptisservicedbytheCPU,thesoftwaremust
re-initializetheRXqueuetorestartnormaloperation.
ThebufferdescriptorqueuesaremaintainedinlocalSRAMjustoutsideoftheperipheral,asshownin
Figure21.Thisallowsthequickestaccesstime,whilemaintainingalevelofconfigurabilityfordevice
implementation.TheSRAMisaccessiblebytheCPUthroughtheconfigurationbus.Alternatively,the
bufferdescriptorscoulduseL2memoryaswell.
50SerialRapidIO(SRIO)SPRUE13A–September2006
SubmitDocumentationFeedback