mirror of
https://github.com/espressif/esp-idf.git
synced 2026-05-19 23:45:28 +02:00
feat(driver_spi): add h21 spi drivers supports
This commit is contained in:
@@ -481,12 +481,12 @@ GPIO 矩阵与 IO_MUX 管脚
|
||||
|
||||
.. only:: not esp32
|
||||
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_CS:default="N/A", esp32s2="10", esp32s3="10", esp32c2="10", esp32c3="10", esp32c6="16", esp32h2="1", esp32p4="7" , esp32c5="10", esp32c61="8"}
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_CLK:default="N/A", esp32s2="12", esp32s3="12", esp32c2="6", esp32c3="6", esp32c6="6", esp32h2="4", esp32p4="9" , esp32c5="6", esp32c61="6"}
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_MOSI:default="N/A", esp32s2="11" esp32s3="11", esp32c2="7" esp32c3="7", esp32c6="7", esp32h2="5", esp32p4="8" , esp32c5="7", esp32c61="7"}
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_MISO:default="N/A", esp32s2="13" esp32s3="13", esp32c2="2" esp32c3="2", esp32c6="2", esp32h2="0", esp32p4="10", esp32c5="2", esp32c61="2"}
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_HD:default="N/A", esp32s2="9" esp32s3="9", esp32c2="4" esp32c3="4", esp32c6="4", esp32h2="3", esp32p4="6" , esp32c5="4", esp32c61="3"}
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_WP:default="N/A", esp32s2="14" esp32s3="14", esp32c2="5" esp32c3="5", esp32c6="5", esp32h2="2", esp32p4="11", esp32c5="5", esp32c61="4"}
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_CS:default="N/A", esp32s2="10", esp32s3="10", esp32c2="10", esp32c3="10", esp32c6="16", esp32h2="1", esp32p4="7" , esp32c5="10", esp32c61="8", esp32h21="12"}
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_CLK:default="N/A", esp32s2="12", esp32s3="12", esp32c2="6", esp32c3="6", esp32c6="6", esp32h2="4", esp32p4="9" , esp32c5="6", esp32c61="6", esp32h21="2"}
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_MOSI:default="N/A", esp32s2="11" esp32s3="11", esp32c2="7" esp32c3="7", esp32c6="7", esp32h2="5", esp32p4="8" , esp32c5="7", esp32c61="7", esp32h21="3"}
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_MISO:default="N/A", esp32s2="13" esp32s3="13", esp32c2="2" esp32c3="2", esp32c6="2", esp32h2="0", esp32p4="10", esp32c5="2", esp32c61="2", esp32h21="4"}
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_HD:default="N/A", esp32s2="9" esp32s3="9", esp32c2="4" esp32c3="4", esp32c6="4", esp32h2="3", esp32p4="6" , esp32c5="4", esp32c61="3", esp32h21="1"}
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_WP:default="N/A", esp32s2="14" esp32s3="14", esp32c2="5" esp32c3="5", esp32c6="5", esp32h2="2", esp32p4="11", esp32c5="5", esp32c61="4", esp32h21="0"}
|
||||
|
||||
芯片的大多数外围信号都与之专用的 IO_MUX 管脚连接,但这些信号也可以通过较不直接的 GPIO 矩阵路由到任何其他可用的管脚。只要有一个信号是通过 GPIO 矩阵路由的,那么所有的信号都将通过它路由。
|
||||
|
||||
@@ -532,10 +532,10 @@ GPIO 矩阵与 IO_MUX 管脚
|
||||
传输事务持续时间
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
{IDF_TARGET_TRANS_TIME_INTR_DMA:default="N/A", esp32="28", esp32s2="23", esp32c3="28", esp32s3="26", esp32c2="42", esp32c6="34", esp32h2="58", esp32p4="44", esp32c5="24", esp32c61="32"}
|
||||
{IDF_TARGET_TRANS_TIME_POLL_DMA:default="N/A", esp32="10", esp32s2="9", esp32c3="10", esp32s3="11", esp32c2="17", esp32c6="17", esp32h2="28", esp32p4="27", esp32c5="15", esp32c61="17"}
|
||||
{IDF_TARGET_TRANS_TIME_INTR_CPU:default="N/A", esp32="25", esp32s2="22", esp32c3="27", esp32s3="24", esp32c2="40", esp32c6="32", esp32h2="54", esp32p4="26", esp32c5="22", esp32c61="29"}
|
||||
{IDF_TARGET_TRANS_TIME_POLL_CPU:default="N/A", esp32="8", esp32s2="8", esp32c3="9", esp32s3="9", esp32c2="15", esp32c6="15", esp32h2="24", esp32p4="12", esp32c5="12", esp32c61="14"}
|
||||
{IDF_TARGET_MAX_TRANS_TIME_INTR_DMA:default="N/A", esp32="28", esp32s2="23", esp32c3="28", esp32s3="26", esp32c2="42", esp32c6="34", esp32h2="58", esp32p4="44", esp32c5="24", esp32c61="32"}
|
||||
{IDF_TARGET_MAX_TRANS_TIME_POLL_DMA:default="N/A", esp32="10", esp32s2="9", esp32c3="10", esp32s3="11", esp32c2="17", esp32c6="17", esp32h2="28", esp32p4="27", esp32c5="15", esp32c61="17"}
|
||||
{IDF_TARGET_MAX_TRANS_TIME_INTR_CPU:default="N/A", esp32="25", esp32s2="22", esp32c3="27", esp32s3="24", esp32c2="40", esp32c6="32", esp32h2="54", esp32p4="26", esp32c5="22", esp32c61="29"}
|
||||
{IDF_TARGET_MAX_TRANS_TIME_POLL_CPU:default="N/A", esp32="8", esp32s2="8", esp32c3="9", esp32s3="9", esp32c2="15", esp32c6="15", esp32h2="24", esp32p4="12", esp32c5="12", esp32c61="14"}
|
||||
|
||||
传输事务持续时间包括设置 SPI 外设寄存器,将数据复制到 FIFO 或设置 DMA 链接,以及 SPI 传输事务时间。
|
||||
|
||||
@@ -547,10 +547,10 @@ GPIO 矩阵与 IO_MUX 管脚
|
||||
|
||||
单个字节数据的典型传输事务持续时间如下。
|
||||
|
||||
- 使用 DMA 的中断传输事务:{IDF_TARGET_TRANS_TIME_INTR_DMA} µs。
|
||||
- 使用 CPU 的中断传输事务:{IDF_TARGET_TRANS_TIME_INTR_CPU} µs。
|
||||
- 使用 DMA 的轮询传输事务:{IDF_TARGET_TRANS_TIME_POLL_DMA} µs。
|
||||
- 使用 CPU 的轮询传输事务:{IDF_TARGET_TRANS_TIME_POLL_CPU} µs。
|
||||
- 使用 DMA 的中断传输事务:{IDF_TARGET_MAX_TRANS_TIME_INTR_DMA} µs。
|
||||
- 使用 CPU 的中断传输事务:{IDF_TARGET_MAX_TRANS_TIME_INTR_CPU} µs。
|
||||
- 使用 DMA 的轮询传输事务:{IDF_TARGET_MAX_TRANS_TIME_POLL_DMA} µs。
|
||||
- 使用 CPU 的轮询传输事务:{IDF_TARGET_MAX_TRANS_TIME_POLL_CPU} µs。
|
||||
|
||||
请注意,以上数据测试时,:ref:`CONFIG_SPI_MASTER_ISR_IN_IRAM` 选项处于启用状态,SPI 传输事务相关的代码放置在 IRAM 中。若关闭此选项(例如为了节省 IRAM),可能影响传输事务持续时间。
|
||||
|
||||
|
||||
@@ -154,12 +154,12 @@ GPIO 交换矩阵和 IO_MUX
|
||||
|
||||
.. only:: not esp32
|
||||
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_CS:default="N/A", esp32s2="10", esp32s3="10", esp32c2="10", esp32c3="10", esp32c6="16", esp32h2="1", esp32p4="7" , esp32c5="10", esp32c61="8"}
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_CLK:default="N/A", esp32s2="12", esp32s3="12", esp32c2="6", esp32c3="6", esp32c6="6", esp32h2="4", esp32p4="9" , esp32c5="6", esp32c61="6"}
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_MOSI:default="N/A", esp32s2="11" esp32s3="11", esp32c2="7" esp32c3="7", esp32c6="7", esp32h2="5", esp32p4="8" , esp32c5="7", esp32c61="7"}
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_MISO:default="N/A", esp32s2="13" esp32s3="13", esp32c2="2" esp32c3="2", esp32c6="2", esp32h2="0", esp32p4="10", esp32c5="2", esp32c61="2"}
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_HD:default="N/A", esp32s2="9" esp32s3="9", esp32c2="4" esp32c3="4", esp32c6="4", esp32h2="3", esp32p4="6" , esp32c5="4", esp32c61="3"}
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_WP:default="N/A", esp32s2="14" esp32s3="14", esp32c2="5" esp32c3="5", esp32c6="5", esp32h2="2", esp32p4="11", esp32c5="5", esp32c61="4"}
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_CS:default="N/A", esp32s2="10", esp32s3="10", esp32c2="10", esp32c3="10", esp32c6="16", esp32h2="1", esp32p4="7" , esp32c5="10", esp32c61="8", esp32h21="12"}
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_CLK:default="N/A", esp32s2="12", esp32s3="12", esp32c2="6", esp32c3="6", esp32c6="6", esp32h2="4", esp32p4="9" , esp32c5="6", esp32c61="6", esp32h21="2"}
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_MOSI:default="N/A", esp32s2="11" esp32s3="11", esp32c2="7" esp32c3="7", esp32c6="7", esp32h2="5", esp32p4="8" , esp32c5="7", esp32c61="7", esp32h21="3"}
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_MISO:default="N/A", esp32s2="13" esp32s3="13", esp32c2="2" esp32c3="2", esp32c6="2", esp32h2="0", esp32p4="10", esp32c5="2", esp32c61="2", esp32h21="4"}
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_HD:default="N/A", esp32s2="9" esp32s3="9", esp32c2="4" esp32c3="4", esp32c6="4", esp32h2="3", esp32p4="6" , esp32c5="4", esp32c61="3", esp32h21="1"}
|
||||
{IDF_TARGET_SPI2_IOMUX_PIN_WP:default="N/A", esp32s2="14" esp32s3="14", esp32c2="5" esp32c3="5", esp32c6="5", esp32h2="2", esp32p4="11", esp32c5="5", esp32c61="4", esp32h21="0"}
|
||||
|
||||
{IDF_TARGET_NAME} 的大多数外设信号都直接连接到其专用的 IO_MUX 管脚。不过,也可以使用 GPIO 交换矩阵,将信号路由到任何可用的其他管脚。如果通过 GPIO 交换矩阵路由了至少一个信号,则所有信号都将通过 GPIO 交换矩阵路由。
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ ESP 串行从机链路
|
||||
概述
|
||||
----
|
||||
|
||||
乐鑫有多款芯片可用作从机的芯片。这些从机依赖于一些通用总线,并在总线上实现了各自的通信协议。 ``esp_serial_slave_link`` 组件能让主机通过总线驱动和相应的协议与 ESP 从机进行通信。
|
||||
乐鑫有多款芯片可用作从机。这些从机依赖于一些通用总线,并在总线上实现了各自的通信协议。 ``esp_serial_slave_link`` 组件能让主机通过总线驱动和相应的协议与 ESP 从机进行通信。
|
||||
|
||||
``esp_serial_slave_link`` 设备初始化完成后,应用程序就能通过它与 ESP 从机方便地通信。
|
||||
|
||||
|
||||
@@ -14,21 +14,31 @@ ESP SPI 从机 HD(半双工)模式协议
|
||||
乐鑫芯片的 SPI 从机功能支持概况
|
||||
---------------------------------
|
||||
|
||||
+-------------+-------+----------+----------+----------+----------+----------+----------+----------+----------+-----------+
|
||||
| | ESP32 | ESP32-S2 | ESP32-C3 | ESP32-S3 | ESP32-C2 | ESP32-C6 | ESP32-H2 | ESP32-P4 | ESP32-C5 | ESP32-C61 |
|
||||
+-------------+-------+----------+----------+----------+----------+----------+----------+----------+----------+-----------+
|
||||
| SPI 从机 HD | N | Y (v2) | Y (v2) | Y (v2) | Y (v2) | Y (v2) | Y (v2) | Y (v2) | Y (v2) | Y (v2) |
|
||||
+-------------+-------+----------+----------+----------+----------+----------+----------+----------+----------+-----------+
|
||||
| Tohost intr | | N | N | N | N | N | N | N | N | N |
|
||||
+-------------+-------+----------+----------+----------+----------+----------+----------+----------+----------+-----------+
|
||||
| Frhost intr | | 2 * | 2 * | 2 * | 2 * | 2 * | 2 * | 2 \* | 2 \* | 2 \* |
|
||||
+-------------+-------+----------+----------+----------+----------+----------+----------+----------+----------+-----------+
|
||||
| TX DMA | | Y | Y | Y | Y | Y | Y | Y | Y | Y |
|
||||
+-------------+-------+----------+----------+----------+----------+----------+----------+----------+----------+-----------+
|
||||
| RX DMA | | Y | Y | Y | Y | Y | Y | Y | Y | Y |
|
||||
+-------------+-------+----------+----------+----------+----------+----------+----------+----------+----------+-----------+
|
||||
| 共享寄存器 | | 72 | 64 | 64 | 64 | 64 | 64 | 64 | 64 | 64 |
|
||||
+-------------+-------+----------+----------+----------+----------+----------+----------+----------+----------+-----------+
|
||||
+---------+------------+-----------+-----------+------+------+----------------+
|
||||
| |SPI Slave HD|Tohost intr|Frhost intr|TX DMA|RX DMA|Shared registers|
|
||||
+---------+------------+-----------+-----------+------+------+----------------+
|
||||
|ESP32 | N | | | | | |
|
||||
+---------+------------+-----------+-----------+------+------+----------------+
|
||||
|ESP32-S2 | Y(v2) | N | 2 \* | Y | Y | 72 |
|
||||
+---------+------------+-----------+-----------+------+------+----------------+
|
||||
|ESP32-C3 | Y(v2) | N | 2 \* | Y | Y | 64 |
|
||||
+---------+------------+-----------+-----------+------+------+----------------+
|
||||
|ESP32-S3 | Y(v2) | N | 2 \* | Y | Y | 64 |
|
||||
+---------+------------+-----------+-----------+------+------+----------------+
|
||||
|ESP32-C2 | Y(v2) | N | 2 \* | Y | Y | 64 |
|
||||
+---------+------------+-----------+-----------+------+------+----------------+
|
||||
|ESP32-C6 | Y(v2) | N | 2 \* | Y | Y | 64 |
|
||||
+---------+------------+-----------+-----------+------+------+----------------+
|
||||
|ESP32-H2 | Y(v2) | N | 2 \* | Y | Y | 64 |
|
||||
+---------+------------+-----------+-----------+------+------+----------------+
|
||||
|ESP32-P4 | Y(v2) | N | 2 \* | Y | Y | 64 |
|
||||
+---------+------------+-----------+-----------+------+------+----------------+
|
||||
|ESP32-C5 | Y(v2) | N | 2 \* | Y | Y | 64 |
|
||||
+---------+------------+-----------+-----------+------+------+----------------+
|
||||
|ESP32-C61| Y(v2) | N | 2 \* | Y | Y | 64 |
|
||||
+---------+------------+-----------+-----------+------+------+----------------+
|
||||
|ESP32-H21| Y(v2) | N | 2 \* | Y | Y | 64 |
|
||||
+---------+------------+-----------+-----------+------+------+----------------+
|
||||
|
||||
概述
|
||||
----
|
||||
|
||||
Reference in New Issue
Block a user