Forum: Mikrocontroller und Digitale Elektronik SRAM's Verbinden


von Sven (Gast)


Lesenswert?

Hallo

Ich würde gerne 4 stück 62512 Rams Zusammenschalten um mehr Speicher zu 
erhalten. Doch irgendwie versteh ich das Prinzip noch nicht ganz.

Also Ram Adresse + Daten anlegen OE=0 WE = 1 zum lesen
Oder Ram Adresse + Daten anlegen OE=0 WE = 0 oder OE=1 WE = 0 zum 
Schreiben.

Ich habe einen Zähler welcher die Adressen durchzählt und einen 
"Vorzähler" welcher die Rams durchtaktet. Jeweils nach dem 4.takt zählt 
der Adress zähler eins weiter.
Das "Vorzähler" signal habe ich mit CS verbunden um jeweils nur ein Ram 
aktiv zu haben.

Ablauf
Takt 1 Adresse 1 Ram 1 Cs 1
Takt 2 Adresse 1 Ram 2 Cs 1
Takt 3 Adresse 1 Ram 3 Cs 1
Takt 4 Adresse 1 Ram 4 Cs 1
Takt 5 Adresse 2 Ram 1 Cs 1

Der Takt ist noch mit OE um ein 0/1 zum speichern zu erzeugen.

zum lesen Lasse ich We auf 1 ansonsten Gleiches Prinzip.
Doch irgendwie klappt das nicht so wie es sollte. Es speichert oder 
liest nur in einigen Speicherstellen zufällig

Jemans eine idee woran das liegen könnte was ich falsch mache?

P.s. der aufbau soll ohne Prozessoren nur durch Logic chips ablaufen.

von Helmut L. (helmi1)


Lesenswert?

Schaltplan?

von (prx) A. K. (prx)


Lesenswert?

Ein Bild sagt mehr als 1000 Worte.

von Bernhard S. (b_spitzer)


Lesenswert?

62512 = 512kBit = 32kByte. Dafür brauchst du 16 Adressleitungen und 8 
Datenleitungen. Für 4 RAMs brauchst Du 18 Adressleitungen. Die oberen 
beiden gehen auf einen 74HCT138 (auf A0 und A1, A2 ist dann auf 0 
geschaltet), der generiert daraus 4 /CS-Signale für die RAMs.
RAM1 hat dann den Adresssbereich 0x00000-0x0FFFF
RAM2 0x10000 bis 0x1FFFF
RAM3 0x20000 bis 0x2FFFF
RAM4 0x30000 bis 0x3FFFF

Vergiss den Zähler. Damit lägen die Zugriffe nach jedem Byte auf einem 
anderen Baustein und wahlfreie Zugriffe sind nicht mehr möglich.

von Sven (Gast)


Lesenswert?

62512 hat 19 adress leitungen A0-A18
http://www.futurlec.com/Datasheet/Memory/628512.pdf

Aber das ändert am Prnzip eh nichts. Ich hab den 138 an die ersten Bits 
des Zählers gesetzt um eben gerade jedes Byte in ein anderes Ram zu 
schreiben.
Grund dafür ist das ich somit zumindest Theoretisch mehr Geschwindigkeit 
bekomme (Latches für Daten und Adressen kommen später).


Ich hab meinen Fehler gerade gefunden. Ich habe einige winzige 
Unterbrechungen in meiner nicht so schön geätzten Platine gefunden. 
Trozdem Danke :)

von Jobst M. (jobstens-de)


Lesenswert?

Sven schrieb:
> 62512 hat 19 adress leitungen A0-A18
> http://www.futurlec.com/Datasheet/Memory/628512.pdf

Der 62512 ist nicht der 628512!


Gruß

Jobst

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.