Hi ich muss an einen AVR ein RAM von ca 4 MBIT haengen. SPI und alle anderen Dinge scheiden aus, weil ich keinen Dunst habe wie ich den Kram programmieren soll und diplomarbeitstechnisch keine Zeit zu viel habe. Hat irgendwer ne Idee welchen Baustein man nehmen kann? 4 MBit Byteweise aufgebaut waeren schon klasse. Das heisst dann irgendwas wie 19 Adressleitungen oder so, aber das sollte sich mit einem Zaehler hinbekommen lassen. Zur not tun es auch 4x1 MBIT oder 2x2MBIT. Fuer Vorschlaege waere ich dankbar. Hersteller wuerden auch schon reichen, weil auch da hab ich keine gefunden. (habe es bei Onsemi, Microchip, TI und Analog probiert). Googlen ist da immer so ne Sache, weil kaum gibt man da was von RAM ein landet man bei irgendwelchen gelinkten Ebayauktionen mit PCs. Gruss und Danke im Voraus Tobi
Wie wäre es mit einem AVR mit externem Speicherinterface wie dem ATmega 162 oder 128? Der unterstützt zwar nur bis knapp unter 2^16Bytes Ram, aber mit manuellem umlegen von zusätzlichen Adressleitungen kannst du auch die ganzen 4MBit benutzen.
Hi das Problem ist das ich nicht allzuviele Adressleitungen "verschwenden" will und auch gerne bei meinem Mega32 bleiben moechte, da der das groesste ist was in mein (selbstgebautes) Entwicklungsboard passt. Aber auch dafuer wuerde ich ja Ram-Bausteine brauchen. Falls Du eine Idee hast waere ich da aber auch alles andere als abgeneigt. Gruss Tobi
Keine der genannten Firmen ist ein Speicherhersteller - vielleicht findest Du deshalb nichts bei denen? Eine verbreitete Bauform von 4MBIT-SRAMS (statisches RAM) ist byte-wide mit 512 kByte Speicherkapazität. Sowas gibt es beispielsweise bei Segor unter der Bestellbezeichnung 628512LP-07 für 5.10 EUR. 32poliges DIL-Gehäuse, 70 nsec Zugriffszeit. Sowas ist am einfachsten anzusteuern: Stromversorgung, Adressleitungen (19), Datenbus (8), Chipselect, /WE und /OE anschließen und fertig. Auch eine Akkupufferung ist kein Problem, da das IC bei Nichtgebrauch nur einige Microampère benötigt.
Wenn du pins sparen willst und Zeit keine überragende Rolle spielt, dann kannst du das alles ja manuell machen und die Adressleitungen z.B. über Schieberegister versorgen. Dann reichen nämlich zwei Leitungen für die Adresse (data out + clock), dazu 8 Leitungen für die Daten und noch RD/WR, das macht minimal 12 Leitungen, wenn du keinen OE oder CS beschalten willst. Wie das Timing dann genau auszusehen hat, kannst du ja dem Datenblatt entnehmen.
Hi Rufus das HILFT ungemein. Wie lautet denn der Hersteller? Ich kann naemlich wahrscheinlich bei Segor nix bestellen weil ich momentan in England am Studieren bin (Austausch letztes Jahr) und die mir glaube ich einen erzaehlen, wenn ich das bei Segor bestelle. Die haben hier ein paar Lieferanten vorgegeben bei denen ich bestellen muss. Deshalb waere der Hersteller hilfreich, damit ich bei denen gucken kann ob die das dahaben. Gruss und Danke nochmals Tobi
Hi Christof, Zeit spielt leider eine Rolle. Sonst haette i2C oder sonst was in der Richtung genommen. Es muesste doch auch klappen wenn ich die Adresse einfach mit einem Zaehler hochzaehle (1 Pin) und dann noch RW und OE (zusammen 2 Pins) Die 8 Datenpins sind eingeplant, aber ich kann halt keine 19 Adressleitungen verbraten. Wenn der 70 ns zugriffszeit hat hab ich noch DICKE genug Zeit um den Rest zu erledigen. Gruss Tobi
Hi habs gefunden Es ist Cypress. Wenn irgendwer noch andere Hersteller hat waere ich sehr gluecklich. Tobi
Auf nem Mega32 mit maximal 16 MHz Takt hast du bei 70 ns noch massig Zeit?? Das musst du erklären, wäre nämlich ein toller Trick :)
Ja, das mit dem Counter könntest du machen. Allerdings musst du da schon auf Geschwindigkeit achten und deinen 19-Bit-Counter gut aufbauen. Eine Serie von simplen Ripple-Addern wird es im ungünstigsten Fall wohl nicht schaffen, ein Carry in 70ns von vorn bis hinten durchzureichen. Das musst du beachten. Bei dem SRAM würde ich jetzt nicht zwingend nach Herstellern suchen, sondern einfach nach 512Kx8 - SRAMs fragen.
Hi massig Zeit heisst in dem fall das die Daten so mit 50 kHz einlaufen. Das heisst massig Zeit. Gruss Tobi
Du mußt also nur linear auf den Speicher zugreifen? Ansonsten gäbe es noch folgende Möglichkeit: 3x 74HCT574 (8-Bit Latch). Die Latches mit an den Datenbus angehängt (ähnlich wie beim MCS-51), damit hast Du dann einen 24 Bit Adressbus, Du brauchst dann noch zwei Steuerleitungen über einen 74HCT139 2 nach 4 Encoder, damit kannst Du die Latches ansteuern. Mit insgesamt 10 Pins kannst Du Dann auf 2^24 Bytes zugreifen, und das noch relativ schnell - zumindes schneller, als mit Schieberegistern.
Hersteller ist beispielsweise Samsung; allerdings nennen die die Speicherchips etwas anders - K6X4008C1F-DF oder ähnlich. Sind aber pinkompatibel. Du könntest auch einen Cache-Baustein aus einem entsprechend alten PC (Pentium-I-Ära) verwenden, der braucht mehr Strom und ist im nur 300mil breiten "Skinny-DIP"-Gehäuse untergebracht. Hier ist oft UMC oder auch Cypress der Hersteller (CY7C1049). Die kurzen Zugriffszeiten solcher Bausteine (beispielsweise 12 nsec) wirst Du für die "diskrete" Ansteuerung mit einem AVR aber nicht ansatzweise benötigen - da ein Zugriff aus einer ganzen Reihe von Operationen bestehen wird. Über den Product Selection Guide der Hersteller (auf Website zu finden) solltest Du was finden können. Farnell (den sollte es auch in UK geben) hat recht ausführliche Kataloge, in denen man auch solche Bausteine finden kann.
Hi nochmals Danke. Ich muss nur linear auf den Ram zugreifen koennen. Das heisst also, das mir ein Zaehler reicht. Am einfachsten waere ein Muster, denn bis ich hier durch den Papierkrieg durchbin vergeht wieder ewig Zeit. Na ja ich werd mal Farnell anschauen. Gruss Tobi
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.