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

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

3天内不再提示

一文解读SPI

硬件攻城狮 来源:硬件攻城狮 2024-11-19 11:37 次阅读

前言

让我们回顾一下,我们学习了串口通讯(优点是全双工,缺点是只能点对点通讯)

另外还学习了IIC通讯(优点是一主多从通讯,缺点是半双工)

技巧:看一个总线是半双工还是全双工就看有几根数据线

那有没有总线是以全双工,并且还是一主多从的方式通讯呢?

2e93ae74-a01b-11ef-93f3-92fbcf53809c.jpg

答案是有的,那就是用SPI通讯

写数据

先来看看设备之间如何使用SPI方式来通讯

2ead7b2e-a01b-11ef-93f3-92fbcf53809c.jpg

可以看出设备之间有4根线连接(SCK、MOSI、MISO、SS),下面来细说每根线的作用

SS为片选信号线(用来选择哪个设备)

MOSI (master output , slave input)主机输出,从机输入

MISO(master input , slave output )主机输入,从机输出

SCK为时钟信号线(用来提供基准时钟信号)

下面以控制EEPROM为例(图中型号为93C46的是EEPROM)

2ed3af92-a01b-11ef-93f3-92fbcf53809c.jpg

假设EEPROM里面有128个内存地址(用一个字节就可以寻址完)

2ef0190c-a01b-11ef-93f3-92fbcf53809c.jpg

这SPI的数据格式

2f191032-a01b-11ef-93f3-92fbcf53809c.jpg

无论是写操作还是读操作,起始位都为1,但操作码01是写操作,操作码10是读操作

当地址码写入EEPROM中寄存器的地址,这时就选中了这个地址,相当于打通了直达该地址的通道

紧接着写入数据,这样数据被保存下来了

2f354a86-a01b-11ef-93f3-92fbcf53809c.jpg

用电平表示是这样的

2f5ef214-a01b-11ef-93f3-92fbcf53809c.jpg

那是不是直接发送给被控设备就行了?

当然是不行的

因为SPI是串行同步通讯的,所以需要数据线和时钟线两根线才能传输数据

而且SPI发送数据是当时钟线处于跳变沿时才能被发送的(具体是处于什么跳变沿,取决于该设备)这里以上升沿为例

2f754dc0-a01b-11ef-93f3-92fbcf53809c.jpg

在SS(片选信号)被选中期间,当SCK(时钟信号)发生上升沿,数据就被确定下来

以上面的数据为例

2f812078-a01b-11ef-93f3-92fbcf53809c.jpg

根据时钟信号线空闲状态是高电平还是低电平,又因为每种状态可以分为上升沿和下降沿触发

共计有4种状态

2f8cd288-a01b-11ef-93f3-92fbcf53809c.jpg

读数据

读操作也是同样的操作

现在要把EEPROM里的数据读出来

2faf2112-a01b-11ef-93f3-92fbcf53809c.jpg

根据SPI的数据格式

2fb8f69c-a01b-11ef-93f3-92fbcf53809c.jpg

现在需要MOSI写入1 10 0000001

MISO后半段就可以读取数据了(上面EEPROM存储的为0000 1111)

2fcfee7e-a01b-11ef-93f3-92fbcf53809c.jpg

总结

SPI是全双工,一主多从

SPI是当发生跳变沿时,传输数据

SPI本质是移位寄存器

2fe169ba-a01b-11ef-93f3-92fbcf53809c.jpg

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1700

    浏览量

    91289
  • 通讯
    +关注

    关注

    9

    文章

    892

    浏览量

    34828

原文标题:秒懂SPI

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    详解SPI串行外设接口

    SPI也是MCU最常见的对外通信口之,由摩托罗拉在上世纪80年代中开发,用于嵌入式系统中器件之间的短距离数据通信,标准模式使用四条信号线。目前常见的应用器件有:LCD模组、以太网模块、SPI串行Flash和很多传感器等,大部分
    的头像 发表于 01-18 09:45 6117次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>详解<b class='flag-5'>SPI</b>串行外设接口

    搞懂SPI通信协议

    SPI 的英文全称为 Serial Peripheral Interface,顾名思义为串行外设接口。SPI种同步串行通信接口规范,主要应用于嵌入式系统中的短距离通信。该接口由摩托罗拉在20世纪80年代中期开发,后发展成了
    发表于 06-06 10:02 1144次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>搞懂<b class='flag-5'>SPI</b>通信协议

    详解SPI总线协议

    SPI是串行外设接口(Serial Peripheral Interface)的缩写。是Motorola公司推出的种同步串行接口技术,是种高速的,全双工,同步的通信总线。主要应用在EEPROM,FLASH,实时时钟,AD转换
    发表于 10-26 15:27 901次阅读

    详解SPI接口

    来源:易特创芯串行外设接口(SPI)是微控制器和外围IC(如传感器、ADC、DAC、移位寄存器、SRAM等)之间使用最广泛的接口之。本文先简要说明SPI接口,然后介绍ADI公司支持SPI
    发表于 10-22 18:05

    解读HEVC视频标准的环内滤波,看完你就懂了

    解读HEVC视频标准的环内滤波,看完你就懂了
    发表于 06-03 06:08

    STM芯片解读

    STM芯片解读(p5)2.1.1芯片内部资源手册可知信息:(我们选芯片时的依据:大多是多少个IO口、多大的储存容量)定时器、io口、ADC、DAC、SPI、flash size2.1.1.1
    发表于 01-06 08:09

    读懂SPI串行外设接口

    SPI总线系统是种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。正是由于有了通信方式,我们才能够通过芯片控制各种各样的外围器件,实现很多“不可思议”的现代科技。这里将以SPI为题,从编程角度来介绍
    发表于 04-27 15:19 1w次阅读

    读懂MSP430 SPI总线

    通过另控制位I2C控制,I2C位0则工作于SPI。在SPI模式下,允许单片机以确定的速率发送和接收7位或8位数据。
    发表于 05-13 09:03 6572次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>读懂MSP430 <b class='flag-5'>SPI</b>总线

    AN1245中手册之Microchip SPI串行SRAM器件的建议用法

    本文主要介绍了AN1245中手册之Microchip SPI串行SRAM器件的建议用法.
    发表于 06-21 15:25 19次下载
    AN1245中<b class='flag-5'>文</b>手册之Microchip <b class='flag-5'>SPI</b>串行SRAM器件的建议用法

    介绍SPI串行总线

    SPI协议是由摩托罗拉公司提出的通讯协议(SerialPeripheralInterface),即串行外围设备接口,是种高速全双工的通信总线。
    发表于 07-16 17:58 2913次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>介绍<b class='flag-5'>SPI</b>串行总线

    解读FPGA设计者的5项基本功及设计流程资料下载

    电子发烧友网为你提供解读FPGA设计者的5项基本功及设计流程资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。
    发表于 04-24 08:46 38次下载
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>解读</b>FPGA设计者的5项基本功及设计流程资料下载

    讲完SPI通讯,看后不懂来找我

    外设接口 (SPI) 是微控制器和外围 IC(如传感器、ADC、DAC、 移位寄存器、SRAM等)之间使用最广泛的接口之SPI种同步、全双工、主从式接口。来自主机或从机的数
    的头像 发表于 11-01 10:23 5522次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>讲完<b class='flag-5'>SPI</b>通讯,看后不懂来找我

    看懂SPI协议

    作者:王超首发:电子电路开发学习都有哪些内容?SPI协议简介4线还是3线?4种工作模式多种传输速率SPI协议的时序SPI协议的升级版FPGA实...
    发表于 01-25 18:35 38次下载
    <b class='flag-5'>一</b><b class='flag-5'>文</b>看懂<b class='flag-5'>SPI</b>协议

    搞懂SPI通信协议

    SPI是Serial Peripheral Interface的简称,是由Motorola公司推出的种高速、全双工的总线协议,可以实现一对一对多芯片通信。
    的头像 发表于 03-23 16:51 2217次阅读

    解读GNSS信号对网络中授时应用的益处

    涨知识 | 解读GNSS信号对网络中授时应用的益处
    的头像 发表于 11-24 14:26 489次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>解读</b>GNSS信号对网络中授时应用的益处