Speicher Adressierung (Mega162)

Gast #1430397
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 ?
Gast #1430399
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.
Gast #1430406
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
Gast #1430416
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 ?
Gast #1430424
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
Gast #1430443
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 ?
Gast #1430470
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 !
Gast #1430487
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren