Cypress-Ramtron FRAM library (FM25VXX)


In my current project I am using a Cypress-Ramtron FM25V02 FRAM chip. Folk have been quite helpful on the forum with my questions to-date so I decided to write a library for this chip and contribute it as a way of giving something back. I extended the library to include similar FRAM chips from Cypress-Ramtron, so the full list of supported variants are the FM25V01, FM25V02, FM25V05, FM25V10, FM25VN10, and FM25V20. There are other Cypress-Ramtron FRAM chips with similar properties, but their command sets and status registers varied enough that I opted to just remain within the FM25Vxx sub-family of chips, thus the name of FM25VXX for the library.

I also chose to simply attach the library folder to this post rather than do the GitHub thing; I don't forsee contributing enough stuff in the future to warrant a GitHub account. I did try to establish one just for the sake of learning about GitHub, but had issues and decided to just move on.

Anyway, hope that it helps others in the future with their applications. Please see the notes.txt file for additional commentary.



ps-Would like to extend a special thanks to CrossRoads, PeterH, CodingBadly, retrolefty and Nick Gammon.

pss-Updated the library on 11/25/2013 -> minor fixes (19.3 KB)

Will it work with all current Manufacturers?

Listed in # of parts available at Mouser & Digikey:
Cypress Semi (and the only kind carried at Mouser)
Fujitsu Semi
Ramtron (now part of Cypress)
Rohm Semi (was Lapis Semi, not much offered)

and what happened to TI? Did they bail on the FRAM market?

Hey Cross-

I took a look at the Fujitsu Semi FRAM chips just to see what we're dealing with here and they are completely different animals, at least in one respect. They operate on the I2C bus whereas the Cypress FRAM for which I wrote the library runs over SPI. So I think that the short answer to your first question is 'no'. I wrote the library for a sub-family (if you will) of the Cypress FRAM stuff and that's it. The library could be easily extended to cover all Cypress FRAM components (those with the different instruction sets and status register implementations) but it would start to get kinda large at that point, so I would suggest a different library altogether for those variants. Like their FM25Vxx counterparts, they share the same instruction set and status register implementations.

Anyway, thanks again.

Great work!
If you want to enhance your lib there are MRAMs as well (almost identical to FRAMs inclusive protocols (SPI 8pin), except the storage principle - magnetism induced by a spin of an electron), ie Everspin's:

The MRAMs have got true unlimited endurance, very fast r/w (sub picoseconds writes in labs) and bigger capacity with current serial SPI ones (ie MR25H40). Based on my info most R&D today is focused on MRAM technology. That is why Ramtron has sold the stuff to Cypress I think :).

Thank you pito!

I'll look into MRAM for the next project. One thing though: approximately how much do the MRAM chips cost? I know that the FRAM variants weren't too bad on the whole, though slightly more expensive than other components, which I expected. Ergo, this new MRAM technology: is it price-ier than FRAM? Are there any sources from which you could buy MRAM chips at present? I didn't see any, but didn't look too hard either.

Anyway, thanks for the heads-up.