mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik externen eprom an einen avr?


Autor: Ulf Wetzker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich wollte fragen, wie man es am Besten anstellen wuerde, wenn man an
einen AVR extern einen nichtflüchtigen Speicher anschliessen will? Der
Grund dafuer ist, eine Art Cartridge zu bauen, in der man verschiedene
Programme unterbringen kann. Beim Einschalten des AVRs soll der das
Programm vom externen Speicher aus ausfuehren. Meine einzigste Idee
ist, es irgendwie ueber die IO Ports zu machen, wo ich aber nicht
sicher bin ob der schnell genug ist (naja und dann sind halt ein Haufen
IO Ports dadurch belegt). Bzw wuerde das ueberhaut gehen?!?


(Wollte mal probieren eine primitive TV-console zum Spielen zu
basteln.)

Wuerde mich freun wenn mir jemand weiter helfen koennte.

cu ulf

Autor: sebezahn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich weiss nicht genau, aber wahrscheinlich geht das nicht. Auf keinen
Fall kann der ATMEL Code vom externen Speicher ausführen. Aber
vielleicht kann man einen zweiten, kleinen Chip nehmen, sich ein
Programm aussuchen und dies über den Bootloader in den "großen"
Spiele-Atmel ziehen.

Aber wäre es nicht mal eine Idee, eine Programmierumgebung IM Atmel zu
schreiben, quasi einen Interpreter, der Code von außen umsetzt? Ich
weiss, höllenschwierig, aber es könnte gehen, oder nicht?

Würde mich freuen, wenn da mal ein paar Leute Ihren Senf dazu geben.

Gruß
Sebezahn

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Interpreter geht zwar (hab' auch schon drüber nachgedacht), aber
wahrscheinlich schon wieder halt langsamer. Die Idee mit den 2 AVRs
hatte ich auch schon! :-)

Ansonsten halt einen ARM-Prozessor von Atmel, die führen externen Code
aus. Kosten aber glaube ich einmalige Lizensgebühren.

Sebastian

Autor: sebezahn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, stimmt schon, langsam ist aber immer relativ. Wenn man dann die
Möglichkeit hätte, Seitenlange Rechenoperationen auszuführen oder
Programme auf eine Flash-Card zu packen und dann einfach in sein Gerät
zu stecken, vielleicht sich vorher sogar noch ein Programm auszusuchen,
bevor man es startet, dann wäre das schon ziemlich klasse. Außerdem
ließen sich damit, da eine CF-Card-Implementation ja ohnehin schon im
ATMEL existieren müsste, auch Files "einfach" verwalten.

Hach, da kommen Gefühle an den C64 wieder hoch... g Commodore 64 goes
ATMEL, wie wärs ;-)

Gruß
Sebezahn

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
da gabs ma nen sehr ... "interresanten" thread zu einfach mal hier im
forum nach konsolenbau suchen
autor war hell-master... ;)

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulf:
Nimm einen ATmega128, da passen einfach alle Spiele gleichzeitig ins
Flash. Ansonsten könnte man wechselnde Programme über den Bootloader
ins Flash schreiben. Das geht zwar nicht beliebig oft, sondern nur
10.000 mal (laut Datenblatt, wahrscheinlich auch viel öfters), aber das
sollte für eine Spielekonsole auch ausreichen.

Interpreter geht natürlich auch und zumindest für die 8051-Familie
gibts auch Basic-Interpreter. Theoretisch könnte man auch eine Java
Virtual Machine implementieren, aber die ist wohl zu groß (und zu
aufwendig).

Ansonsten sind die AVRs halt einfach ungeignet für das Problem. Such
Dir eine CPU mit von-Neuman-Architektur oder eine mit
Havard-Architektur, die den Code-Bus nach außen geführt hat.

Markus

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Die ARM's von Atmel sind riesig. TQFP100 und aufwärts. Sehr
interessant sind die LPC21XX von Philips. Fast der gleiche ARM-Kern
(7-TDMI bei Atmel gegen 7-TDMI-S bei Philips) allerdings in wesentlich
kleinere Gehäusen.

z.B.
LPC2106 LQFP48, 128k Flash, 64k RAM, 0..60MHz, UART, I2C, SPI, 6*PWM, 4
Timer, JTAG
http://www.semiconductors.philips.com/pip/LPC2114FBD64.html

oder
LPC2124 LQFP64, 256k Flash, 16k RAM, 0..60MHz, 2*UART, I2C, 2*SPI,
6*PWM, 4 Timer, 4*10Bit ADC, JTAG
http://www.semiconductors.philips.com/pip/LPC2106.html

Beide machen 60MIPS aus dem Flash, lassen sich über einen günstigen
Adapter debuggen und alle wichtigen GNU-Tools sind für den ARM
vorhanden.

Vorteile:
+schnell
+C-Compiler verfügbar
+Code kann aus dem RAM ausgeführt werden

Nachteile:
-eklig kleines Gehäuse (0,5mm Pitch)
-noch etwas bugbehaftet
-zwei Spannungen (1,8V und 3,3V) erforderlich

Ich bekomm demnächst ein Demoboard mit dem LPC2124. Bei Interesse kann
ich dann hier einen kleinen Erfahrungsbericht posten.

Matthias

Autor: Ulf Wetzker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke fuer die vielen Antworten!
Da das Ganze, so wie es aussieht, doch etwas schwieriger zu sein
scheint als ich dachte, ueberlege ich gerade, ob ich doch keinen AVR
nehmen sollte und mit was anderen anfange. Das Ding ist das ich bis
jetzt eh noch nicht soooo viele Erfahrungen habe und noch ein echter
Neuling bin.  Deswegen weiss ich jetzt nicht so genau ob andere
Mikrocontroller nicht zu schwer fuer einen Einstieg sind!?!

Da die Frage nach anderen Mikrocontrollern jetzt hier offtopic ist,
schreibe ich dazu jetzt noch einen anderen Beitrag :)

cu ulf

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.