mirror of
https://github.com/espressif/esp-idf.git
synced 2026-05-04 20:05:25 +02:00
change(sdm): delete the confusing part in sdm programming guide
This commit is contained in:
committed by
Kevin (Lao Kaiyao)
parent
d9d316b97d
commit
c6e7e82524
@@ -10,12 +10,6 @@ Introduction
|
||||
|
||||
Delta-sigma modulation converts an analog voltage signal into a pulse frequency, or pulse density, which can be understood as pulse-density modulation (PDM) (refer to |wiki_ref|_).
|
||||
|
||||
The main differences comparing to I2S PDM mode and DAC peripheral are:
|
||||
|
||||
1. SDM has no clock signal, it is just like the DAC mode of PDM;
|
||||
2. SDM has no DMA, and it can not change its output density continuously. If you have to, you can update the density in a timer's callback;
|
||||
3. Based on the former two points, unlike the DAC peripheral, an external active or passive low-pass filter is required additionally to restore the analog wave (See :ref:`convert_to_analog_signal`).
|
||||
|
||||
Typically, a Sigma-Delta modulated channel can be used in scenarios like:
|
||||
|
||||
- LED dimming
|
||||
@@ -46,7 +40,7 @@ To install an SDM channel, you should call :cpp:func:`sdm_new_channel` to get a
|
||||
|
||||
- :cpp:member:`sdm_config_t::gpio_num` sets the GPIO that the PDM pulses output from.
|
||||
- :cpp:member:`sdm_config_t::clk_src` selects the source clock for the SDM module. Note that, all channels should select the same clock source.
|
||||
- :cpp:member:`sdm_config_t::sample_rate_hz` sets the sample rate of the SDM module.
|
||||
- :cpp:member:`sdm_config_t::sample_rate_hz` sets the sample rate of the SDM module. A higher sample rate can help to output signals with higher SNR (Signal to Noise Ratio), and easier to restore the original signal after the filter.
|
||||
- :cpp:member:`sdm_config_t::invert_out` sets whether to invert the output signal.
|
||||
- :cpp:member:`sdm_config_t::io_loop_back` is for debugging purposes only. It enables both the GPIO's input and output ability through the GPIO matrix peripheral.
|
||||
|
||||
@@ -141,6 +135,7 @@ For example, you can take the following `Sallen-Key topology Low Pass Filter`_ a
|
||||
|
||||
Sallen-Key Low Pass Filter
|
||||
|
||||
(Refer to :example_file:`peripherals/sigma_delta/sdm_dac/README.md` to see the waveforms before and after filtering.)
|
||||
|
||||
Application Examples
|
||||
--------------------
|
||||
|
||||
Reference in New Issue
Block a user