SPI中的CPOL和CPHA

SPI中的CPOL和CPHA学习SPI必须掌握的知识,因为它涉及到“数据位采集”。重点掌握空闲时SCK的电平是怎么定义的。采集时,是怎么规定发生在哪个时钟边沿。CPOL用来决定SPI总线在空闲时,SPI_SCK引脚输出的电平;CPHA用来决定“数据位采集点”发生在第几边沿。

什么叫“SPI总线在空闲”?
对于SPI主机来说,就是没有数据传输,即:不发送数据,也不接收数据,这种总线的状态叫空闲状态
SPI外设初始化完成后,SPI总线处于空闲状态,既不发送数据也不接收数据。
SPI_SCK引脚的输出电平是由CPOL位来决定。
CPOL=0,表示SPI总线在空闲时,SPI_SCK引脚输出低电平;
CPOL=1,表示SPI总线在空闲时,SPI_SCK引脚输出高电平;

什么是SPI时钟的第1边沿?
SPI总线从空闲状态进入传输数据时,出现的“第1个边沿”
“第1个边沿”是上升沿,还是下降沿,要看CPOL的值。
CPOL=0,SPI_SCK引脚在SPI总线空闲时输出的是低电平,那么“SPI时钟的第1边沿”就是上升沿。
CPOL=1,SPI_SCK引脚在SPI总线空闲时输出的是高电平,那么“SPI时钟的第1边沿”就是下降沿。

什么是SPI时钟的第2边沿?
SPI总线从空闲状态进入传输数据时,出现的“第2个边沿”
“第2个边沿”是上升沿,还是下降沿,要看CPOL的值。
CPOL=0,SPI_SCK引脚在SPI总线空闲时输出的是低电平,那么“SPI时钟的第2边沿”就是下降沿。
CPOL=1,SPI_SCK引脚在SPI总线空闲时输出的是高电平,那么“SPI时钟的第2边沿”就是上升沿。

为了保证SPI硬件协议得以实现,约定使用“CPHA位的值”来决定采集点
CPHA=0表示在“SPI时钟的第1边沿”处采集数据;
CPHA=1表示在“SPI时钟的第2边沿”处采集数据;

小结:

 

下面这张图,做过SPI通讯的,一般都见过,但是真正看懂的人不多。我和大家一样,人云亦云,看久了,就会明白了。

 

上面的图,是把两种情况合在一起,看起来很费劲。若拆开了,就好懂了。见下图:

 

 

 图中有文字,一看就知道了,不用再去看定义了。从上图可以看出,SPI总是先移出数据的最高位

以上是我个人的理解,若有错误之处,请给我留言。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/143404.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

质量与数量的博弈!大模型数据建设

质量与数量的博弈!大模型数据建设 前言大模型数据建设 前言 大数据和人工智能(DataAI)技术正以惊人的速度改变着我们的生活和工作方式。大模型数据建设作为人工智能领域的核心组成部分,其重要性日益凸显。 大模型数据建设涉及到海…

AI加持下的六大副业变现通道,总有一条适合你

经济下行,普通人应该尽早认清一个事实,没有一技之长,没有核心竞争力,即便是打工皇帝,年入百万也只是浮云。 一定要保证主业的稳定,再探索新的机会,要多从”1-10",而不是反复”…

python-字符排列问题

题目描述 有 n 个字母,列出由该字母组成的字符串的全排列(相同的排列只计一次)。输入格式 第一行输入是字母个数 n 。 接下来一行输入的是待排列的 n 个字母。输出格式 计算出的 n 个字母的所有不同排列总数。样例输入输出样例输入 4 aacc样例…

Java项目实战II基于Java+Spring Boot+MySQL的大学城水电管理系统(源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、论文参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 前随着高等…

12.Java基础概念-面向对象-static

欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 Facts speak louder than words! 一、static关键字的含义…

【JVM】垃圾回收机制|死亡对象的判断算法|垃圾回收算法

目录 1.找到谁是垃圾 1)引用计数(不是JVM采取的方式,而是Python/PHP的方案) 2)可达性分析(是JVM采用的方案) 2.释放对应的内存的策略 1)标记-清除(并不实用&#xf…

Kubeadm init报错[ERROR CRI]: container runtime is not running: output:解决方案

报错详细信息: error execution phase preflight: [preflight] Some fatal errors occurred: [ERROR CRI]: container runtime is not running: output: time"2024-09-17T17:25:3108:00" levelfatal msg"validate service connection: CRI v…

Docker 系列完结

经过这 3~5 天的学习,相信大家都对 Docker 有了一定的了解,希望同学们在学习的过程中一定要动手做一遍,融会贯通。 但技术学习,永无止境。下一步,我们可以开始学习 K8s 了。在介绍它之前,我们先介绍下微服…

【零基础速领】全套AI大模型入门指南(学习路线+PDF文档+面试)

已经有越来越多的人开始认识到学习AI的重要性了!可能是自主的认知,也可能是被身边的人卷的。总之,可能已经没有人不知道人工智能这个概念了,可能人人都已知道ChatGPT了,哪怕他没有用过。 ChatGPT发布后,很…

新书推荐 | Windows server 2022活动目录管理实践(微课版)

掌握 Windows Server 2022 活动目录核心技术:从新手到专家的实战指南 (书籍封面) 书籍介绍 本书专为社会各界专业人士量身打造,深入剖析了 Windows Server 2022 活动目录的核心技术精髓与业界最佳实践策略。它紧密围绕活动目录配…

DevExpress WinForms v24.1新版亮点:升级的HTML CSS支持

DevExpress WinForms拥有180组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜…

下载Kafka 3.0.0教程

1、Kafka 3.0.0下载地址 Apache Kafka 2、往下拉,查找3.0.0版本点击下载

一款开源的Windows系统优化工具Dism++

下载地址:Release Dism 10.1.1002.2 Chuyu-Team/Dism-Multi-language GitHub 下载解压到文件,现在基本都是64位的操作系统了,就直接打开Dismx64.exe即可使用。 部分功能截图一览: 给刚装的系统处理一些优化还是什么方便的&#…

Keysight 是德E4990A Agilent E4991A阻抗分析仪

Keysight 是德E4990A Agilent E4991A阻抗分析仪 主要特性与技术指标5 种频率选件;20 Hz 至 10/20/30/50/120 MHz,可升级0.08%(0.045% 典型值)基本阻抗测量精度25 m? 至 40 M? 宽阻抗测量范围(10% 测量精度范围&…

安泰功率放大器在超声行业中的应用有哪些

超声技术是一种在医疗、工业、科学等领域广泛应用的非侵入性、高分辨率的检测和成像技术。功率放大器在超声领域中扮演着至关重要的角色,它们不仅仅是信号的增强器,更是推动超声技术发展的关键组件。下面西安安泰电子官网将深入介绍功率放大器在超声行业…

Leading SAFe规模化大规模敏捷认证

在当今瞬息万变的商业环境中,Scrum敏捷已经成为企业转型、提升竞争力的关键战略之一。然而,如何有效地将敏捷应用于大规模组织中,推动企业级的业务敏捷转型?这是许多领导者正在面临的挑战。Leading SAFe 规模化敏捷领导者业务敏捷…

【踩坑】Gradle依赖下载问题解决:stributions/gradle-8.10-bin.zip failed: timeout (10000ms)

在构建项目时,Gradle 默认会从 https://services.gradle.org/distributions/ 下载对应版本的 Gradle 包。由于网络问题,这个过程可能非常缓慢,甚至会出现下载失败的情况。为了解决这一问题,我将 gradle-wrapper.properties 文件中…

我的AI工具箱Tauri版-MoYin文本转语音

本教程基于自研的AI工具箱Tauri版进行MoYinTTS文本转语音服务。 进入软件后可以直接搜索 MoYinTTS 或者依次点击 Python音频技术/音频tools 进入该模块。 进入模块之后需要进行基础角色配置。 使用方法,依次选择文件路径输入和输出路径,然后点击保存配置…

直流斩波电路

目录 1. 降压斩波电路(Buck Converter) 2. 升压斩波电路(Boost Converter) 3. 升降压斩波电路(Buck-Boost Converter) 4. Cuk斩波电路(Cuk Converter) 直流斩波电路是一种将直流…

Linux上Qt安装相关的内容及在QtCreator使用QChart模块需要的配置

引言 下面是Ubuntu上Qt安装相关的内容及在QtCreator使用QChart模块需要的配置。 关于Qt安装及环境 Qt的模块 查看已经安装的模块 sudo apt search qt5-安装新的模块 sudo apt install qt5-svg # 安装Qt SVG模块3.查看qt已经安装了哪些模块 dpkg -l | grep libqt安装qt,…