-
-
Wie kan externes RAM bei PIC verwendet werden?
Hi Leute,
ich würde gerne bei PIC-Projekten etwas mehr RAM als die etwa 1500 Speicherzellen bei einem PIC 18F452 zur Verfügung haben.
Hat von Euch jemand einen Tipp für mich, ob und wie man mittels eines externen Bausteins mehr RAM zur Verfügung stellen kann?
Ich denke hier so in einem Bereich von mehreren -zig KiloByte.
(Ist für die temporäre Vorhaltung von MIDI-Daten gedacht!!!).
Falls es so einen Baustein gibt, wird der über I²C angeschlossen oder Adress- und Datenbus?!?!?
Gruß, Jan
-
Erfahrener Benutzer
Roboter-Spezialist
Der Pic hat keinen Adress und Datenbus soweit ich weiss.
Da müsstest Du eine anderen uC verwenden wie den 8051 oder einer seiner Derivate.
Fur PIC gibt es Projekte für MP3 player.
Schau mal da ob du was findest.
Folgende Seite kann ich Dir empfehlen (speziell für PIC):
http://www.fernando-heitor.de
oder schau mal hier nach:
http://www.mikrokontroller.net
-
Erfahrener Benutzer
Robotik Einstein
Hallo Jan,
es gibt Speicher für I2C, welche seriell gelesen und beschrieben werden, was nicht besonders schnell ist.
Ansonsten gibt es statische RAM's, für die ein Daten- und Adress-Bus vorhanden sein muß. Für Daten brauchst Du am PIC ein 8 Bit bidirektionales Port (lesen und schreiben) und für die Adressen so viele, wie Du möchtest. 8 Adress-Leitungen wären 256 Speicherplätze, 16 sind 65536. Dann noch 2 Pins für Schreib- und Lese-Signale.
Du kannst den Daten- und Adress-Bus auch multiplexen, um Port-Pins zu sparen. Dazu wird erst die Adresse auf den Adress-/Daten-Bus gelegt und mit einem Latch-Signal in einem 8...16 Bit D-Latch gespeichert. Die Ausgänge der D-Latchs führen zum Speicher-Baustein. Dann werden Daten auf den Adress-/Daten-Bus gelegt und ein Schreib-Signal ausgegeben oder ein Lese-Signal ausgegeben und die dann anliegenden Speicher-Daten eingelesen.
-
Erfahrener Benutzer
Roboter Experte
Die meisten etwas größeres PICs (so auch deiner) haben einen sogenannten Parallel Slave Port. Der besteht meistens aus PORTD und PORTE, also 8 Bit + 3 Bit.
Wenn du dir die Bezeichnungen anschaust, stellste schnell fest, dass der schon genau dafür ausgelegt ist (RD,WR, Chip-Select).
Du kannst entweder die Ansteuerung von Hand machen und nur die Pins nutzen - oder du verwendest die Hardwareeinheiten des PICs dafür.
Vorteil der Hardwarefunktionen: Automatische Umschaltung der Tristate-Register, je nachdem ob du schreibst oder liest.
Nachteil: eigentlich ist er nur als Slave aufgebaut, d.h. er geht davon aus, dass ihn jemand anders mit Daten füttert und er nicht selber dafür zuständig ist - sollte aber trotzdem funktionieren.
Im Datenblatt findest du auf Seite 102 etwas dazu.
MfG
Stefan
-
Erfahrener Benutzer
Robotik Einstein
Hallo Stefan,
ich habe das laut Datenblatt für den PIC 16F877 so verstanden, daß RD, WR und CS Eingänge sind und im PSPMODE extern gesteuert werden können, was dann bedeutet, bei einem RD sind Port D Ausgänge und bei WR Eingänge. Folglich ist der PSP-Mode für ein externes RAM anzusprechen unbrauchbar; alles muß manuell gemacht werden.
-
Hi Leute,
kann mir mal jemand 'ne Reichelt- oder Conrad-Bestellnummer für ein paar unterschiedliche RAM-ICs nennen? Ich kann ja wohl nicht diese Speichermodule verwenden, die üblicherweise für PCs angeboten werden.
Und ein paar Links zu den Beispielprojekten auf www.fernando-heitor.de wären auch nicht schlecht. Ich glaub' ich blick heute den Google nicht ?!?!?
Vielen Dank im Voraus!!!
Gruß, Jan
-
Erfahrener Benutzer
Robotik Einstein
Du brauchst ein statisches RAM xxxK x 8 (xxxK = KiloBits, x 8 = 8 Bit parallel). Die Zugriffszeit spielt bei Deiner Anwendung keine Rolle.
Reichelt Bestell-Nr. z.B. 6116-100 oder 6264-70 oder 62256-80 ....
-
Hallihallo,
ich hab' da noch eine absolute Anfängerfrage: Was kann man sich unter einem STATISCHEN RAM vorstellen? Bleibt da der Speicherinhalt nach dem Ausschalten erhalten, und wo wäre dann der Unterschied zu einem EEPROM? Gibt es im Gegensatz dazu auch dynamische RAMs???
Gruß, Jan
-
Erfahrener Benutzer
Roboter-Spezialist
-
Erfahrener Benutzer
Robotik Einstein
Für ein dynamisches RAM wird zusätzliche Hardware benötigt, die den Inhalt jeder SpeicherZelle zyklisch auffrischt.
Das brauchst Du beim statischen RAM nicht. Hier kannst Du auch mit einer kleinen Batterie 3,6...5 V den Speicherinhalt nach dem Abschalten erhalten. Der Stromverbrauch für ein 62256-70 liegt unter 1 MikroAmpere.
Bei einem Eeprom bleiben die Daten ohne Batterie erhalten. Nach jedem SchreibZyklus braucht das Eeprom jedoch einige MilliSekunden WarteZeit, bis der Speichervorgang fertig ist.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen