zoukankan      html  css  js  c++  java
  • STM32之SPI通信

    SPI总线简介

    >SPI总线介绍 

        SPI接口是Motorola首先提出的全双工三线同步串行外围接口,采用主从模式(Master Slave)架构;支持多slave模式应用,一般仅支持单Master. 时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后(MSB first); SPI接口有2根单向数据线,为全双工通信,目前应用中的 数据速率可达几Mbps的水平。

        SPI总线被广泛地使用在FLASH,  ADC,  LCD等设备与MCU间,要求通讯速率较高的场合。

      

    SPI总线物理—拓扑结构

      >SPI接口共有4根信号线,分别是:设备选择线,时钟线,串行输出数据线,串行输入数据线。

      1.MOSI : 主器件数据输出,从器件数据输入

      2.MISO :主器件数据输入,从 器件数据输出

      3.SCLK :时钟信号 ,由主器件产生

      4./SS   :从器件使能信号,由主器件控制(片选)

    SPI总线协议

    >起始信号 :NSS信号线由高变低,是SPI通讯的起始信号

    >结束信号 :NSS信号 由 低变高,是SPI通讯的停止信号

    >数据传输 :SPI使用MOSI及MISO信号线来传输数据,使用SCK信号线进行数据同步。 MOSI及MISO数据线在SCK的每个时钟周期传输一位数据,且数据输入输出

          是同时     SPI每次数据传输可以8位或16位单位,每次传输的单位数不受限制。

    SPI的四种通信模式

      在SPI操作中,最重要的两项设置就是时钟极性(CPOL)和 时钟相位 (CPHA)这两项即是主从设备数据采样的约定方式。

      >时钟极性CPOL :设置时钟空闲时 的电平。

        当CPOL = 0,SCK引脚在空闲状态保持低电平;

        当CPOL = 1,SCK引脚在空闲状态保持高电平。

      >时钟相位CPHA :设置数据采样时的时钟沿

        当CPHA = 0时,MOSI或MISO数据线上的信号将会在SCK时钟线的奇数边沿被采样

        当CPHA = 1时,MOSI或MISO数据线上的信号将会在SCK时钟线的偶数边沿被采样

    >通信模式的设置:

        由CPOL及CPHA的不同状态,SPI分成了四种模式,主机与从机需要工作在相同模式下才可以正常通讯,因此主机要按照从机支持的模式去设置。

  • 相关阅读:
    Django + uWSGI + Nginx 实现生产环境部署
    面试题(一)
    Python基础之路
    Tornado之实例和扩展
    Scrapy源码研究前戏
    算法之基本概念
    RedHat6.2系统安装ipvsadm+keepalived
    oracle11G 同时支持IPV4和IPV6配置
    redhat6.5 安装oracle11G
    python解析字体反爬
  • 原文地址:https://www.cnblogs.com/ghwxxg/p/14364493.html
Copyright © 2011-2022 走看看