首页 > 其他分享 >17_SPI通信

17_SPI通信

时间:2024-04-09 15:32:48浏览次数:20  
标签:SCK 17 高电平 SS 通信 低电平 SPI 边沿

SPI通信

SPI通信

SPI通信简介

  • SPI(Serial Peripheral Interface)是由Motorola公司开发的一种通用数据总线
  • 四根通信线:SCK(Serial Clock串行时钟)、MOSI(Master Output Slave Input主机输出,从机输入)、MISO(Master Input Slave Output主机输入,从机输出)、SS(Slave Select从机选择)
  • 同步,全双工
  • 支持总线挂载多设备(一主多从)

硬件电路

  • 所有SPI设备的SCK、MOSI、MISO分别连在一起
  • 主机另外引出多条SS控制线,分别接到各从机的SS引脚
  • 输出引脚配置为推挽输出,输入引脚配置为浮空或上拉输入

在这里插入图片描述

移位示意图

在这里插入图片描述

SPI时序基本单元

  • 起始条件:SS从高电平切换到低电平
  • 终止条件:SS从低电平切换到高电平

在这里插入图片描述

  • 交换一个字节(模式0)
  • CPOL=0:空闲状态时,SCK为低电平(Clock Polarity时钟极性)
  • CPHA=0:SCK第一个边沿移入数据,第二个边沿移出数据(Clock Phase时钟相位)

在这里插入图片描述

  • 交换一个字节(模式1)
  • CPOL=0:空闲状态时,SCK为低电平
  • CPHA=1:SCK第一个边沿移出数据,第二个边沿移入数据

在这里插入图片描述

  • 交换一个字节(模式2)
  • CPOL=1:空闲状态时,SCK为高电平
  • CPHA=0:SCK第一个边沿移入数据,第二个边沿移出数据

在这里插入图片描述

  • 交换一个字节(模式3)
  • CPOL=1:空闲状态时,SCK为高电平
  • CPHA=1:SCK第一个边沿移出数据,第二个边沿移入数据

在这里插入图片描述

SPI时序

  • 发送指令
  • 向SS指定的设备,发送指令(0x06)

在这里插入图片描述

  • 指定地址写
  • 向SS指定的设备,发送写指令(0x02) 随后在指定地址(Address[23:0])下,写入指定数据(Data)

在这里插入图片描述

  • 指定地址读
  • 向SS指定的设备,发送读指令(0x03), 随后在指定地址(Address[23:0])下,读取从机数据(Data)

在这里插入图片描述

标签:SCK,17,高电平,SS,通信,低电平,SPI,边沿
From: https://blog.csdn.net/xiayulinlll/article/details/137522220

相关文章

  • 1. 通信软件基础-移动通信中的算法问题-实验
    目录简介 任务描述:关键词:无线信号强度排序算法相关检测无线信号强度计算 基站信号强度排序相关检测代码模块头文件定义:函数相关:快排:无限信号求和:主函数:变量定义主要流程一主要流程二(搭档写的)总结简介移动通信中的算法问题是指在移动通信系统中,为了实......
  • 【华为OD机试真题】217、最长广播响应 | 机试真题+思路参考+代码分析(C语言、C++、Java
    文章目录一、题目......
  • 深入理解 WebSocket:实时双向通信的核心技术(python案例)
    引言WebSocket是一种在Web开发中广泛使用的通信协议,它提供了一种实时、双向的通信机制,允许客户端和服务器之间建立持久连接,实现高效的实时数据传输。本文将深入探讨WebSocket的工作原理、优势、应用场景以及使用示例,帮助读者全面了解WebSocket技术。什么是WebSocket?......
  • 17. InnoDB-spaceID.PageNumber/压缩表
    表空间内部组织结构表空间内部由多个段对象(Segment)组成每个段(Segment)由区(Extent)组成每个区(Extent)由页(Page)组成每个页(Page)里面保存数据(或者叫记录Row)段对用户来说是透明的段也是一个逻辑概念目前为止在information_schema中无法找到段的概念重点需要理解......
  • 6.10物联网RK3399项目开发实录-驱动开发之SPI接口的使用(wulianjishu666)
    嵌入式实战开发例程,珍贵资料,开发必备:链接:https://pan.baidu.com/s/1149x7q_Yg6Zb3HN6gBBAVA?pwd=hs8b======================================================================SPI使用SPI简介SPI是一种高速的,全双工,同步串行通信接口,用于连接微控制器、传感器、存储设......
  • 文心一言 VS 讯飞星火 VS chatgpt (232)-- 算法导论17.1 3题
    三、假定我们对一个数据结构执行一个由n个操作组成的操作序列,当i严格为2的幂时第i个操作的代价为i,否则代价为1。使用聚合分析确定每个操作的摊还代价。文心一言:为了进行聚合分析并确定每个操作的摊还代价,我们需要理解操作序列的性质,特别是代价的变化规律。根据题目描......
  • [CF1718D] Permutation for Burenka 瞎扯
    尝试回到1,2月份的文风。感觉,自己思考的时候最好不要乱走,模拟一下考场上的氛围和紧张感,让自己保持专注。但是当你已经了解了这个问题的全貌后,随机游走一会,仔细观察问题,梳理思路,感觉收获会比较大。所以看起来我不擅长自己想题,比较擅长马后炮。[CF1718D]PermutationforBur......
  • 苍穹外卖10(Spring Task定时任务,WebSocket双向通信,订单状态定时处理,来电提醒,客户催单)
    目录一、SpringTask1.介绍2.入门1使用步骤2使用示例3.详解1@Scheduled注解2cron表达式1cron表达式6个域2各个域的取值说明4.小结二、订单状态定时处理1.需求分析1问题分析2功能需求2.代码开发1修改引导类加@EnableScheduling2创建OrderTask......
  • CF1744F MEX vs MED 题解
    题目传送门题目大意给定一个数列,求满足\(\operatorname{mex}(a_l\sima_r)>\operatorname{med}(a_l\sima_r)\)的区间\([l,r]\)的个数。解题思路记\(p_i\)为\(i\)出现的位置。我们可以枚举\(d\),先确定\(\operatorname{mex}(a_l\sima_r)>d\)的区间。由于数列是\(......
  • Python大创项目参考 智能家居控制(半成品且未参赛)建议用于电气、计科、通信相关专业—
    (优质长文警告⚠️,全文包含代码共计22000+字,完整阅读时间较长)智能家居行业是指通过互联网、物联网、人工智能等先进技术将家庭设备和设施连接起来,实现智能化控制和管理的新兴产业。本项目参考了github开源“博联智能家居”,采用博联旗下鸿雁系列智能插座和路由,算是二次开发。目......