Externes SRAM

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • Externes SRAM

      Hallo zusammen,

      ich möchte einem mega2560 zusätzlichen SRAM(CY62256LL-SNXI) gönnen.In der Hilfe ist ein Beispiel, in dem ein Latsch 74AHC573 eingebaut ist.

      Ein weiteres Beispiel zeigt ein Xmega ohne dieses Latch.

      Kann ich den mega2560 ohne diese Latch mit dem SRAM mit 3 Ports betreiben? Wenn ja wie?

      Danke schon mal

      Gruß Sven
      Dateien
      • mit Latch.JPG

        (112,19 kB, 25 mal heruntergeladen, zuletzt: )

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Svenulm31 ()

    • Es ist völlig egal welche Pins verwendet werden. Es vereinfacht die Sache nätürlich wenn es ganze Ports sind. z.B. Port a=Adresse_ low, PortB=Adresse_high, Portd=Daten.
      Wenn er fest verbaut wird und nicht woanders gelesen / beschrieben wird ist die Reihenfolge egal (d.0 kann auch an z.B. D6 vom Chip. Beim Lesen ist es wieder der pin d.0 der die Daten bekommt.
      Sollte es nötig werden die Port zu mischen gibt es hier ein Port-Remap was ein "virtuellen" Port erzeugt:
      z.B. Portx.0=Porte.3 an D7
      .....Portx.7=Portb.0 an D2
      damit würde Port x sich ähnlich einem normalem Port verhalten. Das braucht aber Zeit da die Software immer das Byte aus einzelnen Bits zusammen suchen muß. Merklich wenn da ein Bild für ein Display geholt werden muß, nicht störend wenn nur sekündlich log-daten drauf sollen.


      Svenulm31 schrieb:

      Wo kann ich dann Software seitig die Adressleitungen einstellen?
      Ich würd es mit Overlay vereinfachen:
      Dim adress as word
      dim adress_low as Byte at adress overlay
      dim adress_hi as Byte at adress+1 overlay
      dann
      Port a=adress_low
      Port_b=adress_hi (oder Portx=adress_hi falls die oberen Adressleitungen wild verteilt sind))
      ...

      Er soll als External Memory arbeiten? Dann muss es PortC.0-6 sein. Auch die Steuerleitungen müssen dann an den vorgesehene Stellen (Ce,Oe,We)

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Pluto25 ()

    • Danke Dir, und ja Zeit spielt eine große Rolle. (Web Seiten, SD-Card …. )
      Ganze Port’s verwenden und Overlay ist klar.
      Interessant wird dann noch das Timing der Steuerleitungen (Ce,Oe,We). Der CY62… läuft mit 55ns. Der Atmel mit 16Mhz.
      Kann es sein das ich am Ende ohne Latch sogar schneller bin, da die hin und her „Schalterei“ vom shared PortA weg fällt ?
    • Pluto25 schrieb:

      So wie ich die Datenblätter verstehe ist das Latch zwingend nötig wenn er als Extrnal Memory benutzt werden soll.
      Das sehe ich genauso.

      Pluto25 schrieb:

      Der Datenbus ist zwingend PortA
      jop, sieht man an den Zweitnamen der Pins. A8-15, ALE, WR, RD.
      AD0-7 teilen sich Adress- und Datenbus und da kommt das Latch ins Spiel.


      Svenulm31 schrieb:

      Wo kann ich dann A16-A23 anschließen? Ist das egal?
      im Prinzip ja, aber versuch erstmal 15 Bit Adressraum. Da brauchst du nur das Latch.
    • Beim aktivieren des Extended Memory belegt er Port C mit den höheren Adressleitungen. Seine Pins könnten wieder freigeschaltet werden, aber dadurch wird die Größe des Rams bestimmt. Heißt man muß sich selbst um die Adressierung der höheren Adressen kümmern. Das macht aber viele Vorteile zunichte/Ihn nicht für Bascom Variablen nutzbar.
      Die selben Variablen hätten verschiedene Speicherbereiche. Ob das nützlich sein kann?