SPI 接口

SPI 接口

    • SPI 简介
    • 寻址方式
    • 通信过程
    • 极性和相位
    • IIC 和 SPI 的异同
      • 相同点
      • 不同点

SPI 简介

SPI(Serial Peripheral Interface)是串行外设接口的缩写,SPI是一种高速的、全双工、同步的串行通信总线;SPI采用主从方式工作,一般有一个主设备和一个或多个从设备;SPI需要至少4根线,分别是MISO(主设备输入从设备输出)、MOSI(主设备输出从设备输入)、SCLK(时钟)、CS(片选)。SPI使用引脚较少且布线方便,所以越来越多的芯片集成了这种通信协议;

在这里插入图片描述

寻址方式

当主设备要和某个从设备进行通信时,主设备需要先向对应从设备的片选线上发送使能信号(高电平或者低电平,根据从机而定)表示选中该从设备。

在这里插入图片描述

通信过程

SPI总线在进行数据传送时,先传送高位,后传送低位;数据线为高电平表示逻辑‘1’,低电平表示逻辑‘0’;一个字节传送完成后无需应答即可开始下一个字节的传送;SPI总线采用同步方式工作,时钟线在上升沿或下降沿时发送器向数据线上发送数据,在紧接着的下降沿或上升沿时接收器从数据线上读取数据,完成一位数据传送,八个时钟周期即可完成一个字节数据的传送;

在这里插入图片描述

极性和相位

SPI总线有四种不同的工作模式,取决于极性(CPOL)和相位(CPHL)这两个因素。

  • CPOL表示SCLK空闲时的状态
    • CPOL=0,空闲时SCLK为低电平
    • CPOL=1,空闲时SCLK为高电平
  • CPHA表示采样时刻
    • CPHA=0,每个周期的第一个时钟沿采样
    • CPHA=1,每个周期的第二个时钟沿采样
  1. CPOL = 0, CPHA = 0

在这里插入图片描述

  1. CPOL = 0, CPHA = 1

在这里插入图片描述

  1. CPOL = 1, CPHA = 0

在这里插入图片描述

  1. CPOL = 1, CPHA = 1

在这里插入图片描述

需要说明的是,对于一个特定的从设备来说,一般在出厂时就会将其设计为某种特定的工作模式;我们在使用该设备时就必须保证主设备的工作模式和该从设备保持一致,否则是无法进行通信的;所以一般我们需要对主设备的CPOL和CPHA进行配置。

IIC 和 SPI 的异同

相同点

  1. 均采用串行、同步的方式
  2. 均采用TTL电平,传输距离和应用场景类似
  3. 均采用主从方式工作

不同点

  1. IIC为半双工, SPI为全双工

  2. IIC有应答机制, SPI无应答机制

  3. IIC通过向总线广播从机地址来寻址, SPI通过向对应从机发送使能信号来寻址

  4. IIC的时钟极性和时钟相位固定, SP I的时钟极性和时钟相位可调
    寻址, SPI通过向对应从机发送使能信号来寻址

  5. IIC的时钟极性和时钟相位固定, SP I的时钟极性和时钟相位可调

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

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

相关文章

题目 1604: 蓝桥杯-阶乘

题目描述: 一个整数n的阶乘可以写成n!,它表示从1到n这n个整数的乘积。阶乘的增长速度非常快,例如,13!就已经比较大了,已经无法存放在一个整型变量 中;而35!就更大了,它已经无法存放在一个浮点型变量中。因…

UART 接口

UART 接口 1. UART 协议原理与编程1.1 UART 简介1.2 UART 帧格式1.3 UART 缺点1.4 Verilog 代码 2. RS232、RS485 协议原理2.1 RS232 协议简介2.1.1 RS232 接口2.1.2 RS232 信号2.1.3 RS232 缺点 2.2 RS4852.2.1 RS485协议简介2.2.2 RS458 信号2.2.3 RS458 接口2.2.4 RS485 优点…

Cocos Creator 3.8.x 制作模糊效果(比如游戏弹窗需要的模糊效果)

接着上一个讨论的话题,关于3.8.x的后效,今天来分享自定义后效来制作模糊效果,并将他应用到弹窗中做背景,话不多说开整。 一:最终效果 首先咱们来看官网自定义后效怎么搞的,从它的实例开始:自定义后效 二:定义PostProcessSettings给节点提供资源(通过编辑器修改参数的…

搭建Zabbix监控系统

简介 在企业网络运维过程中,管理员必须随时关注各服务器和网络的运行状况,以便及时发现问题.尽可能减少故障的发生。当网络中的设备,服务器等数量较多时,为了更加方便、快捷地获得各种监控信息,通常会借助于一些集中监测软件。 一…

【力扣经典面试题】12. 整数转罗马数字

一、题目描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M …

深入理解 C# 中的 Task:异步编程的利器

深入理解 C# 中的 Task:异步编程的利器 前言一、Task 的基本概念什么是 Task?为什么要使用 Task? Task 的使用方法创建 Task等待 Task 完成Task 返回结果 Task 的进阶用法Task 异常处理Task 同步执行Task 并发限制 Task 的实际应用场景并行计…

FISCO BCOS区块链平台上的智能合约压力测试指南

引言 在当今的分布式系统中,区块链技术因其去中心化、安全性和透明性而备受关注。随着区块链应用的不断扩展,对其性能和稳定性的要求也越来越高。因此,对区块链网络进行压力测试显得尤为重要。 目录 引言 1. 配置FISCO BCOS节点 2. 安装和…

Windows安装MySQL详细教程

1.1 下载MySQL压缩包 官网下载链接[点击跳转] 按图中选择,然后点击【Download】 点击图中箭头所指方向直接下载 1.2 解压下载好的压缩包后找到【bin】文件夹,并记下文件路径(下文将以路径 D:\mysql-8.0.36-winx64\bin 为例) 1.…

【Python】成功解决TypeError: ‘int‘ object is not iterable

【Python】成功解决TypeError: ‘int’ object is not iterable 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到…

SmartX 携手 openGauss 社区发布联合方案评测与性能最佳实践 | 附优化方法与测试数据

近日,北京志凌海纳科技有限公司(以下简称 “SmartX”)携手 openGauss 社区完成了 openGauss 数据库基于 SmartX 超融合平台(SMTX OS)和 SmartX 分布式存储平台(SMTX ZBS)的性能测试和调优。 结…

Python-sklearn-LinearRegression

目录 1 手动实现/使用sklearn实现线性回归训练 1.1 单特征线性回归(One Feature) 1.2 多特征线性回归(Multiple Features) 1.3 多项式线性回归(Polynomial) 1 手动实现/使用sklearn实现线性回归训练 1…

numpyNaN

numpyNaN nan(NAN,Nan):not a number表示不是一个数字 什么时候numpy中会出现nan: 当我们读取本地的文件为float的时候,如果有缺失,就会出现nan当做了一个不合适的计算的时候(比如无穷大(inf)减去无穷大) inf(-inf,inf):infinity,inf表示…

JavaScript-1 (forEach方法)

--输出语句 document.write(文档输出内容) alert(警告对话框) console.log(控制台打印) --输入语句 prompt(请输入姓名:) JavaScript的书写位置 1.内联JavaScript <button onclick"alert(hello world!)">点击我</button> <button> 标签: …

flowable的java class task,也叫服务任务

源码地址12级程序猿-新年正当红/flowable-ui和服务任务 启动flowable-ui-app 浏览器输入下面的地址 http://localhost:8080/flowable-ui/#/ 在服务任务这里设置java类的路径 com.dmg.flowabledemo.task.MyServiceTask 当请假任务完成之后&#xff0c;自动触发这个服务任务…

Android开发社招面试总结,Android程序员面试必备的知识点

导语 学历永远是横在我们进人大厂的一道门槛&#xff0c;好像无论怎么努力&#xff0c;总能被那些985,211 按在地上摩擦&#xff01; 不仅要被“他们”看不起&#xff0c;在HR挑选简历&#xff0c;学历这块就直接被刷下去了&#xff0c;连证明自己的机会也没有&#xff0c;学…

synchronized 五连问

什么是synchronized? synchronized 是Java中用于实现线程同步的关键字&#xff0c;它可以确保多个线程在访问共享资源时不会发生冲突。 synchronized 关键字的一些主要用法? 修饰方法&#xff1a;当 synchronized 用于修饰方法时&#xff0c;它会将该方法变成同步方法&#…

关于Java并发多线程的一点思考

写在开头 在过去的2023年双11活动中&#xff0c;天猫的累计访问人次达到了8亿&#xff0c;京东超60个品牌销售破10亿&#xff0c;直播观看人数3.0亿人次&#xff0c;订单支付频率1分钟之内可达百万级峰值&#xff0c;这样的瞬间高并发活动&#xff0c;给服务端带来的冲击可想而…

什么职业适合报考CISP证书

CISP认证是当前中国信息安全行业中最主流、最专业的证书之一&#xff0c;具有很高的含金量。 那么&#xff0c;CISP认证的含金量高吗?哪些职位需要获得CISP证书?作为国家认证证书&#xff0c;CISP认证&#xff0c;当然&#xff0c;含金量&#xff0c;到底是多么高的含金量&a…

HplusAdmin ASP.NET基本权限管理系统

HplusAdmin 介绍 一套ASP.NET WebForm(不用控件) hplusasp.netsqlserver 基本权限管理系统 http://hplus.baocaige.top 暂不开源&#xff0c;需要的滴滴或者留下邮箱&#xff01;&#xff01;&#xff01; 账号 普通账号 账号&#xff1a;user 密码&#xff1a;Aa123456普…

运维随录实战(10)之上传Maven私服

1,通过第三方仓库(sonatype ossrh)上传,首先在官网注册账号: Loading... 2,新建issue 3,按照评论要求进行代码建立等 4,安装gpg,地址:Gpg4win - Download Gpg4win 相关命令: gpg --version 查看版本(是否安装成功) gpg --gen-key 生成公钥 gpg --keyserver hk…