Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » BCS-3 RAM-Erweiterung » Themenansicht

Autor Thread - Seiten: -1-
000
30.09.2025, 13:48 Uhr
wolle1945



Hallo BCS-3 Fans,
ich habe in den 80-ern einen BCS-3 aufgebaut (vers. 3.1).
Später habe ich den RAM nach RFE 9/86 auf 4k (mit U224) erweitert.
Hier wurde auch eine Variante mit U 256 (auf 16k) beschrieben.
Ich wollte jetzt den RAM mit 2x U6264 (auf 16k) erweitern.
Wäre das möglich? Wenn ja, könnte mir jemand mit einem Stromlaufplan
helfen. Muß an der Software der Vers. 3.1 etwas jeändert werden?
Ich wäre für jede Hilfe dankbar.
--
mfG wolle1945
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
30.09.2025, 14:42 Uhr
jennergruhle

Avatar von jennergruhle

Die Erweiterung mit 2x U6264 läuft ähnlich ab wie die mit n*2* U224 (jeder Chip erhält direkt die Adress- und Datenleitungen) - nur, dass jeder RAM-Chip jeweils 8 kB- statt 1 kB-Blöcke abdeckt (A0...A12), also muss der Adressdecoder wie DS8205 oder 74LS138 die Adressbits A13,14,15 dekodieren:

- A13 kommt an A
- A14 kommt an B
- A15 kommt an C
- /MREQ kommt an /E1
- /E2 kommt auf Masse
- E3 kommt an +5V

Die RAMs werden so angeschaltet:
- Datenbus an den CPU-Datenbus
- A0...A12 an den CPU-Adressbus A0...A12
- /E1 bzw. /CE1 an den Ausgang O0 bzw. O1 des Dekoders
- /OE an /RD
- /WE an /WR
- E2 bzw. CE2 an +5 V

Ohne Dekoder zu arbeiten ginge auch, aber dann bräuchte man ein paar Gatter um die CE-Logik zu basteln (A13=L für den ersten und H für den zweiten; A14=H, A15=L).

Wenn nur noch ein 74LS139 vorhanden ist (2x 1-aus-4-Dekoder mit nur einem Enable-Eingang), dann geht auch eine Hälfte davon ohne weitere Gatter:

- A13 kommt an A
- A15 kommt an B
- /MREQ kommt an /E

A14 geht dann an die CE2-Eingänge der RAMs, und deren !/E1 an Ausgang 0 bzw. 1 des Dekoders.

In allen Fällen liegt dann der erste RAM auf Adresse 4000...5FFF (A13=L, A14=H, A15=L) und der zweite auf 6000...7FFF (A13=H, A14=H, A15=L).

An der Software muss nüscht jeändert werden, die probiert ab 4000h durch wie lange nach oben hin schreib- und wieder lesbarer Speicher gefunden wird. Nur bei >= 32 kB gibt es Probleme.

Theoretisch könntest du mit etwas Anpassung sogar noch deine anderen 3 kB dahinter legen (8000...8BFF) und hättest dann insgesamt 20 kB :-)

Dieser Beitrag wurde am 30.09.2025 um 14:56 Uhr von jennergruhle editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
02.10.2025, 13:21 Uhr
wolle1945



@jennergruhle,

vielen Dank.
Den Schaltplan und die Leiterplatte erstellen,
da habe ich eine Weile zu tun.
--
mfG wolle1945
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
09.11.2025, 16:31 Uhr
wolle1945



Hallo,
ich habe den SP erstellt und die LP anfertigen lassen.
Der Test war negativ, der BCS-3 fährt nicht hoch,
Bildschirm bleibt dunkel.
Wie muß ich mit der Fehlersuche beginnen?


--
mfG wolle1945
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
09.11.2025, 17:17 Uhr
schlaub_01



Also wenn ich den Schaltplan mir so anschaue, kann das eigentlich nicht funktionieren. Der Adressdekoder ist so geschaltet, daß bei allen Adressen kleiner 2000h der Ausgang Y0 aktiv ist. Damit kann die CPU keine Speicherbereiche mehr am Anfang ansprechen. Beim BCS3 sollten die Speichererweiterungen eigentlich erst ab 4000h anfangen.

Viele Grüße,
Sven.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
09.11.2025, 17:22 Uhr
kaiOr

Avatar von kaiOr

...und zusätzlich ein doofes Datenblatt erwischt. Am DS8205 Eingang A/B/C sind die Pins falsch herum nummeriert.

Grüße,
Kai
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
09.11.2025, 17:53 Uhr
wolle1945



@ schlaub_01
das ist eigentlich der Plan von jennergruhle (001)
--
mfG wolle1945
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
09.11.2025, 17:58 Uhr
schlaub_01



Ja, aber das ist alles sehr widersprüchlich geschrieben. So geht es auf jeden Fall nicht. Wie Kai auch geschrieben hat, sind die Pins auch zusätzlich noch vertauscht. Aber Grundübel ist aus meiner Sicht die falsche Dekodierung.
Im Prinzip müsstest Du für den ersten RAM den Y2 nehmen, der wäre dann von 4000h bis 5FFFh und den zweiten RAM an Y3 von 6000h bis 7FFFh. Aber vorher noch die Zuordnung der Eingangspins A bis C ändern!
Btw., wenn Du das MREQ an E3 gelegt hättest, hättest Du Dir das einzelne Gatter noch sparen können.


Viele Grüße,
Sven.

Dieser Beitrag wurde am 09.11.2025 um 18:15 Uhr von schlaub_01 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
09.11.2025, 21:01 Uhr
HeikoS



Hallo Wolfgang,

oh je, dass Y0, Y1 nicht richtig gewählt wurden, hatte ich auch nicht gesehen damals. Das kann man ja noch ändern. A,B,C musst Du eigentlich nicht ändern, wenn Du Y2 und Y6 benutzt. Ich hoffe ich habe mich nicht vertan:



Viele Grüße, Heiko

Dieser Beitrag wurde am 09.11.2025 um 21:09 Uhr von HeikoS editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
10.11.2025, 16:54 Uhr
jennergruhle

Avatar von jennergruhle

Also meine Beschreibung war doch eigentlich eindeutig - und bis auf die Vertauschung der A13...A15 passt es so schon wie im abfotografierten (warum eigentlich? Screenshot oder PDF-Export sollte doch auch gehen) Schaltbild. Und nach meiner Beschreibung hätte man dann entweder /MREQ direkt vom Prozessor an E1 des Decoders gelegt, oder MREQ (nicht invertiert) an E3 und dann E1 auf Masse.

@Heiko: Ja, deine Tabelle ist korrekt.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
10.11.2025, 17:40 Uhr
HeikoS



Stimmt, Deine textuelle Beschreibung war richtig. Y-Ausgänge des 8205 wurden ja nicht erwähnt, die ergeben sich aus A,B,C.

Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
10.11.2025, 17:49 Uhr
schlaub_01




Zitat:
jennergruhle schrieb
Also meine Beschreibung war doch eigentlich eindeutig



Eben nicht, im zweiten Pinabschnitt steht:- /E1 bzw. /CE1 an den Ausgang O0 bzw. O1 des Dekoders

Und so hat Wolfgang das auch gemacht. Aber nichtsdestotrotz wäre es besser gewesen, wenn Wolfgang vor dem Abschicken der Leiterplattendaten mal ein Bild des Schaltplans zur Begutachtung eingestellt hätte. Aber nu muss er aufkratzen...

Viele Grüße,
Sven.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
012
10.11.2025, 18:14 Uhr
HeikoS



Ja, stimmt Sven, das habe ich auch das zweite Mal überlesen. Habe ja bald einen Termin beim Augenarzt ... scheint wohl nötig zu sein ;-)

Viele Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
013
10.11.2025, 19:20 Uhr
wolle1945



Hallo an alle,
vielen Dank für die Unterstützung.
@Heiko, Y2 und Y6 sind gold richtig.
Das Aufkratzen ging einfach.
Schaltplan wurde geändert und neue Gerber-Dateien gibt es auch.
Wie kann ich Schaltpläne aus KiCad ins Forum stellen, ohne abzufotografieren?
--
mfG wolle1945
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
014
10.11.2025, 19:38 Uhr
jennergruhle

Avatar von jennergruhle

@schlaub_01:

Ich hatte geschrieben: "Die RAMs werden so angeschaltet:
- Datenbus an den CPU-Datenbus
- A0...A12 an den CPU-Adressbus A0...A12
- /E1 bzw. /CE1 an den Ausgang O0 bzw. O1 des Dekoders"
Also ist gemeint, dass der Eingang /CE1 (manchmal heißt er auch nur /E1) des RAM an den Ausgang O0 oder O1 (manche Schaltbilder sagen auch Y0 bzw. Y1) des Decoders kommt. So hat Wolfgang das auch gemacht, und es ist so korrekt - außer man vertauscht die Eingänge A (Pin 1) bis C (Pin 3) und muss dann die Bedeutung der Ausgänge umdefinieren und neu verdrahten. Dafür kann ich dann aber nix.

Ich hoffe, nun ist es eindeutig. Ich habe halt im Büro keine Möglichkeit, ein Schaltbild zu erstellen und als Grafik zu exportieren, sonst hätte ich das auch noch gemacht.

@wolle1945:
Ich habe aus KiCad immer Schaltungen als PDF exportiert, und das kann man fast immer mit irgendeinem Programm wie Irfanview etc. auch zu PNG etc. machen (und wenn nötig zurechtschneiden). Notfalls mit einem Screenshot-Programm.

Dieser Beitrag wurde am 10.11.2025 um 19:43 Uhr von jennergruhle editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
015
10.11.2025, 20:15 Uhr
wolle1945



hier noch der neue SP


--
mfG wolle1945
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
016
10.11.2025, 20:42 Uhr
schlaub_01



@jennergruhle:
Entweder steh ich auf dem Schlauch oder verstehe Deine Texte nicht. Wenn Wolfgang O0 bzw. Y0 nutzt, dann funktioniert das nicht! Ausgang 0 des Dekoders ist nur aktiv, wenn A13, A14 und A15 low sind und damit sind die unteren Speicherbereiche blockiert. Es geht nur mit Ausgang 2 aufwärts, wenn die Adresseingänge korrekt belegt sind! In diesem Fall hat Heiko das schon geschrieben, ohne Änderungen der Adresseingänge auf O2 und O6 bzw. Y2 und Y6...

Viele Grüße,
Sven.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
017
11.11.2025, 10:00 Uhr
jennergruhle

Avatar von jennergruhle

Ja, du hast recht, jetzt hab ich es erst richtig überblickt. Ich war irgendwie vom bestehenden Dekoder im BCS3 ausgegangen, der ja A14 und A15 mit den E-Eingängen schon "vordekodiert", was ja hier nicht der Fall ist. Wir wollen ja erst ab 4000h den neuen RAM ansprechen.

Korrekt muss es also heißen:

Decoder 8205 bzw. 74xx138:
- A13 kommt an A
- A14 kommt an B
- A15 kommt an C
- /MREQ kommt an /E1 (oder an Masse, wenn MREQ genutzt)
- /E2 kommt an Masse
- E3 kommt an +5V (oder an MREQ, wenn nicht /MREQ genutzt)

Die RAMs werden so angeschaltet:
- Datenbus an den CPU-Datenbus
- A0...A12 an den CPU-Adressbus A0...A12
- /E1 bzw. /CE1 an den Ausgang /O2 (4000h ... 5FFFh) bzw. /O3 (6000h ... 7FFFh) des Decoders
- /OE an /RD
- /WE an /WR
- E2 bzw. CE2 an +5 V

Jetzt habe ich doch noch mal ne (Teil-)Schaltung mit KiCad erstellt:


Dieser Beitrag wurde am 11.11.2025 um 10:27 Uhr von jennergruhle editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
018
11.11.2025, 21:56 Uhr
HeikoS



Schön, dass jetzt alles funktioniert, das freut mich ! Ja, ein Plan vorher wäre schon gut gewesen, aber bis auf die Y-Ausgänge war ja alles richtig beschrieben.

@Wolfgang: Schick doch mal ein Bild von Deinem Aufbau.

Grüße, Heiko
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek