Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 21:19 28 Apr 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : Micromite 32mx170 flash question

Author Message
akashh
Senior Member

Joined: 19/01/2014
Location: India
Posts: 115
Posted: 03:28pm 11 Dec 2014
Copy link to clipboard 
Print this post

Hi,
I am thinking of using the micromite with a 170 for the water dispenser project I mentioned some time ago, and I was wondering about the flash system, specifically how can I update counter values and logs in flash and how much space is available for this, as well as what type of wear levelling if any is implemented in the flash storage engine? Do I need to worry about 100,000 writes?
Thanks,
Akash
 
MicroBlocks

Guru

Joined: 12/05/2012
Location: Thailand
Posts: 2209
Posted: 04:06pm 11 Dec 2014
Copy link to clipboard 
Print this post

For that amount of writes you will need another solution.
If it is just a few values and reasonable size of a log then FRAM can be used.
You could also use a data logger with an SD card.
Maybe a Maximite that supports an SD card is a better option 'all in one' solution.



Microblocks. Build with logic.
 
Justplayin

Guru

Joined: 31/01/2014
Location: United States
Posts: 309
Posted: 04:15pm 11 Dec 2014
Copy link to clipboard 
Print this post

FRAM just might be the way to go if you do a lot of read/writes. It has a rating of 10 trillion cycles and is non-volatile. That should take you a while to wear out.

--Curtis
I am not a Mad Scientist...  It makes me happy inventing new ways to take over the world!!
 
akashh
Senior Member

Joined: 19/01/2014
Location: India
Posts: 115
Posted: 05:38pm 11 Dec 2014
Copy link to clipboard 
Print this post

Ok, but if I *were* to decide to make do with only the 170, what would be the way of using eeprom-like flash (sorry, I guess there is some doc I just haven't gotten down to it) or would it be better to write a CFunction that does something like that?
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9063
Posted: 06:53pm 11 Dec 2014
Copy link to clipboard 
Print this post

As far as I know, you have the commands VAR SAVE and VAR RESTORE. This is a 2.5kB area reserved to save the variables. As I understand it, you cannot save any old data anywhere you want like with an EEPROM or FRAM - you will have to put the wanted data into a string and then use VAR SAVE to commit that. You will need a different variable name for each new data set you want to save.

I agree with the others - FRAM chip is the way to go here.
Smoke makes things work. When the smoke gets out, it stops!
 
akashh
Senior Member

Joined: 19/01/2014
Location: India
Posts: 115
Posted: 07:04pm 11 Dec 2014
Copy link to clipboard 
Print this post

Thanks Grogster - any suggestions for cheap easy-to-use FRAM chips?
 
BobD

Guru

Joined: 07/12/2011
Location: Australia
Posts: 935
Posted: 07:55pm 11 Dec 2014
Copy link to clipboard 
Print this post

there have been several threads in recent times on FRAM. You could have a look at these. You should be able to find software examples in there also.
Bob
 
skyline_stu

Newbie

Joined: 04/01/2015
Location: Australia
Posts: 12
Posted: 07:59am 04 Jan 2015
Copy link to clipboard 
Print this post

Have you considered the Cypress NVSRAM devices - they're just like a SRAM with an automatic save on power down, so it won't wear out. Nice and fast, 45ns or better, reasonably cheap and easy to use - I'd be setting it up with a multiplexed Address/Data and 2 control pins. Easy with some latches, a decoder and tristate buffer (or if you'd like, I'll make a CPLD all-in-one memory controller for ya in a 44pin QFP). Has 5v tolerant IO to boot. I really like CPLD's for glue logic, they take up very little board area and are dirt cheap, fast & powerful.

Stu

P.S. Just built a memory controller in about 15 mins. No pin routing done though, I'd need to know which 10 pins you want to use. It's got a mux'd ADDR/DATA + 2 control lines in, with 16 address lines & 8 data out. You'll need to add a _RD and _WR from the CPU (ran out of pins ). The WORST propagation delay is 9ns !!

So with just 12 pins, you've access to a 64k NVSRAM
Add a couple more CPU address pins and the sky's your limit. All I/O is tristated.
I could even set it up with an I2C bus if needed to gain back some extra I/O's, but that'd need the next size CPLD - same pin count but more logic fabric needed for the I2C decoder and an option of more Address lines for a bigger SRAM chip if needed.
2015-01-04_174418_memory_decoder.pdf
Fast, Cheap, Reliable. Pick any two. AND The satisfaction of a cheap job is long forgotten whilst the bitterness of poor quality remains !
 
twofingers
Guru

Joined: 02/06/2014
Location: Germany
Posts: 1133
Posted: 08:41am 04 Jan 2015
Copy link to clipboard 
Print this post

Hi akashh,

  Quote  Do I need to worry about 100,000 writes?


This can also be done with a cheap EEPROM .
  Quote  – Endurance: 1 Million Write Cycles
– Data Retention: 100 Years


Michael
 
Print this page


To reply to this topic, you need to log in.

© JAQ Software 2024