Forum: Mikrocontroller und Digitale Elektronik Anfaengerfrage funktionsweise Speicher


von Randy T. (peroja)


Lesenswert?

hallo zusammen,

ich hab hier einen 4bit SRAM speicher VT64KS4

datenblatt: 
http://www.randytomlinson.com/electronics/speicher/datasheet.pdf

und ich hab zu diesem thema eine frage. ich liege womoeglich total 
falsch und werde so wie ich mir das vorstelle den chip wohl ins jenseits 
schicken aber ich hab echt keine ahnung deshalb die frage.

adressbus / databus

in meinem kopf geht folgendes vor:

ich hab 4 databus und 8 adressbusse

wenn ich jetzt auf pin 12 (write enable) ein signal gebe von einem CMOS 
oder CPU (egal..) um dem chip schreibrechte zu geben? und ebenfalls auf 
adressbus A0 ein signal gebe, oeffne ich diese adresse, (ich stelle mir 
das wie eine von 8 schubladen vor in welcher ich dann jeweisl 4 faecher 
hab (4 databus), und kann dann ebenfalls auf eins odere mehrere 
datenbuse ein signal geben und das ist dann dort gespeichert? dann das 
ganze wieder aber mit adressbus A1 usw...

abrufen was ich gespeichert hab kann ich dann OHNE signal auf pin 12 
oder? also ein signal auf den jeweiligen adressbus geben und wenn ich am 
datanbuss jeweils eine LED drann hab leuchten die welche ich vorher 
beschrieben hab?

und ich kann auch kombinieren also ein signal auf A0, A3, A8 und dann 
mit dieser "geoefnetten" adresse wieder ein signal auf den datenbus 
schreiben z.B 0100 oder 1001 was auch immer. und abrufen geht einfach 
indem ich wieder ein signal auf die beschriebene adresse leite aber OHNE 
ein signal auf den pin 12 (write enable) zu senden. ist das richtig so?

funktioniert in der theorie ein SRAM auf diese art?

vielen dank fuer die hilfe

randy

von bongo (Gast)


Lesenswert?

Ja so in etwa

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Der Baustein ist ein 16384 * 4 Bit SRAM.

Mit den 14 Adressleitungen kannst Du 2 ^ 14 (16384) verschiedene Muster 
an den Adressbus anlegen. Unter jeder dieser Adressen wird ein 4 Bit 
breites Datenwort gespeichert.

Legst Du also eine Adresskombination an, einen 4-Bit-Wert an den 
Datenbus und aktivierst die /CS- und die /WE-Leitung, dann beschreibst 
Du den Inhalt der durch die Adresskombination angesprochenen 
Speicherzelle.

Wieder auslesen kannst Du diesen Wert durch Anlegen der gleichen 
Adresskombination und durch Aktivieren der /CS- und der /OE-Leitung. 
Dann wird vom Speicherbaustein an den vier Datenleitungen der in der 
durch die Adresskombination angesprochenen Speicherzelle abgelegte Wert.

Den genauen Ablauf stellen im Datenblatt die Timingdiagramme auf den 
Seiten 3 und 5 dar.

von Randy T. (peroja)


Lesenswert?

ich weiss, ist NUR ein 4 bit speicher aber er sieht eben so schoen aus 
mit all dem gold drum herum und so...

ok dann werd ich mal 12 mini schalter dun 12 LED's bereit halten einen 
taster zum schreiben...an den datenbus werd ich dann 4066 ranhaengen um 
die LED's zu schalten.

danke vielmals
randy

von Randy T. (peroja)


Lesenswert?

@rufus also eine OE leitung hab ich nicht da ich den baustein VT64KS4 
habe und leider nicht den VT65KS4 aber ich kann mir vorstellen dass dies 
einfach so funktioniert indem ich dem CS ein signal gebe aber dem W(WE) 
nicht...
oder so..?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Randy Tomlinson schrieb:
> an den datenbus werd ich dann 4066 ranhaengen um
> die LED's zu schalten.

Warum ausgerechnet Analogschalter?

von Randy T. (peroja)


Lesenswert?

weil ich die grad zur hand habe. was wuerdest du als alternative 
vorschlagen?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Analogschalter sind keine Leistungstreiber, LEDs aber benötigen relativ 
hohe Ströme. Wenn Du Analogschalter verwendest, ist das kein Unterschied 
zum direkten Anschließen der LEDs an die Datenleitungen des RAMs.

Nimm irgendeinen 74xx-Tristate-Baustein, wenn Du die LEDs vom RAM 
abkoppeln willst, 74xx125 wäre ein Kandidat für Dich.

von Michael U. (amiga)


Lesenswert?

Hallo,

der Ram kann 8mA bei Ul 0,4V treiben, da kannst Du auch mit ruhigen 
Gewissen eine LED direkt an die Daten hängen.
z.B. 10k von +5V an D0 als pullUp für definierten H-Pegel.
Parallel eine LED mit 1k Vorwiderstand, um den Ausgangspegel anzuzeigen.
DIP-Schalter über 1k an GND für die Eingangsdaten beim Programmieren.
Ohne den 10k wäre der H-Pegel durch die LED je nach Flußspannung nur um 
3V.
Der 1k begrenzt den Strom am Ram-Ausgang auf ungefährliche Werte, wenn 
der DIP-Schalter noch geschlossen ist und Du versehentlich /CS und /OE 
vom Ram aktivierst und ein H am Datenausgang erscheint.

PS: an allen Daten, Adressen und den Steuerleitungen müssen 
PullUp-Widerstände ran. damit die Eingänge definiert auf H liegen, wenn 
Deine DIP-Schalter offen sind.

Gruß aus Berlin
Michael

von Randy T. (peroja)


Lesenswert?

cool. danke vielmals
randy

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.