美文网首页
SPI通信协议

SPI通信协议

作者: YuQiao0303 | 来源:发表于2019-01-19 16:38 被阅读0次

    转载整理自:https://www.cnblogs.com/deng-tao/p/6004280.html

    概述

    • SPI ,Serial Peripheral interface,串行外围设备接口
    • 全双工,同步的通信总线,四根线
    • 主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。

    4条线

    MISO 主设备数据输入,从设备数据输出。
    MOSI 主设备数据输出,从设备数据输入。
    SCLK时钟信号,由主设备产生。
    CS从设备片选信号,由主设备控制。当有多个从设备的时候,因为每个从设 备上都有一个片选引脚接入到主设备机中,当我们的主设备和某个从设备通信时将需 要将从设备对应的片选引脚电平拉低或者是拉高。

    多个从设备

    模式

    • 我们SPI通信有4种不同的模式
    • 不同的从设备可能在出厂是就是配置为某种模式,这是不能改变的;
    • 但我们的通信双方必须是工作在同一模式下
    • 所以我们可以对我们的主设备的SPI模式进行配置
    • 通过CPOL(时钟极性)和CPHA(时钟相位)来 控制我们主设备的通信模式,具体如下:

    Mode0:CPOL=0,CPHA=0
    Mode1:CPOL=0,CPHA=1
    Mode2:CPOL=1,CPHA=0
    Mode3:CPOL=1,CPHA=1

    时钟极性CPOL(Clock Polarity)

    时钟极性CPOL→配置SCLK的电平出于哪种状态时是空闲态或者有效态

    CPOL=0,表示当SCLK=0时处于空闲态,所以有效状态就是SCLK处于高电平时
    CPOL=1,表示当SCLK=1时处于空闲态,所以有效状态就是SCLK处于低电平时

    时钟相位CPHA (Clock Phase)

    时钟相位CPHA 是用来配置数据采样是在第几个边沿:

    CPHA=0,表示数据采样是在第1个边沿,数据发送在第2个边沿
    CPHA=1,表示数据采样是在第2个边沿,数据发送在第1个边沿

    例如:
    CPOL=0,CPHA=0:此时空闲态时,SCLK处于低电平,数据采样是在第1个边沿,也就是
    SCLK由低电平到高电平的跳变,所以数据采样是在上升沿,数据发送是在下降沿。

    CPOL=0,CPHA=1:此时空闲态时,SCLK处于低电平,数据发送是在第1个边沿,也就是
    SCLK由低电平到高电平的跳变,所以数据采样是在下降沿,数据发送是在上升沿。

    ……


    相关文章

      网友评论

          本文标题:SPI通信协议

          本文链接:https://www.haomeiwen.com/subject/uvdzdqtx.html