Permanent Magnet Synchronous Motor Vector Control, driven by eTPU on MPC5554
AC Motor Control
eTPU Function Set

eTPU Block Diagram
The eTPU module is used as a motor control coprocessor. An PMSMVC motor is driven independently of the CPU. The drive is based on cooperation of the following eTPU functions:

- The PWM Generator (PWMMAC with PWMF) generates PWM signals to a voltage controlled inverter.
- The PMSM Vector Control (PMSMVC) performs vector control of the PMSM motor. The PMSMVC calculates applied voltage vector components alpha & beta based on measured phase currents and required values of phase currents in 2-phase orthogonal rotating reference frame (D-Q).
- The Resolver (RSLV) generates excitation signal and process sin and cos analog signals feeded back from the resolver hardware in motion control system.
- The Speed Controller (SC) closes the speed loop. It calculates the actual motor speed using QD possition counter and QD last edge time, compares with a required motor speed provided by CPU, and using a PI algorithm controls the desired value of PMSMVC q-current.
- The Break Controller (BC) generates the DC-bus break control signal, based on the actual DC-bus voltage.
- The Analog Sensing for AC Motors (ASAC) preprocess four analog values that are measured by an AD converter and transferred to the eTPU data memory by DMA transfer. The ASAC also triggers the AD converter and synchronize other eTPU functions.

Categorization of variables in FreeMaster watch
FreeMaster project includes an "eTPU Functions" block, which comprises of all eTPU functions used in the application. Each eTPU function block enables to watch all eTPU function parameters and eTPU channel registers. In addition, each eTPU function includes appropriate scopes and recorders allowing to show variable time courses. This can be especially useful for application debugging purposes in real-time environment.
Note, that FreeMaster version 1.2.31.1 or higher is required.
The color marking of FreeMaster variables in "Watches" is as follows:

bronze backgroud color stands for a base address
white backgroud color stands for a variable which is written by the CPU
gray backgroud color stands for a variable which is written by the eTPU
brown fore color stands for a variable which should not change during the run-time
black fore color stands for a variable which could change during the run-time

Designed by Roznov Czech System Center, Freescale Semiconductor, Inc. 2005.
eTPU Product Summary Page