SPI -- 同步串行全双工(平行总线)

1.概念

SPI接口是Motorola提出的全双工三线同步串行总线,采用主从模式(Master-Slave)架构(一主多从)

*SPI总线硬件连接:四线制或者三线制(从机片选接地 永远被选中)

2.特性

  1. 全双工;
  2. 可以当作主机或从机工作;
  3. 提供频率可编程时钟;
  4. 发送结束中断标志;
  5. 写冲突保护;
  6. 总线竞争保护

3.协议

  1. 起始信号:NSS信号线由高变低,是SPI通讯的起始信号
  2. 终止信号:NSS信号线由低变高,是SPI通讯的停止信号
  3. 数据传输:SPI使用MOSI及MISO信号线来传输数据,使用SCK信号线进行数据同步。

MOSI及MISO数据线在SCK的每个时钟周期传输一位数据,且数据输入输出是同时进行的。

SPI每次数据传输可以8位或16位为单位,每次传输的单位数不受限制

4.使用方法

SPI总线的主机和从机都有一个移位寄存器,当主机向自己的移位寄存器写入数据时,数据会通过MOSI信号线进入到从机的移位寄存器;

同时,从机移位寄存器里的数据,通过MISO信号线进入到主机的移位寄存器。这样,主机和从机就完成了一次数据交换。

极性(Clock Polarity ,CPOL)与相位(Clock Phase ,CPHA)

时钟极性 CPOL 是指 SPI 通讯设备处于空闲状态时,SCK 信号线的电平信号 (即 SPI 通讯开始前、

NSS 线为高电平时 SCK 的状态)。

时钟极性CPOL : 设置时钟空闲时的电平

当CPOL = 0 ,SCK引脚在空闲状态保持低电平;

当CPOL = 1 ,SCK引脚在空闲状态保持高电平。

时钟相位CPHA :设置数据采样时的时钟沿

当 CPHA=0 时,MOSI或 MISO 数据线上的信号将会在 SCK时钟线的奇数边沿被采样

当 CPHA=1时, MOSI或 MISO 数据线上的信号将会在 SCK时钟线的偶数边沿被采样

见图CPHA = 0 时的 SPI 通讯模式 及图 CPHA = 1 时的 SPI 通讯模式 。

类似地,当 CPHA=1 时,不受 CPOL 的影响,数据信号在 SCK 的偶数边沿被采样

见图 CPHA=1时的 SPI 通讯模式 _ 。

模式 CPOL CPHA 采样时刻 空闲时SCK电平

0 0 0 奇数 低

1 0 1 偶数 低

2 1 0 奇数 高

3 1 1 偶数 高

在SPI操作中,最重要的两项设置就是时钟极性(CPOL)和时钟相位(CPHA)这两项即是主从设备间数据采样的约定方式

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值