SPI可以利用DMA来搬运数据,包含读取接收数据和写入发送数据。DMA请求及应答机制,能监控
收发缓冲的空满状态,并提高对SPI收发数据寄存器RXREG、TXREG的读写速率,从而加快SPI通信速
度。
配置SPI_I2S_GCTL.DMAMODE位为‘1’,来实现SPI模块与DMA之间的信号交互。当发送缓冲有
空闲空间,即请求DMA写入TXREG;当接收缓冲有可读的有效数据,即请求DMA读取RXREG。
发送时:当配置DW8_32位为‘0’,发送缓冲有大于等于1个空闲数据(1字节)的空间,即发送
缓冲未满时就发起DMA请求;当配置DW8_32位为‘1’,发送缓冲有1个有效数据的空闲空间时
会发起DMA请求。每次请求只进行一次DMA传输,且传输数据字节数由DW8_32位决定。
接收时:当配置DW8_32位为‘0’,接收缓冲有大于等于1个有效数据(1字节)时就发起DMA
请求;当配置DW8_32位为‘1’,接收缓冲有1个有效数据后才发起DMA请求。每次请求只进行
一次DMA传输。且传输数据字节数由DW8_32位决定。
注意:DW8_32=1时,1个有效数据的字节数由帧长位数决定。
|