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

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

3天内不再提示

单片机SPI通信原理说明

要长高 来源:电工学习网 作者:电工学习网 2022-03-30 16:37 次阅读

单片机是一个可编程微控制器,和spi通信其实是两个独立的东西。

只不过我们用单片机可以去实现spi通信而已,但是实现spi通信不一定非要单片机。

我们人和人之间沟通,要靠说话,并且两个人语言要一样,比如说都用普通话。

芯片和芯片沟通,它们又不会说话,怎么传递信息呢?

就是通过通信总线,通信总线有很多种,比如IIC、SPI、USART、CAN,它们的区别就像普通话、英语、韩语、俄语,都是用来传递信息用的,只是传递方式不同。

但传递信息,有一个前提,就是语言要相同,也就是通信方式要相同。

所以说,spi是一种通信方式,是用来传递信息的。

不同的通信方式,传递信息的方式不同。

Spi是一种全双工、高速的、同步的通信总线。

简单来说,就是你们两个可以同时快速地说话,你能把你要说的告诉对方,同时也能听到对方说什么,这就是全双工。

还有一种叫半双工,就是你们同时只能有一个人说,另一个听,说完了,另外一个才能说。

很明显,全双工传递信息的效率更高吧。

同步的意思我给你们两个对话设定个条件,比如说我说开始你们才可以对话,我说停止就都不能说话。

我们人和人传递信息一般是靠耳朵和嘴巴对吧?

Spi通信传递信息是通过接口,来看下图:

pYYBAGJEFmmAFj9sAAA6KKElwYg614.png

SPI通信协议:单片机spi通信接口什么意思,spi接口干什么用的?

spi接口有4根线,分别是CS、SCLK、MOSI、MISO。

SCLK是同步信号,一般由主控来控制。

既然是通信,自然是需要有个”对象”,如上图A和B。

A是SPI Master,也就是主控,比如说单片机,一般就是主控的角色,主控来负责发送SCLK同步信号通知SPI Slave是否需要进行数据通信。

B是SPI Slave,也就是从机,比如说Flash芯片。

CS代表片选信号,为什么要用片选呢?

因为一个SPI Master可以跟不同的SPI Slave进行通信。

poYBAGJEFnCAeC7UAABcKbnMehk361.png

SPI Master就是通过CS来控制,具体跟哪个SPI Slave通讯,控制CS为低电平就代表选中该SPI Slave。

如果说只跟一个从设备通讯,也可以直接把CS串联电阻接地,省的每次都去控制它。

MOSI英文全称是Master Output Slave Input,这个一般接主控器件数据输出引脚,从机器件数据输入引脚。

MISO英文全称是Slave Input Master Output,这个一般接主控器件数据输入引脚,从机器件数据输出引脚。

除此以外,还有一种特殊的用法,就是只用SCLK和MOSI这两个引脚的SPI通信。

比如说我们无际单片机编程实战项目课程里有个OLED屏的应用。

pYYBAGJEFn2AfoYSAABFzuo1orc623.png

片选引脚CS我直接硬件接地了,因为只有一个从设备。

我们主要是控制OLED屏去显示内容,并不需要从OLED读取数据,所以MISO也不需要。

这种情况是可以只用2根线的。

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

    关注

    6037

    文章

    44558

    浏览量

    635289
  • 通信
    +关注

    关注

    18

    文章

    6032

    浏览量

    135992
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1706

    浏览量

    91581
收藏 人收藏

    评论

    相关推荐

    基于51单片机的遥控开关仿真(双机通信)

    单片机最小系统、继电器及LED灯构成;(4)由于仿真无法模拟无线模块通信,故利用单片机RXD、TXD端口模拟,通过遥控器的开关实现对主机LED灯的控制,实现LED灯的点亮及熄灭。仿真演示视频:基于51
    的头像 发表于 10-22 14:12 294次阅读
    基于51<b class='flag-5'>单片机</b>的遥控开关仿真(双机<b class='flag-5'>通信</b>)

    如何实现51单片机与PC的串行通信

    51单片机与PC的串行通信是一种常见的通信方式,它允许单片机通过串行接口与PC进行数据交换。
    的头像 发表于 10-21 11:35 908次阅读

    单片机SPI通信实现

    在深入探讨单片机(如基于STM32、AVR、PIC等)如何通过SPI(Serial Peripheral Interface)进行通信之前,我们先概述SPI
    的头像 发表于 09-09 17:00 514次阅读

    蓝牙模块如何实现单片机和手机端数据互传

    蓝牙模块实现单片机和手机端数据互传的过程可以分为以下几个步骤: 硬件准备 : 确保你有一个支持蓝牙通信单片机开发板,如Arduino、Raspberry Pi等。 准备一个兼容的蓝牙模块,如
    的头像 发表于 07-24 17:59 2490次阅读
    蓝牙模块如何实现<b class='flag-5'>单片机</b>和手机端数据互传

    51单片机(STC8H8K64U/STC8051U34K64)_RA8889_HW_SPI4参考代码(v1.3) 硬件SPI方式驱动大屏显示

    不同MCU比较友好,容易调试; 该代码在面包上跳接线,单片机和RA8889通信时钟最快可达11MHz左右,频率越快越容易受干扰,RA8889的SPI最高可以接受到50MHz,因此要根据实际硬件环境进行
    发表于 07-17 11:15

    51单片机(STC8051U34K64)_RA8889_SPI4参考代码(v1.3)

    通信。 实物连接图: RA8889开发板硬件跳线: 单片机-RA8889连接电路: 代码说明: (1)该代码采用SPI-4,通信接口定义:
    发表于 07-05 10:55

    聊聊几种常见的单片机通信方式

    的自动驾驶汽车,单片机都扮演着至关重要的角色。它们不仅负责执行基本的控制任务,还处理数据、管理用户界面,并与其他设备进行通信,今天,我们就来深入了解一下单片机的几
    的头像 发表于 05-22 12:28 1974次阅读
    聊聊几种常见的<b class='flag-5'>单片机</b><b class='flag-5'>通信</b>方式

    STM8L001J3单片机SPI通信数据异常怎么解决?

    最近在做一个项目,选择STM8L001J3外挂做数据处理,由于通信速度和准确性考虑,没有用STM8L001J3的I2C和USART接口,采用SPI做丛和主机进行通信,意法的
    发表于 04-24 07:55

    51单片机串口通信详细介绍-小白必看

    51单片机串口通信单片机与外部设备通信的重要方式,它基于串行通信的原理,以字节为单位进行数据传输。在51
    的头像 发表于 04-17 09:33 1994次阅读
    51<b class='flag-5'>单片机</b>串口<b class='flag-5'>通信</b>详细介绍-小白必看

    单片机是什么?单片机编程如何入门?

    单片机其实是一种很早的叫法了,最开始我们的前辈叫单板机或者叫单片机,因为那个时候单片机的处理能力还没有很强,现在我们所用的基本都是微型处理单元,也叫为控制器也称之为MCU
    的头像 发表于 03-28 08:03 1904次阅读
    <b class='flag-5'>单片机</b>是什么?<b class='flag-5'>单片机</b>编程如何入门?

    16位单片机RL78系列Rev.1.20发布说明

    电子发烧友网站提供《16位单片机RL78系列Rev.1.20发布说明.pdf》资料免费下载
    发表于 02-19 10:15 0次下载
    16位<b class='flag-5'>单片机</b>RL78系列Rev.1.20发布<b class='flag-5'>说明</b>

    单片机编程实例介绍

    是指使用特定的编程语言编写控制单片机工作的程序。 在本文中,将为您提供一些常见的单片机编程实例,包括基础应用、传感器应用、通信应用等方面的案例。 一、基础应用 LED流水灯 流水灯是最基本的
    的头像 发表于 01-16 09:37 2628次阅读

    单片机原理及应用是什么

    能力。单片机被广泛应用于各个领域,包括家电、汽车、通信、电子设备及工业自动化等。本文将详细介绍单片机的原理及应用。 核心部分:单片机的核心是中央处理器(CPU)。它负责执行程序指令、处
    的头像 发表于 01-12 15:28 2165次阅读

    单片机晶振不起振后会有什么情况

    时钟信号的情况下,单片机无法执行程序,无法完成预定的功能。 无法进行通信:很多单片机芯片都支持通信接口,如UART、SPI和I2C等,这些
    的头像 发表于 01-04 17:12 2065次阅读

    为什么使用51单片机与ADXL345 SPI通信时,需要自己对SDI,SDO,SCLK进行高低电平的设置?

    我想请教一下为什么使用51单片机与ADXL345的4线SPI通信时,需要自己对SDI,SDO,SCLK进行高低电平进行设置,为什么不直接用串口设置成SPI
    发表于 01-01 08:09