which microcontroller for data acquisition and storage?

Sep 13, 2003 12 Replies

Hi all,



I am having trouble finding the right microcontroller chip. I need a chip that has large amounts of RAM on-board, because I need to store many millions of 16-bit data, which will later be uploaded to a PC. I would prefer something that is a good match for my limited prototyping setup, i.e. which has a DIP package.



But does such a thing exist?



Thanks for any help.


I don't there's any microcontroller with several megabytes of RAM on it. If you need that kind of RAM, you're best off using a microprocessor or a microcontroller that can access external memory chips.

I don't know of anything with that much memory directly. Even my MAVRIC board which has 128K of RAM and is considered a lot for a typical micro does not have enough for that. But you may look into interfacing with a compact flash card which come in a variety of sizes.

For example, see the following for instructions on how to hook up and use a compact flash card to an AVR. Code is BASCOM-AVR:

formatting link

Cheers,

-Brian

Brian Dean, bsd@bdmicro.com BDMICRO - Maker of the MAVRIC ATmega128 Dev Board http://www.bdmicro.com/

Microcontrollers don't have millions of words of RAM, most have 4096 bytes or less. Some microcontrollers can handle up to 128k to 256k bytes of RAM externally though. What it looks like you really want is a DSP like those from Texas Instruments. The higher end ones can handle upwards of

32bit and 64 bit external memory addressing. So you could pile in a lot of external memory on these suckers. 32bit gives you gigabytes of data storage.
formatting link

If your on a budget, your going to have to settle for a Intel CPU based main logic board like those used in a PC,or maybe a PC-104 style board, or a SBC solution, then you could max out the RAM on the board and even use a hard disk to store data. You could run most any OS you want too. The ARM based CPU's may be promising but most of these have PCB's with 1meg of RAM and of flash being normal. Some have maybe up to 4meg.

No.

You should define just what 'many millions' actually means, and also the storage rate, and upload rate needed.

If the readings are slowly changing ( well correlated ) then compression is a candidate.

The most common solution for this problem, is off-chip serial storage. Atmel Data FLASH has interleaved RAM buffers, so can support a reasonable storage rate.

For a possible single chip, the uPSD from STm has half a megabyte of FLASH, 32K SRAM, and USB ( for fast upload )

-jg

Theres a lot more choice than that! try the LART and offerings from Simtec

Spyros lair: http://www.mnementh.co.uk/ |||| Maintainer: arm26 linux Do not meddle in the affairs of Dragons, for you are tasty and good with ketchup.

Thanks for all the replies, folks.

About the CompactFlash option, that's a good idea. Although I will need to read as many data as I can per second, and I am wondering what the limit is for writing to flash. The last time I looked at flash, many years ago, the write speed was low. But then these days I know it is faster.

Also, there is a Circuit Cellar project that does just that. The guy connected a PIC processor to a CompactFlash socket, using the 8-bit access mode of the CompactFlash standard rather than the IDE approach. So it is slow, but the idea is clever.

About microcontrollers with lots of RAM, I discovered one that is intriguing: the MRM (Mini Robot Mind). It's here:

formatting link
It can take up to 1 meg using a daughter card and the guy who produces it is about to release a daughter card that takes CompactFlash. The main board is only $99 and has a 68332(?). The only comparable thing I know of is a discounted 386SX board that I found, which is not quite as good for me although I suppose it would run Linux.

Thanks again...

I've used an Atmel Mega8L CPU and AT45DCBxxx DataFlash with SPI serial connection to create a data logger. Works quite well. The flashcard has on-board RAM buffers allowing you to collect your samples and when the buffer is full, write to Flash.

Rob

If 1Mb is enough then look at serial data Flash from Atmel, as suggested elsewhere. This goes up to 8Mbytes. Else an MMC card can go up to 1Gb these days. as to micros, well that depends on your data logging needs. If your needs are simple I have a built board with a 2Mb serial data flash and either an MSP430F1121 or an MSP430F149 on it, in both cases there is also an RF transceiver, but I have the bare boards if you want to get the parts and load your own. The tools for this micro are cheap, free software and $10 program/debug interface.

Al

flarkblark wrote:

Why not using directly a PC-compatible module with a PCMCIA socket, like a PC104 form-factor ones ? You can then easily find 64 or even 256Mb memory modules, and the software support is built-in.

Cheers, Robert Lacoste - ALCIOM : The mixed signals experts

formatting link

"flarkblark" a écrit dans le message de news: snipped-for-privacy@posting.google.com...

I was under the impression that PC104 is expensive. If not so, I would be happy to give that a try. I don't want to spend more than $150 on the board, so if PC104 is above that threshold I think the Mini Robot Mind will be my likely choice. Cheers-

As others have mentioned, on-chip memory is usually very limited, but many can handle good amount of external memory, with SRAM usually being the easiest to work with. Also, often you can have more memory than speced

-- once I had an 8051 with 128kb memory.

But if you want to do data acquisitiion and upload the data to a PC, why don't you just get a DAQ card and install it in a PC ?! With a PC you can have gigabytes of memory and the upload part will get factored out.

Well I wanted to do the acquisition on-site, and the PC is far away. However I may be able to get a laptop as a temporary solution, in which case I think there is a $50 parallel-port DAQ solution that will work.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required