STM32(十八):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引脚

        6输出引脚配置为推挽输出,输入引脚配置为浮空或上拉输入

移位示意图:

 SPI时序基本单元

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

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

        交换一个字节(模式0)

        CPOL=0:空闲状态时,SCK为低电平

        CPHA=0:SCK第一个边沿移入数据,第二个边沿移出数据

        交换一个字节(模式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)

 W25Q64简介

W25Qxx系列是一种低成本、小型化、使用简单的非易失性存储器,常应用于数据存储、字库存储、固件程序存储等场景

存储介质:Nor Flash(闪存)

时钟频率:80MHz / 160MHz (Dual SPI) / 320MHz (Quad SPI)

存储容量(24位地址):

       W25Q40:      4Mbit / 512KByte

       W25Q80:      8Mbit / 1MByte

       W25Q16:      16Mbit / 2MByte

       W25Q32:      32Mbit / 4MByte

       W25Q64:      64Mbit / 8MByte

       W25Q128:  128Mbit / 16MByte

       W25Q256:  256Mbit / 32MByte

 

         64KB为1块,一共128块。xx0000-xxFFFF

        每一块分为多个扇区Sector,每个扇区为4KB,每块一共是16个扇区。xxx000-xxxFFF.

        一页内的地址变化范围是xxxx00,到xxxxFF。

写入操作时:

        写入操作前,必须先进行写使能

        每个数据位只能由1改写为0,不能由0改写为1。例如某存储单元存储0xAA(1010  1010)

在这个存储单元里写入新的数据0x55(0101  0101) 就变成0x00了。

        写入数据前必须先擦除,擦除后,所有数据位变为1

        擦除必须按最小擦除单元进行(全部,块、扇区)最少4096个字节一起擦。

        连续写入多字节时,最多写入一页的数据,超过页尾位置的数据,会回到页首覆盖写入

        写入操作结束后,芯片进入忙状态,不响应新的读写操作

读取操作时:

        直接调用读取时序,无需使能,无需额外操作,没有页的限制,读取操作结束后不会进入忙状态,但不能在忙状态时读取。

这个芯片可以支持SPI模式0和SPI模式3 。

SPI外设:

        STM32内部集成了硬件SPI收发电路,可以由硬件自动执行时钟生成、数据收发等功能,减轻CPU的负担

        可配置8位/16位数据帧、高位先行/低位先行   (串口是地位先行,I2C和SPI是高位先行)

        时钟频率: fPCLK / (2, 4, 8, 16, 32, 64, 128, 256)

        支持多主机模型、主或从操作。

        可精简为半双工/单工通信。

        支持DMA。

        兼容I2S协议。

STM32F103C8T6 硬件SPI资源:SPI1(APB2、PCLK72M)、SPI2(APB1、PCLK36M)

        图中左上角表示移位寄存器右移,低位先行的模式。LSBFIRST控制位可以控制低位先行还是高位先行。给0先发送高位,给1先发送低位。

 接收缓冲区分为TDR和RDR,他俩共用一个地址。 发送寄存器移入到移位寄存器时候,置TXE位为1,检测到TXE位为1时,可以移入发送缓冲区。 移位寄存器完成输出和移入时候,移入的数据会整体的转入到接收缓冲区中,置RXNE为1,检测到为1后就要尽快把数据从RDR中读出来。 

        SPI是全双工,发送和接收同步进行,所以数据寄存器发送和接收分离。移位寄存器发送和接收可以共用。

        BR0、BR1、BR2三位对时钟分频进行控制。

        SPE:SPI使能。

        CPOL、CPLA:配置SPI的四种模式

        SSOE为1时,NSS作为输出引脚,并在当前设备变为主设备时,给NSS输出低电平。当主机结束后,SSOE要清零,NSS变为输入。

        SSM位决定右侧中间的数据选择器的选择哪一路,上面一路是硬件NSS模式,即:外部如果输入了低电平,那当前的设备就进入不了主模式,线路中已经有了主模式。下面一路是软件管理NSS输入,NSS是1还是0,由SSI来决定。

主模式全双工连续传输 

        效率高、程序逻辑复杂。

 非连续传输

         程序逻辑简单,效率低。

软硬件波形对比 

 

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

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

相关文章

腾讯IM SDK:TUIKit发送多张图片

一、问题描述 在使用腾讯IM DEMO&#xff08;https://github.com/TencentCloud/chat-uikit-vue.git&#xff09;时发现其只支持发送一张图片&#xff1a; 二、解决方案 // src\TUIKit\components\TUIChat\message-input-toolbar\image-upload\index.vue<inputref"inp…

迎接国庆旅游热潮,火山引擎数据飞轮助力景区数智化升级

随着人们生活水平的提高和旅游消费观念的转变&#xff0c;国庆假期成为人们出行旅游的黄金时段。同程旅行发布的报告显示&#xff0c;北京、杭州、重庆、上海、南京、成都等城市仍是 “十一” 假期国内热门的目的地&#xff0c;而一些新兴的宝藏旅游目的地如新疆阿勒泰、云南迪…

人工智能学者荣获2024诺贝尔物理学奖

10月的第一周&#xff0c;诺贝尔物理学奖再次吸引了全球的目光。10月8日&#xff0c;2024年诺贝尔物理学奖授予了两位机器学习领域的杰出科学家——约翰霍普菲尔德&#xff08;John Hopfield&#xff09;和杰弗里辛顿&#xff08;Geoffrey Hinton&#xff09;&#xff0c;以表彰…

PicGo+Gitee搭建Typora图床

PicGoGitee搭建Typora图床 下载PicGo 下载链接&#xff1a;https://picgo.github.io/PicGo-Doc/zh/guide/#%E4%B8%8B%E8%BD%BD%E5%AE%89%E8%A3%85 配置PicGo 插件安装 在PicGo的【插件设置】中搜索gitee-uploader插件并安装 在【图床设置】下配置Gitee repo&#xff1a;用…

免费ppt模板从哪找?一文看这里

国庆假期结束&#xff0c;回工作岗位的你是不是正忙着准备汇报材料&#xff1f;别担心&#xff0c;一份精美的PPT能为你的工作汇报增色不少。 而一个吸引人的PPT背景模板&#xff0c;更是能让你的演示脱颖而出。 为了帮助你们快速找到高质量免费ppt模板背景&#xff0c;以下特…

数字人直播带货操作流程详解!怎样的数字人直播系统能保证效果?

随着人工智能技术的不断成熟&#xff0c;以数字人直播为首的各项应用逐渐被各大中小型企业引进&#xff0c;连带着与之相关的各类话题&#xff0c;如数字人直播带货怎么操作等也开始备受关注。 而就目前的使用情况来看&#xff0c;绝大多数企业都或多或少地遭遇过数字人直播违…

Redis 五种数据类型的操作命令

一、五种数据类型的介绍 五种数据类型如图所示&#xff1a; Redis 是一个开源的键值存储系统&#xff0c;它支持多种数据结构&#xff0c;每种数据结构都有其特定的用例和底层实现。以下是 Redis 的五种主要数据类型&#xff0c;以及它们适合存储的数据类型和底层实现&#xf…

智慧出行:数字孪生三维可视化大屏交通管控系统

智慧出行已成为现代城市发展的重要支柱&#xff0c;数字孪生技术在交通领域的应用不断深化。结合三维可视化技术&#xff0c;打造功能强大的大屏交通管控系统&#xff0c;将对城市交通管理带来巨大变革。该系统通过实时监测和数据分析&#xff0c;提供精准的交通状况显示和预测…

FPUA(1)DIY个人计算机

文章目录 1.需求确定2.硬件选型2.1CPU2.2关于主板2.3硬盘2.4电源2.5散热2.6机箱2.7其他 3.选型成果展示4.组装过程5.欢迎关注技术文章 电脑作为程序员生产力最重要的生产工具&#xff0c;电脑的性能对工作效率有很大影响。电脑组装的每一个环节多少都懂一些&#xff0c;但真正的…

java判断一个字符串是否是回文字符串

代码功能 接收用户输入的字符串&#xff0c;检查该字符串是否为回文&#xff08;即正序和倒序读取都相同&#xff09;&#xff0c;然后输出检查结果。 代码 import java.util.Scanner;public class PalindromeChecker {public static void main(String[] args) {Scanner sc…

微积分-反函数6.6(反三角函数)

在本节中&#xff0c;我们应用 6.1 节的思想来找到所谓反三角函数的导数。在这个任务中&#xff0c;我们遇到了一些困难&#xff1a;由于三角函数不是一对一的&#xff0c;它们没有反函数。这个困难通过限制这些函数的定义域&#xff0c;使其成为一对一的函数&#xff0c;从而得…

软件著作权

软件著作权申请材料 材料一&#xff1a;操作手册 or 设计说明书 操作手册必须有截图&#xff0c;且执行步骤须连贯&#xff0c;从登录开始&#xff0c;到主界面展示&#xff0c;各个界面跳转&#xff0c;以及主要功能介绍&#xff0c;都要符合软件使用者的使用逻辑。文字不能…

气象大模型预测的原理与实践 免费提供气象预测数据

随着气象科学的发展&#xff0c;天气预测技术在过去几十年里取得了显著进步。如今&#xff0c;气象大模型成为了天气预报的核心工具之一。这些模型依赖于复杂的数学、物理和计算方法来模拟大气运动与天气现象&#xff0c;并且在实时数据的支持下&#xff0c;可以预测未来几小时…

YOLO11涨点优化:注意力魔改 | SimAM(无参Attention),一种轻量级的自注意力机制,效果秒杀CBAM、SE

💡💡💡SimAM是一种轻量级的自注意力机制,其网络结构与Transformer类似,但是在计算注意力权重时使用的是线性层而不是点积 💡💡💡本文改进:分别加入到YOLO11的backbone、neck、detect,助力涨点 改进1结构图: 改进2结构图: 改进3结构图: ​ 《YOLOv

OpenHarmony(鸿蒙南向开发)——轻量系统内核(LiteOS-M)【内核通信机制】

往期知识点记录&#xff1a; 鸿蒙&#xff08;HarmonyOS&#xff09;应用层开发&#xff08;北向&#xff09;知识点汇总 鸿蒙&#xff08;OpenHarmony&#xff09;南向开发保姆级知识点汇总~ 持续更新中…… 事件 基本概念 事件&#xff08;Event&#xff09;是一种任务间的…

NVIDIA 多实例 GPU

单个 GPU 中包含七个独立实例。 文章目录 前言一、优势1. 扩展 GPU 的使用范围2. 优化 GPU 利用率3. 运行同步工作负载二、 技术原理1. 根据需要调配和配置实例2. 安全、并行运行工作负载三、Blackwell GPU 中的 MIG四、为 IT 和开发运营而打造1. 从数据中心部署到边缘2. 利用容…

【一分钟学C++】指针和引用

竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生~ 公众号&#xff1a; C学习与探索 | 个人主页&#xff1a; rainInSunny | 个人专栏&#xff1a; Learn OpenGL In Qt 文章目录 指针普通指针函数指针注意事项 引用左值引用右值引用注意事项 指针和引用区别 指针 普通指针 指针是一个…

宝兰德加入中国交通运输协会信息专业委员会,携手共绘交通行业信息化新篇章

近日&#xff0c;中国交通运输协会信息专业委员会&#xff08;以下简称信专委&#xff09;第四届会员代表大会暨第四届一次理事会扩大会议在北京成功举行。宝兰德受邀出席会议&#xff0c;会议总结了第三届理事会的工作&#xff0c;修改了信专委工作规则&#xff0c;选举产生了…

Android Camera系列(四):TextureView+OpenGL ES+Camera

别人贪婪时我恐惧&#xff0c;别人恐惧时我贪婪 Android Camera系列&#xff08;一&#xff09;&#xff1a;SurfaceViewCamera Android Camera系列&#xff08;二&#xff09;&#xff1a;TextureViewCamera Android Camera系列&#xff08;三&#xff09;&#xff1a;GLSur…

一键生成PPT在线使用的保姆级教程:告别加班就靠它

已经过完24年所有的法定节假日的你&#xff0c;上班状态还好吗&#xff1f; 小编人倒是挺飘忽的&#xff0c;就那种人在工位&#xff0c;魂仍在青青大草原的感觉&#xff0c;都是牛马却失去了自由奔跑的权利...... 尤其是还要面对节前一堆没完成的工作&#xff0c;手动完成不…