11.4.3. 编程指南

11.4.3.1. 初始化流程

在进行数据传输之前,需要对SPI接口和控制器进行初始化,主要包括时钟配置,引脚配置,以及工作模式配置等。

../../../_images/qspi_init_flow.png

11.4.3.2. 数据传输流程

SPI在主机和从机之间传输串行数据,主要有两种传输方式:CPU模式和DMA模式。SPI有两个数据通道:发送通道和接收通道。 发送通道数据传输路径从TX FIFO到外部设备,接收通道的数据传输路径是从外部设备到RX FIFO。

发送数据:CPU或DMA将数据写入SPI_TXD寄存器,控制器自动将寄存器的数据搬到TX FIFO中,再由移位寄存器将TX FIFO中的数据发出。

接收数据:CPU或DMA可以访问SPI_RXD寄存器获取接收数据,控制器自动将接收到的数据从RX FIFO搬到寄存器中。

每一笔数据传输完成后,SPI控制器都会发送一个传输完成的中断信号给处理器,此时SPI中断状态寄存器的TD位被置1。

CPU模式

../../../_images/qspi_cpu_trans_flow.png

DMA模式

../../../_images/qspi_dma_trans_flow.png