SPI通信协议和W25Q64

news2024/9/27 17:36:28

前言:

STM32中的通信接口:

UART    单总线   IIC   SPI   CAN

1. SPI   FLASH  W25Q64的关系

SPI:一种通信接口,可以用于和搭载SPI接口的设备通信

FLASH:是一种掉电不丢失的存储 -- 手机8+256G的256  单片机 64K+512K的512

芯片内部flash:64K+512K的512K -- 存放个代码的地方

芯片外部flash:独立于芯片外部

W25Q64:是flash的一种

如果我们想把数据存储起来可以有以下几个方案:

  1.  5.4.1 备份数据寄存器  -- 并不是每个单片机都有
  2.  IIC+EEPROM(AT24C02)
  3.  SPI+FLASH(W25Q64)
  4. 存储在芯片内部的flash中 -- 512K

1.1 SPI 简介

SPI作为一种通信接口其数字接口为:

发送:发送方控制数据线的高低电平

接收:接收方读取对方控制数据线的高低电平

一主多从

CS片选    --  选择和谁通信
SCK时钟线
MOSI主机输出   --  从机输入
MISO主机输入  --  从机接收

MOSI :主机控制这根线的高低电平  从机读取这跟线的高低电平

如果STM32作为主机  MOSI要配置成输出模式

MISO :从机控制这根线的高低电平,主机读取这根线的高低电平

如果STM32作为主机  MISO要配置成输入模式

SCK :  一般是主机控制时钟线

如果STM32作为主机  SCK要配置成输出模式

CS :   由主机控制

如果STM32作为主机  SCK要配置成输出模式

1.2 SPI 物理层

1.3 数据链路层

时钟极性CPOL空闲时候,时钟线的点平为0(低电平)空闲点平为1(高电平)
时钟相位CPHA

CPHA=0,在串口同步时钟的第一个(奇数)跳变沿(上升或下降)数据被采集

CPHA=1,在串行同步时钟的第二个(偶数)跳变沿(上升或下降)数据被采集

所谓的采集:就是读取对方控制线的高低点平

主机读取MISO的高低点平

从机读取MOSI的高低点平

其中的四种模式:

CPOLCPHA
SPI000CLK空闲为低,上升沿采样;下降沿就发送
SPI101

CLK空闲为低,下降沿采样;上升沿就发送

SPI210

CLK空闲为高,下降沿采样;上升沿就发送

SPI311

CLK空闲为高,上升沿采样;下降沿就发送

1.4 SPI 引脚功能选择

2 W25Q64

W25Q64  容量大小:  64M BIT    ==  8M字节

0x0--0x7FFFFF(111 1111 1111 1111 1111 1111)

000 0000 0000 0000 0000 0000

   块   扇区  页     字节

0x700000

111 0000 0000 0000 0000 0000

第112块(编号从0开始) 0 扇区  0页  0字节

5.1 指令操作

使用的五大原则:

  1. FLASH使用的时候,必须先擦除,再写。擦除之后,里面放的数据全部都是0xff,flash只能由1变0,不能由0变1。
  2. 不能跨页写,超过1页会从该页的起始位置覆盖
  3. 写之前必须要写使能
  4. 最小擦除指令就是扇区擦除
  5. 指令执行完,检测状态寄存器是否操作完成

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

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

相关文章

AutoMQ 与蚂蚁数科达成战略合作

近期,AutoMQ 与蚂蚁数科正式签署战略合作协议,将和蚂蚁数科云原生 PaaS 平台 SOFAStack 在产品研发、生态集成、市场合作、技术社区影响力等多方面开展深度合作。 AutoMQ 是业内领先的消息和流存储服务提供商,基于云原生基础设施重新设计了 …

windows防火墙端口设置

PS:本文实例为Windows Server 2019,其他Windows版本大同小异。 1、首先打开windows防火墙,点击“高级设置” 2、 高级设置界面 3、假设需要开放一个端口为3306应该怎么做 光标对准“入站规则”右键新建规则,选择“端口” 协议这…

CSDN回顾与前行:我的创作之旅——2048天的技术成长与感悟

CSDN回顾与前行:我的创作之旅——2048天的技术成长与感悟 💖The Begin💖点点关注,收藏不迷路💖 前言 时光荏苒,岁月如梭。转眼间,从我在CSDN上写下第一篇技术博客《2-6 带头结点的链式表操作集…

tensorflow之欠拟合与过拟合,正则化缓解

过拟合泛化性弱 欠拟合解决方法: 增加输入特征项 增加网络参数 减少正则化参数 过拟合的解决方法: 数据清洗 增大训练集 采用正则化 增大正则化参数 正则化缓解过拟合 正则化在损失函数中引入模型复杂度指标,利用给w增加权重,…

Python 轻松生成多种条形码、二维码 (Code 128、EAN-13、QR code等)

条形码和二维码是现代信息交换和数据存储的重要工具,它们将信息以图形的形式编码,便于机器识别和数据处理,被广泛应用于物流、零售、医疗、教育等各领域。 本文将介绍如何使用Python快速生成各种常见的条形码如Code 128、EAN-13,…

了解PPO算法(Proximal Policy Optimization)

Proximal Policy Optimization (PPO) 是一种强化学习算法,由 OpenAI 提出,旨在解决传统策略梯度方法中策略更新过大的问题。PPO 通过引入限制策略更新范围的机制,在保证收敛性的同时提高了算法的稳定性和效率。 PPO算法原理 PPO 算法的核心…

Python程序封装成Windows服务实践

1. WinSW 工具概述 WinSW(Windows Service Wrapper)是一个轻量级的、开源的工具,用于将任何可执行文件(包括exe、jar、脚本文件等)包装成一个Windows服务。这意味着,原本设计为命令行应用或需要手动启动的…

如何整合生成的人工智能?(GenAI)为你未来的工作增加动力

生成人工智能(GenAI)它发展迅速,以前所未有的速度取得了突破。人工智能将继续改变各行各业,预计2023年至2030年的年增长率将达到37.3%。由于一种新的知识工作者现在面临被取代的风险,生成式人工智能的惊人崛起进一步加剧了这种紧迫性。据《未…

高并发内存池联调问题

断言报错1 在这里插入图片描述 排查原因 实际 actualNum 值并没有大于一 断点报错。 经过排查,此处assert(actualNum > 0) 判断条件应该是大于零,否则或许if判断条件无法执行。 跑通结果: 2

大数据之Hadoop平台的搭建

实验环境 三台虚拟机 master slave1 slave2 服务器集群单节点,机器最低配置:双核 CPU、8GB 内存、100G 硬盘运行环境CentOS 7.4服务和组件服务和组件根据实验需求安装 1实验过程 1.1实验任务一:配置 Linux 系统基础环境 1.1.1步骤一&a…

漂亮的不像话的网站首屏,直接勾起了用户浏览欲望。

漂亮大气的网站首屏页面可以激发用户的浏览欲望,主要通过以下几个方面的设计和呈现来实现: 引人注目的视觉效果:使用高质量的图片、精心设计的图形和动画效果来吸引用户的眼球。这些视觉元素应当与网站的主题和品牌形象相符,并能够…

springboot“小鱼在乎”日程计划系统-计算机毕业设计源码51307

摘要 本文介绍了一种基于微信小程序和Spring Boot后端服务的“小鱼在乎”日程计划系统。该系统结合了前端微信小程序的便捷交互与后端Spring Boot框架的稳健性能,为用户提供了一款功能全面、体验出色的日程管理工具。 “小鱼在乎”日程计划系统涵盖了多种功能&#…

提升困难生学工支持:智慧校园的新功能介绍

智慧校园的学工管理系统内嵌的困难生信息管理功能,是一个综合性的服务平台,专注于精准识别校园内的经济困难学生,并给予他们必要的帮助与关怀,确保每位学生都能在公平的环境中追求学业和个人成长。这一功能通过一系列信息化手段&a…

Linux Web服务器

文章目录 一、web服务1.1 http1.2 Web1.3 web中间件 二、 Apache服务的搭建与配置2.1 服务安装基本思路三、 Nginx 配置Web服务 一、web服务 以赛促学的内容:因不清楚出题使用何种服务,特将两种服务归纳总结. HTTP是数据传输的规则,Web是基于HTTP协议的服务。当今…

基于ry-vue-plus的代码生成工具整合自定义模版

前言 鉴于自己最近参加一个比赛,整区块链应用,因此部分核心数据需要往区块链网络的数据库中存储。用的区块链框架为FISCO-BCOS。FISCO-BCOS官方提供一一个预编译合约,名叫Table.sol (CRUD合约),能让我们通过CRUD合约像使用一般关系型数据库中…

【漏洞复现】WordPress插件Recall CVE-2024-32709 SQL注入漏洞

0x01 产品简介 WordPress是一款免费开源的内容管理系统(CMS),最初是一个博客平台,但后来发展成为一个功能强大的网站建设工具,适用于各种类型的网站,包括个人博客、企业网站、电子商务网站等,并逐步演化成一款内容管理…

bug - while parsing file included at

bug 如下 找到这个对应文件tb_top.sv的对应行,发现是一个 include "inc_tb_tests_xxx.sv" 问题点:头文件,重复定义,那么 解决方法- 在被include的文件首尾加入 ifndef MY_TRANSACTION__SV define MY_TRANSACTION__SV …

【经典链表OJ】环形链表

一、题目要求 给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&…

昇思25天学习打卡营第16天|应用实践之Vision Transformer图像分类

基本介绍 今天同样是图像分类任务,也更换了模型,使用的时候计算机视觉版的Transformer,即Vision Transformer,简称ViT。Transformer本是应用于自然语言处理领域的模型,用于处理语言序列,而要将其应用于图像…

百度网盘青春版网页版上线

不知道还有多少小伙伴记得百度网盘曾经出过一个青春版,原因是21年相关部门发布通知《工业和信息化部关于开展信息通信服务感知提升行动的通知》其中就有一条: 明确指出网盘向免费用户提供的上传和下载最低速率应满足基本的下载需求 正所谓上有政策下有对…