数字接口系列文章:SPI 总线

数字接口系列文章:SPI 总线

SPI总线

SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,地位在后,为全双工通信,数据传输速度总体来说比I2C总线要快,速度可达到几Mbps。

 

图8-27 SPI总线的系统

图 2 两个移位寄存器形成一个内部芯片环形缓冲器

 

CPOL = 0 时,时钟在逻辑 0 处空闲:

  • 如果 CPHA = 0,数据会在 SCK 的上升沿上读取,在下降沿上变化。 

  • 如果 CPHA = 1,数据会在 SCK 的下降沿上读取,在上升沿上变化。 

CPOL = 1时,时钟在逻辑高电平处空闲:

  • 如果 CPHA = 0,数据会在 SCK的下降沿上读取,在上升沿上变化。 

  • 如果 CPHA = 1,数据会在 SCK 的上升沿上读取,在下降沿上变化。 

图 4 主节点与独立从节点(左)以及菊花链式从节点(右)进行通信

 

 

1、SPI总线主要特点

· 全双工;

· 可以当作主机或从机工作;

· 提供频率可编程时钟;

· 发送结束中断标志;

· 写冲突保护;

2、接口定义

该总线通信基于主-从配置。它有以下4个信号:

MOSI:Master Out Slave In主出/从入

MISO:Master In Slave Out 主入/从出

SCK:Serial Clock 串行时钟

SS:Slave Select 从属选择

芯片上“从属选择”(slave-select)的引脚数决定了可连到总线上的器件数量。

 

3、SPI时序分析

在SPI传输中,数据是同步进行发送和接收的。数据传输的时钟基于来自主处理器的时钟脉冲,摩托罗拉没有定义任何通用SPI的时钟规范。然而,最常用的时钟设置基于时钟极性(CPOL)和时钟相位(CPHA)两个参数,CPOL定义SPI串行时钟的活动状态,而CPHA定义相对于SO-数据位的时钟相位。CPOL和CPHA的设置决定了数据取样的时钟沿。如图1所示,根据CPOL和CPHA的不同,有四种不同的工作模式。

图1 SPI时序分析

其中,CPOL是用来决定SCK时钟信号空闲时的电平。CPOL=0,空闲电平为低电平,CPOL=1时,空闲电平为高电平。CPHA用来决定采样时刻的,CPHA=0,在每个周期的第一个时钟沿采样。CPHA=1,在每个周期的第二个时钟沿采样。

 

 

CPHA = 0表示在每个周期的第一个时钟沿采样,对应存在delay;

CPHA = 1表示在每个周期的第二个时钟沿采样,对应无delay。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值