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: http://www.youtube.com/watch?v=ruTd88uq3L0 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
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.
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.