Dies ist eine alte Version des Dokuments!
RZ_Raven_USB Stick (AT90USB1287) External RAM Erweiterung (XRAM) über die XMEM Schnittstelle
Da der interne SRAM des RZ Raven USB Sticks (AT90USB1287) mit 8KByte relativ klein ist, entstehen immer wieder Probleme, welche meist durch einen Überlauf des Stacks in den Heap oder umgekehrt entstehen können, siehe folgende Abbildung (Da der RZ Raven USB Stick mit 8KByte internem RAM ausgestattet ist, ist die höchste Adresse nicht wie in der Abbildung gezeigt 0x10FF sondern 0x20FF).
Besonders beim Einsatz als RPL Border Router (Der Jackdaw Raven USB Stick als RPL Border Router), gelangt der SRAM mit 96% Auslastung nach der Kompilierung an seine Grenze. Der Betrieb von weiteren Protothreads wie z.B. das Contiki SNMP ist somit auf dem RZ Raven USB Stick nicht möglich.
Benötigte Hardware
Glücklicherweise haben die Entwickler des Raven USB Sticks für solche Fälle bereits Vorbereitungen getroffen und innerhalb des Platinenlayouts Leiterbahnen zum Anschluss eines zusätzlichen externen SRAMS inegriert. Im folgenden Schaltplan ist dieser unter der Bezeichnung U6 zu finden.
Da um Pins zu sparen der Datenbus und die High Order Adress Bits über die gleichen Pins gesteuert werden, ist zusätzlich ein Latch erforderlich, welches mit der Bezichnung U5 im Schaltplan zu finden ist. Die folgende Abbildung verdeutlicht den prinzipiellen Aufbau.
Außerdem ist pro Chip jeweils ein Abblockkondensator vorgesehen (C19 und C20). Auf dem Raven USB Stick sind die Bauteile auf der Platinenunterseite zu finden.
Empfohlen werden laut RZ Raven Hardewareguide Kapitel 3.4.2 die ICs 74AHC573PW als Addresslatch und der BS62UV256TCP-10 als SRAM (32KByte). Das Addresslatch ist ohne Probleme zu beziehen, z.B. von Texas Instruments bei Farnell. Beim empfohlenen SRAM wird das Ganze schon etwas schwieriger, da das Bauteil scheinbar nicht mehr hergestellt wird. Es gibt jedoch einige Alternativen, das wichtigste ist die Gehäuseform TSOP-28 sowie die 32KByte in Anordnung 32×8 und 3,3V Nennspannung, z.B. INTEGRATED SILICON SOLUTION (ISSI) - IS62LV256AL-45TLI.
Register und Pointer Konfiguration zur Aktivierung und Nutzung des external SRAMs
Um den neuen externen SRAM nun zugänglich zu machen, muss dieser aktiviert werden. Dazu muss das Register XMCMRA, genauer PIN7 von XMCMRA auf High gesetzt werden.
Die restlichen PINs 0-6 (SLR0-SLR2, SRW10, SRW11, SRW00 und SRW01) sind zur Einstellung von „Wait-States“ vorgesehen, was es ermöglicht den Addressraum in verschiedene Sektoren aufzuteilen, was bei den hier verwendeten 32KByte jedoch nicht notwendig ist.