目录
概述
SPI接口可以配置为支持SPI协议或者支持I2S音频协议。SPI接口默认工作在SPI方式,可以通过软件把功能从SPI模式切换到I2S模式。
串行外设接口(SPI)允许芯片与外部设备以半/全双工、同步、串行方式通信。此接口可以被配置成主模式,并为外部从设备提供通信时钟(SCK)。
I2S也是一种3引脚的同步串行接口通讯协议。它支持四种音频标准,包括飞利浦I2S标准,MSB和LSB对齐标准,以及PCM标准。它在半双工通讯中,可以工作在主和从2种模式下。当它作为主设备时,通过接口向外部的从设备提供时钟信号。
I2S功能
● 单工通信(仅发送或接收)
● 主或者从操作
● 8位线性可编程预分频器,获得精确的音频采样频率(8KHz到96kHz)
● 数据格式可以是16位,24位或者32位
● 音频信道固定数据包帧为16位(16位数据帧)或32位(16、24或32位数据帧)
● 可编程的时钟极性(稳定态)
● 从发送模式下的下溢标志位和主/从接收模式下的溢出标志位
● 16位数据寄存器用来发送和接收,在通道两端各有一个寄存器
● 支持的I2S协议:
─ I2S飞利浦标准
─ MSB对齐标准(左对齐)
─ LSB对齐标准(右对齐)
─ PCM标准(16位通道帧上带长或短帧同步或者16位数据帧扩展为32位通道帧)
● 数据方向总是MSB在先
● 发送和接收都具有DMA能力
● 主时钟可以输出到外部音频设备,比率固定为256xFs(Fs为音频采样频率)
● 在互联型产品中,两个I2S模块(I2S2和I2S3)有一个专用的PLL(PLL3),产生更加精准的时钟。
SPI功能
通常SPI通过4个引脚与外部器件相连:
● MISO:主设备输入/从设备输出引脚。该引脚在从模式下发送数据,在主模式下接收数据。
● MOSI:主设备输出/从设备输入引脚。该引脚在主模式下发送数据,在从模式下接收数据。
● SCK:串口时钟,作为主设备的输出,从设备的输入
● NSS:从设备选择。这是一个可选的引脚,用来选择主/从设备。它的功能是用来作为“片选引脚”,让主设备可以单独地与特定从设备通讯,避免数据线上的冲突。从设备的NSS引脚可以由主设备的一个标准I/O引脚来驱动。一旦被使能(SSOE位),NSS引脚也可以作为输出引脚,并在SPI处于主模式时拉低;此时,所有的SPI设备,如果它们的NSS引脚连接到主设备的NSS引脚,则会检测到低电平,如果它们被设置为NSS硬件模式,就会自动进入从设备状态。当配置为主设备、NSS配置为输入引脚(MSTR=1,SSOE=0)时,如果NSS被拉低,则这个SPI设备进入主模式失败状态:即MSTR位被自动清除,此设备进入从模式。
图 1SPI框图