EEVblog Electronics Community Forum

Electronics => Microcontrollers => Topic started by: e100 on June 21, 2022, 05:41:52 am

Title: ESP32 bit-banging and the RMT peripheral
Post by: e100 on June 21, 2022, 05:41:52 am
This one-wire library
https://github.com/DavidAntliff/esp32-owb
contains the following quote,

"This component includes two methods of bus access - delay-driven GPIO and RMT-driven slots. The original implementation used CPU delays to construct the 1-Wire read/write timeslots however this proved to be too unreliable. A second method, using the ESP32's RMT peripheral, results in very accurate read/write timeslots and more reliable operation."

I haven't found a more in depth explanation of what's causing the GPIO timing problems.
Is the need to use the RTM peripheral because of a fundamental limitation of the RTOS (or RTOss in general) or because of the way the RTOS is being used, or both?

The documentation for the RTM peripheral is here, https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/rmt.html