sigmadelta.rst 1.4 KB

123456789101112131415161718192021222324252627282930313233
  1. Sigma-delta Modulation
  2. ======================
  3. Introduction
  4. ------------
  5. {IDF_TARGET_NAME} has a second-order sigma-delta modulation module. This driver configures the channels of the sigma-delta module.
  6. Functionality Overview
  7. ----------------------
  8. There are eight independent sigma-delta modulation channels identified with :cpp:type:`sigmadelta_channel_t`. Each channel is capable to output the binary, hardware generated signal with the sigma-delta modulation.
  9. Selected channel should be set up by providing configuration parameters in :cpp:type:`sigmadelta_config_t` and then applying this configuration with :cpp:func:`sigmadelta_config`.
  10. Another option is to call individual functions, that will configure all required parameters one by one:
  11. * **Prescaler** of the sigma-delta generator - :cpp:func:`sigmadelta_set_prescale`
  12. * **Duty** of the output signal - :cpp:func:`sigmadelta_set_duty`
  13. * **GPIO pin** to output modulated signal - :cpp:func:`sigmadelta_set_pin`
  14. The range of the 'duty' input parameter of :cpp:func:`sigmadelta_set_duty` is from -128 to 127 (eight bit signed integer). If zero value is set, then the output signal's duty will be about 50%, see description of :cpp:func:`sigmadelta_set_duty`.
  15. Application Example
  16. -------------------
  17. Sigma-delta Modulation example: :example:`peripherals/sigmadelta`.
  18. API Reference
  19. -------------
  20. .. include-build-file:: inc/sigmadelta.inc
  21. .. include-build-file:: inc/sigmadelta_types.inc