【STM32】SPI简介
00. 目录
文章目录
- 00. 目录
- 01. SPI简介
- 02. SPI特性
- 03. SPI功能说明
- 04. SPI中断
- 05. 相关寄存器
- 5.1 SPI 控制寄存器 1 (SPI_CR1) (不用于 I 2 S 模式)
- 5.2 SPI 控制寄存器 2 (SPI_CR2)
- 5.3 SPI 状态寄存器 (SPI_SR)
- 5.4 SPI 数据寄存器 (SPI_DR)
- 5.5 SPI_I 2 S 配置寄存器 (SPI_I2SCFGR)
- 5.6 SPI_I 2 S 预分频器寄存器 (SPI_I2SPR)
- 06. 附录
- 07. 声明
01. SPI简介
SPI 接口提供两个主要功能,支持 SPI 协议或 I 2 S 音频协议。默认情况下,选择的是 SPI 功能。可通过软件将接口从 SPI 切换到 I2S。
串行外设接口 (SPI) 可与外部器件进行半双工/全双工的同步串行通信。该接口可配置为主模式,在这种情况下,它可为外部从器件提供通信时钟 (SCK)。该接口还能够在多主模式配置下工作。
它可用于多种用途,包括基于双线的单工同步传输,其中一条可作为双向数据线,或使用CRC 校验实现可靠通信。
I2S 也是同步串行通信接口。它可满足四种不同音频标准的要求,包括 I 2 S Philips 标准、MSB 和 LSB 对齐标准,以及 PCM 标准。它可在全双工模式(使用 4 引脚)或半双工模式(使用 3 个引脚)下作为从器件或主器件工作。当 I 2 S 配置为通信主模式时,该接口可以向
外部从器件提供主时钟。
02. SPI特性
● 基于三条线的全双工同步传输
● 基于双线的单工同步传输,其中一条可作为双向数据线
● 8 位或 16 位传输帧格式选择
● 主模式或从模式操作
● 多主模式功能
● 8 个主模式波特率预分频器(最大值为 f PCLK /2)
● 从模式频率(最大值为 f PCLK /2)
● 对于主模式和从模式都可实现更快的通信
● 对于主模式和从模式都可通过硬件或软件进行 NSS 管理:动态切换主/从操作
● 可编程的时钟极性和相位
● 可编程的数据顺序,最先移位 MSB 或 LSB
● 可触发中断的专用发送和接收标志
● SPI 总线忙状态标志
● SPI TI 模式
● 用于确保可靠通信的硬件 CRC 功能:
— 在发送模式下可将 CRC 值作为最后一个字节发送
— 根据收到的最后一个字节自动进行 CRC 错误校验
● 可触发中断的主模式故障、上溢和 CRC 错误标志
● 具有 DMA 功能的 1 字节发送和接收缓冲器:发送和接收请求
03. SPI功能说明
通常,SPI 通过 4 个引脚与外部器件连接:
● MISO:主输入/从输出数据。此引脚可用于在从模式下发送数据和在主模式下接收数据。
● MOSI:主输出/从输入数据。此引脚可用于在主模式下发送数据和在从模式下接收数据。
● SCK:用于 SPI 主器件的串行时钟输出以及 SPI 从器件的串行时钟输入。
● NSS:从器件选择。这是用于选择从器件的可选引脚。此引脚用作“片选”,可让 SPI主器件与从器件进行单独通信,从而并避免数据线上的竞争。从器件的 NSS 输入可由主器件上的标准 IO 端口驱动。NSS 引脚在使能(SSOE 位)时还可用作输出,并可在SPI 处于主模式配置时驱动为低电平。通过这种方式,只要器件配置成 NSS 硬件管理模式,所有连接到该主器件 NSS 引脚的其它器件 NSS 引脚都将呈现低电平,并因此而作为从器件。当配置为主模式,且 NSS 配置为输入(MSTR=1 且 SSOE=0)时,如果NSS 拉至低电平,SPI 将进入主模式故障状态:MSTR 位自动清零,并且器件配置为从模式。
04. SPI中断
05. 相关寄存器
5.1 SPI 控制寄存器 1 (SPI_CR1) (不用于 I 2 S 模式)
SPI control register 1
偏移地址:0x00
复位值:0x0000
5.2 SPI 控制寄存器 2 (SPI_CR2)
SPI control register 2
偏移地址:0x04
复位值:0x0000
5.3 SPI 状态寄存器 (SPI_SR)
SPI status register
偏移地址:0x08
复位值:0x0002
5.4 SPI 数据寄存器 (SPI_DR)
SPI data register
偏移地址:0x0C
复位值:0x0000
5.5 SPI_I 2 S 配置寄存器 (SPI_I2SCFGR)
SPI_I 2 S configuration register
偏移地址:0x1C
复位值:0x0000
5.6 SPI_I 2 S 预分频器寄存器 (SPI_I2SPR)
SPI_I 2 S prescaler register
偏移地址:0x20
复位值:0000 0010 (0x0002)
06. 附录
6.1 【STM32】STM32系列教程汇总
网址:【STM32】STM32系列教程汇总
07. 声明
【STM32】SPI简介相关推荐
- STM32 SPI详解
目录 1.SPI简介 2.SPI特点 2.1.SPI控制方式 2.2.SPI传输方式 2.3.SPI数据交换 2.4.SPI传输模式 3.工作机制 3.1.相关缩写 3.2.CPOL极性 3.3.CP ...
- 1. stm32 mcu简介
1. stm32 mcu简介 1.1 stm32 mcu结构 1.2 STM32 MCU存储器映像 1.3 STM32 MCU系统时钟树 1.4 Cortex-M3简介 1.1 stm32 mcu结构 ...
- STM32 SPI通信协议详细讲解—小白入门
文章目录 (一)SPI协议简介 (二)SPI物理层 (三)SPI协议层 3.1.SPI基本通信过程 3.2.通信的起始和终止信号 3.3.数据有效性 3.4.CPOL/CPHA及通信模式 (四)STM ...
- STM32 SPI介绍及CubeMX配置
目录 一.SPI简介 二.SPI协议 物理层: 协议层: 1.SPI的基本通讯过程 2.通信模式 三.STM32中的SPI SPI框图: 1.通信引脚 2.时钟控制逻辑 3.数据控制逻辑 4.整体控制 ...
- STM32——SPI接口原理与配置
一.SPI接口简介 SPI是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口,是Motoroal首先在其MC68HCXX系列处理器上定义的. SPI是一种 ...
- STM32 SPI的使用
SPI基础知识 主从连接,从机片选可另外使用MCU的GPIO控制 一主多从 读和写同步进行.读的话需要写一个空字节. CPOL和CPHA的说明.时钟的极性和相位. CPOL用于定义时钟信号在空闲状态下 ...
- STM32 SPI难点浅析
我用的是战舰STM32开发板,两个知识点,一:是STM32 SPI的原理:二:用STM32自带的SPI对外部flash(W25Q64)的读写. 一:STM32 SPI的原理 先上图: 主模 ...
- 解决STM32 SPI 半残废 NSS无法拉高
众所周知,STM32 SPI是个半残废,NSS无法自动拉高,所以使用SPI 从机会一直使能,当主机是一对多的时候,就会出现SPI从机互相干扰的问题. 我利用GPIO中断,代替NSS引脚,使用过程如下 ...
- 关于STM32 SPI NSS的讨论
源:关于STM32 SPI NSS的讨论 转载于:https://www.cnblogs.com/LittleTiger/p/8784643.html
最新文章
- 三星 android recovery,三星recovery模式怎么操作
- Oracle with子句的简单介绍.
- 对比3家平台,我总结了疫情数据可视化的8点经验
- 高中生活--第1篇--荣辱一身,悲尽兴来
- GNU编译优化级别-O -O1 -O2 -O3
- 技术运维的经营大法——对话阿里云MVP熊昌伟
- vb.net 读写文件
- MySQL还是h5储存数据_h5中五大存储方式
- JdbcTemplate简单介绍
- 微软05年面临的10大挑战
- 广工c语言试卷504,广工C语言试卷与答案.doc
- 超实用的桌面收纳盒!
- 《看不见的森林:林中自然笔记》书摘三
- 如何提高软件测试能力的19条建议,希望对你有用
- sx1278lora模块的常见问题解答
- Dreamweaver CS6 Mac破解版
- Scrapy学习第四课
- 项目启动报错No appropriate protocol (protocol is disabled or cipher suites are inappropriate) 解决办法
- vue关于监听子组件接收从父组件传过来的动态值的问题
- Word中加载Mathtype