Mehr Speicher von Mikrokontrollern

"Sven Sybler"

>ich wüsste nur gerne, was die Angabe der Speichergröße eines >>Mikrocontrollers >>"48kB + 256B" >>bedeutet. Die Angabe bezieht sich auf den Flash Memory. >>Vielen Dank, Sebastian > Bei Mikrocontrollern gibt es üblicherweise 3 Arten von Speicher: > 1. Programmspeicher : So um die 4 - 64 KB... > Hier liegt der Maschinencode und wird auch dort abgearbeitet > 2. Arbeitsspeicher (RAM): Ca. 256 Byte - 4 KB > Für Variablen u.s.w. > 3. EEPROM: Vielleicht 32 Byte - 1 KB Größe > Für Werte die auch nach dem Abschalten noch da sein sollen... > Deine Frage wäre sehr viel einfacher zu beantworten, wenn du den > Mikrocontroller-Typ nennen würdest... > Mit 256 Byte RAM kann man schon einiges anfagen, auch wenn du > das jetzt nicht glauben willst. > Der Atmel 90s2313 wird auch heute noch oft verwendet, der hat nur > 128 Byte RAM...

Was macht man eigentlich, wenn man z.B. für eine _lange_ Messreihe mehr Speicher benötigt und die Daten für eine SD-Card zu schnell reinkommen? Wie funktioniert eine Speichererweiterung. Muss man sich dann wirklich um die Adressierung auf dem Speicher etc. mit Hilfe der IO-Pins selber kümmern?

MfG,

Markus

Reply to
Markus
Loading thread data ...

"Markus" schrieb im Newsbeitrag news:446ede70$0$11065$ snipped-for-privacy@newsread4.arcor-online.net...

Suchbegriff 'Banking', ein Latch haelt weitere Adressbits fuer den externen Speicher (wenn denn der uC uebehaupt ein Interface fuer externen Speicher hat, sonst muss man es eh per I/O machen).

--
Manfred Winterhoff, reply-to invalid, use mawin at gmx dot net
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
Reply to
MaWin

"Markus" schrieb im Newsbeitrag

Es gibt auch Microcontroller, die wesentlich mehr internen Speicher (XRAM) als 4kB haben, z.B. aus der 8051-Familie.

Eine nicht_ganz_aktuelle Übersicht findest Du hier:

formatting link

Sollte es noch nicht reichen, dann bleibt nur der Weg über externe Speicherbausteine. Manche haben auch reichlich FLASH- Speicher, in dem man ebenfalls Daten auslagern kann, sofern dieser IAP (z.B. die uPSDxxxx-Serie von ST Micro.) zulässt.

Gruß Max

Reply to
Max Karlich

"Markus" schrieb:

Nun, bevor die beiden von Manfred und Max genannten Dinge in Frage kommen: viele Controller können externen Speicher auf einfache Weise adressieren. Man muss dann zwar Portpins opfern für Daten- und Adressbus, oft ist er auch langsamer zugreifbar als interner RAM, aber die Adressierung erfolgt implizit wie beim internen Speicher, so dass auch Compiler davon Gebrauch machen können.

Es hängt dann vom Controller ab, wie viel RAM dort adressierbar ist. Bei den AVRs z. B., die ein externes Speicherinterface haben, sind das bis zu 64 KB minus interner RAM.

Banking, Flash etc. braucht man erst dann, wenn das nicht mehr ausreicht.

--
cheers, J"org               .-.-.   --... ...--   -.. .  DL8DTL

http://www.sax.de/~joerg/                        NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)
Reply to
Joerg Wunsch

Markusschrieb: "

Genau, es gibt auch Controller, die haben 1MB Programmspeicher (NEC bringt demnächst Versionen mit 2MB und 4MB heraus) und 48k RAM (aktuell verfügbar).

Glaub ich nich.

Das wird aber schon arg eng, wenn man Messwerterfassung machen will (ich denke da jetzt an digitale Filter, DMA zur Memory-Card usw.).

Wenn Flash zu langsam ist, muss man ebend auf RAM ausweichen (z.B. mit Cache-RAMs(5ns) oder SDRAM). Die Controller. die hier aber genannt wurden, werden eine gute SD-Card aber kaum an ihre Grenzen bringen. Die sind so grottig, dass sie eigendlich inzwischen in's Controller-Museum gehören.

Dirk

Reply to
Dirk Ruth

"Dirk Ruth"

Du meinst es ist doch sinnvoller eine SD-Card als externen Speicher zu benutzen? (Dann wird ja schon der Stromverbrauch interessant) Ich kenne mich mit dem Zugriff auf SD-Karten leider noch nicht so aus.

MfG,

Markus

Reply to
Markus

Markusschrieb: "

Das hängt von Deiner Anwendung ab. Was willst Du messen? Wie schnell werden Deine Messwerte gesampelt? Sollen die Messwerte "verarbeitet" werden (Filter, Mittelwertbildung, Formelberechnungen usw.)?

Es ist ebend ein Unterschied, ob man einfach nur Daten eines IO-Ports sampeln und auf die Karte schreiben will, oder ob ein PT100 über den internen AD-Wandler mit hoher Auflösung gemessen, nach der bekannten Formel in die Temperatur umgerechnet und die Werte dann mit Datum und Uhrzeit auf die Karte geschrieben werden sollen.

Viele Entwicklungsumgebungen bieten einen Simulator, mit denen man schon mal das Projekt virtuell umsetzen kann. Danach kann man abschätzen, welcher Controller d.h., welcher Verbrauch an Speicher vorgegeben und welche Geschwindigkeit nötig ist. Wenn man halbwegs portabel programmiert, kann man das auch auf verschiedenen Prozessor-Simulatoren testen. Du wirst dann feststellen, dass es da z.T. große Unterschiede bei der Verarbeitungsgeschwindigkeit gibt. Oft kann man auch durch gute Programmierung die Abarbeitung der Programms erheblich beschleunigen, was aber Erfahrung in der Programmierung vorraussetzt. Mein Tip ist, spar dir die Zeit dafür und inverstiere 2 EUR mehr in einen größeren Controller.

Für das Lesen und Schreiben auf Memory-Cards habe ich mit den Treibern von Holger Klabunde

formatting link
gute Erfarung gemacht. Da steht auch einiges über Schreibgeschwindigkeiten.

Es gibt aber auch noch viiele andere Quellen für sowas.

Dirk

Reply to
Dirk Ruth

"Dirk Ruth" schrieb im Newsbeitrag news: snipped-for-privacy@4ax.com...

Warum heissen die Teile eigentlich MIKROkontroller ? Weil sie für große Aufgaben gedacht sind ?

Sven

Reply to
Sven Sybler

Sven Syblerschrieb: "

Möglicherweise weil Mikroelektronik drin ist? Vielleicht kommt der Begriff auch noch aus Zeiten, als Strukturbreiten noch in um gemessen wurden.

Dirk

Reply to
Dirk Ruth

Ja, genauso wie MIKROprozessoren.

Gru=C3=9F, Enrik

Reply to
Enrik Berkhan

"Sven Sybler" schrieb im Newsbeitrag news:e54j4p$79m$01$ snipped-for-privacy@news.t-online.com...

Hallo Sven,

Mikrocontroller enthalten RAM, ROM(Flash) und Peripherie.

Mikroprozessoren haben keinen internen Programm- und Datenspeicher. Sie benötigen deshalb externes RAM und ROM(Flash).

Beide heißen MIKRO weil sie klein (Bauform) verglichen mit Minicomputern sind. Ja es gab eine Zeit da sprach man noch von Minicomputern. Heute heißt das eher workstation.

formatting link

Gruß Helmut

Reply to
Helmut Sennewald

"Dirk Ruth" schrieb im Newsbeitrag news: snipped-for-privacy@4ax.com...

In nem Grossrechner ist auch Mikroelektronik drin und der heisst trotzdem so...

Sven

Reply to
Sven Sybler

"Helmut Sennewald" schrieb im Newsbeitrag news:e553c5$3ne$03$ snipped-for-privacy@news.t-online.com...

Das ist mir schon klar. Ich wollte nur darauf hinweisen, das Mikrokontroller für kleinere Aufgaben gedacht sind und deshalb nicht besonders viel RAM und ROM haben.

Sven

Reply to
Sven Sybler

Am Sat, 20 May 2006 11:16:13 +0200 schrieb Markus :

Die Maxim/Dallas DS80C400 sind "aufgebohrte" 8051 Kerne, die bis 75MIPS können aund auch ca. 16MB externen Speicher Adressieren können. Kommt im praktischen QFP100 oder als Modul mit Speicher etc. Suche mal nach TINI-Modul.

--
Martin
Reply to
Martin

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.