mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Speicher Adressierung (Mega162)


Autor: Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich entwerfe gerade meine erste Schaltung die externen Speicher 
verwendet.

Meine Hardware ist folgende:

ATMEGA162
74HC373 (latch)
62256-70M (sram)

Ich möchte jetzt gerne wissen ob mein Annahmen richtig sind.

Der SRAM hat 15 Adressleitungen A0 bis A14 sollte also 2^15 also 32768 
Adressen haben. Mal 8bit pro Datenwort, sind das 256kB richtig ?

Der Mega162 hat insgesamt 16 Portpins (PortA+PortC) die für die 
Adressierung von Speicher verwendet werden können. Das wäre genug für 
512kB, richtig ?

Laut Datenblatt kann der Mega162 aber nur bis zu 64kB externen Speicher 
verwalten.
Im Datenblatt steht jetzt ein Satz der mich extrem verwirrt:

"When the External Memory is enabled, all Port C pins are used for the 
high address byte by default. If the full 60KB address space is not 
required to access the external memory, some, or all, Port C pins can be 
released for normal Port Pin function as described in Table 4. "

Das ergibt irgendwie keinen Sinn. Wieso braucht der Mega162, 16 
Adressleitungen um 60kB (warum eigentlich auf einmal nicht mehr 64kB?) 
zu adressieren ?

Verstehe ich das falsch, oder ist das ein Druckfehler im Datenblatt ?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>62256-70M (sram)
>
>Der SRAM hat 15 Adressleitungen A0 bis A14 sollte also 2^15 also 32768
>Adressen haben. Mal 8bit pro Datenwort, sind das 256kB richtig ?

Falsch. Der 62256 hat 32kB. Ein Byte pro Adresse.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Das ergibt irgendwie keinen Sinn. Wieso braucht der Mega162, 16
>Adressleitungen um 60kB (warum eigentlich auf einmal nicht mehr 64kB?)
>zu adressieren ?

Weil in den mit 16-Bit-Adresse ansprechbaren Speicher auch noch die 
Register, IO-Adressen und der interne RAM liegen. Die müssen von den 64k 
abgezogen werden.

MfG Spess

Autor: Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@holger
mmmh stimmt, das mach irgendwie Sinn...
Da hatte ich wohl ein Brett vorm Kopf. Danke!

Wenn ich jetzt den vollen Bereich nutzen möchte, brauche ich da einen 
anderen Speicherbaustein, oder kann ich einen zweiten Baustein einbinden 
?

Und wie stelle ich das am besten an ? Vielleicht die 15.te Adressleitung 
an den chipselect vom zweiten Speicher ?

Autor: Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@spess53

Danke für die Info

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Und wie stelle ich das am besten an ? Vielleicht die 15.te Adressleitung
>an den chipselect vom zweiten Speicher ?

Einmal direkt an /CS des einen Speichers und einmal invertiert an /CS 
vom anderen.

MfG Spess

Autor: Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@spess53

Was kann ich da am besten zum invertieren nehmen ?
Ich habe bei Reichelt so auf die schnelle den 74hc04 gefunden. Scheint 
auch schnell genug zu sein, aber eigentlich brauche ich ja nur einen NOT 
Baustein. Gibt es da noch was kleineres ?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Heinz schrieb:

> Wenn ich jetzt den vollen Bereich nutzen möchte, brauche ich da einen
> anderen Speicherbaustein, oder kann ich einen zweiten Baustein einbinden
> ?

Sowohl als auch. Aber grösserer Speicher dürfte einfacher sein.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Heinz schrieb:

> Baustein. Gibt es da noch was kleineres ?

Gibt die Dinger auch in Versionen mit nur 1 Gate. Sind aber im 
Bastelhandel wenig verbreitet.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Gibt die Dinger auch in Versionen mit nur 1 Gate. Sind aber im
>Bastelhandel wenig verbreitet.

74LX1G04 SMD gibt es bei CSD für 0,34€.

MfG Spess

Autor: Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@A.K. + Spess

Danke.
Das bringt mich alles schon ein ganzes Stück weiter.
CSD kannte ich noch gar nicht. Die scheinen keinen Mindestbestellwert zu 
haben ? Ich denke die werde ich mal testen.

Nochmals danke an alle für die freundliche Hilfe !

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Trotzdem dürfte ein 128KB RAM weniger Platz brauchen als 2 Stück 32KB 
plus single gate Inverter ;-).

Autor: Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@A.K.
Stimmt natürlich.
128k scheinen sogar billiger als 32k zu sein. So ein Mist :(
Leider habe ich aufgrund meiner anfänglichen Fehleinschätzung schon 4 
Stück davon rumliegen :)
Vielleicht leg ich die wirklich erst mal weg und versuche es mit nem 
größeren Baustein.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.