-         

Ergebnis 1 bis 8 von 8

Thema: Atmega 162 mit Externem RAM

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    18.12.2010
    Beiträge
    9

    Atmega 162 mit Externem RAM

    Anzeige

    Hallo, ich habe erstmal nur eine allgemeine Frage zum Thema Atmega 162 mit externem Ram ( 62256 32K)

    in der Bascom-Hilfe habe ich die Schaltung ( die ist auch soweit klar) dazu gefunden, und die Befehle
    Dim as XRAM und CONFIG XRAM !
    Ist es damit getan , muß ich der Variable nur den zusatz XRAM verpassen, und Bascom speichert dann selbstständig dort rein wie in den internen SRAM ? oder muß ich zusätzlich noch etwas beachten ?

    bitte entschuldigt wenn das etwas blöd klingt, aber ich bin noch recht neu auf dem gebiet

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    18.12.2010
    Beiträge
    9
    hat das etwa noch keiner gemacht ?

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.02.2010
    Beiträge
    167
    ...damit bastelt heut fast keiner mehr.
    So ein Thema wollte ich auch mal anfangen, klappt nicht.

    gruss

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Wenn ich die Bascom-Help über XRAM richtig verstehe, macht Bascom das speichern und lesen automatisch (wie ja auch bei ERAM).
    d.h. insofern hast du nichts damit zu tun.

    Die Sache mit den Waitstates je nach XRAM-Zugriffszeit solltes du aber schon beachten.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    18.12.2010
    Beiträge
    9
    Zitat Zitat von funkheld
    ...damit bastelt heut fast keiner mehr.
    So ein Thema wollte ich auch mal anfangen, klappt nicht.

    gruss
    ich komme aber wohl nicht drum herum mit externem RAM zu arbeiten, da ich große Array variablen brauche, und da reicht der interne SRAM nicht aus.

    ich hab jetzt mal die Schaltung so aufgebaut wie in der Bascom-hilfe beschrieben, und habe das Blockschaltbild mal in einen Stromlaufplan übersetzt.

    bei dem Latch bin ich mir nicht ganz sicher, die Pinbelegung vom Latch ist im Datenblatt mit Pin2 = D0, Pin2 = D1 usw beschrieben. Ich habe allerding in meiner schaltung eine andere Reihenfolge und zwar Pin2 = D8, Pin3 = D7 usw. natürlich die Ausgansseite auch entsprechend gedreht so das es wider passt.
    ich habe es nur so gemacht um die anordung der Bauteile einfacher zu gestalten.
    Ist das dem Latch egal ? oder muß es wie im Datenblatt eingehalten werden ?

    ich kann nähmlich nicht auf das RAM zugreifen, und beim versuch bleibt das programm stehen
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken atmega162_sram.jpg  

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    29.01.2005
    Alter
    45
    Beiträge
    294
    Das mit dem Latch ist egal. So was habe ich auch mal gemacht, aber auf einem anderen System.

    Leider habe ich mit externem Ram beim ATMega noch nie etwas gemacht, daher kann ich bei den weiteren Probs leider nicht helfen.
    Das Gegenteil von "gut" ist "gut gemeint"!

  7. #7
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Eigentlich ist es wurst, welchen Adress-Pin du wo anhängst.
    Jede adresse hat 15 Bit, die eindeutig irgendeinen Speichplatz bezeichnen, und ob deine BYtes physisch aufsteigend oder durcheinander im Speicher liegen, ist egal. Genauso ist es mit den Daten-bits. Haupsache, z.b D3 kriegt beim Lesen das, was er beim Schreiben dort hingeschickt hat.

    Programm bleibt stehen: Da es keine Rückmeldungen vom Speicher gibt, auf die man warten und dann hängenbleiben könnte, muss das einen anderen Grund haben. Ich les mir jetzt das mit dem XRAM beim 162-er im datasheet mal durch, ob es da irgendwelche weisheiten gibt.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    18.12.2010
    Beiträge
    9
    so ich habs geschafft, ich kann auf das RAM zugreifen

    hier mein code
    Code:
    $regfile = "M162def.dat"
    $crystal = 1000000
    $hwstack = 100
    $swstack = 100
    $framesize = 100
    
    
    Config Com1 = 4800 , Synchrone = 0 , Parity = Even , Stopbits = 1 , Databits = 7 , Clockpol = 0
    Config Com2 = 4800 , Synchrone = 0 , Parity = Even , Stopbits = 1 , Databits = 7 , Clockpol = 0
    
    
    Config Print = Portb.1 , Mode = Set
    Config Pinb.1 = Output
    
    Config Print1 = Portb.0 , Mode = Set
    Config Pinb.0 = Output
    Open "COM2:" For Binary As #1
    
    
    Dim Test(2) As Xram Word
    Dim Bla As Xram String * 14
    Do
    
    Test(1) = 12345
    Test(2) = 5555
    Bla = "Hello XRAM ;-)"
    
    
    If Test(1) = 12345 Then
    
    Print #1 , Test(1)
    Print #1 , Test(2)
    Print #1 , Bla
    
    End If
    Waitms 1000
    Loop
    ich habe die einstellung für das RAM allerdings in Bascom gemacht, da ich mit $XRAMSTART and $XRAMSIZE nicht ganz klar gekommen bin, ich habe nicht ganz verstanden wie das mit den Adressbereichen zu machen ist vielleicht kann das nochmal jemand etwas ausführlicher beschreiben, da ich es doch ganz gerne mit im Code hätte.

    Einstellungen habe ich jetzt folgende:
    XRAM=36KB, Harken bei ''External Access Enable, bei Waitstate keinen Harken !

Berechtigungen

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