SPI的讲解,很形象

[复制链接]
2990|20
 楼主| u880 发表于 2014-4-21 22:59 | 显示全部楼层 |阅读模式
串行外设接口 (SPI) 总线是一个工作在全双工模式下的同步串行数据链路。它可用于在单个主控制器和一个或多个从设备之间交换数据。其简单的实施方案只使用四条支持数据与控制的信号线(图1):

1:基本SPI 总线
虽然表1 中的引脚名称来自摩托罗拉开发的 SPI 标准,但具体集成电路的 SPI 端口名称往往与图 1 中所示的不同。


1SPI 引脚名称分配
SPI 数据速率一般在 1 到 70MHz 的范围内,字长为从 8 位及 12 位到这两个值的倍数。
数据传输一般由数据交换构成。在主控制器向从设备发送数据时,从设备也向主控制器发送数据。因此主控制器的内部移位寄存器和从设备都采用环形设置(图 2)。


2:双移位寄存器形成一个芯片间的环形缓存器
在数据交换之前,主控制器和从设备会将存储器数据加载至它们的内部移位寄存器。收到时钟信号后,主控制器先通过 MOSI 线路时钟输出其移位寄存器的 MSB。同时从设备会读取位于 SIMO 的主控器第一位元,将其存储在存储器中,然后通过 SOMI 时钟输出其 MSB。主控制器可读取位于 MISO 的从设备第一位元,并将其存储在存储器中,以便后续处理。整个过程将一直持续到所有位元完成交换,而主控器则可让时钟空闲并通过 /SS 禁用从设备。
除设置时钟频率外,主控制器还可根据数据配置时钟极性和相位。这两个分别称为 OPOL 与 CPHA 的选项可实现时钟信号 180 度的相移以及半个时钟周期的数据延迟。图 3 是相应的定时图。
3:时钟极性与相位的定时图
CPOL = 0 时,时钟空闲在逻辑 0 位置上:
  • 如果 CPHA = 0,数据在 SCK 的上升沿读取,在下降沿变化。
  • 如果 CPHA = 1,数据在 SCK 的下降沿读取,在上升沿变化。
CPOL = 1 时,时钟在逻辑为高时空闲:
  • 如果 CPHA = 0,数据在 SCK 的下降沿读取,在上升沿变化。
  • 如果 CPHA = 1,数据在 SCK 的上升沿读取,在下降沿变化。
在 SPI 中,主控制器可与单个或多个从设备通信。如果是一个单从设备,从设备选择信号可连接至从设备的本地接地电位,实现永久接入。对使用多个从设备的应用,可使用两种配置:独立从设备与菊花链从设备(图 4)。

4:主控制器与独立从设备(左)及菊花链从设备通信(右)

要与从设备单独通信,主控制器必须提供多重从设备选择信号。该配置通常用于必须单独访问多个模数转换器 (ADC) 及数模转换器 (DAC) 的数据采集系统中。
菊花链从设备只需要主控制器提供一个从设备选择信号,因为这种配置要求所有从设备同时启用,以确保数据不间断地流经该链路中的所有移位寄存器。典型应用是工业 I/O 模块中的级联多通道输入串行器与输出驱动器。

 楼主| u880 发表于 2014-4-21 22:59 | 显示全部楼层
分享给大家
happygirlwz 发表于 2014-4-26 22:08 | 显示全部楼层
真的很形象的讲解…………
someontime 发表于 2014-4-27 10:00 | 显示全部楼层
非常有用啊 很形象
haidixibahe 发表于 2014-4-27 10:08 | 显示全部楼层
理解起来很容易 初学者也没问题
chao11yue 发表于 2014-4-27 10:09 | 显示全部楼层
= = 图上如果能有释义就好了
engtafanzhuan 发表于 2014-4-27 10:35 | 显示全部楼层
= = 菊花链这个名字是不是有点销魂了
xichengmadia 发表于 2014-4-27 10:35 | 显示全部楼层
engtafanzhuan 发表于 2014-4-27 10:35
= = 菊花链这个名字是不是有点销魂了

我们还是要尊重一下楼主的劳动成果嘛
xichengmadia 发表于 2014-4-27 10:36 | 显示全部楼层
engtafanzhuan 发表于 2014-4-27 10:35
= = 菊花链这个名字是不是有点销魂了

我们还是要尊重一下楼主的劳动成果嘛
beiwaroad 发表于 2014-4-27 10:41 | 显示全部楼层
非常形象 深入浅出
taihezhibanh 发表于 2014-4-27 10:44 | 显示全部楼层
没接触过SPI 口碑好像不错
heibaiyinjiag 发表于 2014-4-27 10:49 | 显示全部楼层
图文并茂 楼主很用心
sishangcine 发表于 2014-4-27 11:28 | 显示全部楼层
很形象 很容易理解
zgsxhzac 发表于 2014-4-27 11:43 | 显示全部楼层
顶一下 资料很形象
shibalihuandao 发表于 2014-4-27 11:53 | 显示全部楼层
其简单的实施方案只使用四条支持数据与控制的信号线
meishizhaoshi 发表于 2014-4-27 16:07 | 显示全部楼层
适合阅读能力差的人看 呵呵
yangguangaisha 发表于 2014-4-28 22:53 | 显示全部楼层
很不错的帖子 帮顶
G21372 发表于 2014-4-28 22:56 | 显示全部楼层
最近想入手SPI 不知道怎么样
huigoushang 发表于 2014-4-28 23:03 | 显示全部楼层
在数据交换之前,主控制器和从设备会将存储器数据加载至它们的内部移位寄存器
waitingf 发表于 2014-4-29 13:15 | 显示全部楼层
有图什么的最好理解了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

252

主题

1795

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部