Skip to main content

Analog to Digital Converter ,ESP32

 

Analog to Digital Converter

Overview

The ESP32 integrates two 12-bit SAR (Successive Approximation Register) ADCs, supporting a total of 18 measurement channels (analog enabled pins).

The ADC driver API supports ADC1 (8 channels, attached to GPIOs 32 - 39), and ADC2 (10 channels, attached to GPIOs 0, 2, 4, 12 - 15 and 25 - 27). However, the usage of ADC2 has some restrictions for the application:

  1. ADC2 is used by the Wi-Fi driver. Therefore the application can only use ADC2 when the Wi-Fi driver has not started.

  2. Some of the ADC2 pins are used as strapping pins (GPIO 0, 2, 15) thus cannot be used freely. Such is the case in the following official Development Kits:

  • ESP32 DevKitC: GPIO 0 cannot be used due to external auto program circuits.

  • ESP-WROVER-KIT: GPIO 0, 2, 4 and 15 cannot be used due to external connections for different purposes.

Configuration and Reading ADC

Each ADC unit supports two work modes, ADC-RTC or ADC-DMA mode. ADC-RTC is controlled by the RTC controller and is suitable for low-frequency sampling operations. ADC-DMA is controlled by a digital controller and is suitable for high-frequency continuous sampling actions.

ADC-RTC mode

The ADC should be configured before reading is taken.

Attenuation configuration is done per channel, see adc1_channel_t and adc2_channel_t, set as a parameter of above functions.

Then it is possible to read ADC conversion result with adc1_get_raw() and adc2_get_raw(). Reading width of ADC2 should be set as a parameter of adc2_get_raw() instead of in the configuration functions.

Comments

Popular posts from this blog

Pulse Counter,ESP32,PCNT

  Pulse Counter The PCNT (Pulse Counter) module is designed to count the number of rising and/or falling edges of an input signal. Each pulse counter unit has a 16-bit signed counter register and two channels that can be configured to either increment or decrement the counter. Each channel has a signal input that accepts signal edges to be detected, as well as a control input that can be used to enable or disable the signal input. The inputs have optional filters that can be used to discard unwanted glitches in the signal.

XTR117 4-20mA Current Loop Transmitter

 The XTR117 is a precision current output converter designed to transmit analog 4-20mA signals over an industry-standard current loop. Figure 1 shows basic circuit connections with representative simplified input circuitry. The XTR117 is a two-wire current transmitter. Its input current (pin 2) controls the output current. A portion of the output current flows into the V+ power supply, pin 7. The remaining current flows in Q1. External input circuitry connected to the XTR117 can be powered from VREG. Current drawn from these terminals must be returned to IRET, pin 3. The IRET pin is a local ground for input circuitry driving the XTR117. The XTR117 is a current-input device with a gain of 100. A current flowing into pin 2 produces IO = 100 x IIN. The input voltage at the IIN pin is zero (referred to the IRET pin). A voltage input is converted to an input current with an external input resistor, RIN, as shown in Figure 1. Typical full-scale input voltages range from 1V and upward. Full-s

Advanced 1-Wire Master with Memory #DS2485

DS28E18 Setup Guide for Remote I 2 C and SPI Sensors Featuring the DS2485 It is well established that the I 2 C and SPI communication protocols are designed to be used in short-distance, intra-board communication. This application note discusses the I 2 C and SPI bus extending capabilities of the DS28E18 1-Wire ® to I 2 C/SPI Bridge with Command Sequencer. Specifically, it covers important measures for setting up a long line, e.g., 100m communication with multiple I 2 C and SPI sensors and the benefits of using this device. Introduction The I 2 C and SPI communication protocols are well known to have short bus distances that range no more than a couple meters. Although solutions currently exist for extending these ranges, they are often complex and expensive. The DS28E18 , however, is a cost-efficient bridge-chip device that demonstrates the benefits of using the 1-Wire interface to get the most range out of complex I 2 C and SPI devices such as environmental sensors,