zoukankan      html  css  js  c++  java
  • SPI协议

    1. 概述

    SPI(Serial Peripheral Interface),串行外设接口。
    (1)工作特点:

      1)同步串行;
      2)支持全双工;
      3)主/从模式(支持一主多从);
      4)没有应答机制,可靠性存在一定的缺陷;
      5)传输速率没有定义限制。

    (2)应用场景:

    SPI适用于近距离、低速器件间的通信;主要应用于数据流设备,譬如EEPROM、Flash、数字信号处理器(DSP) 等。

    (3)标准硬件接口:

      1)SCLK:时钟信号线,时钟信号由主设备产生;

      2)SDO/MOSI :数据信号线, 主设备数据输出口 / 从设备数据输入口;

      3)SDI/MOSO :数据信号线, 主设备数据输入口 / 从设备数据输出口;

      4)CS:片选信号。

    (4)Normal SPI、Dual SPI 、 Qual SPI

      1)Normal SPI,即标准的SPI协议,其硬件接口如(3)。

      2)Dual SPI ,将SDI变成SDO,即可实现在一个时钟周期内传输2个Bit的数据。其硬件接口为:SCLK、SDO0、SDO1、CS;

      3)Qual SPI ,在Dual SPI的基础上增加两根SDO信号线,即可实现在一个时钟周期内传输4个Bit的数据。其硬件接口为:SCLK、SDO0、SDO1、SDO2、SDO3、CS。

    PS:Dual SPI、Qual SPI 主要应用于Flash的读写。在这两种模式下,SPI工作在半双工模式下,以提高数据传输效率。

    2. 工作机制

     

      SPI由以下模块组成:

    (1)SSPSR
    移位寄存器(Shift Register),根据通信时序从SSPBUF中移出或移入数据
    (2)SSPBUF
    数据缓冲区。通过读写SPI的发送和接收寄存器,可以间接控制SSPBUF,从而实现发送/接收数据。
    (3)Controller
    主设备的Controller通过时钟信号(CLK)和片选信号(CS)控制从设备。

    3. 通信时序

    SPI的通信时序有4种模式,主设备和从设备必须工作在同一模式下。
    通信时序的4种模式通过CPOL(时钟极性)、CPHA相位极性进行配置。

    CPOL=0 SCLK的空闲态为低电平,有效态为高电平
    CPOL=1 SCLK的空闲态为高电平,有效态为低电平
    CPHA=0 数据采样是在第1个边沿,数据发送在第2个边沿
    CPHA=1 数据采样是在第2个边沿,数据发送在第1个边沿


     通信时序的4种模式如下:

    (1)CPOL=0,CPHA=0:上升沿采样数据,下降沿发送数据
    (2)CPOL=0,CPHA=1:上升沿发送数据,下降沿采样数据
    (3)CPOL=1,CPHA=0:下升沿采样数据,上降沿发送数据
    (4)CPOL=1,CPHA=1:下升沿发送数据,上降沿采样数据

    4. 调试技巧

    (1)SPI协议的数据传输在低速率下较稳定,在低速率模式下调试成功后,再提高其通信速率;

    (2)不同的设备的SPI协议的时序特性存在差别,如通信速率、高电平保持时间等;调试时需根据从设备的特性调整SPI时序。

  • 相关阅读:
    webpack to package typescript & scss
    start use webpack
    use selenium+chromedriver to taobao automatically
    Use Hexo to Build My Gitee Blog
    Promise调用方式
    导航守卫用法
    VueCli路由配置
    webpack安装vue-loader
    webpack用npm进行局部安装
    JavaScript里的语句用分号结尾是个选项吗
  • 原文地址:https://www.cnblogs.com/linfeng-learning/p/11941117.html
Copyright © 2011-2022 走看看