Sigma-delta Modulation¶
概述¶
ESP32 has a second-order sigma-delta modulation module. This driver configures the channels of the sigma-delta module.
应用程序示例¶
Sigma-delta Modulation example: peripherals/sigmadelta.
API 参考手册¶
宏¶
类型定义¶
枚举¶
-
enum
sigmadelta_channel_t
¶ Sigma-delta channel list.
Values:
-
SIGMADELTA_CHANNEL_0
= 0¶ Sigma-delta channel0
-
SIGMADELTA_CHANNEL_1
= 1¶ Sigma-delta channel1
-
SIGMADELTA_CHANNEL_2
= 2¶ Sigma-delta channel2
-
SIGMADELTA_CHANNEL_3
= 3¶ Sigma-delta channel3
-
SIGMADELTA_CHANNEL_4
= 4¶ Sigma-delta channel4
-
SIGMADELTA_CHANNEL_5
= 5¶ Sigma-delta channel5
-
SIGMADELTA_CHANNEL_6
= 6¶ Sigma-delta channel6
-
SIGMADELTA_CHANNEL_7
= 7¶ Sigma-delta channel7
-
SIGMADELTA_CHANNEL_MAX
¶
-
结构体¶
-
struct
sigmadelta_config_t
¶ Sigma-delta configure struct.
Public Members
-
sigmadelta_channel_t
channel
¶ Sigma-delta channel number
-
int8_t
sigmadelta_duty
¶ Sigma-delta duty, duty ranges from -128 to 127.
-
uint8_t
sigmadelta_prescale
¶ Sigma-delta prescale, prescale ranges from 0 to 255.
-
uint8_t
sigmadelta_gpio
¶ Sigma-delta output io number, refer to gpio.h for more details.
-
sigmadelta_channel_t
函数¶
-
esp_err_t
sigmadelta_config
(const sigmadelta_config_t *config)¶ Configure Sigma-delta channel.
- Return
- ESP_OK Success
- ESP_ERR_INVALID_ARG Parameter error
- Parameters
config
: Pointer of Sigma-delta channel configuration struct
-
esp_err_t
sigmadelta_set_duty
(sigmadelta_channel_t channel, int8_t duty)¶ Set Sigma-delta channel duty.
This function is used to set Sigma-delta channel duty, If you add a capacitor between the output pin and ground, the average output voltage Vdc = VDDIO / 256 * duty + VDDIO/2, VDDIO is power supply voltage.
- Return
- ESP_OK Success
- ESP_ERR_INVALID_ARG Parameter error
- Parameters
channel
: Sigma-delta channel numberduty
: Sigma-delta duty of one channel, the value ranges from -128 to 127, recommended range is -90 ~ 90. The waveform is more like a random one in this range.
-
esp_err_t
sigmadelta_set_prescale
(sigmadelta_channel_t channel, uint8_t prescale)¶ Set Sigma-delta channel’s clock pre-scale value. The source clock is APP_CLK, 80MHz. The clock frequency of the sigma-delta channel is APP_CLK / pre_scale.
- Return
- ESP_OK Success
- ESP_ERR_INVALID_ARG Parameter error
- Parameters
channel
: Sigma-delta channel numberprescale
: The divider of source clock, ranges from 0 to 255
-
esp_err_t
sigmadelta_set_pin
(sigmadelta_channel_t channel, gpio_num_t gpio_num)¶ Set Sigma-delta signal output pin.
- Return
- ESP_OK Success
- ESP_ERR_INVALID_ARG Parameter error
- Parameters
channel
: Sigma-delta channel numbergpio_num
: GPIO number of output pin.