《STM32_参考手册中文》由会员分享,可在线阅读,更多相关《STM32_参考手册中文(43页珍藏版)》请在金锄头文库上搜索。
1、SPI 接口23 串行外设接口(SPI)STM32F10xxx参考手册小容量产品 是指闪存存储器容量在 16K至 32K 字节之间的 STM32F101xx、STM32F102xx 和STM32F103xx 微把握器。中容量产品是指闪存存储器容量在 64K 至 128K 字节之间的 STM32F101xx 、STM32F102xx 和STM32F103xx 微把握器。大容量产品是指闪存存储器容量在 256K 至 512K 字节之间的STM32F101xx 和 STM32F103xx 微把握器。互联型产品是指STM32F105xx 和STM32F107xx 微把握器。 除非特别说明,本章描述的模
2、块适用于整个STM32F10xxx 微把握器系列。23.1 SPI 简介在大容量产品和互联型产品上,SPI 接口可以配置为支持 SPI 协议或者支持 I2S 音频协议。SPI接口默认工作在SPI 方式,可以通过软件把功能从SPI 模式切换到I2S 模式。在小容量和中容量产品上,不支持I2S 音频协议。串行外设接口(SPI)允许芯片与外部设备以半/全双工、同步、串行方式通信。此接口可以被配置 成主模式,并为外部从设备供给通信时钟(SCK)。接口还能以多主配置方式工作。它可用于多种用途,包括使用一条双向数据线的双线单工同步传输,还可使用 CRC 校验的牢靠通信。I2S 也是一种 3 引脚的同步串行
3、接口通讯协议。它支持四种音频标准,包括飞利浦 I2S 标准, MSB 和 LSB 对齐标准,以及 PCM 标准。它在半双工通讯中,可以工作在主和从 2 种模式下。当它作为主设备时,通过接口向外部的从设备供给时钟信号。警告: 由于 SPI3/I2S3 的部 分引 脚 与 JTAG 引脚 共享 (SPI3_NSS/I2S3_WS 与 JTDI , SPI3_SCK/I2S3_CK 与 JTDO),因此这些引脚不受 IO 把握器把握,他们(在每次复位后) 被默认保存为 JTAG 用途。假设用户想把引脚配置给 SPI3/I2S3 ,必需(在调试时) 关闭 JTAG 并切换至 SWD 接口,或者(在标准
4、应用时)同时关闭 JTAG 和 SWD 接口。详见第 8.3.5 节:JTAG/SWD 复用功能重映射。23.2 SPI 和 I2S 主要特征23.2.1 SPI 特征 3 线全双工同步传输 带或不带第三根双向数据线的双线单工同步传输 8 或 16 位传输帧格式选择 主或从操作 支持多主模式 8 个主模式波特率预分频系数(最大为fPCLK/2) 从模式频率(最大为fPCLK/2) 主模式和从模式的快速通信 主模式和从模式下均可以由软件或硬件进展NSS 治理:主/从操作模式的动态转变 可编程的时钟极性和相位 可编程的数据挨次,MSB 在前或LSB 在前 可触发中断的专用发送和接收标志 SPI 总
5、线忙状态标志 支持牢靠通信的硬件CRC 在发送模式下,CRC 值可以被作为最终一个字节发送457/754SPI 接口在全双工模式中对接收到的最终一个字节自动进展CRC 校验 可触发中断的主模式故障、过载以及CRC 错误标志 支持DMA 功能的 1 字节发送和接收缓冲器:产生发送和承受恳求23.2.2 I2S 功能 单工通信(仅发送或接收) 主或者从操作STM32F10xxx参考手册 8 位线性可编程预分频器,获得准确的音频采样频率(8KHz 到 96kHz) 数据格式可以是 16 位,24 位或者 32 位 音频信道固定数据包帧为 16 位(16 位数据帧)或 32 位(16、24 或 32
6、位数据帧) 可编程的时钟极性(稳定态) 从发送模式下的下溢标志位和主/从接收模式下的溢出标志位 16 位数据存放器用来发送和接收,在通道两端各有一个存放器 支持的I2S 协议: I2S 飞利浦标准 MSB 对齐标准(左对齐) LSB 对齐标准(右对齐) PCM 标准(16 位通道帧上带长或短帧同步或者16 位数据帧扩展为 32 位通道帧) 数据方向总是MSB 在先 发送和接收都具有DMA 力气 主时钟可以输出到外部音频设备,比率固定为256xFs(Fs 为音频采样频率) 在互联型产品中,两个I2S 模块(I2S2 和 I2S3)有一个专用的PLL(PLL3),产生更加精准得时钟458/754S
7、PI 接口STM32F10xxx参考手册23.3SPI 功能描述23.3.1概述SPI 的方框图见以以以以下图。图 209SPI 框图通常SPI 通过 4 个引脚与外部器件相连: MISO:主设备输入/从设备输出引脚。该引脚在从模式下发送数据,在主模式下接收数据。 MOSI:主设备输出/从设备输入引脚。该引脚在主模式下发送数据,在从模式下接收数据。 SCK:串口时钟,作为主设备的输出,从设备的输入 NSS:从设备选择。这是一个可选的引脚,用来选择主/从设备。它的功能是用来作为“片选引脚”,让主设备可以单独地与特定从设备通讯,避开数据线上的冲突。从设备的NSS 引脚可以由主设备的一个标准I/O
8、引脚来驱动。一旦被使能(SSOE 位),NSS 引脚也可以作为输出引脚,并在SPI 处于主模式时拉低;此时,全部的SPI 设备,假设它们的NSS 引脚连接 到主设备的NSS 引脚,则会检测到低电平,假设它们被设置为NSS 硬件模式,就会自动进 入从设备状态。当配置为主设备、NSS 配置为输入引脚(MSTR=1,SSOE=0)时,假设NSS 被拉低,则这个SPI 设备进入主模式失败状态:即MSTR 位被自动去除,此设备进入从模式 (参见)以以以以下图是一个单主和单从设备互连的例子。459/754SPI 接口图 210单主和单从应用STM32F10xxx参考手册1. 这里 NSS 引脚设置为输入M
9、OSI 脚相互连接,MISO 脚相互连接。这样,数据在主和从之间串行地传输(MSB 位在前)。通信总是由主设备发起。主设备通过 MOSI 脚把数据发送给从设备,从设备通过 MISO 引脚回传 数据。这意味全双工通信的数据输出和数据输入是用同一个时钟信号同步的;时钟信号由主设备通过SCK 脚供给。从选择(NSS) 脚治理有 2 种NSS 模式: 软件NSS 模式:可以通过设置SPI_CR1 存放器的SSM 位来使能这种模式(见图 211)。在这种 模式下NSS 引脚可以用作它用,而内部NSS 信号电平可以通过写SPI_CR1 的 SSI 位来驱动 硬件NSS 模式,分两种状况: NSS 输出被使
10、能:当STM32F10xxx 工作为主SPI,并且NSS 输出已经通过SPI_CR2 存放 器的SSOE 位使能,这时NSS 引脚被拉低,全部NSS 引脚与这个主SPI 的 NSS 引脚相连并 配置为硬件NSS 的SPI 设备,将自动变成从SPI 设备。 当一个SPI 设备需要发送播送数据,它必需拉低NSS 信号,以通知全部其它的设备它是主 设备;假设它不能拉低NSS,这意味着总线上有另外一个主设备在通信,这时将产生一个 硬件失败错误 (NHSaSrd输F出au被lt)。关闭:允许操作于多主环境。图 211硬件/软件的从选择治理1112023-08-09 09:13:27在理解下啊时钟信号的相
11、位和极性SPI_CR 存放器的 CPOL 和 CPHA 位,能够组合成四种可能的时序关系。CPOL(时钟极性)位把握 在没有数据传输时时钟的空闲状态电平,此位对主模式和从模式下的设备都有效。假设CPOL 被清0,SCK 引脚在空闲状态保持低电平;假设CPOL 被置1,SCK 引脚在空闲状态保持高电平。假设 CPHA(时钟相位)位被置1,SCK 时钟的其次个边沿(CPOL 位为 0 时就是下降沿,CPOL 位 为1时就是上升沿 )进展数据位的采样,数据在其次个时钟边沿被锁存。假设 CPHA 位被清0, SCK 时钟的第一边沿(CPOL 位为0时就是下降沿, CPOL 位为1时就是上升沿)进展46
12、0/754参照 2023 年 12 月 RM0008 Reference Manual 英文第10 版 本译文仅供参考,如有翻译错误,请以英文原稿为准。请读者随时留意在ST 网站下载更版本SPI 接口数据位采 样,数据在第一个时钟边沿被锁存。STM32F10xxx参考手册461/754参照 2023 年 12 月 RM0008 Reference Manual 英文第10 版 本译文仅供参考,如有翻译错误,请以英文原稿为准。请读者随时留意在ST 网站下载更版本SPI 接STM32F10xxx参考手口CPOL 时钟极性和CPHA册 时钟相位的组合选择数据捕获的时钟边沿。 图 212显示了SPI
13、传输的4 种 CPHA 和CPOL 位组合。此图可以解释为主设备和从设备的SCK 脚、MISO 脚、MOSI 脚直接连接的主或从时序图。留意: 1.在转变CPOL/CPHA位之前,必需去除SPE 位将SPI 制止。2. 主和从必需配置成一样的时序模式。3. SCK的空闲状态必需和SPI_CR1存放器指定的极性一(致CPOL为1时,空闲时应上拉SCK为高电平;CPOL 为0时,空闲时应下拉SCK 为低电平)。4. 数据帧格式(8 位或16 位)由SPI_CR1存放器的DFF 位选择,并且打算发/送接收的数据长度。图 212数据时钟时序图数据帧格式 依据SPI_CR1 存放器中的LSBFIRST 位,输出数据位时可以MSB 在先也可以LSB 在先。 依据SPI_CR1 存放器的DFF 位,每个数据帧可以是 8 位或是 16 位。所选择的数据帧格式对发送和/或接收都有效。462/754参照 2023 年 12 月 RM0008 Reference Manual 英文第10 版 本译文仅供参考,如有翻译错误,请以英文原稿为准。请读者随时留意在ST 网站下载更版本SPI 接口23.3.2配置 SPI 为从模式STM32F10xxx参考手册在从模式下,SCK 引脚用于接收从主设备来的串行时钟。SPI_CR1 存放器中BR2:0的设置不影响数据传输速率。注:建议在主设备发送时钟之前使S能