- LiTime Speicher und Akkus         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: 32K ram an avr 90S8535

  1. #11
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.05.2004
    Ort
    Bergstraße
    Beiträge
    245
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Zitat Zitat von Kjion
    Zitat Zitat von roboter
    Ich habe nochmal ein bißchen weitergesucht und versucht einen Schaltplan zu machen. Könnte da einer drüberherschauen ob das so funktioniert?
    Der sieht schonmal richtig aus so.
    Das Datenblatt sagt, dass jenseits 8MHz die 74HC.. Address Latches evtl zu langsam sind. Vielleicht wäre da was schnelleres angesagt (74ALS.. ?).

    'Ne andere Frage: Bei Reichelt finde ich max 32kB Speicher, 64k kann man aber anschließen. Wie schlte ich denn 2 32er parallel? Muss ich dann aus den Adress-Leitungen noch ein zusätzliches Chipselet ableiten ? Wäre etwas kompliziert ..

    Zitat Zitat von Kjion
    Ich weiß nicht wie das in Bascom ist, aber theoretisch sollte man das externe RAM wenn man es aktiviert fast wie das normale interne ansprechen können.
    Hat jemand 'ne Idee wie das in GCC aussieht?

    ciao .. bernd

  2. #12
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.11.2003
    Beiträge
    991
    Hi,

    ich hab das externe RAM noch nicht so viel benutzt. Du könntest allerdings mal folgende Codestück ausprobieren :
    Code:
    // aus dem Datenblatt des ATMega162 ab Seite 28
    
    #define	OFFSET	0x0500
    
    void init(void)
    {
    	DDRC = 0xFF;
    	PORTC = 0x00;
    	
    	/* externes RAM aktivieren */
    	MCUCR |= (1<<SRE);
    	
    	/* eventuelle Waitstats aktivieren */
    	EMCUCR = 0;
    	
    	/* eventl. Pins von PortC freigeben */
    	SFIOR &= ~((1<<XMBK)|(1<<XMM2)|(1<<XMM1)|(1<<XMM9));
    }
    
    int main(void)
    {
    	unsigned char *p = (unsigned char *) (OFFSET + 1);
    	
    	init();
    	
    	*p = 0xaa;
    	
    	PORTB = *p;
    	
    	/* Die "unteren" Bytes liegen im internen RAM! */
    	p = 0x0002 + OFFSET;
    	
    	*p = 0x72;
    	
    	PORTD = *p;
    	
    	while(1)
    		;
    }
    Hab das mal schnell zusammengestrickt. Ist also völlig ungetestet...

    MfG Kjion

  3. #13
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.11.2003
    Beiträge
    991
    Zitat Zitat von bhm
    Das Datenblatt sagt, dass jenseits 8MHz die 74HC.. Address Latches evtl zu langsam sind. Vielleicht wäre da was schnelleres angesagt (74ALS.. ?).
    Wäre eine interessante Frage. Vielleicht könnte man jemand rausfinden welche Gatterlaufzeiten die einzelnen Chips haben ??
    Hatte mich damit wie gesagt noch nicht wirklich genauer mit beschäftigt ...

    Zitat Zitat von bhm
    'Ne andere Frage: Bei Reichelt finde ich max 32kB Speicher, 64k kann man aber anschließen. Wie schlte ich denn 2 32er parallel? Muss ich dann aus den Adress-Leitungen noch ein zusätzliches Chipselet ableiten ? Wäre etwas kompliziert ..
    Es gibt so gut wie keine 64 kByte RAMs. Du kannst entweder ein 128 kByte RAM nehmen, oder eben wie du geschrieben hast zwei 32 kB RAMs. Dann brauchst du allerdings noch einen Inverter.
    A15 vom AVR geht dann auf die CS Leitung des einen Chips und über den Inverter auch gleichzeitig auf die des anderen Chips. So sprichst du dann in den unteren 32 kB den einen Chip an, in den oberen den anderen...

    MfG Kjion

  4. #14
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.05.2004
    Ort
    Bergstraße
    Beiträge
    245
    Zitat Zitat von Kjion
    ich hab das externe RAM noch nicht so viel benutzt. Du könntest allerdings mal folgende Codestück ausprobieren
    hmmm, vorher muss ich so ein Ding erstmal bauen ....
    Hat aber im Moment keine hohe Priorität. Gibt es dafür eigentlich Bedarf, also Frage Entwicklung nach Roboternetzstandard?

    ciao .. bernd

  5. #15
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.05.2004
    Ort
    Bergstraße
    Beiträge
    245
    Zitat Zitat von Kjion
    Dann brauchst du allerdings noch einen Inverter.
    A15 vom AVR geht dann auf die CS Leitung des einen Chips und über den Inverter auch gleichzeitig auf die des anderen Chips.
    Das wäre noch ein mäßiger Aufwand. Ich hatte Schlimmeres befürchtet.

    ciao .. bernd

  6. #16
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.11.2004
    Beiträge
    263
    Danke, so langsam kommt mir der Überblick

    Wenn man bei Reichelt nach 62256-80 sucht, kommt man zu den Ram den ich benutzen will. Im Datenblatt des ATMega162 steht ja was von Waitstats. Ich will den ATMega162 mit 8Mhz takten. Nun weiß ich aber nicht, welches von den vier angegebenen das Richtige ist für diese Kombination ist.

  7. #17
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.11.2004
    Beiträge
    263
    Würde sowas in Bascom funktionieren?
    Code:
    $regfile = "m162def.dat"                                    'ATmega8-Deklarationen
    $crystal = 8000000                                          'Quarz: 8 MHz
    
    'enable XRAM
       Mcucr.7 = 1
    
    'nur einen Sektor
       Emcucr.6 = 0
       Emcucr.5 = 0
       Emcucr.4 = 0
    
    'Waitstats (Welche Einstellung benötige ich hier genau?)
    Mcucr.6 = 0
    Emcucr.1 = 0
    
    '32K --> es werden nur 15 Adressbits benötigt --> PC7 freischalten
    Sfior.3 = 1
    
    
    'Der 32k-Speicher ist nun verfügbar von 0X0500 bis 0X8500

Seite 2 von 2 ErsteErste 12

Benutzer, die dieses Thema gelesen haben: 0

Derzeit gibt es keine Benutzer zum Anzeigen.

Berechtigungen

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

LiFePO4 Speicher Test