ESP32 SPI 설정 관련 팁

ESPRESSIF|2023. 1. 27. 18:27

ESP32의 SPI에 설정에 대한 팁입니다.

1. ESP32 는 다수의 SPI를 지원합니다.

 

2. ESP32 의 SPI에서 1개는 Flash용으로 사용되어야 합니다. 보통 Flash에 사용되는 SPI는 정해져 있습니다.

    (ESP32 datasheet의 기본 회로도 참고

 

3. 아래는 ESP32 기준입니다.

 

ESP32 SPI-Master

https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/spi_master.html

 

ESP32 SPI-Slave

https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/spi_slave.html

 

 

SPI Master Driver - ESP32 - — ESP-IDF Programming Guide latest documentation

Bus A signal bus, common to all Devices connected to one Host. In general, a bus includes the following lines: MISO, MOSI, SCLK, one or more CS lines, and, optionally, QUADWP and QUADHD. So Devices are connected to the same lines, with the exception that e

docs.espressif.com

 

ESP32는 4개의 SPI를 지원합니다.

-  SPO0, SPI1은 Flash 메모리 용입니다.  즉, 일반적으로 사용하지 못한다고 보면 됩니다.

-  SPI2, SPI3는 User가 사용할수 있는 SPI입니다. 이름을 HSPI, VSPI로 명칭을 합니다.

 

SPI핀 설정은 기본 핀 사용(IO_MUX pin)할 수 있고, 또는 유져가 다른핀으로 변경하여 지정을 할수도 있습니다. 

아래 블럭을 보면, IO_MUX를 사용할 경우 GPIO Matrix를 지나지 않습니다.

핀 번호를 변경할 경우, GPIO Matrix를 지나게 되고, 이 때 제약이 발생 합니다.

아래는 기본핀 (IO_MUX) 입니다. 

GPIO Matrix사용시 제약 사항

아래와 같이 GPIO Matrix를 사용하면 26.6Mhz입니다.

만약, Dummy bit을 사용하면 GPIO Matrix에서 40Mhz가 가능하나, Half duplex이고 no DMA입니다. 

ESP32 SPI Master Known issue

https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/spi_master.html#known-issues

 

ESP32-C3, ESP32-S2, ESP32-S3는 스펙이 다릅니다.

ESP-IDF사이트에서 이 부분을 참고 바랍니다. 

 

ESP32-S3 SPI-Mater.

https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-reference/peripherals/spi_master.html

 

SPI Master Driver - ESP32-S3 - — ESP-IDF Programming Guide latest documentation

A signal bus, common to all Devices connected to one Host. In general, a bus includes the following lines: MISO, MOSI, SCLK, one or more CS lines, and, optionally, QUADWP and QUADHD. So Devices are connected to the same lines, with the exception that each

docs.espressif.com

ESP32-S2 SPI-Master

https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/api-reference/peripherals/spi_master.html

 

SPI Master Driver - ESP32-S2 - — ESP-IDF Programming Guide latest documentation

A signal bus, common to all Devices connected to one Host. In general, a bus includes the following lines: MISO, MOSI, SCLK, one or more CS lines, and, optionally, QUADWP and QUADHD. So Devices are connected to the same lines, with the exception that each

docs.espressif.com

ESP32-C3 SPI Master

https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/api-reference/peripherals/spi_master.html

 

SPI Master Driver - ESP32-C3 - — ESP-IDF Programming Guide latest documentation

A signal bus, common to all Devices connected to one Host. In general, a bus includes the following lines: MISO, MOSI, SCLK, one or more CS lines, and, optionally, QUADWP and QUADHD. So Devices are connected to the same lines, with the exception that each

docs.espressif.com