www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Flash Bank-Switch


Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte mit einem8-fach DIP-Switch das Bank-Switching machen. Wie
muss die Schaltung dazu aussehen ??

gruß, thomas

Autor: Weihnachtsmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Was willst du denn genau damit machen?

Gruss

Weihnachtsmann

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe "ein" flash programm das verschiedene HW versionen und filter
verwendet. dieses müss aber vor programm start schon festgelegt sein. in
der anzeige steht dann von 00-FF alles, also alle 256 möglichkeiten der
8 DIP schalter. wie kann so etwas realisiert oder möglich sein. sind
doch nicht etwa 256 progs oder ??

gruß, thomas

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
edit: also es steht je nach auswahl ein Hex wert (OO-FF)

Autor: Jörn Kaipf (joern)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie breit ist deine Adressbus bzw. wieviel Speicherplatz brauchst du für
deine HW Versionen und Filter?

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
adressbus [21..0] Speicherplatz weiss ich leider nicht ... das programm
ist nur funktionsfähig compiliert vorliegend, ich das cpld im prinzip
kopieren, ist aber schriebgeschützt .. :(

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
help

Autor: Marius Schmidt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich verstehe nicht wo das Problem ist?

Nimm einfach deinen dip schalter und schließe ihn an die hohen address
pins des flash speichers an [21..13], dann verbinde [12..0] mit dem
gerät das code ausführen soll und fertig!

Dann hast du 256 pages zu je 4096 bytes die du per dip schalter
auswählen kannst, du musst nur sicherstellen, das das Gerät welches das
Programm ausführt beim umschalten auch reseted wird oder noch im reset
status ist.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das gerät ist übrigens ein Gameboy und der benötigt Adresse[15:0] für
die Programmabfrage. Also hab ich nur 6 freie Leitung zur Verfügung.

Autor: Marius Schmidt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was genau baust du denn? eine flash karte für deinen gameboy? Warum
benutzt du noch einen alten gameboy? der GBA ist viel besser und
einfacher zu programmieren :P

Naja egal, also wenn er soviel Addressraum benötigt kannst du halt nur
64 bänke machen und brauchst einen 6-fach DIP-Schalter oder du nimmst
einen größeren Speicher der mehr address-leitungen hat. Dein Speicher
scheint ja 2 Mb groß zu sein und jedes gameboy ROM ist dann 32kb groß
(32kb * 64 bänke = 2048kb)

Das Prinzip ist halt das du die hohen address-signale über schalter
anwählst um damit die pages um zu schalten, der Gameboy bekommt davon
nix mit und befindet sich dann auf einmal ganz woanders im Speicher
ohne es zu merken, deshalb bekommst du bestimmt auch ganz lustige
Ergebnisse wenn du während des Betriebes die DIP-Schalter betätigst ;)

Ich bin selber dabei eine Speicherkarte für einen Pokemon Mini zum
laufen zu bekommen (http://pokeme.shizzle.it/), das ist noch etwas
komplizierter dank multiplexed address bus.
Bankswitching hat die zwar noch nicht aber ich möchte das im CPLD
machen, den ich bereits für das ent-multiplexing benutze, weil das halt
eleganter ist als DIP-Schalter (bei einer CPLD lösung muss das
Bankswitching aber auch im Programm-Code erfolgen, zB durch eine
Kombination aus mehreren Lese- und Schreibzugriffen (So wird das
normalerweise gehandhabt)).

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1: Ich nutze den GBA
2: Ich nutze den GBA mit multiplexed Bus (funktioniert)
3: Ich weiss nicht, ob die DIP-Schalter  bei meinem (ich habe nur eine
kompilierte Fassung) Programm was mit dem Bank-Switching zu tun haben
oder wozu die dienen. Ich weiss nur, dass sie alle 8 irgendetwas
bewirken und zwar umschaltung von filtern, HW-Versionen, Flash-Burner
starten etc .... und auch beim aufstarten nach dem GB Logo eine
unterschiedlich Version anzeigen (Ox XX, also von 00-FF)

Gruß, thomas

Autor: Marius S. (lupin) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
tja dann kann ich dir auch nicht weiter helfen. warum willst du dir
sowas überhaupt selber bauen? es gibt doch gute GBA flash karten für
wenig geld. Ich hatte mal eine F2A Ultra 256 mbit karte, aber die hab
ich irgendwie zusammen mit meinen GBA verloren :(

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sowas kann man nicht kaufen ... ich will doch daten von extern da rein
bringen !! und dann zB als tacho usw an mein fahrrad bauen !!

gruß, thomas

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]
  • [vhdl]VHDL-Code[/vhdl]
  • [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.