たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

ESP32のD/Aコンバータを調査・検証

ESP32のデジタル→アナログ コンバーターを調査・検証してみる。予定

  • スペック
    • 口数: 2口
    • 分解能: 8bit
    • 動作周波数:
    • 変換原理: 抵抗ストリング型
  • How to use
    • 対応GPIO: 25番 & 26番
    • 他のD/A変換法:
    • ESP-IDF
      • DAC-GPIOはなんと関数は1つ、シンプルぅ
      • I2C-GPIOをDACへルーティング可能。サイン波とか簡単に入力可能?
  • 検証結果

スペック

口数と分解能

2つの8bit DACを搭載.

Two 8-bit DAC channels can be used…
https://espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf#page31

変換原理

DACは integrated resistor strings and a bufferから構成される.
つまり、バッファを持つ抵抗ストリング型と予想される.
The design structure is composed of integrated resistor strings and a buffer.

How to use

対応GPIO

25番(channel 1) & 26番(channel 2)

connected to GPIO25 (Channel 1) and GPIO26 (Channel 2).
Digital To Analog Converter — ESP-IDF Programming Guide v2.0-rc1-343-g65baf50 documentation

他のD/A変換法

For other analog output options, see the Sigma-delta Modulation module and the LED Control module. Both these modules produce high frequency PWM output, which can be hardware low-pass filtered in order to generate a lower frequency analog output.
Digital To Analog Converter — ESP-IDF Programming Guide v2.0-rc1-343-g65baf50 documentation

ESP-IDF

DAC直叩き

Header Files
components/driver/include/driver/dac.h

 esp_err_t dac_out_voltage(dac_channel_t channel, uint8_t dac_value)

I2Sルーティング

ESP32にはI2S対応ペリフェラルが2つ。

ESP32 contains two I2S peripherals.
I2S — ESP-IDF Programming Guide v2.0-rc1-343-g65baf50 documentation

DMA(ダイレクト メモリ アクセス)に対応、CPUを介さずにメモリ上のデータをDAC-GPIOへ送れる模様.

The I2S peripheral supports DMA meaning it can stream sample data without requiring each sample to be read or written by the CPU.

I2S output can also be routed directly to the Digital/Analog Converter output channels (GPIO 25 & GPIO 26) to produce analog output directly, rather than via an external I2S codec.
I2S — ESP-IDF Programming Guide v2.0-rc1-343-g65baf50 documentation

検証