mr25H40,mr20H40,mram

MR25H40

第一次写ram的程序,留下笔记。

首先看芯片的主要特征

无写入延迟

•无限制的写入续航能力

•数据保留期超过20年

•断电时的自动数据保护

•快速、简单的SPI接口,MR20H40的时钟频率高达50 MHz。

•3.0至3.6伏电源范围

•低电流睡眠模式

•工业(-40至85°C)、扩展(-40至105°C)和AEC-Q100

1级(-40至125°C)温度范围选项。

•可提供8引脚DFN或8引脚DFN-小型标志,符合RoHS标准

包装。

•直接替换串行EEPROM、闪存和FeRAM

•MSL等级3

MR2xH40是一系列4194304位磁阻随机存取存储器(MRAM)器件

组织为524288个8比特的字。它们是应用程序的理想内存解决方案,这些应用程序必须

使用少量I/O引脚快速存储和检索数据和程序。它们具有串行EE PROM和串行闪存兼容的读/写定时,无写延迟和无限读/写

耐力与其他串行存储器不同,MR2xH40系列可以同时进行读取和写入

随机存储在内存中,两次写入之间没有延迟。

MR2xH40系列可在各种温度范围内提供高度可靠的数据存储。这个

MR20H40(50MHz)具有工业(-40°C至+85°C)范围。提供MR25H40(40MHz)

具有工业级(-40°C至+85°C)、扩展级(-40至105°C)和AEC-Q100 1级(-40℃至+125°C

操作温度范围选项。

两者均提供5 x 6mm、8引脚DFN封装。引脚输出与串行SRAM兼容,

EEPROM、闪存和FeRAM产品。

硬件部分:

芯片是个简单的8引脚封装,看一下他的信号

发现除了电源和地,以及spi通信接口外还有两个引脚,spi大家应该都没问题,现在只看WP和HOLD引脚,

WP: 低电平时阻止写入,也就是写保护。

Hold:中断对内存的操作。发生在CS低的时刻。

我们发现,在一般应用场景下这两个引脚直接忽略即可。但是需要注意的是,如果不使用的话记得拉高,以防出现意料之外的情况。会给调试带来大麻烦。

对这两个引脚解读之后我相信大家应该就觉得小CASE了。接下来我们说控制的部分。见下图:

这张图是芯片控制的核心部分,我们可以看到一共有8个命令。对于第一次写的我来说不明白后三列的意义是什么,看了半天后面的时序图才明白,直接说结论:这款芯片的SPI帧的组成分为三部分,命令、地址、数据。后面为字节数。如果为0表示不需要,并且在波形上不需要提供对应的时隙。

       从时序上分为三类,用1表示有、0表示没有,表示为100,101,110.但是仔细想,在数据上又分为mosi和miso。因此状态机可不止三种跳转序列,而是五种。

       然后我就开始了读数、写数,结果完全读不到。我就开始检查spi_mode。  

结果0和3均可。我使用的mode3,所以没问题。

       然后开始检查wp、hold,将其拉高,结果没有作用。

       然后开始发现这样一张图

就是说出厂默认为全0。又看到下面这张图,全0明显是全保护状态。

 

所以我需要对其进行解锁,也就是配置状态寄存器。我给状态寄存器配置了0x02,也就是按照第二个真值表来配置,无果。

       我突然想起来,配置寄存器会不会也需要写使能,说干就干。然后我惊奇的发现,可以读到非0的数了,也就是说,配置寄存器也需要写使能。但是我读了随机区域的一个数据,仍然是全0。一头雾水。好像是内存区域还在保护。于是我改成0x82,大功告成。

       到现在都没有明白,出厂时wel为0,那么就全保护状态,还怎么能写状态寄存器来改变wel呢?这不是死循环么?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值