Skip to content

Latest commit

 

History

History
60 lines (47 loc) · 3.14 KB

mcpwm.rst

File metadata and controls

60 lines (47 loc) · 3.14 KB

MCPWM

Overview

ESP32 has two MCPWM units which can be used to control different motors.

Block Diagram

The block diagram of MCPWM unit is as shown.

              __________________________________________________________________________
              |     SYNCSIG              FAULT SIG            CAPTURE SIG               |
              |    0   1   2             0   1   2        0   1   2                     |
              |___________________________________________________________________   G  |
INTERRUPTS<-----+ |   |   |             |   |   |         |   |   |               |  P  |
                | |   |   |             |   |   |         |   |   |               |  I  |
        ________|_|___|___|_____________|___|___|_________|___|___|_________      |  O  |
        |         |   |   |             |   |   |         |   |   |         |     |     |
        |         |   |   |             |   |   |         |   |   |         |     |  M  |
        |         |   |   |           __v___v___v__     __v___v___v__       |     |  A  |
        |         |   |   |           |           |     |           |       |     |  T  |
        |         |   |   |           |   FAULT   |     |  CAPTURE  |       |     |  R  |
        |         |   |   |           |  HANDLER  |     |           |       |     |  I  |
        |         |   |   |           |           |     |___________|       |     |  X  |
        |         |   |   |           |___________|                         |     |     |
        |         |   |   |                                                 |     |     |
        |      ____v___v___v____                    ____________________    |     |     |
        |      |  +---------+  |                    |  +------------+  |--------->|PWM0A|
        |      |  | Timer 0 |  |                    |  | Operator 0 |  |    |     |     |
        |      |  +---------+  |                    |  +------------+  |--------->|PWM0B|
        |      |               |                    |                  |    |     |     |
        |      |  +---------+  |                    |  +------------+  |--------->|PWM1A|
        |      |  | Timer 1 |  |------------------->|  | Operator 1 |  |    |     |     |
        |      |  +---------+  |                    |  +------------+  |--------->|PWM1B|
        |      |               |                    |                  |    |     |     |
        |      |  +---------+  |                    |  +------------+  |--------->|PWM2A|
        |      |  | Timer 2 |  |                    |  | Operator 2 |  |    |     |     |
        |      |  +---------+  |                    |  +------------+  |--------->|PWM2B|
        |      |_______________|                    |__________________|    |     |_____|
        |                                                                   |
        | MCPWM-UNIT 0/1                                                    |
        |___________________________________________________________________|

Application Example

Examples of using MCPWM for motor control: :example:`peripherals/mcpwm`.

API Reference