mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Verständnisproblem: Kommunikation CPU<->ROM<->Aussenwelt


Autor: Dan M. (killler07)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein grundlegendes Verständnisproblem im Bezug auf 
Cartridge-Basierte Systeme wie z.b. ältere Spielekonsolen (hier Sega 
Mega Drive / Motorola 68000).

In der Konsole ist die CPU, die selber keinerlei BIOS oder sonstige 
Software enthält. Auf der Cartridge ist ein simples paralleles ROM über 
Daten und Adressleitungen mit der CPU verbunden, die diese Anweisungen 
genau so ausführt und die Adresse um 1 inkrementiert.

Nun angenommen, ich möchte über diese Cartridge mit der Aussenwelt 
kommunizieren, wie es die sogenannten Flash-Carts tun. Da ist ein uC und 
ein paraleller Flash-Speicher drauf.

Beispiel: http://krikzz.com/

Wenn man diese Cartridge einlegt, kann man in einem Menü die Daten auf 
der SD Karte einsehen und Files in den Flash-Speicher brennen.

Beispiel: Youtube-Video "everdrive flashcart: module system demonstration"

Was mir dabei nicht klar ist, wie diese dynamischen Informationen (z.B. 
die Dateiliste der SD-Karte) in die CPU kommen, die ja eigentlich nur 
ein ROM abarbeitet, ohne jegliche GPIOs.

Kommuniziert der uC dabei direkt über die Daten/Adressleitungen mit der 
CPU? Dafür ist er doch zu lahm?
Oder wird das Flash während der Ausführung vom uC mit den nötigen 
Informationen beschrieben?

Beide Antworten erscheinen mir nicht plausibel..vielleicht kann mir 
jemand gedanklich auf die Sprünge helfen.

Sagen wir, ich habe einen AVR und einen Flash-Speicher auf der 
Cartridge. Das Ziel des Programms im Flash-Speicher ist, den Zustand 
eines Ports am AVR auf dem Bildschirm auszugeben. Wie kommen die Daten 
vom AVR in die CPU der Konsole?

Viele Grüsse und Danke für das lesen dieses laaaangen Posts,

Dan

Autor: Lupin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
auf der Flashcart ist ein CPLD drauf, welches man dazu nutzen könnte um 
an speziellen Speicheraddressen (ausserhalb des Flashs) Register zu 
definieren (wie PORTx DDRx vom AVR) um mit diesen Register 
Pin-Funktionen zu steuern.

Also wenn die Software z.B. an die Speicherstelle zum Setzen der Pins 
schreibt, leitet das CPLD den Schreibbefehl an seine Pins weiter. Dafür 
wäre ein Mikrocontroller zu langsam, das geht nur in echter Logik.

Autor: Lupin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf der Seite gibt es auch eine Beschreibung wie das Teil funktioniert, 
der hat den SPI Bus im CPLD (FPGA?) nachgebildet. Aber man könnte auch 
mit IOs arbeiten.

Autor: Dan M. (killler07)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also soweit ich das verstanden habe, muss man die benötigten Daten an 
Adressen über dem Flash-Speicher mappen.
Dies muss man mit einem CPLD oder im einfachsten Fall bei einem einzigen 
Register diskret bzw. mit 74xxx tun.

Diese Adresse kann man dann einfach aus dem Programm im Flash-Speicher 
heraus auslesen.

Leider ist auf der Seite kein Schaltplan :(

Und mit dem AVR wird das wohl wegen der Geschwindigkeit nix...zumal er 
ja noch Schieberegister bräuchte bei der immensen Zahl an Daten und 
Adressleitungen. Ich dachte man könnte so eine SD-Flashcart mit AVR 
realisieren, aber es sieht schlecht aus.

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.