D-020 SPI FLASH硬件电路设计

news2024/10/5 13:15:42

SPI FLASH硬件电路设计

  • 1 简介
  • 2 EEPROM 和SPI Flash的区别
  • 3 电路设计实战
  • 4 电路设计要点

1 简介

SPI FLASH(Serial Peripheral Interface)是串行外设接口的缩写,是一种高度、全双工、同步的通信总线。一般应用在MCU与外围设备之间通讯,广泛应用在FLASH,模数转换器等。

常用的内部通信接口:UART、IIC、SPI

常用的外部通信接口:RS232、RS485、CAN

SPI flash 就是通过串行的接口进行操作的 flash 存储设备。一般板卡会配有一个 spi flash 存储芯片。因为 flash 具有断电数据不丢失的特性,而我们 FPGA 芯片掉电数据是会丢失的,所以我们就可将 FLASH作为 FPGA 芯片的上电配置器件(主要用于嵌入式设备的引导启动程序的存储如 Bootloader。),我们将上电程序固化在 FLASH 中,上电后 FPGA 芯片读取到 FLASH 中存储的程序进行运行,这样就能做到程序断电不丢失了。SPI FLASH 读写较慢,次数有限制,一般用于不经常更改的存储。

flash 按照内部存储结构不同,分为两种:nor flash 和 nand flash。这里 spi flash 属于 nor flash。

对比项NAND FlashNOR Flash
芯片容量<32GBit<1GBit
访问方式顺序读写随机读写
接口方式任意I/O口特定完整存储器接口
读写性能读取快(顺序读)、写入快、擦除快(可按块擦除)读取快(RAM方式)、写入慢、擦除慢
使用寿命百万次十万次
价格低廉高昂

常用的生产厂家:winbond(华邦),Micron(镁光),numonyx(恒亿)、ISSI(芯成),兆易创新

单位转换:

1Bytes=8bits(

1 字节等于 8 位)

1KB=1024Bytes(1KB 等于 1024 字节)

1MB=1024KB

1GB=1024MB

注:另外,Byte 通常简写为 B(大写),而 bit 通常简写为 b(小写);1B=8b。

bit 意为“位”或“比特”,是计算机运算的基础,属于二进制的范筹;

Byte 意为“字节”,是计算机文件大小的基本计算单位;

块、扇区、页的区别

以华邦的 W25Q128 为例,容量为 128Mbits,注意这里的单位是 bit,换算成字节(Byte),也就是:128Mbits/8=16M=16*1024KB= 16384 KB = 16,777,216B,所以很容易计算出整个存储空间的地址范围:0x000000~0xFFFFFF

SPI Flash 和 EPROM 的很大的一个不同就是多了块、扇区、页的概念。

W25Q128 的整个存储空间被分成了 256 个块(Block),每个块包含 16 个扇区(Sector),每个扇区又包括 16 个页。所以,如果按照块来计算,W25Q128 包括 256 个块。

如果按照扇区来计算,W25Q128 包括 256*16=4096 个扇区。

如果按照页来计算的话,W25Q128 包括 4096*16=65536 个页。

每个块的大小是:16384KB/256 = 64KB

每个扇区的大小是:64KB/16 = 4KB

每个页的大小是:4KB/16 = 256B

但是实际上,我们在进行读写操作时,都是区分块和扇区,不区分页的。包括在官方的 Datasheet 中,并没有重点提及页的地址范围。

**SPI flash 的特点 **

  • 高速(1.受限于最大时钟频率 2.受限于 CPU 处理 SPI 数据的能力;3 受限于PCB 走线);

  • 全双工(两个数据线可以同时收发);

  • 主从模式(既可当主机又可当从机工作);

  • 提供频率可编程时钟;

2 EEPROM 和SPI Flash的区别

  • EPROM 通常采用是 IIC 串行总线,低速,单双工,通信速率一般是百 KHz。而SPI Flash 是采用的 SPI 总线,高速,全双工,通讯速率一般是百 MHz。SPI Flash属于 Flash ROM 闪存,相比于 EPROM,读写速度更快。

  • EPROM 通常用于存储不频繁读取的数据,如配置信息等,而 SPI Flash 通常用来存储经常读取的数据,如字库文件等

  • EPROM 读写比较随意,想写那个地址写那个,想读哪个地址读哪个!而 SPI Flash 则比较规范,擦除的最小单位是扇区。向某个地址写入数据时,要先读取这个地址的数据是否为 0xFF,如果不是 0xFF,那么这个数据写入失败。所以通常的写操作是,在写某个地址之前,直接擦除这个地址所在的那个扇区,然后再写数据。当然,如果这个扇区的所有内容都是 0xFF,则无需擦除,可以直接写入。

  • EPROM 通常容量比较小,大小为 KB 级的,如 AT24C02 是 2KB,而 SPI Flash容量比较大,大小为 MB 级的,如 W25Q16 是 16Mbit,也就是 2MB。

  • EPROM 型号通常是 xx24 系列,而 SPI Flash 通常是 xx25 系列,所以从芯片型号我们也可以看出 ROM 类型。

  • EPROM 数据保存时间大约是 100 年,而 SPI Flash 数据保存时间为 20 年。

  • EPROM 的读写次数为 100 万次左右,SPI Flash 读写次数为 10 万次左右。

3 电路设计实战

电路实战1:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gD0P6U40-1669739222998)(硬件电路设计.assets/image-20221130002522909.png)]
电路实战2:
在这里插入图片描述

4 电路设计要点

  • 注意:根据需求选择对应的标注 SPI flash、Dual flash、Quad flash。具体项目具体看了,理论上在 CLK 一定的情况下, 线数越多访问速度也越快。

  • 如果需要 CS 管脚跟踪 VCC 电压,防止上电或断电时,由于 VCC 电压不足导致写数据异常,建议 CS 管脚串 10k 电阻到 VCC,起到跟踪保护左右。

  • 片选信号:是否要接上拉电阻或者下拉电阻,看具体规格书要求;(一般要加上拉电阻)

  • 电源接滤波电容。

  • 建议:IO0-IO3 加上 22 欧姆的电阻作为阻抗匹配;除了 SCK,其余都加上上拉电阻。

  • 在设计一个具体的 SPI Flash 的接口电路时,要考虑是否需要支持其Dual/Quad IO 功能以提高读写速度。

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

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

相关文章

从模型容量的视角看监督学习

这几天看离线强化学习瞎想的&#xff0c;不一定正确&#xff0c;仅记录个人想法 文章目录1. 监督学习的本质2. 容量视角下的模型选择、正则化和归纳偏置3. 几点启发1. 监督学习的本质 我认为监督学习的本质在于在过拟合和欠拟合之间取得平衡&#xff0c;捋一下逻辑 我们知道&a…

基于JAVA+SpringMVC+Mybatis+Vue+MYSQL的医药销售管理系统

项目介绍 药品一直以来在人类生活中扮演着非常重要的角色&#xff0c;随着时代的飞速发展&#xff0c;人们基本已经告别了那个缺医少药的年代&#xff0c;各大药房基本随处都可以购买&#xff0c;但是很多时候因为没有时间或者在药店很难找到自己想要购买的药品&#xff0c;所…

[附源码]计算机毕业设计springboot个人博客系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Windows远程连接centos7图形化界面,安装xrdp

Windows远程连接centos7图形化界面&#xff0c;安装xrdp写在最前面准备工作查看ubuntu系统的版本信息和gcc版本尝试进入图形化界面更新yum下载安装图形化界面查询本地是否有Server with GUI group安装Server with GUI设置系统启动默认加入GUI界面安装epel库&#xff08;epel是社…

Djiango 模版系统详解(ORM数据模型-使用mysql数据库增删改查)

djiango模版系统&#xff1a; 用于自动渲染一个文本文件&#xff0c;一般用于HTML页面&#xff0c;模版引擎渲染的最终HTML内容返回给客户端浏览器 模版系统分成两部分 静态部分&#xff1a; 例如html css .js 动态部分 djiango 模版语言&#xff0c;类似于jinja语法变量定义&…

ArcGIS QGIS学习二:图层如何只显示需要的部分几何面数据(附最新坐标边界下载全国省市区县乡镇)

文章目录前言准备SHP数据ArcMap 的筛选QGIS 的筛选如何编写查询条件前言 当我们用GIS软件打开一个SHP文件的时候&#xff0c;会显示出里面全部的几何图形&#xff0c;假如我只想要其中的一部分数据显示出来&#xff0c;其他的均不要显示&#xff0c;有那么几种操作方法。 我们…

UE4使用蓝图实现角色冲刺

又学了几天&#xff0c;前面记录了如何使用蓝图实现开关门&#xff0c;这次来实现一下角色的冲刺、瞬移的操作 一般玩游戏的时候&#xff0c;可能都会有按左shift键让角色从行走变成奔跑的状态&#xff0c;又或者双击回避键角色瞬移躲避等操作 那就先实现一下加速奔跑吧&…

Python毕业设计必备案例:【学生信息管理系统】

嗨害大家好鸭&#xff01;我是小熊猫~ 最近看大家好像都快放假啦~ 但是放假之前有的小朋友要做毕业设计~ 有的要期末考试~ 那么今天来给大家整一个小的毕业管理系统案例 康康整题思路是怎么样的~ 源码、资料电子书点击这里获取 功能模块 基本信息管理和学生成绩管理。 基…

【自用】VUE 获取登录用户名 显示在其他页面上

大步骤一、准备工作 步骤1&#xff1a; 安装 js-cookie 依赖 npm install js-cookie --save步骤2&#xff1a; 在登录页面中引入 js-cookie 依赖 <script> import jsCookie from js-cookie; </script>大步骤二、在 登录页面 的vue文件 中使用它&#xff01; …

[附源码]计算机毕业设计springboot基于JAVA技术的旅游信息交互系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

[附源码]Python计算机毕业设计SSM泸定中学宿舍管理系统设计(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

python零基础入门(完整版)

1python软件下载 我们需要下载python语言翻译器&#xff08;也就是运行环境&#xff09;&#xff0c;和一个用来写python的软件&#xff0c;用它写python语言比较方便 首先打开百度&#xff0c;下载org 然后点击下载 然后选择一个稳定版本下载 然后会跳转到一个页面&#xff0c…

kubernetes-service详解

kubernetes-service详解 文章目录kubernetes-service详解一、Service操作一&#xff1a;创建集群内部可访问的Service操作二&#xff1a;创建集群外部也可访问的Service二、pod详解pod的资源清单pod 配置基本配置镜像拉取启动命令环境变量端口配置资源配额一、Service 虽然每个…

NumPy 数组应用初探

NumPy是Python中科学计算的基本包。它是一个Python库&#xff0c;提供了一个多维数组对象&#xff0c;各种派生对象&#xff08;如屏蔽数组和矩阵&#xff09;&#xff0c;以及对数组进行快速操作的各种例程&#xff0c;包括数学、逻辑、形状操作、排序、选择、I/O、离散傅立叶…

Python-可视化单词统计词频统计中文分词

可视化单词统计词频统计中文分词项目架构新建文件单词计数全文单词索引中文分词统计词频源代码项目架构 新建一个文件&#xff0c;输入文件的内容&#xff0c;查询此文件中关键字的出现的次数&#xff0c;关键字出现的位置&#xff0c;将所有的文本按照中文分词的词库进行切割…

运筹说 第76期 | 最短路问题

通过前面的学习&#xff0c;我们已经学会了图与网络问题中图的基本概念和最小树问题&#xff0c;本期小编带大家学习最短路问题。 一 最短路问题 最短路问题是网络理论中应用最广泛的问题之一。许多优化问题可以使用这个模型&#xff0c;如设备更新、管道敷设、线路安排、厂区…

tensorboard attempted to bind to port 6006,but it was already in use

我尝试运行tensorboard是遇到错误 这篇博客给了两个解决方案&#xff1a;

弹出 think-cell 许可证密钥窗口丨使用教程

think-cell需要使用有效的许可证密钥才能运行。每次启动 Microsoft PowerPoint 或 Microsoft Excel 时&#xff0c;都会检查许可证密钥。若您的系统上找不到任何有效的许可证信息&#xff0c;或许可证密钥即将到期&#xff0c;则会显示 think-cell 许可证密钥对话窗口。 thin…

UDP-糖,UDP-GlcNAc 5′-二磷酸尿嘧啶核苷-N-乙酰半乳糖胺二钠盐 UDP-N-acetylglucosamine

产品名称&#xff1a; UDP-GlcNAc 5′-二磷酸尿嘧啶核苷-N-乙酰半乳糖胺二钠盐 UDP-N-acetylglucosamine 产地&#xff1a;西安 规格&#xff1a;1mg 5mg 10mg 纯度&#xff1a;99% 用途&#xff1a;仅用于科研 温馨提示&#xff1a;仅用于科研&#xff0c;不能用于人体…

R语言法国足球联赛球员多重对应分析(MCA)

数据集 fooball球员在场上的位置 数据来自国际足联的视频游戏FIFA 。游戏的特点是在游戏的各个方面评价每个球员的能力。等级是量化变量&#xff08;介于0和100之间&#xff09;&#xff0c;但我们将它们转换为分类变量。所有能力都被编码在4个等级&#xff1a;1.低/ 2.平均/ …