From 4a8d4b584a665708347aa7c8386c1dc308322eb5 Mon Sep 17 00:00:00 2001 From: Armando Date: Wed, 20 Oct 2021 11:07:00 +0800 Subject: [PATCH] docs: add adc calibration docs on c3 and s3 --- docs/_static/diagrams/adc/adc-all-cali-c3.png | Bin 0 -> 26052 bytes docs/_static/diagrams/adc/adc-all-cali-s3.png | Bin 0 -> 33596 bytes docs/_static/diagrams/adc/adc-hw-cali-c3.png | Bin 0 -> 25470 bytes docs/_static/diagrams/adc/adc-hw-cali-s3.png | Bin 0 -> 31436 bytes .../{ => diagrams/adc}/adc-noise-graph.jpg | Bin .../diagrams/adc/adc-uncali-raw-c3.png | Bin 0 -> 26161 bytes .../diagrams/adc/adc-uncali-raw-s3.png | Bin 0 -> 31441 bytes .../{ => diagrams/adc}/adc-vref-graph.jpg | Bin docs/en/api-reference/peripherals/adc.rst | 272 ++++++++++++------ 9 files changed, 191 insertions(+), 81 deletions(-) create mode 100644 docs/_static/diagrams/adc/adc-all-cali-c3.png create mode 100644 docs/_static/diagrams/adc/adc-all-cali-s3.png create mode 100644 docs/_static/diagrams/adc/adc-hw-cali-c3.png create mode 100644 docs/_static/diagrams/adc/adc-hw-cali-s3.png rename docs/_static/{ => diagrams/adc}/adc-noise-graph.jpg (100%) create mode 100644 docs/_static/diagrams/adc/adc-uncali-raw-c3.png create mode 100644 docs/_static/diagrams/adc/adc-uncali-raw-s3.png rename docs/_static/{ => diagrams/adc}/adc-vref-graph.jpg (100%) diff --git a/docs/_static/diagrams/adc/adc-all-cali-c3.png b/docs/_static/diagrams/adc/adc-all-cali-c3.png new file mode 100644 index 0000000000000000000000000000000000000000..d15e3a1469bf415a57a061b53b7ddd08cafb43ce GIT binary patch literal 26052 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
?A_Ut`P?g2VuVLkJnh(IS;0P-V~_5@BL}X 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 z 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 MNhwQKikk%e7wvP5Gynhq literal 0 HcmV?d00001 diff --git a/docs/_static/diagrams/adc/adc-hw-cali-s3.png b/docs/_static/diagrams/adc/adc-hw-cali-s3.png new file mode 100644 index 0000000000000000000000000000000000000000..ca84d9a298158ba1046d1ef79c1c7b283ab13cfc GIT binary patch literal 31436 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 U`!(&g0Kp(BF?rGQ&xZd01D-}MG5`Po literal 0 HcmV?d00001 diff --git a/docs/_static/adc-noise-graph.jpg b/docs/_static/diagrams/adc/adc-noise-graph.jpg similarity index 100% rename from docs/_static/adc-noise-graph.jpg rename to docs/_static/diagrams/adc/adc-noise-graph.jpg diff --git a/docs/_static/diagrams/adc/adc-uncali-raw-c3.png b/docs/_static/diagrams/adc/adc-uncali-raw-c3.png new file mode 100644 index 0000000000000000000000000000000000000000..98cb3be26e4d1cba8b4fb2b7e0fc3f7c2604fa04 GIT binary patch literal 26161 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 ADCs, supporting a total of {IDF_TARGET_ADC_TOTAL_CHAN} measurement channels (analog enabled pins). +The {IDF_TARGET_NAME} integrates {IDF_TARGET_ADC_UNIT_NUM} SAR (`Successive Approximation Register `_) ADCs, supporting a total of {IDF_TARGET_ADC_TOTAL_CHAN} measurement channels (analog enabled pins). These channels are supported: @@ -22,7 +22,7 @@ These channels are supported: ADC2: - 10 channels: GPIO0, GPIO2, GPIO4, GPIO12 - GPIO15, GOIO25 - GPIO27 -.. only:: esp32s2 +.. only:: esp32s2 or esp32s3 ADC1: - 10 channels: GPIO1 - GPIO10 @@ -37,6 +37,74 @@ These channels are supported: - 1 channels: GPIO5 +.. _adc_attenuation: + +ADC Attenuation +--------------- +{IDF_TARGET_ADC_V_MIN_ATTEN0:default="0", esp32="100"} +{IDF_TARGET_ADC_V_MAX_ATTEN0:default="950", esp32s2="750", esp32c3="750", esp32s3="950"} + +{IDF_TARGET_ADC_V_MIN_ATTEN1:default="0", esp32="100"} +{IDF_TARGET_ADC_V_MAX_ATTEN1:default="1250", esp32s2="1050", esp32c3="1050", esp32s3="1250"} + +{IDF_TARGET_ADC_V_MIN_ATTEN2:default="0", esp32="150"} +{IDF_TARGET_ADC_V_MAX_ATTEN2:default="1750", esp32s2="1300", esp32c3="1300", esp32s3="1750"} + +{IDF_TARGET_ADC_V_MIN_ATTEN3:default="0", esp32="150"} +{IDF_TARGET_ADC_V_MAX_ATTEN3:default="2450", esp32s2="2500", esp32c3="2500", esp32s3="3100"} + + +Vref is the reference voltage used internally by {IDF_TARGET_NAME} ADCs for measuring the input voltage. The {IDF_TARGET_NAME} ADCs can measure analog voltages from 0 V to Vref. Among different chips, the Vref varies, the median is 1.1 V. In order to convert voltages larger than Vref, input voltages can be attenuated before being input to the ADCs. There are 4 available attenuation options, the higher the attenuation is, the higher the measurable input voltage could be. + +===================== ========================================================================================================= +Attenuation Measurable input voltage range +===================== ========================================================================================================= +``ADC_ATTEN_DB_0`` {IDF_TARGET_ADC_V_MIN_ATTEN0} mV ~ {IDF_TARGET_ADC_V_MAX_ATTEN0} mV +``ADC_ATTEN_DB_2_5`` {IDF_TARGET_ADC_V_MIN_ATTEN1} mV ~ {IDF_TARGET_ADC_V_MAX_ATTEN1} mV +``ADC_ATTEN_DB_6`` {IDF_TARGET_ADC_V_MIN_ATTEN2} mV ~ {IDF_TARGET_ADC_V_MAX_ATTEN2} mV +``ADC_ATTEN_DB_11`` {IDF_TARGET_ADC_V_MIN_ATTEN3} mV ~ {IDF_TARGET_ADC_V_MAX_ATTEN3} mV +===================== ========================================================================================================= + + +.. _adc_conversion: + +ADC Conversion +-------------- + +{IDF_TARGET_ADC_SINGLE_MAX_WIDTH:default="12", esp32s2="13} +{IDF_TARGET_ADC_SINGLE_RAW_MAX:default="4095", esp32s2="8191"} +{IDF_TARGET_ADC_CONTINUOUS_MAX_WIDTH:default="12", esp32s3="13} +{IDF_TARGET_ADC_CONTINUOUS_RAW_MAX:default="4095", esp32s3="8191"} + + +An ADC conversion is to convert the input analog voltage to a digital value. The ADC conversion results provided by the ADC driver APIs are raw data. Resolution of {IDF_TARGET_NAME} ADC raw results under Single Read mode is {IDF_TARGET_ADC_SINGLE_MAX_WIDTH}-bit. + +- :cpp:func:`adc1_get_raw` +- :cpp:func:`adc2_get_raw` + +.. only:: esp32c3 + + - :cpp:func:`adc_digi_read_bytes` + +To calculate the voltage based on the ADC raw results, this formula can be used: + +.. parsed-literal:: + + Vout = Dout * Vmax / Dmax (1) + +where: + +====== ============================================================= +Vout Digital output result, standing for the voltage. +Dout ADC raw digital reading result. +Vmax Maximum measurable input analog voltage, see :ref:`adc_attenuation`. +Dmax Maximum of the output ADC raw digital reading result, which is {IDF_TARGET_ADC_SINGLE_RAW_MAX} under Single Read mode, {IDF_TARGET_ADC_CONTINUOUS_RAW_MAX} under Continuous Read mode. +====== ============================================================= + +For boards with eFuse ADC calibration bits, :cpp:func:`esp_adc_cal_raw_to_voltage` can be used to get the calibrated conversion results. These results stand for the actual voltage (in mV). No need to transform these data via the formula (1). +If ADC calibration APIs are used on boards without eFuse ADC calibration bits, warnings will be generated. See :ref:`adc_calibration`. + + .. _adc_limitations: ADC Limitations @@ -64,7 +132,13 @@ ADC Limitations Driver Usage ------------ -Each ADC unit supports two work modes, ADC single read mode and ADC continuous (DMA) mode. ADC single read mode is suitable for low-frequency sampling operations. ADC continuous (DMA) read mode is suitable for high-frequency continuous sampling actions. +.. only:: esp32c3 + + Each ADC unit supports two work modes, ADC single read mode and ADC continuous (DMA) mode. ADC single read mode is suitable for low-frequency sampling operations. ADC continuous (DMA) read mode is suitable for high-frequency continuous sampling actions. + +.. only:: not esp32c3 + + Both of the ADC units support single read mode, which is suitable for low-frequency sampling operations. .. note:: @@ -75,14 +149,19 @@ Each ADC unit supports two work modes, ADC single read mode and ADC continuous ( ADC Continuous (DMA) Read mode ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Please use the ADC continuous read mode driver as the following steps: + To use the ADC continuous read mode driver, execute the following steps: - - Initialize the ADC driver by calling the function :cpp:func:`adc_digi_initialize`. - - Initialize the ADC controller by calling the function :cpp:func:`adc_digi_controller_config`. - - Start the ADC continuous reading by calling the function :cpp:func:`adc_digi_start`. - - After starting the ADC, you can get the ADC reading result by calling the function :cpp:func:`adc_digi_read_bytes`. Before stopping the ADC (by calling :cpp:func:`adc_digi_stop`), the driver will keep converting the analog data to digital data. - - Stop the ADC reading by calling the function :cpp:func:`adc_digi_stop`. - - Deinitialize the ADC driver by calling the function :cpp:func:`adc_digi_deinitialize`. + 1. Initialize the ADC driver by calling the function :cpp:func:`adc_digi_initialize`. + 2. Initialize the ADC controller by calling the function :cpp:func:`adc_digi_controller_config`. + 3. Start the ADC continuous reading by calling the function :cpp:func:`adc_digi_start`. + 4. After starting the ADC, you can get the ADC reading result by calling the function :cpp:func:`adc_digi_read_bytes`. Before stopping the ADC (by calling :cpp:func:`adc_digi_stop`), the driver will keep converting the analog data to digital data. + 5. Stop the ADC reading by calling the function :cpp:func:`adc_digi_stop`. + 6. Deinitialize the ADC driver by calling the function :cpp:func:`adc_digi_deinitialize`. + + + .. only:: esp32c3 + + The code example for using ADC continuous (DMA) read mode can be found in the :example:`peripherals/adc/esp32c3/adc` directory of ESP-IDF examples. .. note:: See :ref:`adc_limitations` for the limitation of using ADC continuous (DMA) read mode. @@ -98,6 +177,8 @@ Attenuation configuration is done per channel, see :cpp:type:`adc1_channel_t` an Then it is possible to read ADC conversion result with :cpp:func:`adc1_get_raw` and :cpp:func:`adc2_get_raw`. Reading width of ADC2 should be set as a parameter of :cpp:func:`adc2_get_raw` instead of in the configuration functions. +Single Read mode ADC example can be found in :example:`peripherals/adc/single_read` directory of ESP-IDF examples. + .. only:: esp32 It is also possible to read the internal hall effect sensor via ADC1 by calling dedicated function :cpp:func:`hall_sensor_read`. Note that even the hall sensor is internal to ESP32, reading from it uses channels 0 and 3 of ADC1 (GPIO 36 and 39). Do not connect anything else to these pins and do not change their configuration. Otherwise it may affect the measurement of low value signal from the sensor. @@ -108,87 +189,36 @@ Then it is possible to read ADC conversion result with :cpp:func:`adc1_get_raw` .. only:: esp32 or esp32s2 - There is another specific function :cpp:func:`adc_vref_to_gpio` used to route internal reference voltage to a GPIO pin. It comes handy to calibrate ADC reading and this is discussed in section :ref:`adc-api-adc-calibration`. + There is another specific function :cpp:func:`adc_vref_to_gpio` used to route internal reference voltage to a GPIO pin. It comes handy to calibrate ADC reading and this is discussed in section :ref:`adc_calibration`. + .. note:: See :ref:`adc_limitations` for the limitation of using ADC single read mode. -Application Example -------------------- +Minimizing Noise +---------------- -.. only:: esp32 or esp32s2 +The {IDF_TARGET_NAME} ADC can be sensitive to noise leading to large discrepancies in ADC readings. Depending on the usage scenario, users may connect a bypass capacitor (e.g. a 100 nF ceramic capacitor) to the ADC input pad in use, to minimize noise. Besides, multisampling may also be used to further mitigate the effects of noise. - Reading voltage on ADC1 channel 0 ({IDF_TARGET_ADC1_CH0}):: +.. only:: esp32 - #include - - ... - - adc1_config_width(ADC_WIDTH_BIT_12); - adc1_config_channel_atten(ADC1_CHANNEL_0,ADC_ATTEN_DB_0); - int val = adc1_get_raw(ADC1_CHANNEL_0); - - The input voltage in the above example is from 0 to 1.1 V (0 dB attenuation). The input range can be extended by setting a higher attenuation, see :cpp:type:`adc_atten_t`. - An example of using the ADC driver including calibration (discussed below) is available at esp-idf: :example:`peripherals/adc/single_read/adc` - - Reading voltage on ADC2 channel 7 ({IDF_TARGET_ADC2_CH7}):: - - #include - - ... - - int read_raw; - adc2_config_channel_atten( ADC2_CHANNEL_7, ADC_ATTEN_0db ); - - esp_err_t r = adc2_get_raw( ADC2_CHANNEL_7, ADC_WIDTH_12Bit, &read_raw); - if ( r == ESP_OK ) { - printf("%d\n", read_raw ); - } else if ( r == ESP_ERR_TIMEOUT ) { - printf("ADC2 used by Wi-Fi.\n"); - } - - The reading may fail due to collision with Wi-Fi, if the return value of this API is ``ESP_ERR_INVALID_STATE``, then the reading result is not valid. - An example using the ADC2 driver to read the output of DAC is available in esp-idf: :example:`peripherals/adc/single_read/adc2` - - .. only:: esp32 - - Reading the internal hall effect sensor:: - - #include - - ... - - adc1_config_width(ADC_WIDTH_BIT_12); - int val = hall_sensor_read(); - - - .. only:: esp32 - - The value read in both these examples is 12 bits wide (range 0-4095). - - .. only:: esp32s2 - - The value read in both these examples is 13 bits wide (range 0-8191). - - .. _adc-api-adc-calibration: - - Minimizing Noise - ---------------- - - The {IDF_TARGET_NAME} ADC can be sensitive to noise leading to large discrepancies in ADC readings. To minimize noise, users may connect a 0.1 µF capacitor to the ADC input pad in use. Multisampling may also be used to further mitigate the effects of noise. - - .. figure:: ../../../_static/adc-noise-graph.jpg + .. figure:: ../../../_static/diagrams/adc/adc-noise-graph.jpg :align: center :alt: ADC noise mitigation Graph illustrating noise mitigation using capacitor and multisampling of 64 samples. - ADC Calibration - --------------- + +.. _adc_calibration: + +ADC Calibration +--------------- + +.. only:: esp32 or esp32s2 The :component_file:`esp_adc_cal/include/esp_adc_cal.h` API provides functions to correct for differences in measured voltages caused by variation of ADC reference voltages (Vref) between chips. Per design the ADC reference voltage is 1100 mV, however the true reference voltage can range from 1000 mV to 1200 mV amongst different {IDF_TARGET_NAME}s. - .. figure:: ../../../_static/adc-vref-graph.jpg + .. figure:: ../../../_static/diagrams/adc/adc-vref-graph.jpg :align: center :alt: ADC reference voltage comparison @@ -258,9 +288,89 @@ Application Example Replace ``/dev/ttyUSB0`` with {IDF_TARGET_NAME} board's port name. -.. only:: esp32c3 - The code example for using ADC single read mode and ADC continuous (DMA) read mode can be found in the :example:`peripherals/adc/esp32c3` directory of ESP-IDF examples. + +.. only:: esp32c3 or esp32s3 + + {IDF_TARGET_NAME} ADC Calibration contains 2 steps: Hardware Calibration and Software Calibration. + + + Hardware Calibration + ^^^^^^^^^^^^^^^^^^^^ + + Based on series of comparisons with the reference voltage, {IDF_TARGET_NAME} ADC determines each bit of the output digital result. Per design the {IDF_TARGET_NAME} ADC reference voltage is 1100 mV, however the true reference voltage can range from 1000 mV to 1200 mV among different chips. To minimize this difference, hardware calibration is introduced. + + Hardware calibration contains 2 steps: + + 1. Set an auto-calibration parameter of bandgap voltage reference. In this way, the difference mentioned above can be minimized. + 2. Correct the offset of the ADC Vin-Dout characteristics. ADC characteristics is generally a function: f(x) = A * x + B, where B is the offset. + + .. only:: esp32c3 + + An uncalibrated ADC characteristics is as follows: + + .. figure:: ../../../_static/diagrams/adc/adc-uncali-raw-c3.png + :align: center + :alt: ADC uncalibrated conversion result + + .. only:: esp32s3 + + An uncalibrated ADC characteristics is as follows: + + .. figure:: ../../../_static/diagrams/adc/adc-uncali-raw-s3.png + :align: center + :alt: ADC uncalibrated conversion result + + + The offset in the uncalibrated characteristics is significant. Step 2 is to correct the offset to 0. + + .. only:: esp32c3 + + After hardware calibration, the ADC characteristics would be like: + + .. figure:: ../../../_static/diagrams/adc/adc-hw-cali-c3.png + :align: center + :alt: ADC conversion results after hardware calibration + + .. only:: esp32s3 + + After hardware calibration, the ADC characteristics would be like: + + .. figure:: ../../../_static/diagrams/adc/adc-hw-cali-s3.png + :align: center + :alt: ADC conversion results after hardware calibration + + Hardware calibration is done internally by the ADC driver. The consequent results are raw data. A transformation is needed to get the final result, see :ref:`adc_conversion`. + + + Software Calibration + ^^^^^^^^^^^^^^^^^^^^ + + To convert ADC raw data to calibrated digital data, following steps should be followed: + + 1. Check the eFuse to know if the software calibration is supported via :cpp:func:`esp_adc_cal_check_efuse`. + 2. Calculate the ADC calibration characteristics via :cpp:func:`esp_adc_cal_characterize`. The ADC software calibration characteristics are per ADC module and per attenuation. For example, characteristics of ADC1 channel 0 under 11 dB attenuation are the same as characteristics of ADC1 channel 2 under 11 dB attenuation. But characteristics of ADC1 channel 0 under 11 dB attenuation are different with characteristics of ADC2 channel 0 under 11 dB attenuation. Also characteristics of ADC1 channel 0 under 11 dB attenuation are different with characteristics of ADC1 channel 0 under 6 dB attenuation. + 3. Get the actual voltage value via :cpp:func:`esp_adc_cal_raw_to_voltage`. + + .. only:: esp32c3 + + After software calibration, the ADC characteristics would be like: + + .. figure:: ../../../_static/diagrams/adc/adc-all-cali-c3.png + :align: center + :alt: ADC conversion results after hardware calibration + + .. only:: esp32s3 + + After software calibration, the ADC characteristics would be like: + + .. figure:: ../../../_static/diagrams/adc/adc-all-cali-s3.png + :align: center + :alt: ADC conversion results after hardware calibration + + + The results provided by the ADC calibration APIs indicate the actual voltage values. ADC software calibration example can be found in :example:`peripherals/adc/single_read` directory of ESP-IDF examples. + .. only:: esp32 or esp32s2