0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

Q4MP_gh_c472c21 来源:CSDN 作者:kaivenscode 2021-06-21 15:41 次阅读

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

2、SPI优点支持全双工通信

通信简单

数据传输速率块

poYBAGDQRAiARuoKAADo-rSz75g140.jpg

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 – 从设备使能信号,由主设备控制。当有多个从设备的时候,因为每个从设备上都有一个片选引脚接入到主设备机中,当主设备和某个从设备通信时将需要将从设备对应的片选引脚电平拉低(一般低有效)。

pYYBAGDQRAKAfWZDAACUNZDRmMg672.jpg

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

具体模式具体如下:

:CPOL=0,CPHA=0

Mode1:CPOL=0,CPHA=1

Mode2:CPOL=1,CPHA=0

Mode3:CPOL=1,CPHA=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由高电平到低电平的跳变,所以数据采集是在上升沿,数据发送是在下降沿。

poYBAGDQQ_uAWjhBAAGJtgOANHA880.jpg

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

poYBAGDQQ_WAIbXFAADsmFCjIsc371.jpg

我们来关注SCK的第一个时钟周期,在时钟的前沿采样数据(上升沿,第一个时钟沿),在时钟的后沿输出数据(下降沿,第二个时钟沿)。首先来看主器件,主器件的输出口(MOSI)输出的数据bit1,在时钟的前沿被从器件采样,那主器件是在何时刻输出bit1的呢?bit1的输出时刻实际上在SCK信号有效以前,比SCK的上升沿还要早半个时钟周期。bit1的输出时刻与SSEL信号没有关系。再来看从器件,主器件的输入口MISO同样是在时钟的前沿采样从器件输出的bit1的,那从器件又是在何时刻输出bit1的呢。从器件是在SSEL信号有效后,立即输出bit1,尽管此时SCK信号还没有起效。 从这张图就可以很清楚的看出主从器件的bit1是怎样输出的。

poYBAGDQQ--ADHJvAAECHJlf9Y8259.jpg

原文:https://blog.csdn.net/kai_zone/article/details/78038716
责任编辑:lq6

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1706

    浏览量

    91506

原文标题:SPI怎么玩?搞懂时序,运用自如

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    spi master接口的fpga实现

    串行外围接口 大致了解: spi是个同步协议,数据在master和slaver间交换通过时钟sck,由于它是同步协议,时钟速率就可以各种变换。 sck:主机提供,从机不能操控,从器件由主机产生的时钟控制。数据只有在sck来了的上升沿或者下降沿才传输。 高级一点的spi
    的头像 发表于 11-16 10:35 349次阅读
    <b class='flag-5'>spi</b> master接口的fpga实现

    DS1302芯片与FPGA之间SPI通信原理

    本文通过以DS1302芯片为基础,介绍该芯片与FPGA之间SPI通信原理,详细描述硬件设计原理及FPGA SPI接口驱动设计。
    的头像 发表于 10-24 14:16 414次阅读
    DS1302芯片与FPGA之间<b class='flag-5'>SPI</b>通信原理

    瀚海微SD NAND之SD 协议(36)SPI模式

    是在上电后的第一个reset (CMD0)命令中选择的,设备上电后不能更改。 SPI标准只定义了物理链路,而不是完整的数据传输协议。 SDl存储卡SPI实现使用SD存储卡协议和命令集的一个子集。 SPI模式的
    的头像 发表于 10-08 10:13 292次阅读
    瀚海微SD NAND之SD 协议(36)<b class='flag-5'>SPI</b>模式

    转换SPI的电压

    电子发烧友网站提供《转换SPI的电压.pdf》资料免费下载
    发表于 09-21 10:48 0次下载
    转换<b class='flag-5'>SPI</b>的电压

    单片机SPI通信实现

    在深入探讨单片机(如基于STM32、AVR、PIC等)如何通过SPI(Serial Peripheral Interface)进行通信之前,我们先概述SPI通信的基本原理,随后以STM32微控制器为例,详细解释如何配置SPI接口
    的头像 发表于 09-09 17:00 496次阅读

    SPI总线的定义和特点

    SPI总线(Serial Peripheral Interface),全称为串行外围设备接口,是由Motorola公司提出并定义的一种同步、串行、高速的通信总线。SPI总线以其独特的优势在电子通信
    的头像 发表于 09-03 14:05 778次阅读

    SD NAND和SPI NAND的区别

    SD NAND和SPI NAND各有优缺点,适用于不同的应用场景。SD NAND提供更高的读写速度和大容量存储,适合需要高性能和大容量存储的应用。而SPI NAND则以其简单的接口、低成本和低功耗,适合空间受限和成本敏感的嵌入式系统和物联网设备。
    的头像 发表于 06-04 14:26 2004次阅读

    Vision Board上的SPI设备驱动配置和SPI主控的外部loopback功能测试

    感谢发烧友/* attach spi device */static int rt_spi_device_init(void){    struct rt_spi_configuration cfg
    的头像 发表于 06-04 09:21 603次阅读
    Vision Board上的<b class='flag-5'>SPI</b>设备驱动配置和<b class='flag-5'>SPI</b>主控的外部loopback功能测试

    【GD32F470紫藤派开发板使用手册】第十一讲 SPI-SPI NOR FLASH读写实验

    通过本实验主要学习以下内容: •SPI简介 •GD32F470 SPI简介 •SPI NOR FLASH——GD25Q32ESIGR简介 •使用GD32F470 SPI接口实现对GD2
    的头像 发表于 05-17 09:57 1771次阅读
    【GD32F470紫藤派开发板使用手册】第十一讲 <b class='flag-5'>SPI-SPI</b> NOR FLASH读写实验

    什么是SPI锡膏检测仪?

    在SMT贴片加工中,锡膏检测是非常重要的环节之一。检测锡膏的精度和质量能够直接影响到PCBA的质量和稳定性。在锡膏的生产和加工过程中,SPI锡膏检测仪的运用可以大大提高生产效率和检测精度。接下来
    的头像 发表于 04-24 15:26 1119次阅读
    什么是<b class='flag-5'>SPI</b>锡膏检测仪?

    FPGA设计中SPI的参数化结构设计方法

    为了避免每次SPI驱动重写,直接参数化,尽量一劳永逸。SPI master啥用呢,你发现各种外围芯片的配置一般都是通过SPI配置的,只不过
    发表于 04-02 10:01 832次阅读
    FPGA设计中<b class='flag-5'>SPI</b>的参数化结构设计方法

    超详细的SPI原理和通信模式

    SPI分为主、从两种模式,一个SPI通讯系统需要包含一个(且只能是一个)主设备,一个或多个从设备。提供时钟的为主设备(Master),接收时钟的设备为从设备(Slave),SPI接口的读写操作,都是由主设备发起。
    发表于 02-29 12:33 4509次阅读
    超详细的<b class='flag-5'>SPI</b>原理和通信模式

    一文详解SPI串行外设接口

    SPI也是MCU最常见的对外通信口之一,由摩托罗拉在上世纪80年代中开发,用于嵌入式系统中器件之间的短距离数据通信,标准模式使用四条信号线。目前常见的应用器件:LCD模组、以太网模块、SPI串行Flash和很多传感器等,大部分
    的头像 发表于 01-18 09:45 6769次阅读
    一文详解<b class='flag-5'>SPI</b>串行外设接口

    HAL库硬件SPI点亮板载LCD屏幕流程详解

    LCD是挂在硬件SPISPI1上,CS引脚也挂在硬件SPI上,可以直接配置,不用再操心CS引脚的电平转换了,库函数内部自动完成。
    的头像 发表于 01-17 09:08 2660次阅读
    HAL库硬件<b class='flag-5'>SPI</b>点亮板载LCD屏幕流程详解

    硬件spi和软件spi的区别

    的,这些模块通常集成在微控制器或微处理器中。硬件SPI一些独立的硬件引脚,用于传输数据,包括时钟信号(SCK)、主设备输出数据(MOSI)、主设备输入数据(MISO)和片选信号(CS)。硬件SPI的传输速度较快,可以达到几MH
    的头像 发表于 12-26 16:55 5924次阅读