mcpwm.rst 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. MCPWM
  2. =====
  3. Overview
  4. --------
  5. ESP32 has two MCPWM units which can be used to control different motors.
  6. Block Diagram
  7. -------------
  8. The block diagram of MCPWM unit is as shown.
  9. ::
  10. __________________________________________________________________________
  11. | SYNCSIG FAULT SIG CAPTURE SIG |
  12. | 0 1 2 0 1 2 0 1 2 |
  13. |___________________________________________________________________ G |
  14. INTERRUPTS<-----+ | | | | | | | | | | P |
  15. | | | | | | | | | | | I |
  16. ________|_|___|___|_____________|___|___|_________|___|___|_________ | O |
  17. | | | | | | | | | | | | |
  18. | | | | | | | | | | | | M |
  19. | | | | __v___v___v__ __v___v___v__ | | A |
  20. | | | | | | | | | | T |
  21. | | | | | FAULT | | CAPTURE | | | R |
  22. | | | | | HANDLER | | | | | I |
  23. | | | | | | |___________| | | X |
  24. | | | | |___________| | | |
  25. | | | | | | |
  26. | ____v___v___v____ ____________________ | | |
  27. | | +---------+ | | +------------+ |--------->|PWM0A|
  28. | | | Timer 0 | | | | Operator 0 | | | | |
  29. | | +---------+ | | +------------+ |--------->|PWM0B|
  30. | | | | | | | |
  31. | | +---------+ | | +------------+ |--------->|PWM1A|
  32. | | | Timer 1 | |------------------->| | Operator 1 | | | | |
  33. | | +---------+ | | +------------+ |--------->|PWM1B|
  34. | | | | | | | |
  35. | | +---------+ | | +------------+ |--------->|PWM2A|
  36. | | | Timer 2 | | | | Operator 2 | | | | |
  37. | | +---------+ | | +------------+ |--------->|PWM2B|
  38. | |_______________| |__________________| | |_____|
  39. | |
  40. | MCPWM-UNIT 0/1 |
  41. |___________________________________________________________________|
  42. Application Example
  43. -------------------
  44. Examples of using MCPWM for motor control: :example:`peripherals/mcpwm`.
  45. API Reference
  46. -------------
  47. .. include:: /_build/inc/mcpwm.inc