
Enhanced Time Processing Unit (eTPU2)
MPC5644A Microcontroller Reference Manual, Rev. 6
Freescale Semiconductor
839
2. Write ETPU_CDCR with STS = 1 and the remaining CDC programming parameters: parameter
width (32 or 24 bits, field PWIDTH), transfer direction (read or write, field WR), temporary
parameter area base address (field PBBASE), and the absolute addresses of the parameters to be
transferred (concatenation of the fields CTBASE and PARAM0/1).
3. If it is a read transfer, i.e., from channel to host, read the two parameters from the temporary area
into Host memory/registers.
24.5.4.4
Hardware Semaphores
eTPU provides Hardware Semaphores accessible by the Microengine only. It is the responsibility of the
application to ensure proper use of the semaphores (i.e., agree upon a specific semaphore and use it
properly, to ensure coherency).
The eTPU microinstruction set has support for locking and freeing the semaphores, described in
Section 24.5.9.1.7, Semaphore operations
, and this is the only way to access them.
There are four semaphores available, which reduces the amount of collisions by assigning unrelated data
transfers to different semaphores. Semaphores are used for parameters which can be shared by channels in
different engines, and for engine-to-engine synchronization. Semaphores are also the only way to ensure
coherent access to parameters shared between the two Microengines.
Attempting to lock one semaphore (even not successfully) frees the other locked by the same engine,
ensuring one can lock just one semaphore at a time. That prevents deadlock conditions between the two
engines.
Microcode END command or engine being in idle state (no thread executing) automatically releases all
semaphores from one engine side, even if a semaphore lock is done in parallel. However, it is
recommended to write the microcode in a way which locks semaphores for the shortest required period,
and frees them without waiting for the END command, to improve the performance of the other
microengine. Semaphores are free after reset. An engine can only free a sempaphore locked by itself.
Semaphore lock requests are always
non-blocking
, in the sense that they do not suspend the requester in
case the semaphore is already locked. The semaphore status after the lock request—indicating if it was
successfully locked or not—must be tested through the SMLCK microengine branch condition (see
Section 24.5.8.4, Branch Conditions
).
24.5.4.5
SPRAM Arbitration
Up to four entities can access SPRAM:
•
Two Microengines (in a dual eTPU engine system)
•
The Coherent Dual-parameter Controller (CDC)
•
The Host CPU (direct memory-mapped access)
Содержание MPC5644A
Страница 2: ...MPC5644A Microcontroller Reference Manual Rev 6 2 Freescale Semiconductor...
Страница 24: ...MPC5644A Microcontroller Reference Manual Rev 6 24 Freescale Semiconductor...
Страница 26: ...MPC5644A Microcontroller Reference Manual Rev 6 26 Freescale Semiconductor...
Страница 52: ...Introduction MPC5644A Microcontroller Reference Manual Rev 6 52 Freescale Semiconductor...
Страница 56: ...Memory Map MPC5644A Microcontroller Reference Manual Rev 6 56 Freescale Semiconductor...
Страница 130: ...Device Performance Optimization MPC5644A Microcontroller Reference Manual Rev 6 130 Freescale Semiconductor...
Страница 204: ...Multi Layer AHB Crossbar Switch XBAR MPC5644A Microcontroller Reference Manual Rev 6 204 Freescale Semiconductor...
Страница 212: ...Peripheral Bridge PBRIDGE MPC5644A Microcontroller Reference Manual Rev 6 212 Freescale Semiconductor...
Страница 558: ...System Integration Unit SIU MPC5644A Microcontroller Reference Manual Rev 6 558 Freescale Semiconductor...
Страница 582: ...Frequency modulated phase locked loop FMPLL MPC5644A Microcontroller Reference Manual Rev 6 582 Freescale Semiconductor...
Страница 766: ...Enhanced Time Processing Unit eTPU2 MPC5644A Microcontroller Reference Manual Rev 6 766 Freescale Semiconductor...
Страница 1228: ...Decimation Filter MPC5644A Microcontroller Reference Manual Rev 6 1228 Freescale Semiconductor...
Страница 1236: ...System Information Module and Trim SIM MPC5644A Microcontroller Reference Manual Rev 6 1236 Freescale Semiconductor...
Страница 1250: ...Cyclic Redundancy Checker CRC Unit MPC5644A Microcontroller Reference Manual Rev 6 1250 Freescale Semiconductor...
Страница 1336: ...Deserial Serial Peripheral Interface DSPI MPC5644A Microcontroller Reference Manual Rev 6 1336 Freescale Semiconductor...
Страница 1388: ...Enhanced Serial Communication Interface ESCI MPC5644A Microcontroller Reference Manual Rev 6 1388 Freescale Semiconductor...
Страница 1440: ...FlexCAN Module MPC5644A Microcontroller Reference Manual Rev 6 1440 Freescale Semiconductor...
Страница 1624: ...FlexRay Communication Controller FlexRay MPC5644A Microcontroller Reference Manual Rev 6 1624 Freescale Semiconductor...
Страница 1670: ...JTAG Controller JTAGC MPC5644A Microcontroller Reference Manual Rev 6 1670 Freescale Semiconductor...
Страница 1692: ...Nexus Port Controller NPC MPC5644A Microcontroller Reference Manual Rev 6 1692 Freescale Semiconductor...
Страница 1701: ...Development Trigger Semaphore DTS MPC5644A Microcontroller Reference Manual Rev 6 Freescale Semiconductor 1701...
Страница 1702: ...Development Trigger Semaphore DTS MPC5644A Microcontroller Reference Manual Rev 6 1702 Freescale Semiconductor...