Forum: Mikrocontroller und Digitale Elektronik Eprom umschalten


von Manuel ". (manum)


Lesenswert?

Guten Abend,
Ich bin neu hier im Forum da ich mich in meiner Freizeit vermehrt wieder 
mit Eproms und Microcontroller beschäftige.
Im Rahmen meines Studiums habe ich einige Berührungspunkte in diesen 
Bereichen gehabt. Nun ist das schon einige Zeit her und meine Kenntnisse 
sind etwas eingerostet.
Aktuell möchte ich ein Kleines Projekt umsetzten bei dem ich ein paar 
Probleme habe.
Ich möchte gerne ein Eprom mit der Kennung 27C512 umschalten. Dabei 
dachte ich daran mir einen 2. parallel zu diesem anzuschließen.
Meine Frage ist, wie würdet ihr das realisieren und welchen Eingang 
müsste ich wie schalten.
Leider sind mir die Kennung der einzelnen Eingänge nicht mehr ganz 
geläufig und ich erhoffe mir ein paar gute Ansätze.

Freundliche Grüße

Manu

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Nennt sich chip enable und ist low aktiv.
Theoretisch kann man zwei Chips huckepack machen und den CE dann 
schaltbar. Der andere inaktive wird dann gegen VCC gezogen.

https://www.futurlec.com/Memory/27C512-100.shtml

: Bearbeitet durch User
von M. K. (Gast)


Lesenswert?

Wie meinen?
Was willst Du tun?

Meinst Du einen Adressdekoder, der den /CS des jeweiligen Eproms 
aktiviert?

Manuel ". schrieb:
> Leider sind mir die Kennung der einzelnen Eingänge nicht mehr ganz
> geläufig

Da hat man mal was ganz geniales eingeführt.
Nennt sich 'Datenblatt'

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Die andere Lösung wäre der 27C010/27C1001.
Pin-Kompatibel mit größerem Gehäuse. Etwas zusätzliche Verdrahtung und 
fertig.

von Manuel ". (manum)


Lesenswert?

Ich habe mir das mit dem huckepack auch so gedacht.
Also einen 3 polligen Stecker mit gemeinsamer Masse und dann schaltbar 
auf die beiden einzelnen CE.

Das müsste also funktionieren.

Das Datenblatt habe ich mir dafür schon angeguckt und musste feststellen 
das ich mit den einzelnen Bezeichnungen
der Ausgänge  nicht mehr ganz klar komme.
Die Lösung die Dennis geschrieben hat ist mir derzeit leider zu hoch. 
Sie ist mit Sicherheit aber die elegantere Lösung

von Joachim B. (jar)


Lesenswert?

Manuel ". schrieb:
> Das Datenblatt habe ich mir dafür schon angeguckt und musste feststellen
> das ich mit den einzelnen Bezeichnungen
> der Ausgänge  nicht mehr ganz klar komme.

eigentlich sollte dich nur /CE oder auch mal /CS genannt interessieren.

bei low = 0V ist er ON, bei high = 5V ist er OFF

also 2 pullups 1k bis 4,7k (oder 4,7k bis 10k nach Geschmack) vom /CE 
(oder /CS) nach +5V, der gewählte bekommt per Umschalter (1x UM) seine 
Leitung auf die ankommende /CS Leitung geschaltet, also kommendes /CS 
geht entweder auf EPROM1 oder EPROM2
1
                  +5V  
2
                    |
3
                   ---   
4
                  |   |  R1                 +5V
5
                   ---                       |
6
           1xUM_____|_____ /CS EPROM1       ---
7
              /                            |   |  R2
8
/CS kommt-----                              ---    
9
               ______________________________|________ /CS EPROM2
10
11
oder umgeschaltet
12
                  +5V  
13
                    |
14
                   ---   
15
                  |   |  R1                 +5V
16
                   ---                       |
17
           1xUM_____|_____ /CS EPROM1       ---
18
                                           |   |  R2
19
/CS kommt-----                              ---    
20
              \______________________________|________ /CS EPROM2

von H.Joachim S. (crazyhorse)


Lesenswert?

Die eigentliche Frage: möchtest du vor Programmstart wählen, ob ROM1 
oder ROM2 aktiv ist? Das ist i.a. sehr einfach.
Oder möchtest du im laufenden Betrieb umschalten (beide Speicher das 
gleiche Programm, aber unterschiedliche Daten)?
Letzteres ist etwas komplizierter und muss synchronisiert werden. Sowas 
wurde früher (tm) gerne z.B. in Autosteuergeräten gemacht, um mit 
verschieden Kennfeldern zu fahren.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Google nach "bank switching" z.B. beim C64.

Ist die gleiche Technik, wurde dort verwendet um die ROMs in den 
RAM-Bereich einzublenden weil der 6510 nur 64K Speicher adressieren 
kann. Dadurch kann das Basic nur etwa 38K RAM verwenden, Spiele hingegen 
blenden das ROM sofort aus um den vollen RAM-Bereich nutzen zu können.

von Larry (Gast)


Lesenswert?

> Die Lösung die Dennis geschrieben hat ist mir derzeit leider zu hoch.
> Sie ist mit Sicherheit aber die elegantere Lösung

Der
> der 27C010/27C1001
hat ein Adresspin mehr als der 27C512.

Legt man da Low dran, kommt der Inhalt aus dem "unteren" Bereich
des EPROM. Mit einem High da dran, der "obere" Bereich.
So als wenn man zwei 27C512 haette.

Nur sollte man waehrend der Rechner laeuft, daran natuerlich
nicht herumschalten...

Mit noch groesseren ERPROMs/Flash-ROMs kann man dann noch
mehr "Baenke" vor dem Start auswaehlen.

Wenn man nicht Huckepack-Loeten will, sicher die elegantere
Alternative.

von Manuel ". (manum)


Lesenswert?

Vielen dank für die schnellen und auch hilfreichen antworten. Damit habe 
ich nicht gerechnet.
Mein Vorhaben bezieht sich auf ein Vorgewähltes Eprom vor dem 
Programstart.
Es dreht sich dabei um ein altes Steuergerät aus meinem Auto.

Ich werde es die Tage mal zusammensetzten und gerne Berichten.

Die variante bank switching klingt Interessant aber dafür reichen meine 
Kenntnisse leider noch nicht aus ;)

von Peter D. (peda)


Lesenswert?

Man kann einen beliebig größeren Flash nehmen und dann die höheren 
Adreßleitungen umschalten. In der Regel macht die CPU Mumpitz, wenn man 
ihr den Programmspeicher unter den Füßen wegzieht, daher ist ein Reset 
danach sinnvoll.
Ein Flash ist deutlich billiger als ein EPROM und einfacher zu brennen 
(keine UV-Lampe nötig).

von Joachim B. (jar)


Lesenswert?

ich brauchte zum Brennen nie eine UV Lampe, wie macht man das? (scnr)

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Wenn Du die Timings beim Umschalten der Bänke beachtest oder evtl. 
Waitstates einfügst wenn nötig, macht die CPU auch keinen Mumpitz. Wenn 
man das richtig programmiert und die Umschalt-Sequenzen in allen EPROMs 
an gleicher Stelle liegen, kann man auch einen aktiven Programm-EPROM 
umschalten, ohne daß die CPU das bemerkt. Sollte die CPU schon sowas wie 
eine Pipeline haben, muß die natürlich verworfen und neu geladen werden.

> ich brauchte zum Brennen nie eine UV Lampe, wie macht man das?
Mit Benzin, ist doch logisch! ;)

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
Noch kein Account? Hier anmelden.