ARM7 with external memory

Hello group,

I have been tasked with investigating possible solutions for a new product. I have normally used micros with flash/ram memory onboard, but now we need to have atleast 1MB codememory and the same amount of RAM, so I have been looking for a while to find some possible setup. It appears to me that singlechip MCU's are much more popular (naturally), but I would like to ask all of you for an advice on the following:

What micros do you use with external memory? Why? What RTOS? Why?

Total systemcost is an issue for this product.

Thanking you in advance for any input on the matter.

Reply to
Henrik [6650]
Loading thread data ...

In article , Henrik [6650] writes

Is this home work?

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills  Staffs  England     /\/\/\/\/
/\/\/ chris@phaedsys.org      www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Reply to
Chris Hills

You cannot make any decision based on just requirement for memory size. You need to know processing requirements and peripherals.

If large Flash/RAM is the only requirement, then AT91M40800 is a good low cost alternative. Many would consider the AT91RM9200 running Linux as a good candidate.

--
Best Regards,
Ulf Samuelsson
ulf@a-t-m-e-l.com
This message is intended to be my own personal view and it
may or may not be shared by my employer Atmel Nordic AB
Reply to
Ulf Samuelsson

Of course not, I am aware of that, and perhaps I should have been more detailed in my previous post. However, my peripheral requirements is likely to be fulfilled by most devices. I only need a serial port and a SPI and a few IO. Of course I need 16 bit timers and preferably a dedicated PIT for the RTOS.

My reason for requesting large flash/ram sizes is that I need to do quite a lot of dataprocessing and storing. I plan on using SQLite and use SPI flash for storage. For the GUI I plan to maintain rather large amounts of dataobjects in RAM for easy and fast access. Hence the high RAM demand. Also, since the customers specs as to datamanipulation is not yet 100% defined, I prefer to start out large, and shrink if possible.

Actually I have been looking at AT91 series since we use atmel in almost every product we ship today, but I feared that those would "soon" be EOL (with nothing than a "gut feeling" to base it on) and I need to be able to manufacture this product for atleast 5 years from january 2007. I hope I am totally mistaking here??

With AT91 in mind, could anybody suggest a RTOS to look at?

Thank you,

Henrik

Reply to
Henrik [6650]

Absolutely not. This is for our next generation controllers for animalfeeding. Our current solution is based on a 8051 architecture, but due to the amount of data we need to process and store, we want to "climb the ladder" a step or two.

Thank you,

Henrik

Reply to
Henrik [6650]

What is your target unit cost and estimated volume? Maybe COTS hardware would provide a simple solution if your interfaces are that simple (as per other post).

Regards, Richard.

formatting link

*Now for ARM CORTEX M3!*
Reply to
Richard

AT91M42800A will do the job for you then. This is 0,35u.

If this makes you nervous, and you can wait just a little, then the AT91SAM9260 and AT91SAM7SE should be arriving this summer. The AT91RM9200 is avaialble, but will be more expensive.

--
Best Regards,
Ulf Samuelsson
ulf@a-t-m-e-l.com
This message is intended to be my own personal view and it
may or may not be shared by my employer Atmel Nordic AB
Reply to
Ulf Samuelsson

I believe that we would be able to do the hardware for about 150USD which is what we have as an initial budget. We have been looking at COTS hardware, but we have not been able to find any that match our needs and demands. We bare temperature extremes below -15 degrees celcius and the environment i relative noisy (electrically, that is). Our estimated annual volume is about 2-2.5K units.

Thank you, Henrik

Reply to
Henrik [6650]

I'd use only a small flash for booting, enough RAM for code+data, and an SD/MMC card for code and permanent data. All SD/MMC cards have an SPI mode, and firmware updates and database backups will be very easy then. If you need speed you could always use the sd cards' 4 bit mode.

Mit freundlichen Grüßen

Frank-Christian Krügel

Reply to
Frank-Christian Kruegel

Check out

formatting link
or
formatting link

The IO Technologies pricing for AT91RM9200 CPU module + 8 MB of dataflash + 16 MB of SDRAM is 68 Euros = $85

--
Best Regards,
Ulf Samuelsson
ulf@a-t-m-e-l.com
This message is intended to be my own personal view and it
may or may not be shared by my employer Atmel Nordic AB
Reply to
Ulf Samuelsson

Nobody has any idea what you are trying to do. I think you are approaching things from the wrong end. What does the system do; what are its inputs; its outputs; its time frames, etc. What, if any, human interface is needed. What, if any, cow (or other beastly) interface is needed. You would be well advised to write the code and then look for something on which to execute the result. 150 USD can buy a lot of processing power these days. A noisy environment probably means such things as shielding, ecc memory, self-healing software, and various fail-safes.

--
"If you want to post a followup via groups.google.com, don't use
 the broken "Reply" link at the bottom of the article.  Click on 
 "show options" at the top of the article, then click on the 
 "Reply" at the bottom of the article headers." - Keith Thompson
More details at: 
Also see
Reply to
CBFalconer

I am not sure I understand you on how I attack this from the wrong end. My questions is about what possible platforms I could use, with respect to external memory and a possible RTOS. Of course I would not recklessly jump at the first answer without further investigation and close collaboration with my HW colleagues. I just need a starting point, because my primary field of work so far has been singlechip MCU's. Our peripheral demands are quite few as per my previous post and the human interface is as simple as a small characterbased LCD. The primary human interface is via serial link from a PC.

various fail-safes.

Yes, it means exacly that. Things that we have been doing for over 10 years and that have proven their worth in thousands of units shipped across the world.

Thank you, Henrik

Reply to
Henrik [6650]

If your human interface is a "small characterbased LCD", why do you need an external memory ARM ? - flash ARM singe chip uC reach up towards

1Mbyte.

Off chip memory devices have a lot more bus/antenna to crash in noisy environments !

Actual Code size is not likely to be an issue, so I'd look at serial data flash devices - they will easily store anything you might want to display on a character LCD, as well as hold your data sets ? In data flash devices, Atmel have 66MHz Models, and Winbond have just released 150MHz models, which is faster than any ARM7 can pump the data.... [ and way faster than any human can read the LCD :) ] These things are tiny - use more than one, if it simplifies partition of GUI ( eg Language ? ) and data sets ( removable ? )

If the ARM you choose has limited SPI's, add a small CPLD to handle card/spi MUX.

-jg

Reply to
Jim Granville

...

If you read carefully, he is asking for 1 MB of SRAM as well.

--
Best Regards,
Ulf Samuelsson
ulf@a-t-m-e-l.com
This message is intended to be my own personal view and it
may or may not be shared by my employer Atmel Nordic AB
Reply to
Ulf Samuelsson

Well, sort of; first he says

"For the GUI I plan to maintain rather large amounts of dataobjects in RAM for easy and fast access. Hence the high RAM demand."

but then, he says

"the human interface is as simple as a small characterbased LCD. The primary human interface is via serial link from a PC."

so I focused more on what the unit has to DO, than on what resource the first guess plucked from the air :)

Using 1MB of SRAM to drive a CharLCD is a serious missplacement of resource.

-jg

Reply to
Jim Granville

resource.

The unit operates in cycles, where when a cycle is performed, a lot of (several 100's) of dataobjects need to be read and modified over and over again until the cycle completes. Modifications can occur via the serial link or as a result of the cycle progress, requring me to have two sets of dataobjects and track changes from both sides. Therefore my plan is to load all of these objects into an objectstore in RAM upon cyclestart and then persist these objects when the cycle ends.

The estimated ressourcedemands is in no way "plucked from the air", of course we do not want to shoot way over the top, but also we do not want to be limited by some parts internal memory halfway through the project or redesign some essential part of the software, because we are tight on memory.

The model we use, we have implemented with great success on Windows CE.NET for our larger Controller Unit, so the design is proven and we want to stick with it where it makes sense.

When I started this thread, my inital goal was for people to comment on what microcontroller units they would use with external memory and why, same thoughts on the RTOS. I am fairly new to this group, although fairly "old" in the world of embedded SW engineering, and I apologize for not having been more specific about the product and my motivation for using external memory. I feel I have come off here as an amateur, which was not intended.

Reply to
Henrik [6650]

That's new information, but even adding this, it does not sound like 1MB of SRAM... what size are these objects ?

You could look at these new devices :

formatting link

formatting link

they have 96K SRAM, 512KF, plus Ethernet/USB/CAN in the top model, with dual-bus memories, burst FLASH, and claim 96MHz...

They also have numerous external BUS options, so you could connect more memory.

USB sounds like it could be very usefull.

-jg

Reply to
Jim Granville

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.