Forum: Mikrocontroller und Digitale Elektronik DS1210 als Ersatz für BA6162?


von Dirk (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich benötige Hilfe! Ich möchte ein altes SEGA-Cartridge wieder nutzen. 
Auf dem Cartridge ist ein batteriegepuffertes RAM vorhanden, welches 
über einen ROHM BA6162 gepuffert wurde. Dieser BA6162 ist aber auf dem 
Cartridge nicht mehr vorhanden und kaum noch zu bekommen (DIP). Meine 
Idee ist nun, als Ersatz einen (noch einigermaßen und zu zivilen Preisen 
verfügbaren) DALLAS DS1210 zu nutzen. Dieser soll auch 
batteriegepuffertes RAM controllen, ist aber nicht pinkompatibel zum 
BA6162.

Ich habe es bisher nicht geschafft, eine "Überleitungstabelle" zu 
schreiben, sprich: Welchen PIN des DA1210 muss ich mit welchem PIN des 
BA6162-Sockels verbinden, damit der DS1210 die Aufgaben des BA6162 
übernimmt.

Kann mir hier jemand mit Expertenwissen diese "Überleitungstabelle" 
schreiben? Ich hänge mal die Belegung der beiden Chips mit hier hinein.

VG,
Dirk

von Dirk (Gast)


Lesenswert?

Noch ein Nachtrag: Wenn jemand eine Idee hat, was ich noch als Ersatz 
für den BA6162 nehmen kann, bitte gerne vorschlagen.

VG,
Dirk

von Stephan (Gast)


Lesenswert?


von Dirk (Gast)


Lesenswert?

Hallo Stefan,

ja, die Info habe ich schon gelesen, aber für so einen 
"replacement-circuit" ist in einem SEGA-Cartridge nicht ausreichend 
Platz. Und die Antwort auf die eigentliche Frage wurde auch in diesem 
Fred nicht gegeben .... Scheint also nicht so einfach zu sein, daher 
frage ich ja auch nach.

VG,
Dirk

von Peter D. (peda)


Lesenswert?

Dirk schrieb:
> Ich habe es bisher nicht geschafft, eine "Überleitungstabelle" zu
> schreiben

Das geht nicht 1:1.
Der Trick ist, das /CS oder /WR-Signal durch den DS1210 zu leiten. Dann 
wird ohne VCCI ein versehentliches Schreiben verhindert (/CEO bleibt 
high).
Steht alles ganz genau im Datenblatt des DS1210.

von Dirk (Gast)


Lesenswert?

Peter D. schrieb:
> Der Trick ist, das /CS oder /WR-Signal durch den DS1210 zu leiten. Dann
> wird ohne VCCI ein versehentliches Schreiben verhindert (/CEO bleibt
> high).

OK,

ich bin kein Techniker, daher verstehe ich das nicht ganz. Bedeutet das, 
daß ich die "Beine" des 1210 an andere Beine des BA6162-Sockels 
verbinden kann oder bedeutet das, daß ich neben dem DS1210 noch weitere 
Elektronik benötige, um den BA6162 zu ersetzen?

VG,
Dirk

von Peter D. (peda)


Lesenswert?

Man müßte wissen, wie der SRAM an den BA6162 angeschlossen ist.
CSB scheint low activ zu sein, d.h. könnte durch /CEO ersetzt werden, 
wenn man /CE an GND legt.
CS scheint high activ zu sein, d.h. ist am DS1210 nicht verfügbar.
VCCO, VCCI, VBAT1 sollten klar sein (VBAT2 an GND).

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Die Chips haben beide zwei Funktionen, den Reset für die CPU zu erzeugen 
und die Batteriepufferung zu managen.

Ich vermute, die Cartridge benutzt den Reset-Teil überhaupt nicht.

Werden beide ChipSelect-Ausgänge benutzt? Das sind anscheinend nur zwei 
gegenphasige Ausgänge desselben Signals:
CS output (PNP Tr open collector + pull-down resistor)
CSB output (NPN Tr open collector + pull-up resistor)
Der DS1210 liefert nur eines

Einen DS1677 hatten wir in der Firma eingesetzt, außer den beiden 
Funktionen des 1210 hat der noch eine Echtzeituhr und AD-Wandler mit 3 
Eingängen. Der musste öfters ausgewechselt werden, war etwas 
empfindlich, daher ist er mir in Erinnerung. Vielleicht ist die 
Knopfzelle im Fehlerfall etwas zu gewalttätig. Man merkte es zuerst wenn 
die Uhr nicht mehr funktionierte.

: Bearbeitet durch User
von Dirk (Gast)


Angehängte Dateien:

Lesenswert?

Peter D. schrieb:
> Man müßte wissen, wie der SRAM an den BA6162 angeschlossen ist.

Ich habe mir mal die Leiterbahnen auf der Platine angesehen. Der BA6162 
ist wie folgt "angeschlossen":

Pin 1 = GND                    => an GND der Platine/Batterie

Pin 2 = Reset                  => nicht verbunden

Pin 3 = CS output              => an Pin 2 des RAM-ICs = WE

Pin 4 = V_Bat                  => an den Plus-Pol der Batterie

Pin 5 = CSB Output             => nicht verbunden

Pin 6 = Vo Power Supply output => an Pin 1 des RAM-ICs = Vcc

Pin 7 = N. C.                  => nicht verbunden

Pin 8 = Vcc                    => an Vcc der Cartridge-Platine verbunden 
= 5 Volt


Kann ich den DS1210 hier auch so verbinden? Also, nicht 1:1 natürlich, 
aber anders?

VG,
Dirk

von Dirk (Gast)


Lesenswert?

AH, falsch geschaut,

Pin 3 des BA1210 geht an PIN 3 des RAM = CS (nicht an PIN 2 = WE)

VG,
Dirk

von Peter D. (peda)


Lesenswert?

Ich würde die Leitung zu Pin20 = /CS1 auftrennen und über den DS1210 
schleifen. Pin26 = CS2 kommt an VCC.

von Dirk (Gast)


Lesenswert?

So,

ich habe mir Eure Tipps durchgelesen und Folgendes verstanden 
(=Übersetzungstabelle). Ist das so richtig gedacht?

Pin 1 des DS1210 (Vcco) an Pin 6 auf der Platine (ehem. BA6162 Vo)

Pin 2 des DS1210 (V_Bat1) an Pin 4 auf der Platine (ehem. BA6162 V_Bat)

Pin 3 des DS1210 (Tol) an GND

Pin 4 des DS1210 (Gnd) an Pin 1 auf der Platine (ehem. BA6162 GND)

Pin 5 des DS1210 (CE) an GND

Pin 6 des DS1210 (CEO) an Pin 3 auf der Platine (ehem. BA6162 CS output)

Pin 7 des DS1210 (V_Bat2) an GND

Pin 8 des DA1210 (Vcc) an Pin 8 auf der Platine (ehem. BA6162 Vcc)


VG,
Dirk

von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

Wenn das das SRAM ist, stimmen die Bezeichnungen nicht mit dem Text 
überein: Pin 3 = CS output => an Pin 2 des RAM-ICs = WE
WE ist aber laut Bild Pin 27
Da gibt es das schmale 28-polige RAM und den großen 64-poligen 
Sega-Chip.

Ist das die Platine der Cartridge? Quelle:
https://www.mega-drive.net/softram.htm

Es gibt auch Leerplatinen, die ganz ohne den Reset/Batterie-Chip 
auskommen:
https://www.etsy.com/no-en/listing/780755538/sega-genesismega-drive-cartridge-circuit
Mag sein, dass das unzuverlässiger ist, die Entkopplung wird nur mit 
Dioden bewirkt.

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Der große Chip scheint ein ROM zu sein, das SRAM ist von Fujitsu 
MB8xxxx. Ich kann es auf dem Bild nicht genau lesen.
http://bitsavers.informatik.uni-stuttgart.de/components/fujitsu/_dataBooks/1990_Fujitsu_Static_RAM_Products.pdf
Ab Seite 234 stehen die low power CMOS Rams, auch im 28-pin Gehäuse.

Die einfachste Schaltung für die Knopfzelle ist eine Schottkydiode in 
Reihe zum Pluspol. Solange Betriebsspannung +5V ansteht, ist die Diode 
gesperrt, wenn die wegfällt übernimmt die Knopfzelle mit ca. 3,1V die 
Versorgung des SRAM. Schottky hat etwa 0,2V Verlust, sodaß das RAM noch 
fast 3V bekommt, was die Daten sicher hält.

https://www.reichelt.de/dk/de/schottkydiode-30-v-0-2-a-do-35-bat-43-stm-p219637.html?&trstct=pol_6&nbc=1
Eine Schottkydiode im bedrahteten Glasgehäuse kostet 5 Cent. 30V 0,2A 
sind bei weitem ausreichend.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Dirk schrieb:
> Pin 6 des DS1210 (CEO) an Pin 3 auf der Platine (ehem. BA6162 CS output)

Nö, der hat die falsche Polarität. Man könnte sie mit einem Transistor 
und 2 Widerständen invertieren. Oder eben den /CS des RAM steuern.

von Dirk (Gast)


Lesenswert?

OK, ich antworte der Reihe nach:

- @Christoph db1uq K.: Ja, so sehen meine Platinen auch aus

- Die verlinkten neuen Platinen muss ich mir mal näher anschauen, danke 
für den Tipp!

- Das mit der Diode zwischen die Batterie und das RAM hatte ich auch 
schon mal überlegt ... aber warum haben die Ingenieure damals einen 
BA6162-IC genommen, wenn das mit der Diode so viel einfacher, 
platzsparender und billiger ist? Da muß doch ein Haken `dran sein ...

VG,
Dirk

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Das Problem ist das Verhalten beim Abschalten. Wenn in dem Moment auch 
nur für eine Mikrosekunde WE und CS aktiv sind, werden Daten im SRAM 
überschrieben. Der BA6162 oder DS1210 sorgen für sauberes Abschalten.

Mit der Diode ist es natürlich nicht getan, WE und CS müssen noch 
passend durchverbunden werden, eventuell je ein Widerstand, der im 
Abschaltmoment für den richtigen Pegel sorgt.

https://mousebitelabs.com/2020/06/04/genesis-reproduction-quick-guide-custom-pcb/
die Website des Platinenanbieters, leider kein Schaltplan.

https://forums.nesdev.org/viewtopic.php?t=11615
eine längere Diskussion zur Schaltung, nicht ganz dieselbe Platine.

https://wiki.superfamicom.org/schematics-ports-and-pinouts#snes-schematic-491
u.a. die Steckerbelegung des 2*32-Anschlusses

: Bearbeitet durch User
von Dirk (Gast)


Lesenswert?

Christoph db1uq K. schrieb:
> WE und CS müssen noch
> passend durchverbunden werden, eventuell je ein Widerstand, der im
> Abschaltmoment für den richtigen Pegel sorgt.

OK, danke für den Hinweis. Aber was meinst Du mit "ein Widerstand, der 
... für den richtigen Pegel sorgt"? Wo soll der Widerstand hin uns 
welchen Wert sollte er haben? (Sorry, ich bin kein Elektroniker, daher 
die Nachfragen).

VG,
Dirk

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Wenn beim Herausziehen der Cartridge der WE nicht auf high gehen darf 
weil er in dem Moment in der Luft hängt, muss man dort einen Widerstand 
nach Masse einbauen, genauso für CS. Etwa 1k bis 4k7 sollte passen.


Der gute "Mousebitelabs" hat noch einiges mehr für Sega zu bieten:

https://mousebitelabs.com/2020/07/08/multi-function-snes-reproduction-board-guide/

https://mousebitelabs.com/2017/09/14/how-to-make-a-snes-reproduction-cartridge

Mehrere Versionen mit unterschiedlichen SRAMs und Eproms, anscheinend 
gibt es eine länderabhängige Codierung, die man mit einem PIC-Controller 
"CIC" umgehen kann.

: Bearbeitet durch User
von Dirk (Gast)


Lesenswert?

Christoph db1uq K. schrieb:
> anscheinend
> gibt es eine länderabhängige Codierung, die man mit einem PIC-Controller
> "CIC" umgehen kann.

Ja, das ist so. Manche Spiele hat SEGA alleine auf dem amerikanischen 
Markt verkauft andere nur in Europa. Dann hat man ein Problem, wenn man 
auf einem europäischen (PAL)Mega Drive ein amerikanisches Spiel 
abspielen will.

Aber dafür gibt es im Netz diverse Tutorials, wie man seine Konsole 
(sogar "switchless") so umbaut, daß man sie an die Regionen anpassen 
kann. Dann muß man das nicht in den jeweiligen Cartridges machen und 
kann auf einer Konsole alle regio-spezifischen Spiele abspielen.

VG,
Dirk

von Dirk (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe noch eine Frage: Unterscheiden sich die beiden Chips darin, 
wieviel Strom sie verbrauchen? Wenn der Speicherchip mit Strom versorgt 
wird, wird auch der BA6162 bzw. der DS1210 ja selbst auch Strom 
brauchen. Ich werde aus den Datenblättern aber nicht schöau, wieviel 
Strom die beiden jeweils verbrauchen. Könnte das jemand der die 
Datenblätter versteht bitte hier posten?

VG,
Dirk

von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

read the f* ine datasheets:
DS1210: Consumes less than 100 nA of battery current
IBAT max 100 nA

BA6162: Low current dissipation when powered from battery
Backup current dissipation ICCB max 0.5 μA

steht doch alles drin

Da ich den tatsächlichen SRAM-Typ immer noch nicht weiß kann ich über 
die WE und CS-Eingänge nichts genaueres sagen. Wenn das auf dem  Foto 
"MB84256-10LL" heisst, dann sind beide low aktiv, müssen also mit einem 
Widerstand auf high gezogen werden.

von Dirk (Gast)


Angehängte Dateien:

Lesenswert?

Oh, sorry, das mit dem unbekannten RAM habe ich nicht gesehen ... auf 
dem Chip steht "GoldStar GM76C88ALK-15 9417". Ich habe das Datenblatt 
schon mal `rausgesucht und hier angehängt.

Eiche Frage (vom Nicht-Elektroniker): Wie ist die Relation von "100 nA" 
zu "0.5 μA"?

Sind 100 nA = 0,1 μA?

VG,
Dirk

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

https://de.wikipedia.org/wiki/Vors%C3%A4tze_f%C3%BCr_Ma%C3%9Feinheiten#SI-Pr%C3%A4fixe
die "Präfixe" sind international genormt und gelten nicht nur in der 
Elektronik. Ja, 100n = 0,1µ Der DS1210 ist also etwas sparsamer.

Ich hatte das Datenblatt eines 32 kByte-RAM genannt, das hat nur einen 
low aktiven /CS Eingang, Das 8k-Ram hier hat einen CS und einen /CS, man 
muss aber nicht beide benutzen, sondern kann einen davon auf einen 
festen Wert legen. Wie es auf der Platine gelöst ist, könnte man mit dem 
Multimeter herausfinden. Wo GND und Vcc angeschlossen sind steht auch im 
Datenblatt.

von Peter D. (peda)


Lesenswert?

Nochmal DS1210:
/CE an den Adreßdekoder
/CEO an /CS1 des SRAM
CS2 des SRAM an VCC

von Dirk (Gast)


Lesenswert?

Hallo nochmal,

ich hatte nun Zeit weiter zu basteln und habe wie folgt verbunden:

> Pin 1 des DS1210 (Vcco) an Pin 6 auf der Platine (ehem. BA6162 Vo)
>
> Pin 2 des DS1210 (V_Bat1) an Pin 4 auf der Platine (ehem. BA6162 V_Bat)
>
> Pin 3 des DS1210 (Tol) an GND
>
> Pin 4 des DS1210 (Gnd) an Pin 1 auf der Platine (ehem. BA6162 GND)
>
> Pin 5 des DS1210 (CE) an GND
>
> Pin 6 des DS1210 (CEO) an Pin 3 auf der Platine (ehem. BA6162 CS output)
>
> Pin 7 des DS1210 (V_Bat2) an GND
>
> Pin 8 des DA1210 (Vcc) an Pin 8 auf der Platine (ehem. BA6162 Vcc)

Und siehe da: Ich setze einen DS1210 ein und das Spiel speichert, man 
kann laden, am nächsten Tag ist das savegame auch noch da. So weit, so 
gut.

ABER: Ich hatte mir mehrere DS1210 auf einmal bestellt und habe dann mal 
einen anderen, genau gleich beschrifteten DS1210 eingesetzt ... 
speichern nicht möglich. ?!? Dann noch zwei weitere, genau gleich 
beschriftete DS1210 ... auch kein speichern möglich. Der letze DS1210 
der Packung hat dann wieder gut funktioniert.

Ich habe die Chips x-mal gewechselt, geputzt, Beinchen gerade gemacht 
... es blieb dabei. Zwei der DS1210 funktionieren wie gewünscht, drei 
nicht.

Was kann das sein? Ich denke nicht, daß die drei nicht speichernden 
DS1210 kaputt sind .... kann es sein, daß sie einen bestimmten Pegel auf 
einem bestimmten Beinchen brauchen und da sind halt zwei meiner Chips 
tolerant genug für und die drei anderen nicht?

Was denkt ihr?

VG, Dirk

von Torsten B. (butterbrotstern)


Lesenswert?

> Pin 5 des DS1210 (CE) an GND
Auszug aus dem DS1210-Datenblatt:
If CE input is low at the time power-fail detection occurs,
the CEO output is kept in its present state until CE is returned high.

Ich glaube nicht, dass das in Deinem Sinne ist. Wie Peter schrieb:
> /CE an den Adreßdekoder
Ziel ist es ja, CS2 von hi nach lo zu schalten, sobald die Vcc 
einbricht.
Also CS2 dauerhaft auf hi legen und /CS1 mit /CEO verbinden.
die Leitung, die ursprünglich auf /CS1 ging, mit /CE (DS1210/5) 
verbinden.

Das RAM hat 4 Steuereingänge: /CS1 (Pin 20), CS2 (Pin26) OE (Pin 22) und 
/WE (Pin 27). Bedingungen für
      Lesen   Schreiben  (siehe Truth Table im Datenblatt)
/CS1   L       L
 CS2   H       H
 OE    L       X
/WE    H       L
Damit der Inhalt geschützt ist, muss /CS1 high sein  oder  CS2 Low
oder  /WE high.

> Pin 3 = CS output              => an Pin 2 des RAM-ICs = WE
> Pin 3 des BA1210 geht an PIN 3 des RAM = CS (nicht an PIN 2 = WE)
Meinst Du statt Pin2 Pin 27 (/WE) und statt Pin 3 Pin 26 (CS2)?

: Bearbeitet durch User
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.