一起玩儿物联网人工智能小车(ESP32)——57. SPI总线协议初探(一)

摘要:介绍SPI总线的基本知识

前面已经学习过IIC总线协议,今天开始介绍另一个总线协议——SPI。SPI(Serial Peripheral Interface,串行外设接口)是由Motorola提出的一种高速、全双工、同步的通信总线。并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。它可以使MCU与各种外围设备以串行方式进行通信以交换信息,通信波特率可以高达5Mbps。SPI接口主要应用在EEPROM、FLASH、实时时钟、网络控制器、LCD显示驱动器、AD转换器,数字信号处理器、数字信号解码器等设备之间。

对比前面学习的IIC总线协议,两者的区别就是SPI是一种全双工的同步通信总线,就是设备之间的数据传递可以双方向同时进行,相对于半双工的IIC总线,理论上,相同传输速率下可以有翻倍的数据交换量。

同IIC总线一样,SPI总线也是采用主从工作模式,也就是在SPI总线上,可以有一个主设备和多个从设备同时工作。同IIC不同的是,SPI总线还定义了一个单独的片选线,使得主机可以通过控制不同的片选线状态来选择不同的从设备进行通信。而不像IIC那样,只能通过在总线上发送地址来选择与哪个从设备进行通信,当然,SPI也可以采用地址来区分不同的设备,这个要结合实际需求来决定采用哪种方式了。

SPI总线有三线制和四线制之分。三线制是收发只有一根数据线,通常用于单向通信的设备之间。三线制不能实现全双工通信,在这里就不介绍了。这里介绍一下普遍应用的四线制SPI总线。四线制SPI总线的信号线包括SDI(串行数据输入 Serial Digital IN)、SDO(串行数据输出 Serial Digital OUT)、SCLK(时钟)、CS(片选)。

  1. SDO/MOSI:主设备数据输出,从设备数据输入
  2. SDI/MISO:主设备数据输入,从设备数据输出
  3. SCLK:时钟信号,由主设备产生
  4. CS/SS:片选信号,也叫从设备使能信号,由主设备控制。当有多个从设备的时候,因为每个从设备上都有一个片选引脚接入到主设备机中,当主设备和某个从设备通信时将需要将从设备对应的片选引脚电平拉低(一般低有效)。

SPI总线的连接如下图所示:

SPI是串行通讯协议,也就是说数据是一位一位的传输的。因为SPI采用的是同步数据传输,因此要有一个时钟线SCLK,在数据传输的时候由SCLK提供时钟脉冲,同IIC总线协议一样,时钟线SCLK只能由主设备来控制。SDI,SDO则基于SCLK脉冲完成数据传输。数据输出通过SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟周期(上沿和下沿为一次),就可以完成8位数据的传输。

只能由主设备控制SCLK时钟线的系统有这样一个优势,与普通的串行通讯不同,普通的串行通讯一次连续传送至少8位数据,而SPI允许数据一位一位的传送,甚至允许暂停,因为SCK时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对SCK时钟线的控制可以完成对通讯的控制。

SPI作为一个数据交换协议,因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。因为不同的SPI设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义。因此由于时钟极性和时钟相位的不同,有SPI总线有四种工作模式。

时钟极性(clock polarity,CPOL)指的是空闲时时钟信号的极性。也就是当片选(CS)无效时,始终信号SCLK为高电平还是低电平。时钟相位(clock phase,CPHA)是指主机采样数据的时钟跳变边沿是在第一个跳变沿还是第二个跳变沿。由于时钟极性和时钟相位的不同组合,定义了4中SPI工作模式,如下表所示:

SPI模式

CPOL

CPHA

空闲状态下的时钟极性

用于采样或者移位数据的时钟极性

0

0

0

逻辑低电平

主机在时钟的上升沿采样从机发送的数据;主机在时钟的下降沿移位数据到从机。

1↵

0

1

逻辑低电平

主机在时钟的下降沿采样从机发送的数据;主机在时钟的上升沿移位数据到从机。

2

1

0

逻辑高电平

主机在时钟下降沿采样从机发送的数据;主机在时钟的上升沿移位数据到从机。

3

1↵

1↵

逻辑高电平

主机在时钟的上升沿采样从机发送的数据:主机在时钟的下降沿移位数据到从机。

SPI的主从设备相互通信的时候,必须使用同一种工作模式。由于从机设备在出厂时已经将工作模式固定好了,因此在通信时,主设备必须要根据从设备的工作模式,来调整自己的工作模式,与从设备相匹配,这样才能完成主从设备之间的通信。

好了,今天就先介绍到这里了。

  • 22
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 结婚的小游戏有很多种,以下是一些可以玩的小游戏: 1. 谁更了解新郎/新娘:在游戏中,新郎/新娘会回答一些问题,例如最喜欢的食物、最爱的电影等,然后参加游戏的人会猜测新郎/新娘的答案,看谁猜得最准。 2. 新婚猜谜:这个游戏需要准备一些有关新婚的谜语,让参加游戏的人猜测答案。 3. 找出新娘的鞋子:在婚礼上,新娘通常会穿上一双特别的婚鞋,游戏中会将其藏起来,然后参加游戏的人需要找出新娘的鞋子,找到的人会获得奖励。 4. 谁抛的花束最远:在这个游戏中,新娘会抛出她的花束,然后参加游戏的单身女性会尽可能远地抓住花束,抓到花束的人会成为下一个结婚的新娘。 5. 猜婚礼歌曲:在这个游戏中,会播放一些与婚礼相关的歌曲,参加游戏的人需要猜出这些歌曲的名称或歌手。 ### 回答2: 结婚是一段充满喜悦和甜蜜的时刻,为了增添婚礼的欢乐氛围,可以进行一些有趣的小游戏。以下是一些结婚小游戏的建议: 1. 猜新娘:新郎闭上眼睛,由新娘和一些女性嘉宾站在一起,新郎需要摸出新娘,以测试他对新娘的认识。 2. 装扮新娘:将新娘的婚纱分成若干块,要求新郎将这些块组装回来,以检验他的耐心和对新娘外貌的记忆。 3. 感情真假:为每对新婚夫妇准备一些问题,让新郎和新娘轮流回答。问题可以涉及他们的未来计划、感情故事等,以检验他们对彼此了解的程度。 4. 隔空传情:准备一些纸板,新郎和新娘分别站在一段距离的两端,各自用嘴巴夹住纸板,然后通过用纸板传送信件或者吻信,以增加互动和竞争的乐趣。 5. 拍拖大作战:请一些单身朋友参与比赛,让他们模仿新郎和新娘的甜蜜动作或场景,由新郎和新娘评选最像的一对。 6. 献花传情:要求嘉宾们分成两队,每队选出一名代表,站在一段距离的两端。每名代表手持一朵花束,通过传递花束的方式,以最快的速度将花束传至对方代表手中。 这些小游戏旨在加强新郎和新娘之间的默契和互动,同时给婚礼增添欢乐和独特的回忆。 ### 回答3: 结婚的小游戏有很多种,可以根据新娘和新郎的喜好、婚礼主题以及场地条件来选择。以下是一些常见的结婚小游戏: 1. 猜新娘或新郎的年龄、生肖、星座等:在婚宴上,主持人可以播放照片或简短视频,让宾客猜测新娘或新郎的基本信息,这样可以增加互动和欢乐氛围。 2. 问题游戏:新娘和新郎事先准备一些问题,让宾客回答,例如他们相识的地点、第一次约会的情景等等。这是一个有趣的互动环节,使宾客更了解新人的爱情故事。 3. 婚戒传递游戏:将新娘和新郎的婚戒放在一系列纸杯或袋子中,宾客之间传递婚戒,最后由新郎把婚戒套在新娘的手指上。这是一个欢乐的游戏,可以增加气氛。 4. 玩转绳的游戏:让新郎和新娘手持一根绳子,游戏主持人念出一些有关新婚生活的情景,两人根据情景变化来调整绳子的形状。这个游戏考验新人的默契和协作能力。 5. 尬聊游戏:在宾客席上放置一些聊天题,例如“最难忘的一次旅行”、“最喜欢的一本书”等,让宾客自由交流。这样可以拉近宾客之间的距离,增加互动氛围。 总的来说,结婚的小游戏可以通过增加互动和娱乐性,使宾客更好地融入婚礼,与新人共享喜庆的氛围。当然还可以根据实际情况发挥创意,设计出更多有趣的结婚小游戏,以让婚礼更加精彩难忘。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一起玩儿科技

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值