Flash之SM25QH128M、JFM25F32A读写操作FPGA Verilog实现
JFM25F32A Flash写操作流程如图1所示,对于Flash类型的存储器,向已经存在数据的单元写入数据时,直接写入是无法写入的,在写入之前必须先执行擦除命令,再进行写入即可;如果待写入的单元为新的单元(“FF”),则可以直接写入数据。下面为Flash写操作的流程,如果写入的单元为新的数据单元,则写操作中的擦除流程可以取消掉。
1. JFM25F32A操作指令(instruction)的规则
(1) JFM25F32A Flash存储单元的地址为24bit ADDR[23:0],每一个基本存储单元容量为一个字节;
(2) 数据移位时,高位在前,低位在后;
(3) 页编程命令至少需要一个字节的数据,最多256个字节的数据;
(4) 每一个操作指令通过SPI接口独立的写入,CS#下降沿开始每一个指令的传输,CS#上升沿结束本次命令,执行相应的操作写入相应的指令即可;
(5) 在向存入数据的单元写入数据时,必须先进行擦除操作,再写入相应的数据;
2 指令列表
3. JFM25F32A的状态寄存器
JFM25F32A有两个状态寄存器,状态寄存器1(S7-S0),状态寄存器2(S15-S8)两个,具体的位分布如下:
表2状态寄存器1
S7 S6 S5 S4 S3 S2 S1 S0
SRP0 SEC TB BP2 BP1 BP0 WEL WIP
表3状态寄存器2
S15 S14 S13 S12 S11 S10 S9 S8
R CMP ERR R R LB R SRP1
注:在进行读写操作时,我们只需要读状态寄存器1,判断其中的WEL位于WIP位即可,状态寄存器2以及状态寄存器1的其他位不需要关注。
4 编程注意事项
编写Flash驱动程序时,除了在保证驱动时序正确的情况下,还应该关注相应操作所需的时间条件,即:每一次执行相应的命令至少需要的时间,这些参数告诉我们,即使这个指令发送完毕,也不能立即操作,也需等待这么久的空闲时间才能进行下一次操作,特别是在擦除操作、写操作必须满足相应的时间;这些参数的获取在器件手册的交流参数表中获取。JFM25F32A的关键交流参数如表5。
符号 参数含义 MIN TYP(典型) MAX
Tpp 页编程时间 — 5ms
Tse 扇区擦除时间 300ms
Tbe 区块擦除时间 3s
Tce 全芯片擦除 12s 100s
注:在使用时必须注意这些参数,否则有可能导致读写操作失败,数据写不进去,或者第一个数据写进去。
5 JFM25F32A相应操作时序图
以下的所有时序图,均是在SPI模式下操作Flash的时序图。
(1)读状态寄存器时图
(2)写使能时序图
(3)扇区擦除时序图
(4)页编程时序图
(5)读操作时序图
创作不易,如果笔者的搓作对您有帮助,请您点赞关注一下;如果需要提供基于FPGA Verilog的Flash操作帮助,可以在下方评论。联系邮箱:cwnult2021@163.com
Flash之SM25QH128M、JFM25F32A读写操作FPGA Verilog实现相关推荐
- FLASH的基本原理与读写操作笔记
一.概念: 每个文件对应多个block,每个block对对应多个扇区sector,每个sector对应有多个页. 一般一个扇区(sector)多个页(page) , 一个块 (bank)又有多个扇区 ...
- ESP8266 Flash的分布及其读写操作
读写操作API 基本操作 (1) spi_flash_erase_sector 功能 擦除 Flash 的某个扇区. 函数定义 SpiFlashOpResult spi_flash_erase_sec ...
- 【FPGA】SPI协议详解及对flash读写操作
FPGA基于SPI实现对flash读写操作 概括 一.SPI协议.flash讲解 1.SPI协议 2.flash (1)WREN (2)RDID (3)WRSR (4)READ (5)PP (6)SE ...
- FPGA中用verilog直接读写操作SDRAM
1 简介 SDRAM 型号为MT48LC32M16A2.SDRAM,英文名是: Synchronous Dynamic Random Access Memory,相较于 SRAM(静态存储器), SD ...
- FPGA — BRAM学习笔记—读写操作
使用软件: Vivado 开发板: EGO1采用Xilinx Artix-7系列XC7A35T-1CSG324C FPGA BRAM笔记 BRAM介绍 同步双端口BRAM BRAM读写操作 (1)读操 ...
- STM32:Flash擦除与读写操作(HAL库)
应用平台:STM32F030F4P6 ST官方库:STM32Cube_FW_F0_V1.9.0 背景知识 绝大多数的单片机和微控制器(ARM,x86),地址空间都是以字节为单位的,也就是说一个地址是一 ...
- NAND FLASH 读写操作 简介
NAND FLASH 内存详解与读写寻址方式 一.内存详解 NAND闪存阵列分为一系列128kB的区块(block),这些区块是 NAND器件中最小的可擦除实体.擦除一个区块就是把所有的位(bit)设 ...
- NAND FLASH的读写操作(硬件原理图分析)
转载:NAND FLASH的读操作及原理 硬件原理 上面是我使用的NAND FLASH的硬件原理图,面对这些引脚,很难明白他们是什么含义,下面直接引用韦东山老师的课程中的提问: NAND FLASH是 ...
- Esp8266的Flash读写操作以及Flash上传文件
1.Flash的读写操作 Esp8266的Flash为4M,其中1M用于存储程序,其他的空间有一部分用于系统,3M中剩下的大部分空间可以用来存放文件. #include <FS.h> St ...
最新文章
- 安卓linux定时执行脚本,Android开机自动执行shell脚本
- 在Centos 6.x 下yum安装php 5.5
- Linux 增大Swap
- java基本类_Java基本类型
- html笔记(四)弹性盒+响应式
- 530. 二叉搜索树的最小绝对差
- php 修改密码提示,修改密码通知
- OpenShift 4 之使用https协议访问Route
- PCL点云参数估计算法之RANSAC和LMEDS
- [LeetCode]168. Excel Sheet Column Title
- 地理信息系统GIS在城市生活垃圾管理中的应用时间
- 阿里云商标安心注册服务失败不通过可以退款?
- 计算机辅助翻译小结,计算机辅助翻译
- DMP (Dynamic Movement Primitives) 动态运动基元
- Python 打印的中英文字体如何对齐?
- 形态学操作之腐蚀、膨胀、开运算、闭运算、梯度运算、顶帽和黑帽
- antDesignPro线上刷新404 和 liunx部署使用mock数据 umi-serve + pm2
- CentOS 使用ifconfig没有显示ip
- 激活office 2010
- 计算机第一性原理局限性,第一性原理分子动力学
热门文章
- linux根分区写保护,目录写保护,求助大神
- 77% 的 Android 手机已换上 Eclair 或 Froyo 系统
- 给定一个 32 位有符号整数,将整数中的数字进行反转。
- bootpdf下载 spring_SpringBoot教程 PDF 下载
- 我国北斗卫星导航系统今日起试运行
- 51nod 1431 快乐排队
- Word章节自动编号+题注自动编号+公式编号+交叉引用
- Google的地理信息反向编码结果中的字段说明
- java怎么实现按键音_实例:使用Javascript制作声音按钮
- Funexpected宣布推出全新的遵循渐进式课程,它有直观界面、丰富多彩的游戏世界、个性化数字导师等