什么是SPI?SPI的优点有哪些?

news2024/11/23 19:24:00

1、什么是SPI?

SPI是串行外设接口(Serial Peripheral Interface)的缩写,是Motorola公司推出的一种同步串行接口技术,是一种高速、全双工、同步的通信总线

2、SPI优点

  • 支持全双工通信
  • 通信简单
  • 数据传输速率块

在这里插入图片描述

3、缺点

没有指定的流控制,没有应答机制确认是否接收到数据,所以跟IIC总线协议比较在数据可靠性上有一定的缺陷。

4、特点

  1. 高速、同步、全双工、非差分、总线式
  2. 主从机通信模式

5、SPI电路连接

  1. SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,有三线制和四线制之分。信号线包括SDI(串行数据输入 Serial Digital IN)、SDO(串行数据输出 Serial Digital OUT)、SCLK(时钟)、CS(片选)。
  2. SDO/MOSI – 主设备数据输出,从设备数据输入
  3. SDI/MISO – 主设备数据输入,从设备数据输
  4. SCLK – 时钟信号,由主设备产生;
  5. CS/SS – 从设备使能信号,由主设备控制。当有多个从设备的时候,因为每个从设备上都有一个片选引脚接入到主设备机中,当主设备和某个从设备通信时将需要将从设备对应的片选引脚电平拉低(一般低有效)。
    在这里插入图片描述

6、SPI通信模式分析

SPI通信有4种不同的模式,不同的从设备在出厂时配置模式已经固定, 这是不能改变的,但通信双方设备必须工作在同一模式下,所以可以对主设备的SPI模式进行配置,通过CPOL(时钟极性)和CPHA(时钟相位)来控制主设备的通信模式。

具体模式具体如下:

Mode0:CPOL=0CPHA=0

Mode1:CPOL=0CPHA=1

Mode2:CPOL=1CPHA=0

Mode3:CPOL=1CPHA=1

模式CPOLCPHA

Mode000

Mode101

Mode210

Mode311

时钟极性CPOL是用来配置SCLK电平的有效态的;

时钟相位CPHA是用来配置数据采样是发生在第几个边沿的。 CPOL=0表示当SCLK=0时处于空闲态,所以SCLK处于高电平时有效;

CPOL=1表示当SCLK=1时处于空闲态,所以SCLK处于低电平时有效;

CPHA=0表示数据采样是在第1个边沿,数据发送在第2个边沿;

CPHA=1表示数据采样是在第2个边沿,数据发送在第1个边沿; SPI主模块和与之通信的外设通信时,两者的时钟相位和极性应该保持一致。

7、SPI 时序详解

CPOL=0,CPHA=0:此时空闲态时,SCLK处于低电平,数据采样是在第1个边沿,也就是SCLK由低电平到高电平的跳变,所以数据采样是在上升沿,数据发送是在下降沿。

CPOL=0,CPHA=1:此时空闲态时,SCLK处于低电平,数据发送是在第1个边沿,也就是SCLK由低电平到高电平的跳变,所以数据采样是在下降沿,数据发送是在上升沿。

CPOL=1,CPHA=0:此时空闲态时,SCLK处于高电平,数据采集是在第1个边沿,也就是SCLK由高电平到低电平的跳变,所以数据采集是在下降沿,数据发送是在上升沿。

CPOL=1,CPHA=1:此时空闲态时,SCLK处于高电平,数据发送是在第1个边沿,也就是SCLK由高电平到低电平的跳变,所以数据采集是在上升沿,数据发送是在下降沿。

在这里插入图片描述

注意:SPI主设备能够控制时钟信号,因为SPI通信并不像UART或者IIC通信那样有专门的通信周期、通信起始信号、通信结束信号;所以SPI协议只能通过控制时钟信号线,在没有数据交流的时候,时钟线要么是保持高电平,要么是保持低电平。

例如:工作在模式0这种时序(CPOL=0,CPHA=0),如下:
在这里插入图片描述

我们来关注SCK的第一个时钟周期,在时钟的前沿采样数据(上升沿,第一个时钟沿),在时钟的后沿输出数据(下降沿,第二个时钟沿)。

首先来看主器件,主器件的输出口(MOSI)输出的数据bit1,在时钟的前沿被从器件采样,那主器件是在何时刻输出bit1的呢?bit1的输出时刻实际上在SCK信号有效以前,比SCK的上升沿还要早半个时钟周期。bit1的输出时刻与SSEL信号没有关系。

再来看从器件,主器件的输入口MISO同样是在时钟的前沿采样从器件输出的bit1的,那从器件又是在何时刻输出bit1的呢。从器件是在SSEL信号有效后,立即输出bit1,尽管此时SCK信号还没有起效。

从这张图就可以很清楚的看出主从器件的bit1是怎样输出的。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/157778.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

案例分析中可能的考点1:招投标程序

招投标程序: (1)投标方不满足资质要求; (2)投标过程不满足时间要求; (3)招标公告内容或过程不满足要求; (4)评标人员不满足组成要求&a…

【数据结构与算法】二叉树的非递归前中后序遍历

🌠作者:阿亮joy. 🎆专栏:《数据结构与算法要啸着学》 🎇座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉…

WebSphere8 批量安装和制作介质服务器

WAS 8.5 介质准备 1、安装install manager 2、安装IBM Packaging Utility unzip pu.offering.disk.linux_1.5.3000.20120531_2025.zip cd disk_linux/InstallerImage_linux ./consoleinst.sh 跟着向导安装。 3、安装PU mkdir pu cd pu unzip ../pu_1.5.3.zip ./imcl i…

如何使用集成在 SharePoint 中的开源 ONLYOFFICE 文档替代微软 Office

ONLYOFFICE 文档是一款开源的办公套件,在 GNU AGPL v3.0 下分发。它包括基于网络的查看器和协作编辑器,可用于处理文本文档、电子表格和演示文稿,与 OOXML 格式高度兼容。 ONLYOFFICE 文档可以与多种云服务集成,如 Nextcloud、ow…

仅CPU服务器pytorch ,torch_geometric安装配置

写在开头,做了整整三年的多组学数据分析,各种模式动物、组织、细胞系的各种组学数据,该怎么串联成我的论文?就是我要开启深度学习小白模式了。 万种流程先从环境配置开始,先说说环境,其实当家的有多GPU超大…

儿童护眼灯哪个好?四款儿童护眼台灯测评

儿童护眼灯在孩子的学习过程中起到了很重要的作用,53.7%的青少年们都有近视的现象,而好的台灯不仅照明非常柔和,而且对眼睛没有刺激和伤害,护眼灯相比传统电灯,一是古县更加明亮且可以调节,二是有护眼技术的…

HANA 的 calculation view出现模糊关联 ambiguous join

一旦我们用了join,那就会有个Analytic Engine分析引擎来确保不是唯一连接的时候,关键值不会被重复。 啥是模糊关联? 一般来讲关联基数是1:n, 或者n:1,或者 m:n都是。 以上两个关联,结果集如下: 这时候&a…

php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07

php学习笔记-php会话控制及web常用的预定义变量-day071、$_REQUEST2、$_SERVER3、$_COOKIE3.1 cookie的内容3.2 cookie的分类3.3 php中cookie的使用3.4 cookie自动登录小demo4、$SESSION4.1 session的工作原理4.2 session的使用4.2.1 修改php.ini中的session配置4.2.2 开启sess…

Android 深入系统完全讲解(13)

3 编译过程讲解 1 系统的编译过程 Android 的编译使用的 Makefile,推荐大家使用《GNU make 中文手册》,这本书有电子版,非常方便,主要是要理解清楚 Makefile 的规则,编译策略,可以通过写简单的编译机制&am…

【Java项目推荐】值得写到简历上的项目--黑马点评

优惠卷秒杀前言优惠券秒杀实现优惠券秒杀下单超卖问题一人一单分布式锁redis中加锁的一些特殊情况手动实现分布式锁分布式锁误删情况1分布式锁误删情况2lua脚本解决多条命令的原子性问题Redisson秒杀优化异步秒杀思路基于redis完成秒杀资格判断基于阻塞队列实现异步下单总结Red…

70、SSDNeRF: Semantic Soft Decomposition of Neural Radiance Fields

简介 官网:https://www.siddhantranade.com/research/2022/12/06/SSDNeRF-Semantic-Soft-Decomposition-of-Neural-Radiance-Fields.html SSDNeRF,将语义信号与场景的辐射信号联合编码,提供了场景的软分解为语义部分,能够正确编码…

【HCIA-openEuler】实验手册—09【openEuler综合实践】

文章目录一、实验介绍1、关于本实验2、实验目的二、实验任务配置1、配置思路2、配置步骤步骤1:挂载系统ISO,并配置好本地dnf源步骤2:配置软件安装源步骤3:安装文件共享服务三、设置文件共享用户与权限1、实验介绍(1&am…

【Linux】编辑器 - vim 的使用与配置

目录 1、vim的基本概念 2、vim的基本操作 2.1、vim 编辑器的进入与退出 2.2、插入模式 2.3、命令模式 2.4、底行模式 3、vim的配置 3.1、自定义配置 3.2、自动化配置 vim 的前身是 vi,vi/vim的区别简单点来说,它们都是多模式编辑器,…

Java对时间的处理

Date用的最多这里主要介绍该类。java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。 package com.company; import java.util.Date;public class Main {public static void main(String[] args) {// write your code hereSyste…

阿里云Docker仓库操作

为什么用阿里云docker有自己的仓库服务器,但是对没掏钱的(白嫖)用户并不是那么友好,有两个很大的限制:免费用户,在6个月之内如果没有任何操作,将会被自动删除,真的很糟糕啊。匿名用户…

港科夜闻|广州市花都区与香港科大(广州)合作建设科研智库,发展AI智慧农业...

关注并星标每周阅读港科夜闻建立新视野 开启新思维1、广州市花都区与香港科大(广州)合作建设科研智库,发展AI智慧农业。1月8日,广州市花都区人民政府和香港科大(广州)在广州举行签约仪式,根据协议,香港科大(广州)和花都区人民政府…

JS案例:接口加解密与防重放

目录 前言 功能设计 客户端的功能点(client) 服务端的功能点(server) 功能实现 工具函数 client.js(客户端) server.js(服务端) 实现效果 写在最后 前言 在网络通信中&am…

远程会计人员如何通过数字工作流程完成工作

远程会计人员如何通过数字工作流程完成工作 当大多数员工居家办公时,会计部门通常会敏锐地感受到挑战。如果您的组织开始数字化转型或只迈出了第一步,您会发文档管理系统现在已成为必备品,而不是可有可无的。现在是时候实施数字工作流程&…

论文投稿指南——中文核心期刊推荐(地理学)

【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…

Mysql操作指令

Mysql操作指令 创建数据库 下面写具体案列一步步学 这里基本上线在sqlyog里面写sql,因为关于java程序和mysql数据库的连接还没有学 图形化操作数据库之前的可视化有 这里只讲指令凑在哦 注意 默认创建库 用uft8字符集,校对规则的uf8_general_ci不区分大…