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
|