SPI学习笔记

一、基本原理

SPI是串行外设接口(Serial Peripheral Interface)的缩写。是 Motorola 公司推出的一
种同步串行接口技术,是一种高速的,全双工,同步的通信总线。
优点:1.支持全双工通信 2.通信简单 3.数据传输速率快
缺点:没有指定的流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据
可靠性上有一定的缺陷。

它以主从方式工作,这种模式通常有一个主设备和一个或多
个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共
有的,它们是SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)。

内部工作机制

模式2 (CPOL=1; CPHA=0)

二、SPI应用

硬件SPI
spi就是一种外设接口,以STM32的SPI为例
SPI一般都是有四根引脚:SCK,MISO,MOSI,NSS,通常SCK和NOSI配置为输出,MISO配置为输入
NSS是片选引脚,有外部NSS引脚和内部NSS引脚,外部NSS引脚是硬件控制片选,SSM可以控制内部NSS引脚与SSI(一个寄存器,软件模式)相连,还是与NSS外部引脚(真正的STM32引脚,硬件模式)相连。真正作用的是内部NSS引脚(内部NSS引脚才真正连接到SPI通信控制器上)

SPI从模式的配置(MSTR=0)
1.硬件模式:SSM=0,当外部NSS为低电平时,内部NSS也为低电平,此时可以传送数据。
2.软件模式:SSM=1,并SSI=0.让内部NSS引脚为低电平,此时可以传送数据。

SPI主模式配置(MSTR=1)
1.硬件模式:SSM=0
A:输入模式:SSOE=0,在外部NSS引脚为高电平,即内部NSS引脚也为高电平时,才能进行数据传输。 如果要使能从设备,还需要一个GPIO引脚。
B:输出模式:SSOE=1, 外部NSS引脚会输出低电平,使能从设备,进行数据传输。 不需要额外的GPIO引脚就能控制从设备。
2.软件模式:SSM=1,SSI=1,将内部NSS引脚设置为高电平。这样随时可以传输数据。当然多数情况还需要一个GPIO引脚输出低电平,来使能从设备,让从设备可以接收数据。

当硬件SPI不够用时可以用软件模拟SPI

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月18日
下一篇 2021年1月18日

相关推荐