AVR und externer Programmspeicher

Gast #36377
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
Gast #36381
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
Gast #36382
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.
Gast #36383
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
Gast #36384
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
#36385
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
Gast #36386
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren