总线模式
4 Sep 2024
Read time: 1 minute(s)
总线模式包含以下类型:
注:
除了 SPI 标准模式和三线模式,在其他模式下,必须配置 SPI_TCFG.TXDLY_EN 位为
1,保证单线切换多线时命令或地址被正确采样。
SPI 标准模式
SPI 标准模式,是 SPI 默认的标准总线模式,使用以下信号线实现通信:
- SPI_CS:片选控制信号,在 SPI_CS 为低电平期间进行数据传输。
- SPI_CLK:时钟线。
- SPI_MOSI:作为主机时发送数据,作为从机时接收数据。
- SPI_MISO:作为主机时接收数据,作为从机时发送数据。
标准模式时序图如下:
注:
SPI 标准模式支持全双工,在发送数据的同时可以接收数据。
SPI 三线模式
SPI 三线模式是标准模式的变体,仅当 SPI 工作在主机模式时有效。SPI 三线模式使用以下信号线实现通信:
- SPI_CS:片选控制信号,在 SPI_CS 为低电平期间进行数据传输。
- SPI_CLK:时钟线。
- SPI_MOSI:数据的输入和输出的数据信号线 。
三线模式时序图如下:
通过配置寄存器 0x040 SPI_BMTC.BMOD_SEL 字段为 0x2,使用三线数据传输模式。
注:
SPI 三线模式默认是以位为单位的模式传输,通过配置 0x008 SPI_TCFG.3WIRE_EN,可以支持以字节为单位的模式传输。
SPI 双路输入/ 输出模式
SPI 双路输入/ 双路输出模式是指通过两根信号线 SPI_MOSI 和 SPI_MISO 进行发送或接收数据, 传输速率是标准单路 SPI 模式的两倍。
- SPI_CS:片选控制信号,在 SPI_CS 为低电平期间进行数据传输。
- SPI_CLK:时钟线。
- SPI_MOSI 和 SPI_MISO:命令/ 地址/ 填充数据通过 MOSI 线传输,有效数据通过 SPI_MOSI 和 SPI_MISO 两根信号线同时传输。
- 配置寄存器 0x038 SPI_TMC.DUAL_EN 位为 1,可选择 SPI 双路模式。
SPI 双路 I/O 模式
SPI 双路 I/O 模式的特点如下:
- 地址、填充数据和有效数据都通过两根信号线进行传输,命令通过 MOSI 进行单线传输。
- 配置寄存器 0x038 SPI_TMC.DUAL_EN 位为 1,可选择 SPI 双路 I/O 模式。
SPI 四路输入 /输出模式
SPI 四路输入输出模式是指通过四根信号线(MOSI/ MISO/ WP/ HOLD)进行发送或接收数据,此时传输速率是标准 SPI 模式的四倍。
- 命令/ 地址/ 填充数据通过 MOSI 单线传输,有效数据通过四根信号线同时传输。
- 通过配置寄存器 0x038 SPI_TMC.QUAD_EN 位为 1 进行选择,