首页 > 其他分享 >SPI协议

SPI协议

时间:2023-01-05 11:12:09浏览次数:35  
标签:信号线 协议 SCK SPI 边沿 CS 时钟

参考:征途pro《野火 FPGA》

 

1 SPI

(Serial Peripheral Interface,串行外围设备接口)通讯协议,是 Motorola 公司提出的一种同步串行接口技术,是一种高速、全双工、同步通信总线,在芯片中只占用四根管脚用来控制及数据传输,广泛用于 EEPROM、Flash、RTC(实时时钟)、ADC(数模转换器)、DSP(数字信号处理器)以及数字信号解码器上,是常用的也是较为重要的通讯协议之一。
SPI 通讯协议的优点是支持全双工通信,通讯方式较为简单,且相对数据传输速率较快;缺点是没有指定的流控制,没有应答机制确认数据是否接收。

2 SPI 物理层 

一主一从:

一主多从:

 

  • SCK (Serial Clock):

时钟信号线,用于同步通讯数据。由通讯主机产生,决定了通讯的速率,不同的设备支持的最高时钟频率不同,两个设备之间通讯时,通讯速率受限于低速设备。

  • MOSI (Master Output, Slave Input):

主设备输出/从设备输入引脚。主机的数据从这条信号线输出,从机由这条信号线读入主机发送的数据,数据方向由主机到从机。

  • MISO (Master Input,Slave Output):

主设备输入/从设备输出引脚。主机从这条信号线读入数据,从机的数据由这条信号线输出到主机,数据方向由从机到主机。

  • CS(Chip Select):

片选信号线,也称为 CS_N,以下用 CS_N 表示。当有多个 SPI 从设备与 SPI 主机相连时,设备的其它信号线 SCK、MOSI 及 MISO 同时并联到相同的 SPI总线上,即无论有多少个从设备,都共同使用这 3 条总线;而每个从设备都有独立的这一条 CS_N 信号线,本信号线独占主机的一个引脚,即有多少个从设备,就有多少条片选信号线。I2C 协议中通过设备地址来寻址、选中总线上的某个设备并与其进行通讯;而 SPI协议使用 CS_N 信号线来寻址,当主机要选择从设备时,把该从设备的 CS_N 信号线设置为低电平,该从设备即被选中,即片选有效,接着主机开始与被选中的从设备进行 SPI 通讯。

SPI 通讯以 CS_N 线置低电平为开始信号,以 CS_N 线被拉高作为结束信号。

3 SPI 协议层

SPI 通讯协议一共有四种通讯模式,这 4 种模式分别由时钟极性(CPOL,Clock Polarity)和时钟相位(CPHA,Clock Phase)来定义

CPOL :参数规定了空闲状态(CS_N 为高电平,设备未被选中)时 SCK 时钟信号的电平状态,


CPHA :规定了数据采样是在 SCK 时钟的奇数边沿还是偶数边沿。 

模式 0:CPOL= 0,CPHA=0。空闲状态时 SCK 串行时钟为低电平;数据采样在 SCK时钟的奇数边沿,本模式中,奇数边沿为上升沿;数据更新在 SCK 时钟的偶数边沿,本模式中,偶数边沿为下降沿。

模式 1:CPOL= 0,CPHA=1。空闲状态时 SCK 串行时钟为低电平;数据采样在 SCK时钟的偶数边沿,本模式中,偶数边沿为下降沿;数据更新在 SCK 时钟的奇数边沿,本模式中,偶数边沿为上升沿。

模式 2:CPOL= 1,CPHA=0。空闲状态时 SCK 串行时钟为高电平;数据采样在 SCK时钟的奇数边沿,本模式中,奇数边沿为下降沿;数据更新在 SCK 时钟的偶数边沿,本模式中,偶数边沿为上升沿。

模式 3:CPOL= 1,CPHA=1。空闲状态时 SCK 串行时钟为高电平;数据采样在 SCK时钟的偶数边沿,本模式中,偶数边沿为上升沿;数据更新在 SCK 时钟的奇数边沿,本模式中,偶数边沿为下降沿。

4 SPI时序图举例

此图表示的是主机视角的通讯时序。SCK、MOSI、CS_N 信号均由主机控制产生,SCK 是时钟信号,用以同步数据,MOSI 是主机输出从机输入信号,主机通过此信号线传输数据给从机,CS_N 为片选信号,用以选定从机设备,低电平有效;而 MISO 的信号由从机产生,主机通过该信号线读取从机的数据。MOSI 与 MISO 的信号只在 CS_N 为低电平的时候才有效,在 SCK 的每个时钟周期 MOSI 和 MISO 传输一位数据。

标签:信号线,协议,SCK,SPI,边沿,CS,时钟
From: https://www.cnblogs.com/powerforme/p/17026898.html

相关文章

  • PythonSpider
    ......
  • 无线802.1x协议抓包
    工具准备sudoaptinstallmoreutilssudoaptinstalltcpdump正式工作开始抓包sudotcpdump-ieno1-w~/Desktop/capture.cap开始ping域管网关和路由网关(ts命令可以记录......
  • 轻松理解CORS协议规范
    1什么是CORS?CORS是Cross-OriginResourceSharing的缩写,意思是跨域资源共享。本质上,CORS是HTTP协议对浏览器中不同网站间AJAX请求的规范和限制。Web世界里有无数个网站......
  • FreeSWITCH学习笔记7(7-7.3.1) - SIP协议
    目录:   7.1、SIP协议基础 7.1.1、HTTP与SIP协议基础   7.1.2、SIP的基础概念和相关元素       7.1.3、SIP协议的基本方法和头域简介 ......
  • FreeSWITCH学习笔记7(7.3.2-结束) - SIP协议
    目录: 7.3.2、通过B2BUA呼叫 具体流程描述见7.3.2。  7.4、深入理解SIP7.4.1、SIPURI 7.4.2、SDP和SOASDP——(SessionDescriptionProtocol,会话描述......
  • AXI5原子操作一协议翻译
    AXI原子操作协议原文单拷贝原子大小AXI4协议引入单拷贝原子概念。这个术语定义了事务原子操作更新的最小字节数。AXI4协议要求一个大于单拷贝原子大小的事务,必须更新至......
  • Spire.Cloud 在线编辑器可以使用啦!!
    简介​​Spire.Cloud​​在线编辑器是一款基于网页的Office文件编辑工具,支持在网页中打开、编辑、打印Word、Excel、PPT文件,支持将文档保存到私有云盘。支持IE、Chrome......
  • Spire.Doc API 可以在CSDN下载啦!
    近期,我们会将E-iceblue公司发布的系列产品帮助文档API陆续提交到CSDN.今天我们提交的是Spire.DocAPI.先来看看Spire.Doc产品的API样式图:Spire.DocAPI详细罗列了Spire.......
  • 基于GA优化的OSPF协议网络路由matlab仿真
    up目录一、理论基础二、核心程序三、测试结果一、理论基础首先,传统的遗传优化算法,其标准的优化过程如下所示:步骤一:根据所需要处理的问题特点,选择问题解对应的......
  • 工控协议网关漏洞挖掘与攻击
    ​本文系原创转载请说明出处:信安科研人pleasesubscribemyofficialwechat:信安科研人获取更多安全资讯 原文:IndustrialProtocolGatewaysUnderAnalysis〇摘......