一、SPI总线工作模式

SPI总线有四种工作模式,是由时钟极性选择(CPOL)和时钟相位选择(CPHA)决定的。

CPOL = 0 ,SPI总线空闲为低电平,CPOL = 1, SPI总线空闲为高电平。

CPHA = 0, 在SCK第一个跳变沿采样,CPHA = 1, 在SCK第二个跳变沿采样。

工作模式1:CPHA = 0 CPOL = 0

当CPHA=0、CPOL=0时SPI 总线工作在方式1。MISO 引脚上的数据在第一个SPSCK 沿跳变之前已经上线

了,而为了保证正确传输,MOSI 引脚的MSB 位必须与SPSCK 的第一个边沿同步,在SPI 传输过程中,首

先将数据上线,然后在同步时钟信号的上升沿时,SPI 的接收方捕捉位信号,在时钟信号的一个周期结束

时(下降沿),下一位数据信号上线,再重复上述过程,直到一个字节的8位信号传输结束。

工作模式2:CPHA = 0 CPOL = 1

当CPHA=0、CPOL=1时SPI 总线工作在方式2。与前者唯一不同之处只是在同步时钟信号的下降沿时捕捉

位信号,上升沿时下一位数据上线。

工作模式3:CPHA = 1 CPOL = 0

当CPHA=1、CPOL=0时SPI 总线工作在方式3。MISO 引脚和MOSI 引脚上的数据的MSB 位必须与SPSCK

的第一个边沿同步,在SPI 传输过程中,在同步时钟信号周期开始时(上升沿)数据上线,然后在同步时钟

信号的下降沿时,SPI 的接收方捕捉位信号,在时钟信号的一个周期结束时(上升沿),下一位数据信号上线,

再重复上述过程,直到一个字节的8位信号传输结束。

工作模式4:CPHA = 1 CPOL = 1

当CPHA=1、CPOL=1时SPI 总线工作在方式4。与前者唯一不同之处只是在同步时钟信号的上升沿时捕捉

位信号,下降沿时下一位数据上线。

二、参考文档

https://blog.csdn.net/o0o0o0D/article/details/52904574
https://blog.csdn.net/qq_29344757/article/details/76855350

SPI总线工作模式的更多相关文章

  1. SPI的工作模式口诀[转]

    口诀:03升,12降,低取小,高取大 ! 解释: 1. 03升,12降: 0.3模式为上升沿采样,1.2模式为下降沿采样. 2. 低取小,高取大:SCK初始电平为低则模式取小值,SCK初始电平为高则模 ...

  2. SPI总线的特点、工作方式及常见错误解答

    1.SPI总线简介 SPI(serial peripheral interface,串行外围设备接口)总线技术是Motorola公司推出的一种同步串行接口.它用于CPU与各种外围器件进行全双工.同步串 ...

  3. SPI总线(同步)

    一.SPI总线简介 串行外围设备接口SPI(serial peripheral interface)总线技术是Motorola公司推出的一种同步串行接口.SPI 用 于CPU与各种外围器件进行全双工. ...

  4. SPI总线通信电路设计

    数据带宽=(总线频率×数据位宽)÷8 B表示带宽,F表示存储器时钟频率,D表示存储器数据总线位数,则带宽为: B(峰值带宽)=F(时钟频率MHz)×D(总线位数bit)/8 例如,PC-100的SDR ...

  5. linux内核SPI总线驱动分析(一)(转)

    linux内核SPI总线驱动分析(一)(转) 下面有两个大的模块: 一个是SPI总线驱动的分析            (研究了具体实现的过程) 另一个是SPI总线驱动的编写(不用研究具体的实现过程) ...

  6. Linux内核中SPI总线驱动分析

    本文主要有两个大的模块:一个是SPI总线驱动的分析 (研究了具体实现的过程): 另一个是SPI总线驱动的编写(不用研究具体的实现过程). 1 SPI概述 SPI是英语Serial Peripheral ...

  7. SPI总线小结

    串行外设接口(Serial Peripheral Interface,SPI)的缩写.是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线.Motorola首先在其MC68HCXX系列 ...

  8. SPI总线的4种工作模式

    spi总线的4种工作模式 0 to 4 modes SPI接口的全称是"Serial Peripheral Interface",意为串行外围接口,是Motorola首先在其MC6 ...

  9. eMMC之分区管理、总线协议和工作模式【转】

    本文转载自:https://blog.csdn.net/u013686019/article/details/66472291 一.eMMC 简介 eMMC 是 embedded MultiMedia ...

随机推荐

  1. Linux/UNIX线程(1)

    线程(1) 本文将介绍怎样使用多个控制线程在单个进程环境中运行多个任务. 一个进程中的全部线程都能够訪问该进程的组成部件(如文件描写叙述符和内存). 线程包含了表示进程内运行环境必须的信息,当中包含进 ...

  2. Android 经常使用工作命令mmm,mm,m,croot,cgrep,jgrep,resgrep,godir

    官方定义: Invoke ". build/envsetup.sh" from your shell to add the following functions to your ...

  3. nfs共享文件服务搭建

    网络文件共享服务器192.10.19.132yum install -y nfs-utils 在exports文件中添加的从机范围vim /etc/exports/home/nfs/ 192.10.1 ...

  4. WebBrowser获取页面总高度

    case DISPID_DOCUMENTCOMPLETE: { #pragma region 获取页面总高度 HRESULT hr; IDispatch *pdisp; hr = m_pWebBrow ...

  5. 19.允许重复的unordered_map

    #include <string> #include <iostream> //查询性能最高 //允许重复的,hash_map #include <unordered_m ...

  6. Python 从入门到精通 全程最佳实现梳理

    零零星星的时间,持续完善中...... 1.一些基础的必要信息归纳 Python 官网 www.python.org 发明者 吉多·范罗苏姆 发行时间 1991年,​26年前 编程泛型 多泛型.面向对 ...

  7. 洛谷P2408 不同子串个数 后缀数组 + Height数组

    ## 题目描述: 给你一个长为 $N$ $(N<=10^5)$ 的字符串,求不同的子串的个数我们定义两个子串不同,当且仅当有这两个子串长度不一样 或者长度一样且有任意一位不一样.子串的定义:原字 ...

  8. NodeJS学习笔记 进阶 (2)Nodejs进阶:MD5加密算法(ok)

    个人总结:这篇文章讲解了Nodejs中自带模块的MD5加密算法的使用,读完这篇文章需要15分钟,其实还有一个叫utility的包在npm上,也非常好用. 摘选自网络 简介 MD5(Message-Di ...

  9. ES6学习笔记(十二)异步解决方案Promise

    1.Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大.它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了P ...

  10. 洛谷3857 [TJOI2008]彩灯

    题目描述 已知一组彩灯是由一排N个独立的灯泡构成的,并且有M个开关控制它们.从数学的角度看,这一排彩灯的任何一个彩灯只有亮与不亮两个状态,所以共有2N个样式.由于技术上的问题,Peter设计的每个开关 ...