What you wish to know is covered in reasonable detail here in Espressif's ~= 1500 page "Programming guide".
See below for section covering the - MCWPCM = Motor PWM Control unit.
The overall 'Programming Guide' is a must see for any ESP32 users.
Guide Downloads
Latest stable version PDF - 1497 pages !!! :-). June 26 2019
___________________________________
MCPWM - Motor PWM:
Espressif's Programming guide - MCWPCM unit - 20+ pages (depending on your screen size :-) ).
They say:
MCPWM Overview
"ESP32 has two MCPWM units which can be used to control different types of motors. Each unit has three pairs of PWM outputs.
A detailed block diagram of the MCPWM unit is shown below. Each A/B pair may be clocked by any one of the three timers Timer 0, 1 and 2. The same timer may be used to clock more than one pair of PWM outputs. Each unit is also able to collect inputs such as SYNC SIGNALS, detect FAULT SIGNALS like motor overcurrent or overvoltage, as well as obtain feedback with CAPTURE SIGNALS on e.g. a rotor position.
Contents
- Configure a basic functionality of the outputs
- Operate the outputs to drive a motor
- Adjust how the motor is driven
- Capture external signals to provide additional control over the outputs
- Use Fault Handler to detect and manage faults
- Add a higher frequency Carrier, if output signals are passed through an isolation
transformer
- Configuration and handling of Interrupts.