i.MX 6Dual/6Quad SPI_NorFlash

NorFlash型号

SST25VF0618B,在IMX6Q中通过SPI总线进行数据传输,u-boot也在NorFlash中,擦除需谨慎!

引脚说明

在这里插入图片描述

器件操作指令

在这里插入图片描述

状态寄存器

在这里插入图片描述

读状态寄存器(RDSR)

一般我们只需要读出BUSY位,由此判断寄存器写操作是否完成

  • 将GPIO上的电平调为低电平,使能NorFlash芯片
  • 发送05H命令
  • 发送数据周期(发送一个变量用于接收状态寄存器的值)
  • 将GPIO上的电平调为高电平,取消选中

写使能(WREN)

在对NorFlash进行写数据操作之前要进行写使能操作

  • 将GPIO上的电平调为低电平,使能NorFlash芯片
  • 发送06H指令
  • 将GPIO上的电平调为高电平,取消选中

使能写状态寄存器(EWSR)

写状态寄存器前,要进行写状态寄存器操作

  • 将GPIO上的电平调为低电平,使能NorFlash芯片
  • 发送05H命令
  • 将GPIO上的电平调为高电平,取消选中

写状态寄存器(WRSR)

  • 将GPIO上的电平调为低电平,使能NorFlash芯片
  • 发送01H命令
  • 发送要写入状态寄存器的值
  • 将GPIO上的电平调为高电平,取消选中

读操作流程

以25MHz频率读为例,需要至少五个周期,1个操作码周期,3个地址周期(要读的地址),1到多个数据周期(用于就收数据)

  • 将GPIO上的电平调为低电平,使能NorFlash芯片
  • 发送03H命令
  • 发送3个地址周期
  • 发送一个或多个数据周期
  • 将GPIO上的电平调为高电平,取消选中

擦除操作

以4KB擦除操作为例

  • 将GPIO上的电平调为低电平,使能NorFlash芯片
  • 使能写状态寄存器
  • 将1写入状态寄存器
  • 发送20H命令
  • 发送3个地址周期
  • 读状态寄存器,等待擦除完毕
  • 将GPIO上的电平调为高电平,取消选中

写操作

有两个写操作,分别是字节编程和AII编程
字节编程,发送一字节

  • 将GPIO上的电平调为低电平,使能NorFlash芯片

  • 写使能

  • 发送02H命令

  • 发送3个地址周期

  • 发送一个数据周期(要写入的值)

  • 读状态寄存器,等待写完成

  • 将GPIO上的电平调为高电平,取消选中
    (自动地址递增)AII字编程,发送多个字节,由于它的特性,只需要发送一次地址周期即可

  • 将GPIO上的电平调为低电平,使能NorFlash芯片

  • 写使能

  • 发送ADH命令

  • 发送3个地址周期

  • 发送两个数据周期(要写入的值)

  • 读状态寄存器,等待写完成

  • 发送ADH命令

  • 发送两个数据周期(要写入的值)

  • 读状态寄存器,等待写完成

  • 上述操作循环直到所有数据写完毕

  • 将GPIO上的电平调为高电平,取消选中

NorFlash的使能信号与SPI的片选信号都绑定到了同一个GPIO上,所以需要将GPIO上的电平调低来使能与片选NorFlash芯片

详细信息可以搜索SST25VF016B的数据手册,附在线观看网址
https://max.book118.com/html/2017/0629/119003452.shtm

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值