PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Externes S-RAM 62256 lesen und beschreiben mit ATMega8



rogerberglen
30.04.2007, 17:47
Wollte mal fragen ob es mit Bascom möglich ist auf einfache Art und Weise Daten in einen externen 62256 S-RAM zu schreiben bzw. von dort auch wieder auszulesen?
Ein Beispielprogramm wäre da nicht schlecht.

Dnerb
30.04.2007, 20:16
Mit einem AT90S/ATMEGA8515 oder einem anderen Atmel mit Speicherinterface null Problem.

Da ist das einfachste wenn man ein Array in größe des Speichers anlegt und dann kannst Du jede Speicherzelle einzeln ansprechen.

Man muß nur Bascom sagen wieviel Speicher vorhanden ist und in welchem Speicherbereich.

Achtung! Der SRAM-Bereich des Controllers ist vorrangig zum Speicher extern.

Habe das selber schon gemacht, mit 512K SRAM, dafür braucht man dann etwas Hrinschmalz (nicht viel) wegen Bankswitching, aber ich will jetzt niemand langweilen.

Wenn Du allerdings einen Atmega8 nehmen willst, dann ist das allerdings etwas mit Handarbeit verbunden.

Du willst einen 32K SRAM anschließen, d.h. Du hast 15 Adressleitungen und 8 Datenleitungen, dazu mindestens WR und RD und besser auch OE.
Im gesamten hat der Atmega8 nur 23 I/O Pins und Du bräuchtest eigentlich 26.

Deshalb machen wirs einfach wie beim 8515 und nehmen ein Latch (z.B. 74XX573) mit dem man die Adressleitungen 0-7 und die Datenleitungen Multiplexed. Du brauchst zum Steuern für das Latch 1 Pin. d.h. wir haben 8 I/O gespart und 1 I/O verbraten.
Du hast also 4 I/O frei für andere Dinge. Wenn Du die restlichen 7 Adressleitungen auch über ein Latch anschließt, dann kannst Du nochmal 6 I/O einsparen. Und mit 10 I/Os kann man auch mehr anfangen. ;)

Ansteuern mußt Du per Hand.
Also erst die Adressen anlegen, dann das Latch quasi verriegeln (mit 2tem Latch das gleiche nochmal) und dann die Daten anlegen, bzw. abholen.

Allerdings ist die ganze Ansteuerung von Hand.

Einen Code habe ich Dir nicht, habe es so ähnlich schonmal machen müssen da das Speicherinterface der Atmels nicht für jeden Speicher das richtige ist und es damals Timing Probleme gab.
Allerdings ist ein 62256 sehr einfach anzusteuern.

Probier es aus, es ist leichter als man denkt!

Falls Du keinen 62256 hast, ich habe hier einen haufen Nagelneuer in DIL-Bauform.
Gegen Portoerstattung (und evtl. den Umschlag wenn ich keinen mehr finde) schicke ich Dir gerne ein paar für Umme zu. Brauche ich sowieso nicht in der Menge...

Gruß Dnerb

kolisson
04.05.2007, 23:23
mein vorgänger hat ja schon geantwortet... und das ausführlich....

ich will aber auch was dazu sagen:

1 die antwort ist ja ! du kannst den 62256 an[highlight=red:80d54043dd] jeden [/highlight:80d54043dd]atmel anklemmen, der mindestens 15 plus 8 ports frei hat.
(15 für die adressierung und 8 für die daten. da der atmel dann sonst nicht mehr viel kann (belegung der ports) und man jede speicheradresse zufuss anspricht, kommt das static ram mit seinen kurzen zugriffszeiten wohl kaum noch zu ehren.

also die verwendung des bausteines ist möglich !

wenn es jedoch um das lansame speichern grösserer datenmengen geht, sollte man dann doch eher ein serielles ram oder schlichtweg eine sd oder mmc karte verwenden.

gruss aus frankreich