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

    串行外设接口(SPI) Serial Peripheral Interface

    概念

    是微控制器与外围IC之间的最广泛使用的接口之一,这些外围IC如传感器,ADC,DAC,移位寄存器,SRAM等。

    特点

    SPI是一个同步的,基于全双工主从的接口。来自主机或从机的数据在时钟的上升沿或下降沿同步。主机和从机都可以同时传输数据。SPI接口可以是3线或4线。
    本篇笔记介绍流行的4线SPI接口。

    接口

    • 4线SPI器件具有四个信号:

      • 时钟(SPI CLK,SCLK)            -> 提供时钟脉冲
      • 片选(CS)                                  -> 预先规定使能信号时芯片信号才有效
      • 主机输出,从机输入(MOSI)
      • 从机输出,主机输出(MISO)

    产生时钟信号的设备称为主机。主机和从机之间传输的数据与主机产生的时钟同步。与I 2 C接口相比,SPI器件支持更高的时钟频率用户应查阅产品数据表以获取SPI接口的时钟频率规范。

    SPI接口只能有一个主机,也可以有一个或多个从机。如下图通过片选CS使能来选择控制多个从机。

    来自主机的芯片选择信号用于选择从机。这通常是低电平有效信号,并被拉高以使从机与SPI总线断开连接。当使用多个从机时,需要从主机为每个从机提供单独的芯片选择信号。

    MOSI和MISO是数据线。MOSI将数据从主设备传输到从设备,而MISO将数据从从设备传输到主机。

    数据传输

    要开始SPI通信,主机必须发送时钟信号并通过使能CS信号来选择从机。通常,片选是低电平有效信号。

    SPI是一个全双工接口。主机和从机都可以分别通过MOSI和MISO线路同时发送数据。

    SPI以一个个bit数据来传输的。对主机来说,上升沿为写一位,下降沿为读一位(模式0/3)。

    SPI的四种模式

    SPI Mode CPOL CPHA
    Mode 0 0 0
    Mode 1 0 1
    Mode 2 1 0
    Mode 3 1 1

     总的来说:

    • CPOL表示时钟的初始状态。
      • CPOL=0,初始状态为低电平;CPOL=1,SCK为高电平。
    • CPHA表示相位,表示什么时候采样数据。
      • CPHA=0,第一个时钟沿采样数据,CPHA=1,第二个时钟沿采样数据。

    一般常用模式0和3,即时钟上升沿采集数据;具体情况根据芯片手册(外接设备)而定。

    用途

    SPI协议主要用于短距离(<1M)的通信系统中,特别是嵌入式系统,比如以下芯片:
    • 存储器:RAM,EEPROM,Flash等
    • 数模转换:A/D,D/A转换器等
    • 驱动接口:LED显示驱动器、I/O接口芯片、UART收发器等

     参考文章:

    https://www.analog.com/en/analog-dialogue/articles/introduction-to-spi-interface.html#

  • 相关阅读:
    Jquery 跨域访问 Lightswitch OData Service
    BizTalk 2010/2013 EDI B2B项目实践(1)
    Moon转告给你一个比Log4net更好日志框架--TracerX Logger 及其对应的日志查看器
    转告大家关于依赖注入
    明月语言专家简介
    几个常见翻译引擎的不完全对比
    说说我在项目中为什么不用实体框架,如果说我在诋毁你所爱的EF,请进来.
    大话ASP.NET(第二篇,Angular结构篇--翻译)
    大话ASP.NET开发(第一章 html5+css3+解耦问题的探讨)
    Moon.Orm性能报告
  • 原文地址:https://www.cnblogs.com/kumata/p/12133891.html
Copyright © 2011-2022 走看看