Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Microcontroller interface with FLASH Memory Chip

Status
Not open for further replies.

Neha Bhosale

Newbie
Newbie level 2
Joined
Nov 24, 2021
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
38
Hello Everyone,

I am looking for the following application with a Micro-controller:

System Interface(Microcontroller)--->Flash Control------>Flash Memory Chip
I need to read and write data to the flash memory. Flash memory size must be more than 256MB.

Following are my queries:
1. Are there any microcontroller that provides in-built flash memory of size 256 MB? Can you suggest ?
2. If not in-built flash memory, which microcontroller has a good interface with a flash memory chip for programming? Can you suggest the microcontroller and Flash memory chip separately?

I am new to this field and need your guidance to build this application.
Thank you for the support!
 

Hello!

1. Not that I'm aware of. I'm using big beasts like STM32F7 and the flash is around 2 MB. Maybe there are some MCUs with more flash, but I guess not anywhere close to 256MB.
2. Difficult to reply. There are myriads of memory brands making for instance SPI flash. In this case, you can use basically any microcontroller that has a SPI interface, which we can summarize as "any microcontroller".

But without knowing more about what you want to do, it's not easy to give you a solution that will fit your needs. What about speed? SPI flash data rate is at most 100 mbps. At lease the flash chips I have used. Is this enough?

Beside flash, what will the MCU do? Will it have a TFT screen in lvds? In this case, there are some powerful processors like the one mentioned above. In this case you probably also need a fair amount of RAM. Do you want to make a extreme low power data logger which will work with a button cell for months or years? In this case, you probably need a very low power MCU with low power modes, but not necessarily a lot of RAM.

Dora.
 

Hi,

I agree with Dora.

you need to decide:
* supply voltage
* (burst) data rate
* do you need to overwirte data very often? --> wear leveling
* preferred/excluded interfaces (SPI, QSPI, parallel, SATA, USB, LAN, WiFi...)
* does mechanical size matter,
* or power consumption, (battery powered)
* (erase) sector size
* accesing time (for first byte)
* do you need a file system
* ...

A design starts with requirements and specifications.

Maybe you want to store 2 bytes, then read 3 other bytes within one microsecond,
maybe you want to store a several MBytes picture via file system, only once a day
maybe you want to store a video stream.

It´s a huge bandwith of applications. Each has its preferred soultion.

*****

My first idea was an SPI accessed SDCard... but it´s nothing more than a guess.

Btw: there are many ready to buy solutions. Maybe even a Raspbery is suitable.

Klaus
 

If you go here there are flash parts, ARM core, to 2048 KB



256MB Flash makes one think of SDCARDs, and there are parts with interfaces/libraries to
support that. Some of the above parts range to 2048KB.

Do you need analog functionality ? Like SAR, DelSig, DSP, OpAmps, DAC.....in addition to ARM core(s),
some of the above are dual core. And logic fabric.....

1637750114445.png




Regards, Dana.
 

For clarification, you are asking about 256 MB (spells Megabyte), not 256 Mb.

A 256 MB chip will be considerably larger than the processor itself, and therefore hardly offered integrated. Smallest solution would be a 2Gb serial NOR flash, can be interfaced through single, dual or quad SPI.

Serial NAND is available with higher capacity and has smaller package, but handling in software is slightly more complex and error managment required.

Finally SD card (actually NAND flash with built-in memory controller, so called managed NAND flash) might be an option, as suggested. They are available e.g. as e.MMC part, smallest capacity 2 GB.
 

Thank you, everyone, for your quick response.

Apologies for my incorrect questions. Below is the modified question.

I want to implement an application, in which Data from an external system must be stored in flash memory. Flash memory must be 32MB. I can add 3 multiple flash memory chips to meet my storage of 96MB. A micro-controller is required to program read and write instructions to flash memory from external system. Which microcontroller will be suitable for this application.

In short, I am trying to build an application as an alternative to DiskonChip 2000.
 

Thank you, everyone, for your quick response.

Apologies for my incorrect questions. Below is the modified question.

I want to implement an application, in which Data from an external system must be stored in flash memory. Flash memory must be 32MB. I can add 3 multiple flash memory chips to meet my storage of 96MB. A micro-controller is required to program read and write instructions to flash memory from external system. Which microcontroller will be suitable for this application.

In short, I am trying to build an application as an alternative to DiskonChip 2000.
What is the rate of incoming data that you will be storing in FLASH ?

Is the micros only job that of memory programing ?


Regards, Dana.
 

A micro-controller is required to program read and write instructions to flash memory from external system. Which microcontroller will be suitable for this application.
I'm questioning your use of the work 'instructions' in the above quoted section. Do you really want to write the application code (instructors) to the flash memory and then execute it in the microcontroller?

You mention using 3 x 32MB chips - are you expecting the MCU to treat the flash as a single 96MB storage or can it be aware of the 3 separate address spaces? The reason I ask is that if you expect the code (or data blocks that will be accessed as a single entity) to cross the boundary between the ships then that can complicate things.

If you are using (say) a (Q)SPI interface to get the speed that you want, then you need to consider how you will be selecting the individual chips if the data blocks cross between them. If you are using a parallel interface for the addresses then this problem may go away as the higher order address lines can be used to select the particular chip.

Susan
 

Hi,

The OP is not clear, leaves a lot of our questions unanswered...
This makes it really hard to give useful assistance.

Do you really want to write the application code (instructors) to the flash memory and then execute it in the microcontroller?
I guess these "instructions" are what a K9F5608U0D datasheet calls "commands".

Klaus
 

I want to implement an application, in which Data from an external system must be stored in flash memory. Flash memory must be 32MB. I can add 3 multiple flash memory chips to meet my storage of 96MB. A micro-controller is required to program read and write instructions to flash memory from external system. Which microcontroller will be suitable for this application.

In short, I am trying to build an application as an alternative to DiskonChip 2000.
Which interface is used by the external system? Said "DiskonChip 2000" has a parallel data bus interface, if you can talk to this chip, you can easily use an SD or MMC card instead, without an additional microcontroller.
 
Last edited:

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top