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: IndiaPosts: 115 |
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: ThailandPosts: 2209 |
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 StatesPosts: 309 |
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: IndiaPosts: 115 |
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 ZealandPosts: 9063 |
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: IndiaPosts: 115 |
Thanks Grogster - any suggestions for cheap easy-to-use FRAM chips? |
||||
BobD Guru Joined: 07/12/2011 Location: AustraliaPosts: 935 |
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: AustraliaPosts: 12 |
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: GermanyPosts: 1133 |
Hi akashh, This can also be done with a cheap EEPROM . Michael |
||||
Print this page |