www.ti.com
SRIOFunctionalDescription
Sothegeneralflowisasfollows:
•Previously,thecontrol/commandregisterswerewrittenandtherequestpacketwassent
•ResponsePacketType13,Trans!=0001barrivesatmoduleinterface,andishandledsequentially(not
basedonpriority)
•targetTIDisexaminedtodetermineroutingofaresponsetotheappropriatecore
•ThestatusfieldoftheresponsepacketischeckedforERROR,RETRYorDONE
•IfthefieldisDONE,itsubmitsDMAbusrequestandtransmitsthepayload(ifany)toDSPaddress.If
thefieldisERROR/RETRY,itsetsaninterrupt
•Commandregistersarereleased(BSY=0)
•OptionalInterrupttoCPUnotifyingpacketreception
2.3.3.4ResetandPowerDownState
Uponreset,theLoad/Storemodulemustclearthecommandregisterfieldsandwaitforawritebythe
CPU.
TheLoad/StoremodulecanbepowereddownifthedirectI/Oprotocolisnotbeingsupportedinthe
application.Forexample,ifthemessagingprotocolisbeingusedfordatatransfers,poweringdownthe
Load/Storemodulewillsavepower.Inthissituation,thecommandregistersshouldbepowereddownand
inaccessible.Clocksshouldbegatedtotheseblockswhileinthepowerdownstate.
2.3.4MessagePassing
Withmessagepassing,adestinationaddressisnotspecified.Instead,amailboxidentifierisusedwithin
theRapidIOpacket.Themailboxiscontrolledandmappedtomemorybythelocal(destination)device.
ThemessagepassingwithinRapidIOspecifies4mailboxlocations.Eachmailboxcancontain4separate
transactions(orletters),effectivelyproviding16messages.Singlepacketmessagesprovide64mailboxes
with4letters,effectivelyproviding256messages.Mailboxescanbedefinedfordifferentdatatypesor
priorities.Theadvantageofmessagepassingisthatthesourcedevicedoesnotrequireanyknowledgeof
thedestinationdevice’smemorymap.TheDSPcontainsBufferDescriptionsTablesforeachmailbox.
Thesetablesdefineamemorymapandpointersforeachmailbox.Messagesaretransferredtothe
appropriatememorylocationsviatheDMA.
TheCPPI(CommunicationsPortProgrammingInterface)moduleservesastheincomingandoutgoing
messagepassingprotocolengine.
ThefollowingrulesexistforallCPPItraffic:
•Onebufferdescriptorpermessage(eachbufferdescriptorconsistsof4wordsor16bytes)
•Requirescontiguousmemoryspaceformulti-segmentRead/Writeoperations
–Fixedbuffersizes(configuredtohandleapplication'smaxmessagesize)
•AnERRORresponseissentiftheRXmessageistoobigfortheallottedbuffersizes
–SubsequentERRORresponseswillbesentforallsegmentsofthatmessage
•AnERRORresponseissentifthemailboxisnotmapped,ormappedtoanon-existentqueue
•AnERRORresponseissentifthemailboxismapped,butthequeueisnotinitialized(RXDMAState
HDPnotwritten),orthequeueisdisabled(Teardown)
•AnERRORresponseissentiftheRXbufferdescriptorqueuehasnoemptybuffers(overflow)
•Out-of-orderresponsesareallowed
•RETRYresponsewillbeissuedtothefirstreceivedsegmentofamulti-segmentmessagewhenthe
RXqueueisbusyservicinganotherrequest
–SubsequentRETRYresponsesmayhavetobesentforreceivedpipelinesegmentsoradditional
pipelinedmessagestothesamequeue
•Inordermessagereceptionfordedicatedflowsismodeprogrammable
•Aqueueisneededforeachsupportedsimultaneousmulti-segmentRXmessage
•Supportsaminimumof1.25KBSRAM(64bufferdescriptors)
•TransmitmustbeabletoRETRYanygivensegmentofatransmittedmessage
•ADest_idisequaltoportforTXoperations,thesameDest_Idisnotaccessiblefrommultipleports
40SerialRapidIO(SRIO)SPRU976–March2006
SubmitDocumentationFeedback