SPI 简介

一、SPI 简介

SPI 全称 Serial Peripheral interface 串行外围设备接口

SPI 接口是一种高速的全双工同步的通信总线

二、SPI 工作原理

SPI 的结构框图如下图所示,围绕框图,我们展开介绍一下 SPI 的引脚信息、工作原理以及传输方式。

SPI 的引脚信息:

MISOMaster In / Slave Out主设备数据输入,从设备数据输出。即主机读操作。 

MOSIMaster Out / Slave In主设备数据输出,从设备数据输入。即主机写操作。

SCLKSerial Clock时钟信号,由主设备产生。 

CSChip Select从设备片选信号,由主设备产生。

SPI 的工作原理:

主机和从机都有一个串行移位寄存器,主机通过向主机SPI 串行寄存器写入一个字节来发起一次传输。串行移位寄存器通过 MOSI 信号线将字节传送给从机,从机也将自己的串行移位寄存器中的内容通过 MISO 信号线返回给主机。这样,两个移位寄存器中的内容就被交换。外设的写操作和读操作是同步完成的。如果只是进行写操作,主机只需忽略接收到的字节。反之,若主机要读取从机的一个字节,就必须发送一个空字节引发从机传输。

SPI 的传输方式:

SPI 总线有三种传输方式全双工、单工半双工

全双工通信:在任何时刻,主机与从机之间都可以同时进行数据的发送和接收。 

单工通信:在同一时刻,只有一个传输的方向,发送或者是接收。 

半双工通信:在同一时刻,只能为一个方向传输数据。

三、SPI 工作模式

STM32要与具有SPI接口的器件进行通信,就必须遵循 SPI 的通信协议。每一种通信协议都有各自的读写数据时序。SPI 通信协议4种工作模式,在了解工作模式前,首先了解 CPOL 和 CPHA 

① CPOLClock Polarity时钟极性主从机没有数据传输时 SCL 线的电平状态(即空闲状态)

空闲状态是高电平,CPOL = 1

若空闲状态低电平,CPOL = 0

② CPHAClock Phase时钟相位指的是数据的采样时刻

CPHA = 0表示数据的采样是1个边沿信号上奇数边沿,具体是上升沿还是下降沿,由CPOL决定。CPOL = 1则表示空闲状态是高电平,而数据采样在第1个边沿信号上,那么第1个边沿信号就是下降沿;CPOL = 0,那么第1个边沿信号就是上升沿。

CPHA = 1表示数据采样是2个边沿信号上偶数边沿因此它的边沿极性不由CPOL直接决定,需要根据偶数边沿判断,假如第一个边沿即奇数边沿是下降沿,那么偶数边沿的边沿极性就是上升沿。

SPI 工作模表如下表所示,

各工作模式采样时序如下图,

① 奇数边沿(CPHA = 0)上升沿(CPOL = 0)采样时序为:

② 偶数边沿(CPHA = 1)下降沿(CPOL = 0)采样时序为:

③奇数边沿(CPHA = 0)下降沿(CPOL = 1)采样时序为:

④偶数边沿(CPHA = 1)上升沿(CPOL = 1)采样时序为:

四、总结

SPI(Serial Peripheral Interface,串行外设接口)是一种高速、全双工、同步通信总线,SPI接口通常包括一个主设备(Master)和一个或多个从设备(Slave),通过四条信号线(时钟线SCK、主设备输出从设备输入MOSI、从设备输出主设备输入MISO、片选信号CS)实现数据的同步传输。SPI通信的特点是简单易实现、传输速率快,适用于短距离高速数据交换,常见于嵌入式系统中的存储器、传感器、显示屏等外设的连接.

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

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

相关文章

Mac微信如何备份聊天记录到外接硬盘以释放系统空间?

需求背景 我是256g硬盘的mac的用户,微信聊天记录竟然达到惊人的 12G mac电脑稍微下载个视频或者安装一个大一点的软件磁盘就给塞满了 微信聊天记录占用的这 12G空间我是很想要的 怎么办?怎么办?怎么办?怎么办? 解决方案 步骤其实很简单,针对两种细分场景,有不同的…

MATLAB语言编写的EKF程序,带大量的中文注释

三维非线性状态量的EKF(扩展卡尔曼滤波),几乎每一行都有中文注释,方便初学者上手。 下载链接:https://gf.bilibili.com/item/detail/1106112012

只会Python编程,做量化交易策略用QMT怎么样?听说QMT是支持Python的!

QMT是专门为机构、活跃投资者、高净值客户等专业投资者研发的智能量化交易终端,拥有高速行情、极速交易、策略交易、多维度风控等专业功能,满足专业投资者的特殊交易需求。覆盖业务范围广:沪深A股、港股通、两融、期权、期货。 适合用QMT的投资者&#x…

开源RK3588 AI Module7,并与Jetson Nano生态兼容的低功耗AI模块

RK3588 AI Module7 搭载瑞芯微 RK3588,提供强大的 64 位八核处理器,最高时钟速度为 2.4 GHz,6 TOPS NPU,并支持高达 32 GB 的内存。它与 Nvidia 的 Jetson Nano 接口兼容,具有升级和改进的 PCIe 连接。由于该模块的多功…

电子书号和纸质书号的ISBN 号有什么不同?

电子书号和纸质书号的 ISBN 号存在以下不同: 一、外观表现 电子书号的 ISBN 号与纸质书号在外观上基本一致,都是由一连串数字组成,但电子书号一般会明确标注其为电子出版物的书号类型,通常与音像出版社或电子出版社相关联。 而纸…

Python 复制Excel 中的行、列、单元格

在Excel中,复制行、列和单元格是日常工作中经常需要进行的操作,它可以帮助你快速调整数据布局、复制数据模板或进行数据的批量处理。 本文将详细介绍如何使用Python将Excel中的行、列、或单元格范围复制到指定位置。 所需Python库 要使用Python操作Exc…

MySQL基础篇 - MySQL概述

01 为什么要学数据库 答:数据库就是用来存储和管理数据的厂库。在我们日常生活中会用到各种各样的软件产品,这些软件产品的核心都是数据,所以如何高效的存储和管理数据是整个软件系统最核心的部分。我们将要学习的MySQL数据库就是专门用来存…

Windows10安装cuda11.3.0+cudnn8.5.0,以及创建conda虚拟环境(pytorch)

1、检查电脑驱动版本为561.09&#xff0c;选择cuda版本&#xff0c;下图可知cuda版本<12.6。 nvidia-smi #查看驱动版本&#xff0c;以及最大可以安装的cuda版本 2、Anaconda3-2024.06-1-Windows-x86_64.exe下载&#xff1a; 官网&#xff1a;https://www.baidu.com/link?…

记学时查询小程序开发制作方案

学员是记学时查询小程序系统的主要使用者&#xff0c;需要一个方便快捷的方式来查询自己的学时信息。 一、目标用户 学生&#xff1a;需要查看自己的学时记录&#xff0c;了解课程进度。 教师&#xff1a;需要管理学生的出勤情况&#xff0c;记录学时&#xff0c;跟踪学生的学…

透明屏幕有普通屏幕有哪些优点

针对透明玻璃屏幕的安装方案&#xff0c;我们需要综合考虑多个因素&#xff0c;包括安装环境、屏幕尺寸、重量、安全要求以及视觉效果等。以下是一个概括性的安装方案框架&#xff0c;供您参考&#xff1a; 一、前期准备 1.1 需求分析 明确透明玻璃屏幕的使用场景&#xff08…

探索未来智能:Moonshot AI 引领AI新纪元——M1超级模型

在人工智能的快速演进中&#xff0c;Moonshot AI再次站在了技术创新的前沿。我们自豪地宣布推出M1超级模型&#xff0c;这是一款旨在突破现有AI能力极限的革命性产品。 M1超级模型的诞生背景 随着数据量的爆炸性增长和计算能力的提升&#xff0c;AI模型正变得越来越复杂和强…

3款免费的GPT类工具

前言 随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;的崛起与发展已经成为我们生活中不可或缺的一部分。它的出现彻底改变了我们与世界互动的方式&#xff0c;并为各行各业带来了前所未有的便利。 一、Kimi 网址&#xff1a;点我前往 国产AI模型Kimi是一…

图神经网络在推荐系统中的应用综述

1 研究计划 了解推荐系统的研究背景和发展历程了解为什么推荐系统需要GNN了解基于GNN的推荐的关键挑战了解基于GNN的推荐的现有方法 2 完成情况 2.1推荐系统的研究背景和发展历程 随着各种服务和平台(如电子商务、短视频等)上信息的快速爆炸&#xff0c;推荐系统在缓解信息…

Java从入门到精通学习框架(一)

在这一阶段&#xff0c;目标是建立扎实的 Java 编程基础&#xff0c;掌握常见的语法规则和编程思路&#xff0c;了解面向对象编程的基本概念&#xff0c;能够编写简单的控制台程序。 Java 安装与开发环境&#xff1a; 安装 JDK&#xff08;Java Development Kit&#xff09; Ja…

毕业设计选题:基于ssm+vue+uniapp的面向企事业单位的项目申报小程序

开发语言&#xff1a;Java框架&#xff1a;ssmuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;M…

【深度学习】(1)--神经网络

文章目录 深度学习神经网络1. 感知器2. 多层感知器偏置 3. 神经网络的构造4. 模型训练损失函数 总结 深度学习 深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中一个新的研究方向。 从上方的内容包含结果&#xff0c;我们可以知道&#xff0c;在学习深度学…

量化交易软件QMT推荐吗?QMT如何设定函数?

QMT系统函数的设定涉及多个方面&#xff0c;主要是基于策略的需求来配置的。以下是从初始化配置到交易策略函数编写的关键步骤和方法&#xff0c;以及对常见函数的介绍和设置&#xff1a; 初始化函数和配置&#xff08;Init 函数&#xff09; Init 函数的角色&#xff1a; 初始…

【算法】堆与优先级队列

【ps】本篇有 4 道 leetcode OJ。 目录 一、算法简介 二、相关例题 1&#xff09;最后一块石头的重量 .1- 题目解析 .2- 代码编写 2&#xff09;数据流中的第 K 大元素 .1- 题目解析 .2- 代码编写 3&#xff09;前K个高频单词 .1- 题目解析 .2- 代码编写 4&#xf…

怎么操作使http变成https访问?

获取SSL证书 选择证书颁发机构&#xff1a;可以选择受信任的免费或付费证书颁发机构&#xff08;CA&#xff09;如JoySSL 申请和验证域名&#xff1a;注册并填写注册码230920&#xff0c;验证域名所有权。下载SSL证书文件到本地电脑. JoySSL品牌证书 注册享大额优惠JoySSL是网…