- 3D-Druck Einstieg und Tipps         
Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 40

Thema: SRAM Ansteuerung

  1. #11
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.10.2008
    Beiträge
    109
    Anzeige

    Praxistest und DIY Projekte
    also müsste ich quasie sowas hier machen:

    #define SRAMROW PORTA //das sind die adresspins für die rows
    #define A0 1 // Zeile 1 des Rasters
    #define A9 0
    #define A10 0
    #define A11 0
    #define A12 0

    #define SRAMIO PORTC // das sind die I/O pins

    int main()
    {

    unsigned char i="hallo";
    SRAMROW = 0x0;
    //Jetzt muss man irgendein pin auf h oder l setzten zum schreiben und dan in die I/O Ports i einschicken
    Ich hab mich immer gewundert wieso i/O und nicht nur O ,weil ich dachte das ist immer output und durch die adressepins kommen die daten rein
    SRAMIO=i;

    return 0;
    }

  2. #12
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  3. #13
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    Zitat Zitat von stani Beitrag anzeigen
    adressepins kommen die daten rein
    Jau, die Adresse schriebst Du innen in den Briefumschlag und den Text außen drauf?
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  4. #14
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.10.2008
    Beiträge
    109

    Lächeln

    Jau, die Adresse schriebst Du innen in den Briefumschlag und den Text außen drauf?
    Wie soll das den gehen??Muss ich erstmal die Adresse aufrufen und dan was reinschreiben:

    SRAMROW = 0x0;
    0x0=i;

    ??

  5. #15
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    54
    Beiträge
    1.258
    Hallo stani,

    mal was grundsätzliches: Xram an einem AVR ohne herausgeführten Adressbus anzuschließen ist nicht besonders klug.
    Man nimmt normalerweise einen AVR, der dafür vorgesehen ist, Atmega8515/162 oder Atmega64/128 aufwärts.
    Schaltungen dafür gibt es im Prinzip nur eine:
    http://www.mikrocontroller.net/topic/96205 3.Beitrag von hinten.

    Gruß, Michael

  6. #16
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.10.2008
    Beiträge
    109
    mal was grundsätzliches: Xram an einem AVR ohne herausgeführten Adressbus anzuschließen ist nicht besonders klug.
    Man nimmt normalerweise einen AVR, der dafür vorgesehen ist, Atmega8515/162 oder Atmega64/128 aufwärts.
    Schaltungen dafür gibt es im Prinzip nur eine:
    http://www.mikrocontroller.net/topic/96205 3.Beitrag von hinten.
    Ja das kenn ich schon nur ich wollte halt wissen wie so ein Ram angesteuert wird.

  7. #17
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    54
    Beiträge
    1.258
    Hallo stani,

    Code:
    Ja das kenn ich schon nur ich wollte halt wissen  wie so ein Ram angesteuert wird.
    In Basic?

    Dim Variable(512) as Xram Word
    Dim Bytevariable as Xram Byte

    und dann ganz normal im Programm als Variable verwenden.

    In C ist es ähnlich einfach, das initialisieren mußt du aber selbst machen.
    Google Stichwort xram AVR c

    Gruß, Michael

  8. #18
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.10.2008
    Beiträge
    109
    Danke für den Basic Code Abschnitt.Ich werde mir jetzt einfach mal ein Atmega8515 + 74AC573 holen und dan den Ram dadran anschließen.
    Man müsste also so anschließen:http://www.google.de/imgres?imgurl=h...HkIciCOtza5PgI

    nur eben ohne die pine A13-A18,weil ich die nicht besitze.
    Dan müsste ich doch bei Bascom eingeben:
    Dim Variable(1024) as Xram Word //ich denke 1024 weil das ja 8Kbit sind und man das durch 8 teilen muss für bytes
    Dim Bytevariable as Xram Byte
    und dan??

    EDIT: Da sind auch noch die Pins WE,OE und diese CE1 und CE2

  9. #19
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    54
    Beiträge
    1.258
    Hallo stani,

    nein, du verstehst da was falsch, das Beispiel war wohl nicht ganz korrekt.
    Ich versuche es nochmal neu:

    $regfile = "m128def.dat"
    $crystal = 16000000

    $hwstack = 64
    $swstack = 32
    $framesize = 80

    $xramsize = &H2000

    Config XRAM = Enabled

    Dim blabla as Xram Byte
    Dim V2 as Xram Word
    Dim Bla_S As Xram Single
    Dim Str_v As Xram String * 4
    u.s.w.

    Du kannst so viele Variablen benutzen, wie du Xram-Platz hast, abzüglich der Registeradressen, weil sich die Überschneiden.
    Du kannst aber bei 8kB auch den CS vom Speicher an eine Adresse anschließen und damit deinen Speicherbereich auswählen.

    Gruß, Michael

  10. #20
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.112
    Und noch mal zu Deinem Eingangspost. Willst Du den RAM nur um das Display anzusteuern?
    Jedes Display hat zur Darstellung der Pixel schließlich sein eigenes "RAM", in das Du die Daten einfach nur reinschreiben musst. Falls Du überprüfen musst, was dort drinnen steht, bieten die meisten Displays auch die Funktion, den internen RAM auszulesen. Damit hast Du praktisch Deinen gesuchten ExternenRAM im Display drin.
    Allerdings hast Du dann natürlich die gleichen Probleme.
    Der Vorgang ist aber fast immer der GLeiche:
    1 .Verbindung Deiner individuellen Pins des µC mit den Adresspins, den DatenPins und den SteuerPins (Read/Write, Enable usw.) mit dem RAM/Display.
    2. Anlegen der gewünschten Adresse für ein bestimmtes Byte (0-xkB)
    3. Einstellung der Steuerpins (zB Read, usw)
    4. Setzen der Daten durch einen Taktpuls an CS oder wie auch immer bezeichnet.
    Wenn man wenige Pins hat, benutzt man zusätzliche "Zwischenspeicher" (Octal Buffer), die zB ein ganzes Byte an AddressLow "halten" während man ein anderes an AddressHigh schreibt.
    So kann man den Datenbus auf 8Bit reduzieren, benötigt dann aber für jeden der Buffer ein weiteres Bit oder aber 2 Bit zur Ansteuerung eines Multiplexers, der es einem ermöglichst 4 Buffer (zB 74hc540) anzusteuern.
    Dazu gibt es soweit ich weiß auch was im RN Wissen!
    Gruß

Seite 2 von 4 ErsteErste 1234 LetzteLetzte

Ähnliche Themen

  1. Bit im SRAM setzen
    Von 1udo1 im Forum Assembler-Programmierung
    Antworten: 4
    Letzter Beitrag: 22.10.2007, 20:42
  2. Speichern im SRam
    Von LotharK im Forum Assembler-Programmierung
    Antworten: 5
    Letzter Beitrag: 14.04.2007, 08:57
  3. SRAM seriell
    Von CowZ im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 10.02.2007, 18:07
  4. NV-RAM vs. SRAM mit Batterie
    Von fleckman im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 20.02.2006, 15:44
  5. daten in den sram und aus den sram
    Von ronald im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 18.02.2006, 16:53

Stichworte

Berechtigungen

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

LiFePO4 Speicher Test