Forum: Mikrocontroller und Digitale Elektronik AVR und externer Programmspeicher


von Jens Gergen (Gast)


Lesenswert?

Hi,
gibt es eine Möglichkeit an einen AVR (egal welches Modell) z.b. ein
EPROM dranzuhängen, um so den Adressbereich zu erweitern. Mag sein,
dass 128K vom ATMEGA128 viel Speicher ist, allerdings nützt mir das
nichts. Ich würde gerne dem Anweder die Möglichkeit geben das Programm
einfach durch auswechseln eines EPROMS zu aktuallisieren. Ohne das
dafür ein PC mit ISP benötigt wird.
Folglich bräuchte ich einen AVR mit rausgeführten Adressleitungen. Gibt
es sowas? Was wären meine Alternativen?

mfg Jens

von crazy horse (Gast)


Lesenswert?

keine Möglichkeit, egal welchen AVR du benutzt. Es gibt zwar einige
Typen mit externem Speicherbus, aber das ist nur als Datenspeicher
nutzbar, niemals als Programmspeicher.

von Jens Gergen (Gast)


Lesenswert?

gibts denn andere Mikrocontroller auf die ich zurückgreifen könnte?

von Daniel Roth (Gast)


Lesenswert?

Hallo !!

Könntest höchstens eine langsamere Interpretersprache benutzen, die
beim Speicher nicht so zimperlich ist.

Daniel

von Jens Gergen (Gast)


Lesenswert?

du meinst einen Interpreter im AVR zu implementieren der den externen
Speicher ausließt und abarbeitet? Das hatte ich mir auch schon
überlegt. Allerdings ist der technische Aufwand dafür relativ hoch. Ich
fürchte dass es dafür noch keine fertige Lösung gibt, und so etwas
selber zu entwickeln ist ein harter Brocken. Desweiteren wäre diese
Lösung extrem langsam :(

mfg Jens

von crazy horse (Gast)


Lesenswert?

nimm was 8051-kompatibles, gibts von vielen Hertellern, bei vielen Typen
kannst du externen Speicher anschliessen. Hat auch den Vorteil, daß du
nur einen 8bit-Eprom brauchst (beim AVR wären 16bit nötig). Weiterer
Vorteil: einen Teil kannst du im internen Programmspeicher unterbringen
und damit dem Programm, welches dann im externen ROM läuft, bestimmte
Routinen zur Verfügung stellen.

von Markus Kaufmann (Gast)


Lesenswert?

@Jens: Wenn Du den externen Speicher nur für das Programmupdate
brauchst, das geht auch mit einem AVR:
Schreib einen Bootloader, der erkennt, daß ein neues EPROM da ist
(Versionscheck, Prüfsumme o.ä.) und sich dann mit den Werten aus diesem
EPROM programmiert. Dabei muß es ja nichtmal ein EPROM sein, ein
serielles EEPROM tut es dabei ja auch (braucht weniger Platz auf der
Platine).

Markus

von BernhardT (Gast)


Lesenswert?

Jens,
lass dich nicht durcheinanderbringen. Was theoretisch machbar sein
könnte und so..

Dein zweites Nachharken :
gibts denn andere Mikrocontroller auf die ich zurückgreifen könnte?
fand ich Klasse.
Crasy hat dir, eine für dich sicher nützliche Antwort gegeben. Die 8051
sind vieleicht die weitverbreiteste Familie der Busorientierten uC's.
Es gibt keinen Sinn einen als Single-Chip ausgelegten uC dafür nehmen
zu wollen.
Gruß Bernhard

von Peter D. (peda)


Lesenswert?

Wenn Du nicht an die AVR-Architektur gebunden bist, ist ein ROM-loser
80C31 zu empfehlen, die dürften heutzutage kaum mehr als 1Euro kosten.
Manchmal werden auch spottbillig fehlprogrammierte 87C51 kiloweise
abgegeben, die dann ja immer noch im 80C31-Mode laufen können.

Es gibt auch EPROMs mit Adreßlatch (z.B. 87C257), d.h.die kannst Du
direkt an den 80C31 anschließen. Normale EPROMs benötigen noch einen
74HC573 zusätzlich.

Nachteil ist, daß Du dann nur noch 16 Portpins übrig hast, die anderen
16 benötigt der EPROM. Allerdings kann man z.B. ein LCD mit an den
EPROM-Datenbus hängen.


Ansonsten können alle ATMEGA sich selbst programmieren, d.h. den Inhalt
eines externen EEPROM in den Flash kopieren und dann dort ausführen.
Das Kopierprogramm must Du aber erst reinbrennen.


Peter

von Jens Gergen (Gast)


Lesenswert?

danke für die Hilfe. Ich habe mich ein bisschen über die 8051er
informiert und denke ich werde diese einsetzten. Ein Verständnisproblem
habe ich allerdings leider noch. Prinziepiell scheinen diese mit 64K
Speicher klarzukommen. Was wenn ich mehr bräuchte? Könnte ich mit der
Paging-technik den Adressraum erweitern?

mfg Jens

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.