
49
TS68332
2118A–HIREL–03/02
GeneralConcept
TheTPUisanintelligent,semi-autonomousperipheraldedicatedtotimingcontrol.Its
intelligenceenablestheservicingoftimingeventswithoutCPUintervention.Thisdevice
usesaprivatemicroengineforaprocessor,ascheduler,input/outputchannels,ROM
instructions,andshared-accessdataRAMtooperateindependentlyandsimultaneously
withtheCPU(seeFigure25).Consequently,thesetupandservicetimeforeachtimer
eventisminimized.
A“time-of-delay”approachisusedwherealltimefunctionsarerelatedtooneoftwo16-
bitsfree-runningTCRs.Timefunctionsaresynthesizedbycombiningthetwotimeprim-
itives,matchandcaptureevents.Byperformingthesetimeprimitivesinhardware,the
TPUcanpreciselydeterminethetimewhenamatcheventistooccurandthenspecify
thestateoftheoutputpinaccordingly.TheTPUcanalsoaccuratelyrecordthetimeat
whichaninputtransitionoccursandcanperformcalculationsbasedonthetimeofthe
occurrence.Aneventregisterforeachchannelprovidesforsimultaneityofmatch/cap-
ture-eventoccurrencesonallchannels.
Whenamatchorinputcaptureeventrequiringserviceoccursonachannel,thechannel
generatesaservicerequesttothescheduler.Theschedulerprioritizestherequestwith
otherpendingservicerequests.Whenthemicroengineisidle,theschedulercausesthe
microenginetoexecuteamicrocodesequence.Whenthemicroengineisbusy,thenew
sequencebeginswhenthecodebeingexecutedends.Themicroengineperformsthe
function,whichisdefinedbythecontentofthecontrolstore,usingparametersfromthe
parameterRAMandfromtheeventregisters,etc.,asneeded.Thefollowingisan
example.
ChannelXisgeneratingaperiodicwaveformandpresentlytheoutputishigh.Whenthe
valueoftheTCRusedbythatchannelincrementstomatchthevalueoftheeventregis-
terofchannelX,amatcheventoccurs.Theeventswitchestheoutputtolowand
generatesanewservicerequesttothescheduler.Theschedulerthanschedulesand
initiatesserviceofchannelXbythemicroengine.
Whenexecutionofthesequencebegins,themicroengineusestheexecutionunit:
Toobtain(fromtheparameterRAM)thevaluerepresentingthedurationofcounts
forwhichchannelXshouldremainlow,and
ToaddtothisvaluethevaluefromthecontentoftheeventregisterofchannelX.
Thecontentoftheeventregisteristhenreplacedbythissum;thechannelcontrolis
setforamatcheventonthesameTCR;andthepincontrolissettocausethe
outputpinforchannelXtoswitchhighwhentheeventoccurs.Achannelinterrupt,
whichsignalstheendofservicetotheCPU,maybeasserted(ifthetimefunction
providesforitandtheinterruptisenabled).Themicroengineisthenfreetoservice
thenexteventdeterminedbythescheduler.