【科普贴】SPI接口详解

【科普贴】SPI接口详解一、SPI接口简介SPI接口是一种同步串行总线(SerialPeripheralInterface)多用于Flash存储器(如NORFlash&NandFlashd),ADC、LCD控制器等外围器件的通讯接口。大大增强了处理器的外设扩展能力。SPI接口缩写SSEL:slaveselect,常常也被写作CS(chipselect)或SS(slaveselect)SCK:serialclock,常常也写作SCLK或SCLMISO:masterinputslaveoutpu

大家好,又见面了,我是你们的朋友全栈君。

一、SPI接口简介

SPI接口是一种同步串行总线(Serial Peripheral Interface)多用于Flash存储器(如NOR Flash&Nand Flash),ADC、LCD控制器等外围器件的通讯接口。大大增强了处理器的外设扩展能力。
SPI接口缩写
SSEL:slave select,常常也被写作CS(chip select)或SS(slave select)
SCK:serial clock,常常也写作SCLK或SCL
MISO:master input slave output,常常被简写为SO(slave output,也有说是serial output)
MOSI:master output slave input,常常被简写为SI(slave input,也有说是serial input)
在这里插入图片描述
在SPI总线上,当一个主机和多个从机进行通讯时,通过CS来选择和那个设备进行通讯,可以将CS理解为enable信号,低电平有效。当多个从机存在时,这就要求从机的MISO口具有三态特性,使得该接口在器件未被选通时表现为高阻抗。当前多数SPI设备在不做通讯时,默认的状态通常就是高阻抗状态。
如下图是某个SPI Nand Flash中的Timing图。
在这里插入图片描述
SPI接口通常少有被用作一主多从的状态。常常被用作一对一的SPI通讯,常常的连接方式如下方式。
在这里插入图片描述

二、SPI通讯方式

标准的SPI通讯协议,通常会采用时钟的极性和采样的相位,将SPI分为四种工作模式
说人话就是:时钟的空闲状态分为高电平和低电平两种状态。采样方式可以选择上升沿采样或者是下降沿采样两种方式,进行排列组合就是四种状态。详细见下。
在这里插入图片描述
通常设备手册是中会描述SPI设备支持那些模式。下图是某家SPI NAND所支持的SPI模式。
下图中
CPOL :Clock Polarity(时钟极性 )
CPHA :Clock Phase(时钟相位)
时钟极性(CPOL)对传输协议没有重大的影响。如果CPOL=0,串行同步时钟的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。SPI主模块和与之通信的外设音时钟相位和极性应该一致。
输入数据在上升沿的时候保持,数据在下降沿的时候允许变化。说白了就是上升沿采样。 在这里插入图片描述
SPI通讯常用到的被分为四种通讯方式1)单线模式,2)标准模式,3)双线模式,4)四线模式,各自的应用场景不同。SPI标准模式上面有介绍过这里不过多累述。
SPI单线通讯模式
SPI单线模式是将原来的两根数据线改成一根,通讯方式变成了半双工的通讯方式,在接线上,只需要三根线分别是SCLK、I/O、CS。时钟频率通常可以做到10MHz
在这里插入图片描述
SPI双线通讯模式(Dual SPI)
SPI双线模式,是将原来的SI、SO两个数据线单线数据线,改成双向数据线。也是一种半双工的通讯模式。下图是某家SPI NAND中对于这种模式的描述。
在这里插入图片描述
SPI四线通讯模式
SPI四线模式,通常是Flash使用较多,SPI NOR Flash和SPI NAND Flash都有使用,这种方式是将SI、SO、WP、HOLD全部改成双向IO进行通讯。也是一种半双工通讯模式。下图是某家SPI NAND中对于这种模式的描述。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150374.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • NFV基本概念_nf缩写是什么意思

    NFV基本概念_nf缩写是什么意思1.NFV相关基本概念NFV(网络功能虚拟化)SDN(软件定义网络)一个NFV的标准架构包括NFVinfrastructure(NFVI),MANO(ManagementandOrchestration)和VNFs,三者是标准架构中顶级的概念实体。NFVI(NFVInfrastructure)包含了虚拟化层(hypervisor或者容器管理系统,如Docker,以及vSwitch…

    2025年10月17日
    4
  • vue遍历数组对象foreach_js遍历对象数组

    vue遍历数组对象foreach_js遍历对象数组Arr=[ { a:1 }, { b:2 },]<liv-for=”(value,key,index)inArr”><divv-for=”(txvalue,name,num)invalue”> <spanclass=”title”>{{name}}:</span><span>{{txvalue}}</span> </div>&lt

    2022年8月30日
    1
  • 公有云和私有云的对比和转换

    公有云和私有云的对比和转换章节目录共5500字,可跳读趣味科普-虾蟹互换私有云同样有底蕴有深度私有云转公有云的真难点公有云转私有云的真难点私有云转公有云的假难题公有云转私有云的假难题两类云人力侧重的不同定制越多越好…

    2022年6月17日
    27
  • AOP:使用命令模式实现AOP

    AOP:使用命令模式实现AOP

    2021年8月24日
    63
  • 别人的收藏_自己的qq收藏别人是否能看到

    别人的收藏_自己的qq收藏别人是否能看到0DAY 0daydivxz数据库0dayGamezHowtotellNFOrceEntertainmentTLF0DayCheckIndexTLF资讯网UGiA0daysearchengine_2002-2005梦幻0Day~game阿拉下载龙族-北京站-MCSYSTEM2004 BBS  下载论坛

    2022年10月8日
    3
  • 欧拉函数及其证明_欧拉函数证明题

    欧拉函数及其证明_欧拉函数证明题请思考以下问题:  任意给定正整数n,请问在小于等于n的正整数之中,有多少个与n构成互质关系?(比如,在1到8之中,有多少个数与8构成互质关系?)计算这个值的方法就叫做欧拉函数,以φ(n)表示。在1到8之中,与8形成互质关系的是1、3、5、7,所以φ(n)=4。φ(n)的计算方法并不复杂,但是为了得到最后那个公式,需要一步步讨论。第一种情况如果n=1,则φ(1

    2022年8月22日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号