> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs-staging.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# RTSS 接口概述

[QUP v3](https://dragonwingdocs.qualcomm.com/System/Interfaces/references) 是一个灵活且可编程的模块，支持多种串行接口，例如 [I2C](https://dragonwingdocs.qualcomm.com/System/Interfaces/i2c)、[SPI](https://dragonwingdocs.qualcomm.com/System/Interfaces/spi) 和 [UART](https://dragonwingdocs.qualcomm.com/System/Interfaces/uart)。

下表列出了设备上的默认 QUP 配置：

| **RTSS QUP** | **协议** | **Qualcomm Dragonwing<sup>TM</sup> IQ-9075 引脚** | **Qualcomm Dragonwing<sup>TM</sup> IQ-8275 引脚** |
| :-: | :-: | :-: | :-: |
| RTSS\_QUP0\_SE\_0 | i2c0 | 0, 1 | 0, 1 |
| RTSS\_QUP0\_SE\_2 | uart1 调试 | 6, 7 | 8, 9 |
| RTSS\_QUP0\_SE\_3 | i2c1 | 8, 9 | 10, 11 |
| RTSS\_QUP0\_SE\_4 | spi0/can | 10, 11, 12, 13, 14 | 14, 15, 16, 17, 18 |

RTSS 有五个 RTSS\_QUP 串行引擎（SE）。每个 QUP SE 最多有七条通道（I/O），编号从 0 到 6。一个 QUP SE 一次只能选择一种协议。例如，RTSS 不支持同时使用 UART 和 I<sup>2</sup>C 功能。

下表列出了每个 QUP 支持的分配：

<Tabs>
  <Tab title="IQ-9075">
    下表提供了有关 RTSS\_QUP 分配以及 QUP 通道到 RTSS I/O 映射的信息：

    | **RTSS QUP 核心实例（tile）** | **串行引擎** | **UART (64 B FIFO)** | **HS UART (128 B FIFO)** | **I<sup>2</sup>C 控制器** | **SPI 控制器** | **SPI 目标** | **QUP 通道到 RTSS I/O 映射** | | | | | | |
    | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | - | - | - | - | - | - |
    | **L0** | **L1** | **L2** | **L3** | **L4** | **L5** | **L6** | | | | | | | |
    | RTSS\_QUP0 | RTSS\_QUP0\_SE\_0 | 是 | – | 是 | 是 | 是 | 0 | 1 | 6 | 7 | – | – | – |
    | RTSS\_QUP0\_SE\_2 | 是 | 是 | 是 | 是 | – | 8 | 9 | 6 | 7 | – | – | – | |
    | RTSS\_QUP0\_SE\_3 | 是 | 是 | 是 | 是 | – | 8 | 9 | 4 | 5 | – | – | – | |
    | RTSS\_QUP0\_SE\_4 | 是 | – | 是 | 是 | – | 10 | 11 | 12 | 13 | 14 | – | – | |
  </Tab>

  <Tab title="IQ-8275">
    下表提供了有关 RTSS\_QUP 分配以及 QUP 通道到 RTSS I/O 映射的信息：

    | **RTSS QUP 核心实例（tile）** | **串行引擎** | **UART (64 B FIFO)** | **HS UART (128 B FIFO)** | **I<sup>2</sup>C 控制器** | **SPI 控制器** | **SPI 目标** | **QUP 通道到 RTSS I/O 映射** | | | | | |
    | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | - | - | - | - | - |
    | **L0** | **L1** | **L2** | **L3** | **L4** | **L5** | | | | | | | |
    | QUP0 | QUP0\_SE\_0 | 是 | – | 是 | 是 | 是 | 0 | 1 | 2 | 3 | – | – |
    | QUP0\_SE\_2 | 是 | 是 | 是 | 是 | – | 12 | 13 | 8 | 9 | – | – | |
    | QUP0\_SE\_3 | 是 | 是 | 是 | 是 | – | 10 | 11 | 12 | 13 | – | – | |
    | QUP0\_SE\_4 | 是 | – | 是 | 是 | – | 14 | 15 | 16 | 17 | 18 | – | |
  </Tab>
</Tabs>

## **QUP v3 串行引擎自定义**

QUP v3 中的所有串行引擎都可以配置为特定接口，例如 I<sup>2</sup>C、UART 或 SPI。以下用例定义了分配给每个已启用串行引擎的默认协议。您可以根据主板设计修改配置。

```undefined theme={null}
aliases {
  i2c0   = &se0_i2c;
  uart0  = &se1_uart;
  uart1  = &se2_uart;
  i2c1   = &se3_i2c;
  spi0   = &se4_spi;
  ospi0  = &spinor_monaco;
  ospi1  = &spinor_lemans;
};
```

如果 SE0 默认作为 I<sup>2</sup>C 接口启用，您可以按以下示例所示更新别名，将其重新配置为 SPI：

```cpp theme={null}
aliases {
    uart0  = &se1_uart;     //remove i2c0
    uart1  = &se2_uart;
    i2c1   = &se3_i2c;
    spi0   = &se4_spi;
    spi1   = &se0_spi;     //add spi1
    ospi0  = &spinor_monaco;
    ospi1  = &spinor_lemans;
  };
```

* [UART](UART)
* [I2C](I2C)
* [SPI](SPI)
