-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Wie kan externes RAM bei PIC verwendet werden?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    19.12.2005
    Ort
    Wang-Dong-Township
    Alter
    47
    Beiträge
    67

    Wie kan externes RAM bei PIC verwendet werden?

    Anzeige

    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

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.12.2005
    Ort
    Tann / ZH
    Alter
    61
    Beiträge
    264
    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
    MfG
    Ruedi

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.12.2005
    Ort
    Euskirchen-Großbüllesheim
    Alter
    67
    Beiträge
    2.063
    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.
    MfG Karl-Heinz
    HobbyElektronik hier klicken ....

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.10.2004
    Ort
    Nordschwarzwald
    Alter
    34
    Beiträge
    506
    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

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.12.2005
    Ort
    Euskirchen-Großbüllesheim
    Alter
    67
    Beiträge
    2.063
    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.
    MfG Karl-Heinz
    HobbyElektronik hier klicken ....

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    19.12.2005
    Ort
    Wang-Dong-Township
    Alter
    47
    Beiträge
    67
    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

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.12.2005
    Ort
    Euskirchen-Großbüllesheim
    Alter
    67
    Beiträge
    2.063
    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 ....
    MfG Karl-Heinz
    HobbyElektronik hier klicken ....

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    19.12.2005
    Ort
    Wang-Dong-Township
    Alter
    47
    Beiträge
    67
    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

  9. #9

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.12.2005
    Ort
    Euskirchen-Großbüllesheim
    Alter
    67
    Beiträge
    2.063
    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.
    MfG Karl-Heinz
    HobbyElektronik hier klicken ....

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •