0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SPI传输原理 SPI传输机制

麦辣鸡腿堡 来源:嵌入式Linux系统开发 作者:嵌入式Linux系统开 2023-07-27 10:43 次阅读

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

    文章

    897

    浏览量

    34609
  • 传输
    +关注

    关注

    0

    文章

    144

    浏览量

    27302
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1615

    浏览量

    89664
收藏 人收藏

    评论

    相关推荐

    SPI总线电路图设计及传输原理

    当主机发送一个连续的数据流时,有些外设能够进行多字节传输.多数具有SPI接口的存储芯片就以这种方式工作.在这种传输方式下,从机的片选端必须在整个传输过程中保持低电平.
    发表于 09-05 11:09 1.3w次阅读
    <b class='flag-5'>SPI</b>总线电路图设计及<b class='flag-5'>传输</b>原理

    SPI采用DMA传输问题

    = 0x0000; /*选择DMA通道0外设地址寄存器SPI1*/ DMA0PAD = (volatile u16) &SPI1BUF; /*DMA0传输计数设置*/ DMA0CNT
    发表于 09-25 16:23

    蓝牙的SPI传输的开发版推荐

    现在淘宝上大多数蓝牙模块都是通过串口传输的,但是传输的速度太慢,本人想找个蓝牙开发模块,可以支持SPI传输的,求推荐一个比较合适的蓝牙模块,谢谢
    发表于 03-08 21:09

    SPI DMA的无线传输速率

    请问,SPI DMA作为从机接收速度可以达到多快 SPI DMA的传输方式是一次性接收多少字节?1024个字节吗 我用作为服务器模式发送给TCP是不是也是只能一次发送SPI DMA接收
    发表于 06-21 10:58

    SPI的最大传输速率是多少 ?

    一般情况下,SPI模块的最大时钟频率为系统时钟频率的1/2。虽然SPI传输速率主要受限于CPU处理SPI数据的能力,但在同另一个非常高速率的SPI
    发表于 08-07 06:13

    连续SPI传输时发生传输超时的原因是什么?

    ); spi_set_cs(SPI,FALSE); SPI->主 - > unprepare_transfer_hardware(SPI->主);打破;在连续
    发表于 04-29 06:24

    SPI的特点及传输模式

    目录(?)[-]SPI简介SPI特点1采用主-从模式Master-Slave 的控制方式2采用同步方式Synchronous传输数据3数据交换Data Exchanges4 SPI有四
    发表于 08-05 08:15

    SPI总线的传输速度

    SPI总线的传输速度比IIC速度快,故通常追求速度常常采用硬件SPI进行传输数据。下面记录了利用stm32cubeMx配置硬件SPI1,外设
    发表于 08-11 06:04

    使用SPI传输数据

    一、前言最近因为需要读取传感器数据,需要单片机发送命令,传感器返回24位数据,因为使用SPI传输数据,虽然命令只有8位,但是必须发送24位数据才能获得传感器的24位数据。关于SPI的知识可...
    发表于 01-13 06:34

    SPI传输模拟资料汇总

    SPI传输模拟资料汇总
    发表于 11-17 15:39 6次下载

    SPI通信简介

    目录(?)[-]SPI简介SPI特点1采用主-从模式Master-Slave 的控制方式2采用同步方式Synchronous传输数据3数据交换Data Exchanges4 SPI有四
    发表于 12-22 19:14 9次下载
    <b class='flag-5'>SPI</b>通信简介

    SPI是什么 SPI数据传输

    数据传输 SPI 的英文全称为 Serial Peripheral Interface,顾名思义为串行外设接口。 SPI 是一种同步串行通信接口规范,主要应用于嵌入式系统中的短距离通信。该接口
    的头像 发表于 07-21 10:03 5095次阅读

    什么是SPI机制

    1、前言 在之前的 JVM 分析系列之类加载 提到过 Java SPI 机制,主要是类加载器反双亲委派的实现(第三方包不在指定jdk路径,一般类加载器无法加载,需要特殊
    的头像 发表于 10-08 15:03 569次阅读
    什么是<b class='flag-5'>SPI</b><b class='flag-5'>机制</b>

    SPI的四种传输模式及工作机制分析

    SPI 规定了两个 SPI 设备之间通信必须由主设备 (Master) 来控制次设备 (Slave). 一个 Master 设备可以通过提供 Clock 以及对 Slave 设备进行片选 (Slave Select) 来控制多个 Slave 设备。
    发表于 10-31 09:34 5711次阅读
    <b class='flag-5'>SPI</b>的四种<b class='flag-5'>传输</b>模式及工作<b class='flag-5'>机制</b>分析

    硬件spi和软件spi的区别

    硬件SPI(串行外设接口)和软件SPI是两种不同的SPI传输方式。SPI是一种同步串行数据通信协议,通常用于连接微控制器和外部设备,如存储器
    的头像 发表于 12-26 16:55 2085次阅读