SCK:即时钟信号线,用于通讯同步。该信号由主机产生,其支持的最高通讯速率为fpclk/2,即所挂载总线速率的一半。如SPI2挂载在APB1总线上,则其最高速率为36MHz / 2 = 18MHz。类似木桶效应,两个设备之间通讯时,通讯速率受限于较低速的设备。

NSS:即片选信号线,用于选择通讯的从设备,也可用CS表示。每个从设备都有一条独立的NSS信号线,主机通过将某个设备的NSS线置低电平来选择与之通讯的从设备。所以SPI通讯以NSS线电平置低为起始信号,以NSS线电平被拉高为停止信号。

 概述:

在芯片的资料上,有两个非常特殊的寄存器配置位,分别是 CPOL (Clock POlarity)和 CPHA (Clock PHAse)。

CPOL配置SPI总线的极性
CPHA配置SPI总线的相位

极性和相位,这么专业的名词,非常难理解。我们不妨从时序图入手,了解极性和相位的效果。

SPI总线的极性

极性,会直接影响SPI总线空闲时的时钟信号是高电平还是低电平

CPOL = 1:表示空闲时是高电平
CPOL = 0:表示空闲时是低电平

由于数据传输往往是从跳变沿开始的,也就表示开始传输数据的时候,是下降沿还是上升沿。

如下图:

SPI总线的相位

一个时钟周期会有2个跳变沿。而相位,直接决定SPI总线从那个跳变沿开始采样数据。

CPHA = 0:表示从第一个跳变沿开始采样
CPHA = 1:表示从第二个跳变沿开始采样

不多说,直接上图:

至于跳变沿究竟是上升沿还是下降沿,这取决于 CPOL。记住, CPHA 只决定是哪个跳变沿采样。

4种模式

CPOL 和 CPHA 的不同组合,形成了SPI总线的不同模式。

mode CPOL CPHA
mode 0 0 0
mode 1 0 1
mode 2 1 0
mode 3 1 1

模式0 (CPOL=0; CPHA=0)

特性:

CPOL = 0:空闲时是低电平,第1个跳变沿是上升沿,第2个跳变沿是下降沿
CPHA = 0:数据在第1个跳变沿(上升沿)采样

效果图:

模式1 (CPOL=0; CPHA=1)

特性:

CPOL = 0:空闲时是低电平,第1个跳变沿是上升沿,第2个跳变沿是下降沿
CPHA = 1:数据在第2个跳变沿(下降沿)采样

效果图:

模式2 (CPOL=1; CPHA=0)

特性:

CPOL = 1:空闲时是高电平,第1个跳变沿是下降沿,第2个跳变沿是上升沿
CPHA = 0:数据在第1个跳变沿(下降沿)采样

效果图:

模式3 (CPOL=1; CPHA=1)

特性:

CPOL = 1:空闲时是高电平,第1个跳变沿是下降沿,第2个跳变沿是上升沿
CPHA = 1:数据在第2个跳变沿(上升沿)采样

效果图:

SPI协议的4种模式(转至广漠飘羽)相关推荐

  1. 基于STM32 + 超详细对新手全面解析讲解SPI协议(附源码)

    前言        本次我们学习一下STM32的一个基本外设 --- SPI,全程参考手册讲解,讲述SPI的工作模式和作用,让大家快速掌握和了解SPI通讯协议.本篇博客大部分是自己收集和整理,借鉴了很 ...

  2. STM32F429入门(二十一):SPI协议及SPI读写FLASH

    IIC主要用于通讯速率一般的场合,而SPI一般用于较高速的场合. 一.SPI协议简介 SPI 协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设 ...

  3. 低速接口之SPI接口,分类,四种模式,特点

    SPI是一个环形总线结构,由ss(cs).sck.sdi.sdo构成,其时序其实很简单,主要是在sck的控制下,两个双向移位寄存器进行数据交换. 上升沿发送.下降沿接收.高位先发送. 上升沿到来的时候 ...

  4. SPI总线传输的4种模式

    概述 在芯片的资料上,有两个非常特殊的寄存器配置位,分别是 CPOL (Clock POlarity)和 CPHA (Clock PHAse). CPOL配置SPI总线的极性 CPHA配置SPI总线的 ...

  5. FPGA实现的SPI协议(一)----SPI驱动

    写在前面 SPI协议系列文章: FPGA实现的SPI协议(一)----SPI驱动 FPGA实现的SPI协议(二)----基于SPI接口的FLASH芯片M25P16的使用 1.什么是SPI协议 SPI( ...

  6. SPI的模拟应用——OLED以及时钟模块的应用(一)SPI协议介绍及利用协议实现两机通信(51单片机)

    链接:https://pan.baidu.com/s/1g8jkENjO8v4eXq0bN0acEw?pwd=45c8  提取码:45c8 目录 一. 什么是SPI 1-1 SPI简介 1-2 SPI ...

  7. SPI协议主机verilog

    对SPI协议的理解 spi协议 verilog 最近刚做了一个项目,现在还没做完,但是我发现官方的ip写得很全面,但是很复杂,许多东西对于速度要求不是很高的就用不着,比如一个crc,crc本身计算并不 ...

  8. 18. SPI协议,spi转can,MCP2515裸机驱动详解

    更多信息请关注公众号:一口Linux 十八.SPI.MCP2515 一.SPI概述 Serial Peripheral interface 通用串行外围设备接口 是Motorola首先在其MC68HC ...

  9. SPI协议、MCP2515裸机驱动详解----主流SPI总线接口原理

    最近看到一个介绍SPI接口原理的帖子,看完觉得甚好.特来分析给大家一起学习. SPI概述 Serial Peripheral interface 通用串行外围设备接口 是Motorola首先在其MC6 ...

最新文章

  1. 2022-2028年中国喷涂速凝橡胶行业市场调研分析及未来前景分析报告
  2. mysql5.7版本中的命令_mysql (5.7版本)---的配置
  3. matlab rltool,基于Matlab工具箱Rltool的控制系统校正设计
  4. ios模拟器的路径-打开沙盒路径
  5. windows安装TortoiseGit
  6. Android访问瓦片地图 费流量,瓦片地图服务在线资源访问总结
  7. 西湖区政府门户网站项目签约西部动力We7网站群系统
  8. python爬取网易付费音乐包_爬取网易云音乐“三部曲”(三):轻松下载网易音乐歌曲!...
  9. 13、图灵机器人能力
  10. IP地址定位之IP画像——如何形成IP用户画像?
  11. echo命令的15个用法
  12. Sublime Text设置中文
  13. AR智能隐形眼镜市场前景动态及发展规划建议报告2022-2028年版
  14. 笃志前行 锐意进取 | 中创算力在区块链比赛中展现新风采
  15. 行政组织理论-阶段测评2
  16. MT6261处理器规格介绍,MT6261芯片技术资料集锦
  17. 树莓派u盘启动并扩容
  18. 简单对应分析案例《好评数据分析》
  19. 最是人间留不住,朱颜辞镜花辞树
  20. 如何使用ArcGIS裁剪栅格图

热门文章

  1. 无迹(损)卡尔曼滤波(UKF)理论讲解与实例
  2. (转)Eclipse导入EPF配置文件
  3. 小程序字体 text 多种属性样式
  4. 在线文本删除空行工具
  5. 在Ubuntu系统上在线下载/删除/查看软件包信息apt命令
  6. oracle中子查询的执行顺序是,Oracle sql语句执行顺序
  7. 2.25嵌入式课程学习总结
  8. Oracle错误一览表1
  9. 【网络工程师必备路由篇】——OSPF-Nssa区域(华为模拟器)
  10. Appium基础篇10-元素定位之by_accessibility_id