1 概述
SPI 模块可配置为支持 SPI 协议或者 I2S 协议。SPI 模块默认工作在 SPI 方式,可通过
软件将其切换到 I2S 模式。在 I2S 模式下,原则上数据传输为全双工模式,主机和从机同时
收发数据,但实际情况下通常只有一个方向上的数据是有意义的。
SPI 模式主要特征:
⚫ 3 线或者 4 线数据传输
⚫ 8/16/32 位传输帧格式
⚫ MSB/LSB 先发送可选
⚫ 主从模式
⚫ 时钟频率可设
⚫ 可编程的时钟极性和相位
⚫ 可触发中断的发送和接收标志
⚫ DMA 读写
I2S 主要特征:
⚫ 单工通信
⚫ 主从模式
⚫ 数据长度可为 16/32 位
⚫ 8 位线性可编程预分频器(音频采样频率 8KHz 到 96KHz)
⚫ 可编程时钟极性
⚫ 支持多种 I2S 协议:
⚫ I2S 飞利浦标准
⚫ LSB 对齐标准(右对齐)
⚫ MSB 对齐标准(左对齐)
⚫ PCM 标准
⚫ DMA 读写
⚫ 可输出的主时钟,频率可通过 I2CCKS<1:0>(SPIx_CTLR<26:25>)位配置
2 SPI 功能描述
SPI 模式允许同时同步发送和接收数据。通常使用以下三个引脚来完成通信:
⚫ SDO:串行数据输出(Serial Data Out)
⚫ SDI:串行数据输入(Serial Data In)
⚫ SCK:串行时钟(Serial Clock)
此外,当工作在从动模式下时可以使用第 4 个引脚:
⚫ SS :从动选择(Slave Select)
注意:
当 SPI 处于从动模式,并且使能 SS 引脚控制(SPIMS<2:0> = 100)时,如果 SS 引脚设
为 VDD,那么 SPI 模块将复位。
如果使用 SPI 从动模式,且 SPICKE = 1,则必须使能 SS 引脚控制。
|