4_怎么看原理图之协议类接口之SPI笔记

news2024/11/19 17:38:19

        SPI(Serial Peripheral Interface)是一种同步串行通信协议,通常用于在芯片之间传输数据。SPI协议使用四根线进行通信:主设备发送数据(MOSI),从设备发送数据(MISO),时钟信号(SCLK)和片选信号NSS(CS)。

(1)NSS:从设备选择信号线,常称为片选信号线,当有多个SPI从设备与SPI主机相连时,设备的其他信号线SCK、MOIS及MISO同时并联到相同的SPI总线上,即无论有多少个从设备,都共同使用这3条总线,而每个从设备都有独立的一条NSS信号线,本信号线独占主机的一个引脚,即有多少个从设备,就有多少条片选线。SPI协议使用NSS信号线来寻址,当主机要选择从设备时,把该从设备的NSS信号线设置为低电平,该从设备即被选中,即片选有效,主机便开始与被选中的从机通信。所以SPI通信以NSS线置低电平为开始信号,以NSS线被拉高作为结束信号。

(2)SCK:时钟信号线,用于通信数据同步。它由通信主机产生,决定了通信速率,两个设备之间通信时,通信速率受限于低速设备。

(3)MOSI:主设备发送,从设备接收。

(4)MISO:主设备接收,从设备发送。

读操作:

写操作:

协议层:
1.SPI基本通信过程

NSS、SCK、MOSI信号都由主机控制产生,而MISO的信号由从机产生,主机通过该信号线读取从机的数据。MOSI与MISO的信号只在NSS为低电平的时候才有效,在SCK的每个时钟周期,MOSI和MISO传输一位数据。

2.通信的起始和停止信号

NSS由高变低,是SPI通信的起始信号。NSS由低变高,是SPI通信的停止信号,表示本次通信结束。

3.数据有效性

SPI使用MOSI及MISO信号线来传输数据,使用SCK信号线进行数据同步。MOSI及MISO数据线在SCK的每个时钟周期传输一位数据,且数据输入输出是同时进行的。数据传输时,MSB先行或LSB先行并没有作硬件规定,但要保证两个SPI通信设备之间使用同样的协定,一般都会采用MSB先行模式。SPI每次数据传输可以为8位或者16位为单位,每次传输的单位数不受限制。

4.CPOL时钟极性和CPHA时钟相位

时钟极性CPOL是指SPI通信设备处于空闲状态时,SCK信号线的电平信号。CPOL为1时,空闲时SCK为高电平;为0时,空闲时SCK为低电平。

时钟相位CPHA是指数据的采样时刻。当CPHA=0时,MOSIO或者MISO数据线上的信号将会在SCK时钟线的“奇数边沿”被采样,当CPHA=1时,数据在SCK的“偶数边沿”被采样。

所以,SPI共四种通信模式,可自行分析下面两图。主机与从机需要工作在相同的模式下才可以正常通信。

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

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

相关文章

苹果ios群控软件开发常用源代码分享!

在移动软件开发领域,苹果设备由于其封闭性和安全性受到了广大开发者的青睐,然而,这也为开发者带来了一些挑战,特别是在进行群控软件开发时。 群控软件是指可以同时控制多台设备的软件,这在自动化测试、批量操作等场景…

01 MySQL之连接

1. 连接 1.0 基础认知 多表(主表)和一表(从表的区别): 多表一般是主表,一般存储主要数据,每个字段都可能存在重复值,没有主键,无法根据某个字段定位到准确的记录; 一表一般是从表,一般存储辅助数据&…

『Java安全』编译jdk

文章目录 一、源码下载二、环境依赖配置[^1]三、依赖检查及构建编译配置四、编译jdk五、编译完成完 一、源码下载 以OpenJDK为例: jdk<10访问OpenJDK Mercurial Repositories jdk≥10访问子目录jdk/jdk12: log (openjdk.org) 二、环境依赖配置1 i7-…

神经网络结构搜索(NAS)

华为诺亚AI系统工程实验室主任刘文志解读如何使用AutoML预测基站流量 - 知乎讲师介绍:刘文志(花名风辰),华为诺亚AI系统工程实验室主任,异构并行计算专家,毕业于中国科学院研究生院,闻名于并行计…

鸿蒙应用程序包安装和卸载流程

开发者 开发者可以通过调试命令进行应用的安装和卸载,可参考多HAP的调试流程。 图1 应用程序包安装和卸载流程(开发者) 多HAP的开发调试与发布部署流程 多HAP的开发调试与发布部署流程如下图所示。 图1 多HAP的开发调试与发布部署流程 …

全网最详细的接口自动化测试框架实战(Pytest+Allure+Excel)

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 1. Allure 简介 Allure 框架是一个灵活的、轻量级的、支持多语…

Flink动态分区裁剪

1 原理 1.1 静态分区裁剪与动态分区裁剪 静态分区裁剪的原理跟谓词下推是一致的,只是适用的是分区表,通过将where条件中的分区条件下推到数据源达到减少分区扫描的目的   动态分区裁剪应用于Join场景,这种场景下,分区条件在joi…

【服务发现--ingress】

1、ingress介绍 Ingress 提供从集群外部到集群内服务的 HTTP 和 HTTPS 路由。 流量路由由 Ingress 资源所定义的规则来控制。 Ingress 是对集群中服务的外部访问进行管理的 API 对象,典型的访问方式是 HTTP。 Ingress 可以提供负载均衡、SSL 终结和基于名称的虚拟…

Nginx网络服务六-----IP透传、调度算法和负载均衡

1.实现反向代理客户端 IP 透传 就是在日志里面加上一个变量 Module ngx_http_proxy_module [rootcentos8 ~]# cat /apps/nginx/conf/conf.d/pc.conf server { listen 80; server_name www.kgc.org; location / { index index.html index.php; root /data/nginx/html/p…

德人合科技 | 天锐绿盾终端安全管理系统

德人合科技提到的“天锐绿盾终端安全管理系统”是一款专业的信息安全防泄密软件。这款软件基于核心驱动层,为企业提供信息化防泄密一体化方案。 www.drhchina.com 其主要特点包括: 数据防泄密管理:天锐绿盾终端安全管理系统能够确保数据在创…

element el-date-picker 日期组件置灰指定日期范围、禁止日期范围日期选择

JS如何将当前日期或指定日期转时间戳_javascript技巧_脚本之家 小于指定日期前的日期置灰 比如这里 指定日期是 2024-02-20 10:48:15 disabledDate(time) time是一个函数提供的时间用于比较 他是一个时间戳↓ 理解为我们想要置灰的时间 time.getTime() < timeStamps- 1 *…

通过一个栗子来看看创建和运行servlet

通过前面一篇文章的介绍&#xff08;搞着搞着对web project是不是有点迷糊&#xff1f;先关注几个问题-CSDN博客&#xff09;大家对于servlet作为中间层接收请求和反馈响应有了概念上的认知&#xff0c;接下来通过一个栗子来加深一下理解&#xff0c;还是基于前面的jsp项目&…

VBA技术资料MF123:程序运行过程中手动切换工作表

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

线程池(ThreadPoolExecutor,as_completed)和scrapy框架初步构建——学习笔记

用法1&#xff1a;map函数 with ThreadPoolExecutor() as pool: results pool.map(craw,utls)for result in results:print(result) 1.Scrapy框架&#xff1a; 五大结构&#xff1a;引擎&#xff0c;下载器&#xff0c;爬虫&#xff0c;调度器&#xff0c;管道&#x…

Opencv实战(3)详解霍夫变换

霍夫变换 Opencv实战系列指路前文&#xff1a; Opencv(1)读取与图像操作 Opencv(2)绘图与图像操作 文章目录 霍夫变换1.霍夫线变换1.1 原理1.2 HoughLines() 2.霍夫圆变换2.1 原理2.2 HoughCircles() 最基本的霍夫变换是从黑白图像中检测直线(线段) 霍夫变换(Hough Transform…

数据界的达克摩斯之剑----深入浅出带你理解网络爬虫(Second)

接上文数据界的达克摩斯之剑----深入浅出带你理解网络爬虫(First)-CSDN博客 一.爬取目标 抓取目标的描述和定义是决定网页分析算法与URL搜索策略如何制订的基础。而网页分析算法和候选URL排序算法是决定搜索引擎所提供的服务形式和爬虫网页抓取行为的关键所在。这两个部分的算…

【零基础入门TypeScript】类 - class

目录 创建类 句法 示例&#xff1a;声明一个类 创建实例对象 句法 示例&#xff1a;实例化一个类 访问属性和函数 示例&#xff1a;将它们放在一起 类继承 句法 示例&#xff1a;类继承 例子 输出 TypeScript ─ 类继承和方法重写 静态关键字 例子 实例操作符…

永磁同步电机MTPA与弱磁控制

文章目录 1、前言2、最大转矩电流比&#xff08;MTPA&#xff09;控制数学推导2.1 拉格朗日乘数法2.2 定义法偏导求解 3、MTPA模型仿真搭建和分析3.1 电机参数与设置3.1.1 模型参数设置3.1.2 参数计算脚本3.1.3 模型参数设置示意图 3.2 模型总览3.3 核心模块-MTPA模块3.4 仿真分…

IntelliJ IDEA下Spring Boot多环境配置教程

&#x1f31f;&#x1f30c; 欢迎来到知识与创意的殿堂 — 远见阁小民的世界&#xff01;&#x1f680; &#x1f31f;&#x1f9ed; 在这里&#xff0c;我们一起探索技术的奥秘&#xff0c;一起在知识的海洋中遨游。 &#x1f31f;&#x1f9ed; 在这里&#xff0c;每个错误都…

【蓝桥杯】包子凑数(DP)

一.题目描述 二.输入描述 三.输出描述 四.问题分析 几个两两互质的数&#xff0c;最大公约数是1&#xff0c;最小公倍数是他们的乘积。 两个互质的数a和b最小不能表示的数就是&#xff08;a-1&#xff09;&#xff08;b-1&#xff09;-1&#xff0c;即&#xff0c;两个互质的数…