DSP原理与实践-基于TMS320F28x系列:第9章 串行外设接口(SPI)
本章节主要介绍了串行外设接口(SPI)的基本概念、结构、特点以及操作方式。SPI 是一种高速同步串行通信协议,广泛应用于单片机与外围模块之间的通信和信息交换。
9.1 增强型 SPI 模块概述
* SPI 模块是一个高速同步串行I/O 端口,可以在设定的位传输速率上将一个设定长度(1 至 16 位)的串行比特流移入和移出器件。
* SPI 通常用于 DSP 与外设或者 DSP 与另一个处理器之间的通信。
* F2812 芯片包括一个四引脚增强型的串行外设接口(SPI)模块,支持 16 级的接收和发送 FIFO,以减少 CPU 的服务开销。
9.1.1 SPI 的结构与特点
* SPI 模块有 4 个外部引脚,包括 SPISIMO、SPISOMI、SPICLK 和 SPISTE。
* SPI 支持主动 / 从动两种工作方式。
* SPI 有 125 种可编程的波特率。
* SPI 支持 1 ~ 16 个数据位同时接收和发送操作。
* SPI 的发送和接收操作可通过中断或查询方法完成。
* SPI 有 4 种时钟方案,包括无延时的下降沿、有延时的下降沿、无延时的上升沿和有延时的上升沿。
9.1.2 SPI 的功能框图与信号
* SPI 的接口信号由外部引脚信号、时钟(控制)信号和中断信号组成。
* SPI 的功能框图如表 9-1 所示。
9.1.3 SPI 的寄存器概述
* SPI 的寄存器如表 9-2 所示。
9.2 SPI 的操作
* SPI 的操作方式包括主控制器方式和从控制器方式。
* SPI 的操作通过对其内部的寄存器配置和控制来实现。
* SPI 的操作包括数据格式、波特率与时钟配置、复位与初始化等内容。
9.2.1 操作方式介绍
* SPI 主 / 从工作方式的连接图如图 9-3 所示。
* SPI 工作方式的选择由寄存器 SPICTL 的 MASTER/SLAVE 位(SPICTL.2)来决定。
* 数据的发送方式有三种:(1)主控制器发送数据,从控制器发送伪数据;(2)主控制器发送数据,从控制器发送数据;(3)主控制器发送伪数据,从控制器发送数据。
9.2.2 SPI 的主动 / 从动工作方式
* 主控制器控制 SPICLK 信号,通过发出 SPICLK 信号启动数据发送,从控制器则通过检测 SPICLK 信号接收数据。
* 一个主控制器可以连接多个从控制器,但是一次只允许一个从控制器。
9.2.3 SPI 的中断
* SPI 的中断包括发送中断和接收中断。
* 在标准 SPI 模式(非 FIFO 模式)下,发送中断和接收中断都使用 SPIINT/RXINT。
* 在 FIFO 模式中,接收中断使用 SPIINT/RXINT,而发送中断使用的是 SPITXINT。
9.2.4 SPI 的数据格式
* SPI 的数据格式包括 8 位或 16 位数据格式。
* SPI 的数据格式由寄存器 SPICTL 的 DATAWID 位(SPICTL.1)来决定。
9.2.5 SPI 的波特率设置与时钟配置
* SPI 的波特率可以通过寄存器 SPIBRR 的设置来实现。
* SPI 的时钟配置包括无延时的下降沿、有延时的下降沿、无延时的上升沿和有延时的上升沿。
9.2.6 SPI 的复位与初始化
* SPI 的复位可以通过寄存器 SPICTL 的 RST 位(SPICTL.0)来实现。
* SPI 的初始化可以通过寄存器 SPICTL 的 INIT 位(SPICTL.3)来实现。
9.3 SPI 的主要寄存器
* SPI 的主要寄存器包括 SPICTL、SPISTAT、SPIBRR、SPIDAT 等。
9.4 SPI 应用程序举例
* SPI 的应用程序包括 EEPROM、Flash、实时时钟、显示驱动器、AD/DA 转换等。
* SPI 的应用程序可以实现单片机与外围模块之间的通信和信息交换。