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

    文章

    1700

    浏览量

    91293

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

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

收藏 人收藏

    评论

    相关推荐

    spi master接口的fpga实现

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

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

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

    SPI总线的定义和特点

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

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

    感谢发烧友/* attach spi device */static int rt_spi_device_init(void){    struct rt_spi_configuration cfg
    的头像 发表于 06-04 09:21 518次阅读
    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 1642次阅读
    【GD32F470紫藤派开发板使用手册】第十一讲 <b class='flag-5'>SPI-SPI</b> NOR FLASH读写实验

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

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

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

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

    一文详解SPI串行外设接口

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

    硬件spi和软件spi的区别

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

    SPI接口的相关介绍

    SPI和IIC接口一样是非常常见的开发板接口,但与IIC相比,SPI设计了一种二进制流的交互方式,拥有更快的传输速度,它可以在任何两个嵌入式设备之间交换消息,ELF1开发板也是通过SPI接口连接了六
    的头像 发表于 12-06 15:49 1240次阅读
    <b class='flag-5'>SPI</b>接口的相关介绍

    什么是SPISPI防火墙的优点

    SPI防火墙(Stateful Packet Inspection Firewall)是一种用于网络安全的防火墙技术。SPI防火墙是一种全状态数据包检测型防火墙,主要通过检查网络数据包的状态信息来
    的头像 发表于 11-29 09:42 811次阅读

    SPI通信协议原理是什么

    UART串口通信中的数据只能一位一位的传输,如果数据量比较大的时候,传输速率会受到很大影响,此时我们就可以考虑使用同步串行通信了,比如SPISPI通信原理 SPI,全称是Serial
    的头像 发表于 11-24 17:37 1014次阅读
    <b class='flag-5'>SPI</b>通信协议原理是什么

    SPI接口知识

    电子发烧友网站提供《SPI接口知识.pdf》资料免费下载
    发表于 11-23 10:12 0次下载
    <b class='flag-5'>SPI</b>接口知识