there's not much point to build a port for FRAM using SPI. It would take a minimum of system 48 clocks to access one byte of FRAM, which means that the MCU would be restricted to 1/48 of normal speed or 333kHz... probably not ideal.
If you want more RAM than the 16kB available on the 1284p, then the easiest method is to use SRAM on the 2560, to get up to 512kB. This runs at the typical 16MHz system clock, and is much more transparent in use.
If you have a clear application for FRAM, then it is probably best to use another MCU such as the TI msp430fr5959.
Or, build a shield similar to the QuadRAM shield, using the Cypress FM18W08, which can give you 32kB using a parallel address interface off the 2560. But, at over $20 per part, you need to be serious about using FRAM.
It is sensible to create libraries to access the FRAM from the AVR, but it would be fairly simple to do this using the standard SPI interface tools.
Last edit: Phillip Stevens 2014-06-08
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The only reason I am interested in the FRAM is because I can't seem to purchase the QUADRAM from ruggedcircuit. There site is either down or they are not operational anymore.
I am interested in external ram for my atmega2560 around 256KB would be more than enough. Do you have any advise for that.
Thanks
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
There are a couple of alternatives to the Rugged Circuits implementation for 512kB RAM for the Arduino Mega. Personally, I like the version that Ruggged Circuits did by containing the extension to the end pins, but others may prefer the full Shield implementations.
Hello,
I am interested in creating a port for 64KB FRAM that uses SPI.
The memory module is located here https://learn.adafruit.com/adafruit-spi-fram-breakout
Could someone help me creating a port so that freeRTOS can run this with ATMEGA2560.
Maybe some tips on how to start
thanks
Hey Sourcy,
there's not much point to build a port for FRAM using SPI. It would take a minimum of system 48 clocks to access one byte of FRAM, which means that the MCU would be restricted to 1/48 of normal speed or 333kHz... probably not ideal.
If you want more RAM than the 16kB available on the 1284p, then the easiest method is to use SRAM on the 2560, to get up to 512kB. This runs at the typical 16MHz system clock, and is much more transparent in use.
If you have a clear application for FRAM, then it is probably best to use another MCU such as the TI msp430fr5959.
Or, build a shield similar to the QuadRAM shield, using the Cypress FM18W08, which can give you 32kB using a parallel address interface off the 2560. But, at over $20 per part, you need to be serious about using FRAM.
It is sensible to create libraries to access the FRAM from the AVR, but it would be fairly simple to do this using the standard SPI interface tools.
Last edit: Phillip Stevens 2014-06-08
The only reason I am interested in the FRAM is because I can't seem to purchase the QUADRAM from ruggedcircuit. There site is either down or they are not operational anymore.
I am interested in external ram for my atmega2560 around 256KB would be more than enough. Do you have any advise for that.
Thanks
There are a couple of alternatives to the Rugged Circuits implementation for 512kB RAM for the Arduino Mega. Personally, I like the version that Ruggged Circuits did by containing the extension to the end pins, but others may prefer the full Shield implementations.
I sold my only QuadRam to Dave Cheney for a project he was building, as I had no real use for it. The 128kB RAM version (MegaRAM) is / was adequate for my needs.
Some options for you:
Lagrangian Point
Andy Brown
Projects of Jaanus Kalde
Last edit: Phillip Stevens 2014-06-09