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

    文章

    993

    浏览量

    35114
  • 传输
    +关注

    关注

    0

    文章

    153

    浏览量

    27456
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1706

    浏览量

    91507
收藏 人收藏

    评论

    相关推荐

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

    当主机发送一个连续的数据流时,有些外设能够进行多字节传输.多数具有SPI接口的存储芯片就以这种方式工作.在这种传输方式下,从机的片选端必须在整个传输过程中保持低电平.
    发表于 09-05 11:09 1.5w次阅读
    <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的最大传输速率是多少 ?

    一般情况下,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总线是一种应用广泛的短距离串行同步通信协议,针对SPI 总线数据不能进行远距离传输的问题,本文介绍了采用RS-422/RS-485 通信协议,利用MAX3045 和MAX3093 芯片构成RS-422/RS-4
    发表于 08-18 15:17 78次下载

    基于SPI总线的无线数据传输系统设计

    基于SPI总线的无线数据传输系统设计   摘要: 通过基于SPI总线的无线数据通信设备,利用无线数据收发芯片NRF905和51单片机STC89C52RC进行设计,给出了无线数据传输
    发表于 03-13 11:42 3783次阅读
    基于<b class='flag-5'>SPI</b>总线的无线数据<b class='flag-5'>传输</b>系统设计

    SPI传输模拟资料汇总

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

    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 8739次阅读

    什么是SPI机制

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

    探索SPI单线传输模式中时钟线与数据传输的简化

    探索SPI单线传输模式:时钟线与数据传输的简化之道 在当今的嵌入式系统和微控制器通信中,串行外设接口(SPI)因其高速、全双工和同步的特点而广受欢迎。然而,随着设备尺寸和复杂性的不断减
    的头像 发表于 05-28 18:26 1155次阅读