Texas Instruments TMS320C645X Musical Instrument Amplifier User Manual


 
www.ti.com
SRIOFunctionalDescription
TheCPPImodulecanbepowereddownifthemessagepassingprotocolisnotbeingsupportedinthe
application.Forexample,ifthedirectI/Oprotocolisbeingusedfordatatransfers,poweringdownthe
CPPImodulewillsavepower.Inthissituation,thebufferdescriptorqueueSRAMsandmailboxmapper
logicshouldbepowereddown.Clocksshouldbegatedtotheseblockswhileinthepowerdownstate.
Section2.3.9describesthisindetail.
2.3.4.5MessagePassingSoftwareRequirements
Softwareperformsthefollowingfunctionsformessaging:
RXOperation
AssignsMailbox-to-queuemappingandallowableSourceIDs/mailbox-QueueMapping
SetsupassociatedbufferdescriptormemoryCPPIRAMorL2RAM
Link-liststhebufferdescriptors,next_descriptor_pointer
Assignssinglesegment(256Bpayload)andmulti-segment(4KBpayload)bufferstoqueues
buffer_length
Assignsbufferdescriptortodatabuffer,buffer_pointer
Givescontrolofthebuffertotheperipheral,ownership=1
ConfiguresandinitiatesRXqueues
AssignsHeadDescriptorPointer,HDP,forupto16queues:RXDMAStateHDP
PortbeginstoconsumebuffersbeginningwithHDPdescriptorandsetsownership=0foreachbuffer
descriptorused.WritesCompletionPointer,CP,RXDMAStateCPandmovestonextbuffer.
PorthardwaregeneratespendinginterruptwhenCPiswritten.Physicalinterruptgeneratedwhen
InterruptPacingCountdowntimer=0.
Processesinterrupt
DeterminesICSRbitandprocesscorrespondingqueueuntilownership=1oreoq=1
Setsprocessedbufferdescriptorownership=1
WritesCPvalueoflastbufferdescriptorprocessed
PorthardwareclearsICSRbitonlyiftheCPvaluewrittenbyCPUequalsportwrittenvalueintheRX
DMAStateCPregister
Resetsinterruptpacingvalue
TXOperation
SetsupassociatedbufferdescriptormemoryCPPIRAMorL2RAM
Link-liststhebufferdescriptors,next_descriptor_pointer
Assignsbufferdescriptortodatabuffer,buffer_pointer
GivescontrolofthebuffertotheCPU,ownership=0
CPUwritesbufferdescriptorsbeginningwithHDPdescriptorandsetsownership=1foreachused
SpecifiesRIOfields:Dest_id,Pri,tt,Mailbox
Setsparameters:PortID,Message_length
PortstartsqueuetransmitonCPUwritetoHDPforupto16queues-TXDMAStateHDP
Portprocessescorrespondingqueuesuntilownership=0ornext_descriptor_pointer=all0s.Portsets
eoq=1andwritesall0stotheHDP.
Wheneachpackettransmissioniscomplete,theportsetsownership=0andissuesaninterrupttothe
CPUbywritingthelastprocessedbufferdescriptoraddresstotheCP,TXDMAStateCP
Processesinterrupt
TheCPUprocessesthebufferqueuetoreclaimbuffers.Ifownership=0,thepackethasbeen
transmittedandthebufferisreclaimed.
CPUprocessesthequeueuntileoq=1orownership=1
CPUdeterminesallpacketshavebeentransmittedifownership=0,eoq=1,and
next_descriptor_pointer=all0sinlastprocessedbufferdescriptor
CPUacknowledgestheinterruptafterre-claimingallavailablebufferdescriptors.
CPUacknowledgestheinterruptbywritingtheCPvalue
SPRU976March2006SerialRapidIO(SRIO)55
SubmitDocumentationFeedback