EEPROM、FLASH电路设计

news2024/11/24 17:32:39

ROM是一种掉电不丢失数据的存储器,EEPROM是ROM的升级版,他支持带电擦除,可以修改存储器内的内容。

而我们还会提到FLASH,是EEPROM的升级,他们二者的区别在于FLASH按扇区操作,EEPROM则按字节操作,二者寻址方法不同,存储单元的结构也不同,FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低,因而适合用作程序存储器,EEPROM则更多的用作非易失的数据存储器。当然用FLASH做数据存储器也行,但操作比EEPROM麻烦的多,所以更“人性化”的MCU设计会集成FLASH和EEPROM两种非易失性存储器,而廉价型设计往往只有 FLASH,早期可电擦写型MCU则都是EEPRM结构,现在已基本上停产了。

顺便提一下STM32F407ZGT6内部自带1MB的flash

正点原子和野火的电机开发板上都有添加AT24C02,(1×256×8) 2k存储空间的EEPROM相比之下在STM32F407ZGT6主控上添加这款芯片我觉得有点没必要。1MB是1024*1024、2kb是2*1024。添加的EEPROM容量太小。

原子和野火还有添加W25Q128串行Flash内存由可编程的65536页组成,每一页256字节,16M存储空间。这个大小就足够了。

价格上EEPROM-AT24C02=0.61元
FLASH-W 25Q 128F V S I G=2.3元
价格翻了4倍但是存储容量扩大了8*1024倍。

学习记录一下W25Q128芯片的电路设计

单片机中为什么有了Flash还有EEPROM? - 知乎 (zhihu.com)

EEPROM和flash的区别-CSDN博客

 准备工作。

查芯片手册,本次要用的是W25Q128FVSIG。先看目录!先看目录!先看目录!

在芯片手册的末尾找到芯片选型信息。

 查看引脚对应表找到8pin-SOIC封装

引脚名称功能
1CS片选信号,低电平有效
2DO (IO1)数据输出
3WP (IO2)写保护输入
4GNDGND
5DI (IO0)数据输入
6CLK串行时钟输入
7HOLD or RESET(IO3)保持或复位输入
8VCC3.3V

有点可惜,在芯片手册上没能找到电路设计。不过可以通过其他途径来寻找。

在原子哥的电机开发板上找到相关资料

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

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

相关文章

【Rust笔记】浅聊 Rust 程序内存布局

浅聊Rust程序内存布局 内存布局看似是底层和距离应用程序开发比较遥远的概念集合,但其对前端应用的功能实现颇具现实意义。从WASM业务模块至Nodejs N-API插件,无处不涉及到FFI跨语言互操作。甚至,做个文本数据的字符集转换也得FFI调用操作系统…

Studio One6.5中文版本版下载及功能介绍

Studio One是一款专业的音乐制作软件,由美国PreSonus公司开发。该软件提供了全面的音频编辑和混音功能,包括录制、编曲、合成、采样等多种工具,可用于制作各种类型的音乐,如流行音乐、电子音乐、摇滚乐等。 Studio One的主要特点…

说明书MS2721A频谱分析仪7.1GHz

安立Anritsu MS2721A 频谱分析仪 MS2721A 是 Anritsu 的 7.1 GHz 频谱分析仪。频谱分析仪测量已知和未知信号的频谱功率。频谱分析仪收集信息,例如输入信号与其频率相比的幅度。作为频率分析仪,频谱分析仪的主要用途是记录和分析电输入信号以及其他信号的…

想要精通算法和SQL的成长之路 - 滑动窗口和大小根堆

想要精通算法和SQL的成长之路 - 滑动窗口和大小根堆 前言一. 大小根堆二. 数据流的中位数1.1 初始化1.2 插入操作1.3 完整代码 三. 滑动窗口中位数3.1 在第一题的基础上改造3.2 栈的remove操作 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 大小根堆 先来说下大小根堆是什…

Rust初接触

一、什么是Rust Rust 是由 Mozilla 开发的多范式编程语言,专注于性能和安全性。 Rust 以其先进的安全并发能力而闻名, 它的语法类似于 C,但它提供了更快的速度和内存安全性,但不使用垃圾收集器。 Rust 最初是为 Mozilla Firefox …

Linux bash: ipconfig: command not found解决方法

安装完centos7运行ifconfig命令发现找不到 安装相关工具 yum install net-tools.x86_64 无脑yes即可

Jenkins UI 自动化持续化集成测试

一:安装jenkins 环境 在官网下载msi 直接安装即可 二:设置全局变量 设置allure 路径 三:创建项目 1、创建自由风格项目 2、如果项目在本地,且本地服务器是windows ,找到Jenkins安装根目录,寻找config…

Spring Cloud Pipelines 入门实践

文章目录 1. 前言2. Spring Cloud Pipelines 是做什么的2.1. 预定义的流程2.2. 集成测试和契约测试2.3.部署策略 4. Spring Cloud Pipelines的使用示例4.1. 创建一个Spring Boot应用4.2. 将代码托管到GitHub仓库4.3. 添加Spring Cloud Pipelines依赖4.4. 配置Spring Cloud Pipe…

基于Python简单实现接口自动化测试(详解)

一、简介 本文从一个简单的登录接口测试入手,一步步调整优化接口调用姿势,然后简单讨论了一下接口测试框架的要点,最后介绍了一下我们目前正在使用的接口测试框架pithy。期望读者可以通过本文对接口自动化测试有一个大致的了解。 二、引言 …

统信UOS 1060系统增量备份

原文链接:统信UOS 1060系统增量备份 hello,大家好啊,今天给大家带来关于统信UOS 1060系统备份还原的系列内容的第三篇文章,系统增量备份,我们可以将系统增量备份到u盘中,后面需要的话,可以进行还…

C#中base关键字的使用

在C#编程语言中,base关键字扮演着重要的角色。它用于在派生类中调用基类的成员,并为开发人员提供了一种简单而有效的方式来实现继承以及重用代码。在本文中,我们将探讨base关键字的使用及其在C#中的代码实例。 首先,我们需要了解…

如何成功安装Node.js并在VS Code终端使用npm

✨✨✨ 感谢优秀的你打开了小白的文章 “希望在看文章的你今天又进步了一点点,生活更加美好!”🌈🌈🌈 目录 1.什么是Node.js? 2.解决方法 3.淘宝镜像安装 1.什么是Node.js? Node.js 是一种开源与跨平台的 JavaSc…

Apollo(阿波罗)分布式配置中心

🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢…

力扣-459.重复的子字符串

Idea 看题解的KMP自己手动实现太难了,我还是选择容易理解的暴力枚举叭 AC Code class Solution { public:bool isCheck(string subs, string s) {if(s.size() % subs.size() ! 0) return false;int k s.size() / subs.size();string comp "";while(k-…

【微信小程序】6天精准入门(第1天:小程序入门)

一、介绍 1、什么是小程序 小程序是一种轻量级的应用程序,可以在移动设备上运行,不需要用户下载和安装。它们通常由企业或开发者开发,用于提供特定功能或服务。 微信小程序(wei xin xiao cheng xu),简称小程…

设备巡检管理系统—动态化管理设备

为进一步夯实设备基础管理,提高设备运行的可靠性,做到及时发现设备故障隐患,并根据检查结果分析提出预防性维修计划,从而使用凡尔码搭建设备管理系统来管理设备,该系统能最大限度地减少设备故障停机,杜绝设…

【git】gitlab常用命令

gitlab官网 官网:官网 中文官网:中文官网 默认的gitlab安装目录 /opt/gitlab/bin 启动 gitlab-ctl start 查看状态 gitlab-ctl status 停止 gitlab-ctl stop 重启GitLab gitlab-ctl restart 查看gitlab的配置文件 配置的路径是:/…

【Java】jvm 元空间、常量池(了解)

JDK1.8 以前的 HotSpot JVM 有方法区,也叫永久代(permanent generation)方法区用于存放已被虚拟机加载的类信息,常量、静态遍历,即编译器编译后的代码JDK1.7 开始了方法区的部分移除:符号引用(S…

Zotero同步坚果云

实用教程 无意之中发现的Zotero同步坚果云的教程,简直和自己当时看视频,搜经验贴做的步骤一模一样,十分赞!值得收藏!只是忘记当时在哪保存的图片了,所以没法引用!只能在这借花献佛,…

二叉树学习笔记

1、链表实现二叉树 // 树节点类 class Bitreenode {char data;Bitreenode* ls, * rs, * fa; // ls为左儿子节点,rs为右儿子节点,fa为父节点 public:Bitreenode() {data 0;ls rs fa nullptr;}void set_ls(Bitreenode *p) {ls p;}void set_rs(Bitre…