SPI 传输机制

从图可以看出,主机和从机都有一个串行移位寄存器,主机通过向它的 SPI 串行寄存器写入一个字节来发起一次传输。寄存器通过 MOSI
信号线将字节传送给从机,从机也将自己的移位寄存器中的内容通过 MISO 信号线返回给主机。这样,两个移位寄存器中的内容就被交换。
外设的写操作和读操作是同步完成的。如果只进行写操作,主机只需忽略接收到的字节;反之,若主机要读取从机的一个字节,就必须发送一个空字节来引发从机的传输。
虽然 SPI 四线制支持读写同时进行,但实际上我们很多时候并不需要又读又写,见以下两种情况(参考 BMA223 数据手册):
注意:如下三幅图示均为 CPOL=1,CPHA=1
1、主机向从机写数据

主机发送先发送 8 bits,第一个 bit 为 0 代表这次主机是想写数据到从机,AD6~AD0
表示要写的寄存器地址。然后,主机就会一直写下去。在这期间 SDO 一直没用,一直是高阻态,算是一直读到1。
2、主机从从机读数据

这种情况下,主机先发送 8 bits,第一位为 1 代表这次是读,然后 AD6 ~ AD0 是想要读的寄存器地址,然后 SDO 开始返回数据。
-
主机
+关注
关注
0文章
1047浏览量
36431 -
传输
+关注
关注
0文章
156浏览量
28292 -
SPI
+关注
关注
17文章
1866浏览量
99810
发布评论请先 登录
SPI总线电路图设计及传输原理
Java的SPI机制详解
SPI采用DMA传输问题
蓝牙的SPI传输的开发版推荐
SPI的最大传输速率是多少 ?
连续SPI传输时发生传输超时的原因是什么?
SPI的特点及传输模式
SPI总线数据远距离传输实现
基于SPI总线的无线数据传输系统设计
SPI通信简介

SPI传输原理 SPI传输机制
评论