Hi,
i am new to MPC5764f..i have gone through the details about PWM in reference manual .i can't find out how many of pwm is available in this controller ..please let me know the full details about PWM..
Solved! Go to Solution.
Hi,
On the MPC5674F you have 2 posibilities for PWM signal generation, use of eMIOS module or eTPU module.
The eMIOS includes set of unified channel modules that provides a superset of the functionality of all the individual eMIOS channels. It offers several modes which supports PWM generating (OPWM, OPWMB, OPWMCB, OPWMC, OPWFM, OPWFMB). These are described well in device reference manual (http://cache.freescale.com/files/32bit/doc/ref_manual/MPC5674FRM.pdf).
The eTPU is a programmable I/O controller with its own core and memory system, allowing it to perform complex timing and I/O management independently of the CPU. Each channel is associated with a function that defines its behavior. A function is a software entity consisting of a set of microengine routines, called threads, that respond to eTPU service requests. You may configure channel by writing your own code or use Freescale predefined and precompiled function. See more on www.freescale.com/etpu. You may use eTPU function selector. There are many sets for PWM generating and also dedicated sets for PWM in motor control systems.
So both eMIOS and eTPU can provide similar PWM functionality, for example with respect of PWM resolution. The eTPU is more versatile as you may write specific function, a microcode, for each channels but also this has some limitation in the performance of the PWM function in an application , which depends, on the service time (latency) of other active eTPU channels. This is due to the operational nature of the scheduler. The performance decreases proportionally as the number of active (requesting service) eTPU channels increases.
Regards,
Petr
Hi,
On the MPC5674F you have 2 posibilities for PWM signal generation, use of eMIOS module or eTPU module.
The eMIOS includes set of unified channel modules that provides a superset of the functionality of all the individual eMIOS channels. It offers several modes which supports PWM generating (OPWM, OPWMB, OPWMCB, OPWMC, OPWFM, OPWFMB). These are described well in device reference manual (http://cache.freescale.com/files/32bit/doc/ref_manual/MPC5674FRM.pdf).
The eTPU is a programmable I/O controller with its own core and memory system, allowing it to perform complex timing and I/O management independently of the CPU. Each channel is associated with a function that defines its behavior. A function is a software entity consisting of a set of microengine routines, called threads, that respond to eTPU service requests. You may configure channel by writing your own code or use Freescale predefined and precompiled function. See more on www.freescale.com/etpu. You may use eTPU function selector. There are many sets for PWM generating and also dedicated sets for PWM in motor control systems.
So both eMIOS and eTPU can provide similar PWM functionality, for example with respect of PWM resolution. The eTPU is more versatile as you may write specific function, a microcode, for each channels but also this has some limitation in the performance of the PWM function in an application , which depends, on the service time (latency) of other active eTPU channels. This is due to the operational nature of the scheduler. The performance decreases proportionally as the number of active (requesting service) eTPU channels increases.
Regards,
Petr
hi Petr Sancik,
Thank you so much for Quick response ..i need some more details like ,how to configure PWM for eMIOS and eTPU..and could you please send me some sample code for eMIOS and eTPU.
Attached is simple eMIOS example.
for the eTPU one, you can look on App note AN4687, "Generating PWM Signal using eTPU Graphical Configuration Tool,"
(http://cache.freescale.com/files/soft_dev_tools/doc/app_note/AN4687.pdf).
This AN provides steps to generate PWM signal for eTPU unit using the eTPU Graphical Configuration Tool (GCT) in CodeWarrior 2.x product.
Regards,
Petr