SPI总线

SPI(Serial Peripheral Interface,串行外设接口)是Motorola公司提出的一种同步串行数据传输标准,在很多器件中被广泛应用。

1. 接口

SPI接口经常被称为4线串行总线,以主/从方式工作,数据传输过程由主机初始化。如图1所示,其使用的4条信号线分别为:

(1) SCLK:串行时钟,用来同步数据传输,由主机输出;
(2) MOSI:主机输出从机输入数据线;
(3) MISO:主机输入从机输出数据线;
(4) SS:片选线,低电平有效,由主机输出控制。

在SPI总线上,某一时刻可以出现多个从机,但只能存在一个主机,主机通过片选线来确定要通信的从机。这就要求从机的MISO口具有三态特性,使得该口线在器件未被选通时表现为高阻抗。
在这里插入图片描述

2.寄存器类型

寄存器用途
SPI Control Register 1 (SPICR1)控制寄存器1
SPI Control Register 2 (SPICR2)控制寄存器2
SPI Baud Rate Register (SPIBR)波特率寄存器
SPI Status Register (SPISR)状态寄存器 (只读 其余均可读可写)
SPI Data Register (SPIDR)数据寄存器

3.SPI传输模式

通过设置控制寄存器SPICR1中的CPOL和CPHA位,将SPI可以分成四种传输模式。

3.1 CPOL,即Clock Polarity,决定时钟空闲时的电平为高或低。对于SPI数据传输格式没有显著影响。

0 = 时钟高电平时有效,空闲时为低
1 = 时钟低电平时有效,空闲时为高

3.2 CPHA,即Clock Phase,定义SPI数据传输的两种基本模式。

0 = 数据采样发生在时钟(SCK)奇数(1,3,5,…,15)边沿(包括上下边沿)
1 = 数据采样发生在时钟(SCK)偶数(2,4,6,…,16)边沿(包括上下边沿)
在这里插入图片描述
主从设备进行SPI通讯时,要确保它们的传输模式设置相同。

4.SPI读写时序

4.1 读时序

在这里插入图片描述

4.2 写时序

在这里插入图片描述

5.SPI优缺点

优点:

支持全双工,push-pull的驱动性能相比open-drain信号完整性更好;

支持高速(100MHz以上);

协议支持字长不限于8bits,可根据应用特点灵活选择消息字长;

硬件连接简单;

缺点:

相比IIC多两根线;

没有寻址机制,只能靠片选选择不同设备;

没有从设备接受ACK,主设备对于发送成功与否不得而知;

典型应用只支持单主控;

相比RS232 RS485和CAN总线,SPI传输距离短;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值