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

Thema: RAM - Wechsler

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2005
    Ort
    Kaiserslautern
    Beiträge
    794

    RAM - Wechsler

    Anzeige

    Hi,

    Ich benötige bei meinem nächsten Projekt zwei RAMs. Dabei soll eines Bilddaten ausgeben, das andere soll beschrieben werden. Soweit kein Problem.

    Aber: Ich muss im Betrieb hin und her wechseln, also:
    1.) ramA: Bilddaten, ramB: wird beschrieben
    danache:
    2.) ramA: wird beschrieben, ramB: Bilddaten

    Ich muss also die Adresseingänge und die Datenausgänge hin und her wechseln. Mir fielen dazu nur umständliche Schaltungen mit UNDs und ODERs ein, geht das ganze vielleicht auch wesentlich einfacher?

    Gruß, CowZ

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    32
    Beiträge
    4.255
    Was für ein µC ist dafür zuständig? Ist es nur einer, oder sind es zwei unabhängige?

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2005
    Ort
    Kaiserslautern
    Beiträge
    794
    Steuern soll das ganze ein (einer also ) Mikrocontroller.

    Dabei soll die Adresse vom Bildram von einer externen Quelle (Zähler und Clock oder so) kommen. Diese externe Quelle wird aber auch von dem einen Mikrocontroller gesteuert.

    edit:
    Hier nochmal verdeutlicht, was ich machen möchte: Flussdiagramm

    Ich habe zwei RAMs, RAM A und RAM B.

    Ich habe quasi zwei Betriebszustände:
    Zustand A:
    RAM A bekommt seine Adresse direkt vom Mikrocontroller. Dabei werden die "Speicherdaten" in das RAM geschrieben.
    RAM B bekommt seine Adresse von einem Zählbaustein. Es liefert seine Daten an einen DAC.

    Zustand B:
    Wie Zustand A, nur sind die beiden RAMs vertauscht.

    Nun ist meine Frage, wie ich die "Switch"s am besten realisiere.

    Ich brauche folgende Switches:

    Einen der: Zwei Signale (µC, Zähler => RAM A, RAM B) von zwei Quellen auf zwei Ausgänge schaltet.

    Und einen der: Ein Signal (RAM -> ADC) von zwei Quellen auf einen Ausgang schaltet.

    Und einen der: Ein Signal (µC -> RAM) von einer Quelle von zwei Ausgänge schaltet.

    Dabei muss gewechselt werden können und die letzten beiden müssen kombinierbar sein (dürfen also keinen Kurzschluss etc. bilden)

    Gruß, CowZ

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    06.11.2006
    Beiträge
    1.078
    Hallo
    Für so was gibt es Multiplexer.
    Z.B 74257, 74604 oder auch 'selbst gemacht' mittels GAL oder CPLD.

    Mit freundlichen Grüßen
    Benno
    Wo man nicht mit Vernunft handelt, da ist auch Eifer nichts nütze; und wer hastig läuft, der tritt fehl.
    Ein König richtet das Land auf durchs Recht; wer aber viel Steuern erhebt, richtet es zugrunde

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    32
    Beiträge
    4.255
    Du bräuchtest eigentlich ein Dualport-RAM, dass du dann in zwei Hälften teilst, die deinen beiden RAMs entsprechen würden. Dann musst du beim "RAM-Wechsel" nur an beiden Ports die höchste Adressleitung umschalten, damit greifen µc und DAC dann jeweils auf die andere Hälfte zu.

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2005
    Ort
    Kaiserslautern
    Beiträge
    794
    Hi,
    danke für die Antworten.

    @uwegw: Dualport-RAMs scheinen zwar wirklich genau das zu sein, was ich brauche, aber ich finde keines bei Reichelt. Und die Conradsuche spuckt bei den Suchbegriffen "Dualport RAM" ne USB- und ne PS/2-Buchse aus... Habe ich da was übersehen, und es gibt sie doch bei Reichelt/Conrad? (mindestens 2x 16kiB)

    @Yossarian:
    Der 257 ist schonmal der eine Teil, den ich Suche
    Den 604 finde ich nicht. Ich bräuchte ja quasi einen 2 zu 1 Demultiplexer, oder?
    Ein selbermachen mit GAL oder CPLD kommt für mich momentan nicht in Frage. Würde das gerne mit Standardbauteilen machen.

    Gruß, CowZ

  7. #7
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    67
    Beiträge
    11.000
    Hallo CowZ!

    Die Dualport-RAMs sind manchmal bei ebay zu kaufen, muss man aber Glück haben oder lange warten. Beim Reichelt und Conrad gibt´s sie nicht.

    Die Adressleitungen kann man tatsächlich mit entsprechender Anzahl von Multiplexer z.B. 74XXX157 umschalten.

    Das Problem beim Umschalten zwei RAMs gibt es vor allem bei der Dataleitungen, da sie bidirectional sind. Das könnte man machen durch umschalten der "/EN" und "DIR" Eingänge der Bustreiber 74XXX245. Der "/EN" wählt den aktiven Treiber aus und "DIR" legt die Richtung der Daten fest. Um Daten von 2 RAMs in beiden Richtungen umzuschalten werden 4 solche Treiber benötigt.

    Wenn die Richtung der Daten von/zu bestimmten dessen Sender/Empfänger sich nicht ändert kann man Bustreiber 74XXX244 anwenden.

    MfG

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2005
    Ort
    Kaiserslautern
    Beiträge
    794
    Hi,

    Dann schließe ich Dualport-RAMs mal aus, soll auch nachbaubar sein. Schade.

    Mal schauen, das mit den ganzen Logikbausteinen wird glaub ich zuviel Hardware.

    Bei meinem Projekt geht es darum, ein PAL-Signal auszugeben. Die Pixeldaten müssen dabei mit einer Frequenz von mindestens 2,5MHz ausgegeben werden (128Pixel in 52µs). Die AVRs mit ihren maximal 16 (bzw. 20MHz) kommen da imho nicht in Frage, wenn sie gleichzeitig die Bilddaten empfangen müssen, zumal sie ja auch keine 16kiB-SRAM haben.

    Fällt euch eine Lösung für dieses Problem ein? Im Internet finde ich nur Beispiele, wo einfache Bilder erzeugt werden, aber keine Bilder mit 8-bit Tiefe, die von außen empfangen werden.

    Ich spiele mittlerweile mit dem Gedanken hierfür einen ARM mit 55MHz einzusetzen.

    Gruß, CowZ

  9. #9
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    67
    Beiträge
    11.000
    Hallo CowZ!

    Vielleicht wäre hardwaremässig einfacher anstatt Adressmultiplexer zwei Adresszähler die am Anfang gelöscht werden einzusetzen, da braucht man nur zwei Leitungen (CLR und CLK) zu steuern, was die Hardware vereinfacht und der Prozessor braucht sich mit der ganze Adresse nicht beschäftigen. Deine Daten sind sowieso sequenziell. Hier kann man zwei 74XXX393 pro RAM nehmen, die bis 16-bit Adresse generieren können.

    Also ich glaube, dass sich die ganze Hardware des Umschalters in dem Fall mit 8 Bausteinen realisieren lässt.

    MfG

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    06.11.2006
    Beiträge
    1.078
    Hallo
    Schau Dir den CBT3244 mal an.

    Mit freundlichen Grüßen
    Benno
    Wo man nicht mit Vernunft handelt, da ist auch Eifer nichts nütze; und wer hastig läuft, der tritt fehl.
    Ein König richtet das Land auf durchs Recht; wer aber viel Steuern erhebt, richtet es zugrunde

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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