STM32SPI通信协议--(2)W25Q64简介

一、W25Q64简介

1、W25Qxx中的xx是不同的数字,表示了这个芯片不同的存储容量;

2、存储器分为易失性与非易失性,主要区别是存储的数据是否是掉电不丢失:

        易失性存储器:SRAM、DRAM;

        非易失性存储器:E2PROM、Flash;

二、硬件电路

WP:写保护,可配合内部寄存器配置,可实现硬件的写保护,低电平写保护,高电平不保护;

HOLD:数据保持,如果在SPI过程中,芯片需要干其他事就可以拉低此引脚,芯片释放总线,但芯片时序不会终止,而是记住当前状态。在需要继续通信时,HOLD置回高电平,然后继续之前的时序。相当于SPI总线进了一次中断。

三、W25Q64框图

一整个存储空间首先划分为若干块(Block)(8M分为128块),对于每一个块又划分为若干扇区(Sector)(1块分为16扇区),对于整个空间,会划分为很多页,每页256字节(1扇区分为16页)

Status Register:状态寄存器,与忙状态,写保护,读保护有关;

SPI Command & Control Logic:SPI控制逻辑,负责执行指令、地址锁存、读写数据等;

Column Decode And 256-Byte Page Buffer:256字节的页缓存(256字节的RAM存储器),会对一次性写入的数据量产生限制。写入的数据会先放在缓存区,在时序结束后,芯片再将缓存区的数据复制转移到对应的Flash里进行永久保存(在转移的过程中会置Status Register状态寄存器busy位为1)。因为Flash写入掉电不丢失的数据比较慢所以需要缓存区

四、Flash操作注意事项(掉电不丢失)

最小的擦除单元:一个扇区,也就是4096个字节 ;

最多写入一页的数据256字节:因为一个缓存区只有256字节;

五、Status Register状态寄存器

BUSY位:在写入数据,擦除数据,写状态寄存器指令时,该位置1,忽略进一步指令,除了读状态寄存器和擦除挂起指令;在写入数据,擦除数据,写状态寄存器指令结束后,该位置0。

写使能锁存位WEL:在执行写使能指令后,WEL置1,代表芯片可以进入写入操作;当设备写失能时,WEL位清0。在上电后,写失能,写入数据,擦除数据后WEL位都清0。

六、指令集

1、芯片ID

使用指令AB,90读ID就是16;使用9F来读就是4017;写程序的时候可以用来验证SPI是否可行。

2、SPI指令集

写使能、读状态寄存器1、页编程(即写数据)、按4kb的扇区擦除指令、读ID号、读取数据

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# Onnx GroundingDINO 开放世界目标检测

目录 介绍 效果 模型信息 项目 代码 下载 介绍 地址:https://github.com/IDEA-Research/GroundingDINO Official implementation of the paper "Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection" 效果 …

【iOS ARKit】2D肢体动作捕捉

人体肢体动作捕捉在动漫影视制作、游戏CG 动画、实时模型驱动中有着广泛的应用,利用 ARKit,无须额外的硬件设备即可实现 2D和3D人体一系列关节和骨骼的动态捕捉,由于移动AR 的便携性及低成本,必将促进相关产业的发展。 ARBody Tr…

深度学习(12)--Mnist分类任务

一.Mnist分类任务流程详解 1.1.引入数据集 Mnist数据集是官方的数据集,比较特殊,可以直接通过%matplotlib inline自动下载,博主此处已经完成下载,从本地文件中引入数据集。 设置数据路径 from pathlib import Path# 设置数据路…

日志记录——单片机可执行文件合并

一:需求场景 现在有一片单片机,执行程序包括自定义boot和应用程序app, 在将打包好的固件给到生产是有以下问题,由于要通过jlink烧录boot,然后上电启动boot,通过boot烧录初始化程序,过程过于复杂&#xff0…

蓝桥杯---垒骰子

赌圣atm晚年迷恋上了垒骰子,就是把骰子一个垒在另一个上边,不能歪歪扭扭,要垒成方柱体。经过长期观察,atm 发现了稳定骰子的奥秘:有些数字的面贴着会互相排斥!我们先来规范一下骰子:1的对面是4&…

开源大数据集群部署(九)Ranger审计日志集成(solr)

作者:櫰木 1、下载solr安装包并解压包 tar -xzvf solr-8.11.2.gz cd solr-8.11.2 执行安装脚本 ./bin/install_solr_service.sh /opt/solr-8.11.2.tgz安装后,会在/etc/default/ 下生成solr.in.sh文件。 2、在rangeradmin下生成solr相关配置 cd /opt…

el-table点击某一行选中改变背景色且执行方法

elementUI table表格点击某一行选中并且改变背景色 使用:row-style"rowStyle"及row-click“selectRow”: 其中 selectRow 方法中: row 输出:当前行的内容 column 输出:当前列的信息 event 输出:当前事件 …

BUUCTF-Real-[Flask]SSTI

目录 漏洞描述 模板注入漏洞如何产生? 漏洞检测 漏洞利用 get flag ​编辑 漏洞描述 Flask框架(jinja2)服务端模板注入漏洞分析(SSTI) Flask 是一个 web 框架。也就是说 Flask 为您提供工具、库和技术来允许您构…

三、数据背后的二进制

文章目录 数据背后的二进制1.1 整数的二进制表示与位运算1.1.1 正整数的二进制表示1.1.2 负整数的二进制表示 1.2 原码、反码、补码1.2.1 机器数和机器数的真值1.2.2 原码, 反码, 补码的基础概念和计算方法1.2.3 为何要使用原码、反码和补码1.2.4 补码计算原理 1.3 小数的二进制…

2024美赛数学建模C题思路分析 - 网球的动量

1 赛题 问题C:网球的动量 在2023年温布尔登绅士队的决赛中,20岁的西班牙新星卡洛斯阿尔卡拉兹击败了36岁的诺瓦克德约科维奇。这是德约科维奇自2013年以来首次在温布尔登公开赛失利,并结束了他在大满贯赛事中历史上最伟大的球员之一的非凡表…

Vue实现公告循环横向播报组件

一、代码组件 注意&#xff1a;当公告字数很少时会固定不动&#xff0c;当字数达到最大宽度时&#xff0c;则会循环播报 <template><div class"TopCard"><!-- 小喇叭 --><div style"width: 70px"><notify style"width: 2…

【Qt+MSVC2017_64bit +Cmake新建项目编译出错】

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 项目新电脑环境配置 QtMSVC2017_64bit Cmake新建项目编译出错 问题描述 提示&#xff1a;这里描述项目中遇到的问题&#xff1a; QtMSVC2017_64bit Cmake新建项目编译出错 Running C:\Program Fil…