Hallo, ich möchte 128kByte SRAM an einen ATmega128 hängen. Bisher laufen 32kByte SRAM mit 70ns bei 8MHz problemlos. Nun möchte ich allerdings die vollen 16MHz des ATmega128 nutzen und ich frage mich, ob 70ns noch ausreichen. Ich weis leider nicht genau, welche Parameter im Datenblatt dafür relevant sind. Für eine kurze Erläuterung wäre ich sehr dankbar. Gruß Thorsten
Hallo Thorsten, also schon rein rechnerisch ist der 70ns-Speicher zu langsam. Bei 1/16Mhz kommt man ja auf 62,5ns Takt. Ich weiß allerdings nicht, in wie weit man sich da in zulässigen Toleranzen bewegt - so richtig in Spec ist das aber nicht. Falls Du den Speicher aber nicht mit voller Taktrate ansteuern willst, kannst du den MEM-BUS auch mit Waitstates ausbremsen. Gruß Andreas
Danke für deine Antwort. Das mit den 1/16MHz hatte ich mir auch überlegt, war mir aber nicht sicher ob das auch wirklich die Access-Time für das SRAM ist. Die Sache mit den Wait States werde ich auf jeden Fall benutzen, da noch ein Grafikdisplay mit an den Bus kommt. Ich will aber ein SRAM verwenden, das auch ohne Wait States auskommt. Thorsten
Dann sollte der SRAM schneller als 60ns sein. Bei Kessler Elektronik gibt es SRAMs die bis 10ns schnell sind, recht preiswert. Du musst aber auch den Address-Latch berücksichtigen, das sollte dann schon ein HCT Typ sein, oder du benutzt einen CPLD als Latch und Addressdekoder. Ich vermute ja mal das deine externen Geräte ebenfalls über ein Memory Mapping angesprochen werden sollen. Dann benötigst du ja sowieso neben dem Addresslatch auch eine Addressdekodierung für die CS Signale. Gruß Hagen
Bei Kessler habe ich leider nicht wirklich ein 10ns SRAM gefunden. Mein Problem ist einfach nur, daß ich nicht genau weiß, welche Zeiten aus dem Timingdiagramm für die Berechnung der minimalen Zugriffszeit in Betracht gezogen werden müssen. Vielleicht reicht ja auch ein RAM mit 55ns, das kostet bei Reichelt 1 Euro. Kann mir da wirklich niemand helfen ? Thorsten
Hallo Thorsten, naja also rein rechnerisch (nochmal :o)) muss 55ns-RAM den Anforderungen genügen. Wenn Du Dir in dem Timingdiagramm die Strobesignale für WR und RD ansiehst, dauert ein solches jeweils einen Taktzyklus (Hi->Lo->Hi). Das bedeutet also bei einem Systemtakt von 16MHz vergehen 62,5ns. Wenn der RAM also für 55ns spezifiziert ist, ist alles in Butter. Gruß Andreas
http://www.kessler-electronic.de/grpdetail.asp?ID=B0D5CC2A39A944AF9A51317400D0D840&PFAD=4,5,51271,42,173,51411 da findest du die 10ns Teile. Allerdings reicht eben auch ein 55ns Teil. Die 55ns sind dabei meistens die längste Zugriffszeit. Ich habe auch schon einen 70ns an 16Mhz ATmega162 am laufen, ohne Probleme. Allerdings ist das eben ausserhalb der Spezifikationen und nicht verlässlich. Gruß Hagen
ja hi hab mir die Kessler Angebote mit diesen S-RAMs auch mal angeguckt, nun bin ich auf der Suche nach n' Datasheet für den 611016-10J!! Hab aber noch nichts gefunden. Ist das überhaupt die Komplette Bezeichnung des S-RAMs? Achso, und was bedeutet eigentlich das "asynchron"?
Laut Datenblatt für den Mega128, dürfte das mit dem 70ns OK sein, habe aber grad kein Datenblatt da von einem 70ns SRAM. Allerdings fällt auf, das der Mega sowieso 3 Takte braucht für einen Datenzugriff !!! (Deswegen kracht es auch nicht mit nem 70er) könnt mir ja mal nen Link von dem 70ns SRAM schicken
Von diesen 3 Takten entfallen 2 Takte auf das Addresslatch und 1 Takt auf das RD\ oder WR\ Signal. Also innerhalb eines AVR Taktes, a 62ns bei 16MHz Takt, muß das SRAM die Anforderung erfüllen. Rechnerisch dürfte also ein 70ns SRAM nicht ausreichend sein. Allerdings werden bei SRAMs im allgmeinen die maximalen Zugriffszeiten angegeben, Ein 70ns SRAM ist meistens weit schneller als spezifiziert. Gruß Hagen
Im Anhang das Datenblatt des SRAMs, daß ich zur Zeit benutze. Wie gesagt, es ist die 70ns-Version. Ist schon ein älteres Modell, stammt von einer Festplatte. Thorsten
Annahme: CS wird mit ALE generiert, oder ist ständig auf LOW, dann gehts schneller, braucht aber auch mehr strom (siehe hierzu Read-Cycle2 im Datenblatt)! OE mit RD/WR Lesezyklus: 1. von ALE low bis RD high sind es 1,5 CLK geht also 2. RD low bis high 1 Takt TOE ist 35ns, => 62,5ns - 35ns, reicht also auch WR-Zyklus: 1. OE ist wohl auch kein Probl. 2. CS wieder mit ALE auch kein Probl. 3. WE (TWP) mit 50ns auch kein Probl. bei 62,5ms insgesamt ist bewiesen, dass es immer funzt, wenn ich nichts vergessen habe!!! mit Read/Write-Cycle 2 kann man das ganze auch noch ein wenig beschleunigen !!!
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.